《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; / 返回值 /* */。