欢迎来到天天文库
浏览记录
ID:19778179
大小:74.00 KB
页数:12页
时间:2018-10-06
《完美的8051单片机c语言编程模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《8051单片机C语言编程模板》[程序开始处的程序说明]/*********************************************************************************************程序名: 编写人: 赛杜洋 编写时间: 20年月日硬件支持: 接口说明: 修改日志: NO.1-/*********************************************************************************************说明:/**
2、*******************************************************************************************/[单片机SFR定义的头文件]#include//通用89C51头文件#include//通用89C52头文件#include//STC11Fxx或STC11Lxx系列单片机头文件#include//STC12Cx052或STC12Cx052AD系列单片机头文件#include3、TC12C5A60S2.H>//STC12C5A60S2系列单片机头文件[更多库函数头定义]#include//设定插入点#include//字符处理#include//定义错误码#include//浮点数处理#include//文件输入/输出#include//参数化输入/输出#include//数据流输入/输出#include//定义各种数据类型最值常量#include4、>//定义本地化函数#include//定义数学函数#include//定义输入/输出函数#include//定义杂项函数及内存分配函数#include//字符串处理#include//基于数组的输入/输出#include//定义关于时间的函数#include//宽字符处理及输入/输出#include//宽字符分类#include//51基本运算(包括_nop_空函数)[常用定义5、声明]sfr[自定义名]=[SFR地址];//按字节定义SFR中的存储器名。例:sfrP1=0x90;sbit[自定义名]=[系统位名];//按位定义SFR中的存储器名。例:sbitAdd_Key=P3^1;bit[自定义名];//定义一个位(位的值只能是0或1)例:bitLED;#define[代替名][原名]//用代替名代替原名。例:#defineLEDP1/#defineTA0x25unsignedchar[自定义名];//定义一个0~255的整数变量。例:unsignedchara;unsignedint[自定义名];//定义一个0~65536、5的整数变量。例:unsignedinta;[定义常量和变量的存放位置的关键字]data字节寻址片内RAM,片内RAM的128字节(例:dataunsignedchara;)bdata可位寻址片内RAM,16字节,从0x20到0x2F(例:bdataunsignedchara;)idata所有片内RAM,256字节,从0x00到0xFF(例:idataunsignedchara;)pdata片外RAM,256字节,从0x00到0xFF(例:pdataunsignedchara;)xdata片外RAM,64K字节,从0x00到0xFFFF(例:xdat7、aunsignedchara;)codeROM存储器,64K字节,从0x00到0xFFFF(例:codeunsignedchara;)[选择、循环语句]if(1){//为真时语句}else{//否则时语句}--------------------------while(1){//为真时内容}--------------------------do{//先执行内容}while(1);--------------------------switch(a){case0x01://为真时语句break;case0x02://为真时语句break;defaul8、t://冗余语句break;}--------------------------for(;;){//循环语
3、TC12C5A60S2.H>//STC12C5A60S2系列单片机头文件[更多库函数头定义]#include//设定插入点#include//字符处理#include//定义错误码#include//浮点数处理#include//文件输入/输出#include//参数化输入/输出#include//数据流输入/输出#include//定义各种数据类型最值常量#include4、>//定义本地化函数#include//定义数学函数#include//定义输入/输出函数#include//定义杂项函数及内存分配函数#include//字符串处理#include//基于数组的输入/输出#include//定义关于时间的函数#include//宽字符处理及输入/输出#include//宽字符分类#include//51基本运算(包括_nop_空函数)[常用定义5、声明]sfr[自定义名]=[SFR地址];//按字节定义SFR中的存储器名。例:sfrP1=0x90;sbit[自定义名]=[系统位名];//按位定义SFR中的存储器名。例:sbitAdd_Key=P3^1;bit[自定义名];//定义一个位(位的值只能是0或1)例:bitLED;#define[代替名][原名]//用代替名代替原名。例:#defineLEDP1/#defineTA0x25unsignedchar[自定义名];//定义一个0~255的整数变量。例:unsignedchara;unsignedint[自定义名];//定义一个0~65536、5的整数变量。例:unsignedinta;[定义常量和变量的存放位置的关键字]data字节寻址片内RAM,片内RAM的128字节(例:dataunsignedchara;)bdata可位寻址片内RAM,16字节,从0x20到0x2F(例:bdataunsignedchara;)idata所有片内RAM,256字节,从0x00到0xFF(例:idataunsignedchara;)pdata片外RAM,256字节,从0x00到0xFF(例:pdataunsignedchara;)xdata片外RAM,64K字节,从0x00到0xFFFF(例:xdat7、aunsignedchara;)codeROM存储器,64K字节,从0x00到0xFFFF(例:codeunsignedchara;)[选择、循环语句]if(1){//为真时语句}else{//否则时语句}--------------------------while(1){//为真时内容}--------------------------do{//先执行内容}while(1);--------------------------switch(a){case0x01://为真时语句break;case0x02://为真时语句break;defaul8、t://冗余语句break;}--------------------------for(;;){//循环语
4、>//定义本地化函数#include//定义数学函数#include//定义输入/输出函数#include//定义杂项函数及内存分配函数#include//字符串处理#include//基于数组的输入/输出#include//定义关于时间的函数#include//宽字符处理及输入/输出#include//宽字符分类#include//51基本运算(包括_nop_空函数)[常用定义
5、声明]sfr[自定义名]=[SFR地址];//按字节定义SFR中的存储器名。例:sfrP1=0x90;sbit[自定义名]=[系统位名];//按位定义SFR中的存储器名。例:sbitAdd_Key=P3^1;bit[自定义名];//定义一个位(位的值只能是0或1)例:bitLED;#define[代替名][原名]//用代替名代替原名。例:#defineLEDP1/#defineTA0x25unsignedchar[自定义名];//定义一个0~255的整数变量。例:unsignedchara;unsignedint[自定义名];//定义一个0~6553
6、5的整数变量。例:unsignedinta;[定义常量和变量的存放位置的关键字]data字节寻址片内RAM,片内RAM的128字节(例:dataunsignedchara;)bdata可位寻址片内RAM,16字节,从0x20到0x2F(例:bdataunsignedchara;)idata所有片内RAM,256字节,从0x00到0xFF(例:idataunsignedchara;)pdata片外RAM,256字节,从0x00到0xFF(例:pdataunsignedchara;)xdata片外RAM,64K字节,从0x00到0xFFFF(例:xdat
7、aunsignedchara;)codeROM存储器,64K字节,从0x00到0xFFFF(例:codeunsignedchara;)[选择、循环语句]if(1){//为真时语句}else{//否则时语句}--------------------------while(1){//为真时内容}--------------------------do{//先执行内容}while(1);--------------------------switch(a){case0x01://为真时语句break;case0x02://为真时语句break;defaul
8、t://冗余语句break;}--------------------------for(;;){//循环语
此文档下载收益归作者所有