资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
8051单片机C语言编程模板 单片机SFR定义的头文件#include /通用89C51头文件#include /通用89C52头文件#include /STC11Fxx或STC11Lxx系列单片机头文件#include /STC12Cx052或STC12Cx052AD系列单片机头文件#include /STC12C5A60S2系列单片机头文件更多库函数头定义#include /设定插入点#include /字符处理#include /定义错误码#include /浮点数处理#include /文件输入输出#include /参数化输入输出#include /数据流输入输出#include /定义各种数据类型最值常量#include /定义本地化函数#include /定义数学函数#include /定义输入输出函数#include /定义杂项函数及内存分配函数#include /字符串处理#include /基于数组的输入输出#include /定义关于时间的函数#include /宽字符处理及输入输出#include /宽字符分类#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 0x25unsigned char 自定义名 ; /定义一个0255的整数变量。例:unsigned char a;unsigned int 自定义名 ; /定义一个065535的整数变量。例: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) /无限循环程序 /*/中断处理函数模板/*函数名:中断处理函数调用:无参数:无返回值:无结果:备注:/*/void name (void) interrupt 1 using 1 /处理内容/*/中断入口说明interrupt 0外部中断0(ROM入口地址:0x03)interrupt 1定时/计数器中断0(ROM入口地址:0x0B)interrupt 2外部中断1(ROM入口地址:0x13)interrupt 3定时/计数器中断1(ROM入口地址:0x1B)interrupt 4 UART串口中断(ROM入口地址:0x23)(更多的中断依单片机型号而定,ROM中断入口均相差8个字节)using 0使用寄存器组0using 1使用寄存器组1using 2使用寄存器组2using 3使用寄存器组3普通函数框架/*函数名:调用:参数:无返回值:无结果:备注:/*/void name (void)/函数内容/*/*函数名:调用:参数:065535 / 0255返回值:065535 / 0255结果:备注:/*/unsigned int name (unsigned char a,unsigned int b)/函数内容return a; /返回值/*/延时函数/*函数名:毫秒级CPU延时函数调用:DELAY_MS (?);参数:165535(参数不可为0)返回值:无结果:占用CPU方式延时与参数数值相同的毫秒时间备注:应用于1T单片机时i600,应用于12T单片机时i125/*/void DELAY_MS (unsigned int a) unsigned int i; while( -a != 0) for(i = 0; i 600; i+); /*/定时/计数器函数-M1 M0 方式 说明0 0 0 13位T/C,由TL低5位和TH的8位组成13位计数器0 1 1 16位T/C,TL和TH共16位计数器1 0 2 8位T/C,TL用于计数,当TL溢出时将TH中的值自动写入TL1 1 3 两组8位T/C-/*
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号