杜洋单片机C语言编程组成,8051单片机C语言编程模板

c语言

本文由fan159147贡献

doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

《8051 单片机 C 语言编程模板》 杜洋 2009.7

[程序开始处的程序说明] /****************************************************************************** *************** 程序名: 编写人: 杜洋 编写时间: 20 年 月 日 硬件支持: 接口说明: 修改日志: NO.1/****************************************************************************** *************** 说明: /****************************************************************************** ***************/

[单片机 SFR 定义的头文件] #include <REG51.h> //通用 89C51 头文件 #include <REG52.h> //通用 89C52 头文件 #include  //STC11Fxx 或 STC11Lxx 系列单片机头文件 #include  //STC12Cx052 或 STC12Cx052AD 系列单片机头文件 #include  //STC12C5A60S2 系列单片机头文件 [更多库函数头定义] #include  #include <ctype.h> #include <errno.h> #include <float.h> #include <fstream.h> #include  #include  #include

#include <locale.h> //设定插入点 //字符处理 //定义错误码 //浮点数处理 //文件输入/输出 //参数化输入/输出 //数据流输入/输出 //定义各种数据类型最值常量 //定义本地化函数

#include <math.h> #include  #include  #include  #include  #include <time.h> #include <wchar.h> #include <wctype.h> #include

//定义数学函数 //定义输入/输出函数 //定义杂项函数及内存分配函数 //字符串处理 //基于数组的输入/输出 //定义关于时间的函数 //宽字符处理及输入/输出 //宽字符分类 //51 基本运算(包括_nop_空函数)

[常用定义声明] sfr [自定义名] = [SFR 地址] ; //按字节定义 SFR 中的存储器名。例:sfr P1 = 0x90; sbit [自定义名] = [系统位名] ; //按位定义 SFR 中的存储器名。例:sbit Add_Key = P3 ^ 1; bit [自定义名] ; //定义一个位(位的值只能是 0 或 1)例:bit LED; #define [代替名] [原名] //用代替名代替原名。例:#define LED P1 / #define TA 0x25 unsigned char [自定义名] ; //定义一个 0 ̄255 的整数变量。例:unsigned char a; unsigned int [自定义名] ; //定义一个 0 ̄65535 的整数变量。例:unsigned int a;

[定义常量和变量的存放位置的关键字] data 字节寻址片内 RAM,片内 RAM 的 128 字节(例:data unsigned char a;) bdata 可位寻址片内 RAM,16 字节,从 0x20 到 0x2F(例:bdata unsigned char a;) idata 所有片内 RAM,256 字节,从 0x00 到 0xFF(例:idata unsigned char a;) pdata 片外 RAM,256 字节,从 0x00 到 0xFF(例:pdata unsigned char a;) xdata 片外 RAM,64K 字节,从 0x00 到 0xFFFF(例:xdata unsigned char a;) code ROM 存储器,64K 字节,从 0x00 到 0xFFFF(例:code unsigned char a;)

[选择、循环语句] if(1){ //为真时语句 }else{

//否则时语句 } while(1){ //为真时内容 } do{ //先执行内容 }while(1); switch (a){ case 0x01: //为真时语句 break; case 0x02: //为真时语句 break; default: //冗余语句 break; } for(;;){ //循环语句 }

[主函数模板] /****************************************************************************** *************** 函数名:主函数 调 用:无 参 数:无 返回值:无 结 果:程序开始处,无限循环 备 注: /****************************************************************************** ****************/ void main (void){ //初始程序 while(1){ //无限循环程序 } } /****************************************************************************** ****************/

[中断处理函数模板] /****************************************************************************** *************** 函数名:中断处理函数 调 用:无 参 数:无 返回值:无 结 果: 备 注: /*********************************

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值