8051C编程基本模板Word格式文档下载.docx
- 文档编号:15054626
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:14
- 大小:18.24KB
8051C编程基本模板Word格式文档下载.docx
《8051C编程基本模板Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《8051C编程基本模板Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
[单片机SFR定义的头文件]
#include<
REG51.h>
//通用89C51头文件
REG52.h>
//通用89C52头文件
STC11Fxx.H>
//STC11Fxx或STC11Lxx系列单片机头文件
STC12C2052AD.H>
//STC12Cx052或STC12Cx052AD系列单片机头文件
STC12C5A60S2.H>
//STC12C5A60S2系列单片机头文件
[更多库函数头定义]
assert.h>
//设定插入点
ctype.h>
//字符处理
errno.h>
//定义错误码
float.h>
//浮点数处理
fstream.h>
//文件输入/输出
iomanip.h>
//参数化输入/输出
iostream.h>
//数据流输入/输出
limits.h>
//定义各种数据类型最值常量
locale.h>
//定义本地化函数
math.h>
//定义数学函数
stdio.h>
//定义输入/输出函数
stdlib.h>
//定义杂项函数及内存分配函数
string.h>
//字符串处理
strstrea.h>
//基于数组的输入/输出
time.h>
//定义关于时间的函数
wchar.h>
//宽字符处理及输入/输出
wctype.h>
//宽字符分类
intrins.h>
//51基本运算(包括_nop_空函数)
[常用定义声明]
sfr[自定义名]=[SFR地址];
//按字节定义SFR中的存储器名。
例:
sfrP1=0x90;
sbit[自定义名]=[系统位名];
//按位定义SFR中的存储器名。
sbitAdd_Key=P3^1;
bit[自定义名];
//定义一个位(位的值只能是0或1)例:
bitLED;
#define[代替名][原名]//用代替名代替原名。
#defineLEDP1/#defineTA0x25
unsignedchar[自定义名];
//定义一个0~255的整数变量。
unsignedchara;
unsignedint[自定义名];
//定义一个0~65535的整数变量。
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(例:
xdataunsignedchara;
codeROM存储器,64K字节,从0x00到0xFFFF(例:
codeunsignedchara;
[选择、循环语句]
if
(1){
//为真时语句
}else{
//否则时语句
}
--------------------------
while
(1){
//为真时内容
do{
//先执行内容
}while
(1);
switch(a){
case0x01:
//为真时语句
break;
case0x02:
default:
//冗余语句
for(;
;
){
//循环语句
[主函数模板]
函数名:
主函数
调用:
无
参数:
返回值:
结果:
程序开始处,无限循环
备注:
/**********************************************************************************************/
voidmain(void){
//初始程序
while
(1){
//无限循环程序
}
[中断处理函数模板]
中断处理函数
voidname(void)interrupt1using1{
//处理内容
[中断入口说明]
interrupt0外部中断0(ROM入口地址:
0x03)
interrupt1定时/计数器中断0(ROM入口地址:
0x0B)
interrupt2外部中断1(ROM入口地址:
0x13)
interrupt3定时/计数器中断1(ROM入口地址:
0x1B)
interrupt4UART串口中断(ROM入口地址:
0x23)
(更多的中断依单片机型号而定,ROM中断入口均相差8个字节)
using0使用寄存器组0
using1使用寄存器组1
using2使用寄存器组2
using3使用寄存器组3
[普通函数框架]
voidname(void){
//函数内容
0~65535/0~255
unsignedintname(unsignedchara,unsignedintb){
returna;
//返回值
[延时函数]
毫秒级CPU延时函数
DELAY_MS(?
);
1~65535(参数不可为0)
占用CPU方式延时与参数数值相同的毫秒时间
应用于1T单片机时i<
600,应用于12T单片机时i<
125
voidDELAY_MS(unsignedinta){
unsignedinti;
while(--a!
=0){
for(i=0;
i<
600;
i++);
[定时/计数器函数]
-----------------------------------------------------------------------------
M1M0方式说明
00013位T/C,由TL低5位和TH的8位组成13位计数器
01116位T/C,TL和TH共16位计数器
1028位T/C,TL用于计数,当TL溢出时将TH中的值自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8051 编程 基本 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)