崇仁网站建设推广,网站空间不够用,北京中燕建设公司网站,网站开发电子商务《c语言编程模板》由会员分享#xff0c;可在线阅读#xff0c;更多相关《c语言编程模板(8页珍藏版)》请在人人文库网上搜索。1、单片机C语言编程模板(基础模板) 程序开始处的程序说明 /* * 年 月曰 程序名#xff1a; 编写人#xff1a; 编写时间: 硬件支持: 接口说明: /*…《c语言编程模板》由会员分享可在线阅读更多相关《c语言编程模板(8页珍藏版)》请在人人文库网上搜索。1、单片机C语言编程模板(基础模板) 程序开始处的程序说明 /* * 年 月曰 程序名 编写人 编写时间: 硬件支持: 接口说明: /* * 说明: /* */ 单片机SFR定义的头文件 #include /通用 89C51 头文件 或STC11LXX系列单片机头文件 #include /通用 89C52 头文件 #in elude /STC11Fxx #include /STC12CxO52或 STC12CxO52AD 系列单片机头文件 #i nclude /STC12C5A60S2系列单片机头文件 更多库函数头定义 #in clude /设定插入点 #in clude /字符处理 #in 。2、clude /定义错误码 #in clude /浮点数处理 #in elude /文件输入/输出 #i nclude /参数化输入/输出 /51基本运算(包括_nop_空函数) #in clude /数据流输入/输出 #i nclude /定义各种数据类型最值常量 #i nclude /定义本地化函数 #in clude /定义数学函数 #i nclude /定义输入/输出函数 #i nclude /定义杂项函数及内存分配函数 #in clude /字符串处理 #i nclude /基于数组的输入/输出 #in clude /定义关于时间的函数 #in clude /宽字符处理及输入/输出 #。3、in clude /宽字符分类 #in elude vintrin s.h 常用定义声明 sfr 自定义名SFR 地址;/按字节定义 SFR中的存储器名。例sfr P1 0 x90; _ sbit 自定义名系统位名;/按位定义SFR中的存储器名。例sbit Add_Key P3人1; bit 自定义名;/定义一个位(位的值只能是0或1)例bit LED; #define 代替名原名/用代替名代替原名。例#define LED P1 / #define TA 0 x25 unsigned char 自定义名;/ 定义一个 0-255 的整数变量。例unsigned char。4、 a; unsigned int 自定义名;/定义一个0-65535的整数变量。例unsigned int a; 定义常量和变量的存放位置的关键字 data字节寻址片内 RAM, 片内 RAM 的128 字节(例 data unsigned char a; ) bdata 可位寻址片内 RAM, 16 字节从 0 x20 到 0 x2F (例bdata unsigned char a;) idata 所有片内 RAM, 256 字节从 0 x00 到 0 xFF (例idata unsigned char a;) pdata 片外 RAM, 256 字节从 0 x00 到 0 x。5、FF (例pdata unsigned char a;) xdata 片外 RAM, 64K 字节从 0 x00 至U 0 xFFFF (例xdata unsigned char a;) code ROM 存储器64K 字节从 0 x00 至U OxFFFF (例code unsigned char a;) 选择、循环语句 /为真时语句 else /否则时语句 while(1) /为真时内容 do /先执行内容 while(1); switch (a) case 0 x01: /为真时语句 break; case 0 x02: /为真时语句 break; default: 冗余语句。6、 break; for() /循环语句 主函数模板 /* 函数名主函数 调用无 参数无 返回值无 结 果程序开始处无限循环 备注: /* */ void mai n (void) /初始程序 while(1) /无限循环程序 I /* */ 中断处理函数模板 /* * 函数名中断处理函数 调用无I 参数无 返回值无 结果 备注 /* */ void n ame (void) in terr upt 1 using 1 /处理内容 /* */ 中断入口说明 interrupt 0 外部中断 0 (ROM 入口地址0 x03) interrupt 1 _定时/计数器中断。7、 0( ROM入口地址:0 x0B) interrupt 2 外部中断 1 (ROM 入口地址0 x13) interrupt 3_定时/计数器中断1( ROM入口地址:0 x1B) interrupt 4 UART 串口中断(ROM 入口地址0 x23 ) (更多的中断依单片机型号而定ROM中断入口均相差 8个字节) using 0 使用寄存器组 0 using 1使用寄存器组1 using 2 使用寄存器组 2 using 3使用寄存器组3 普通函数框架 /* * 函数名 调用 参数无 返回值无 结果 备注 /* */ void name (void)| /函数内容 /* */ /* 函数名: 调用: 参数: 065535 / 0-255 返回值: 0-65535 / 0-255 结果: 备注: /* */ un sig ned int n ame (un sig ned char a,un sig ned int b) /函数内容 return a; / 返回值 /* */。