51单片机头文件reg51h详解.docx
- 文档编号:11612726
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:15
- 大小:192.15KB
51单片机头文件reg51h详解.docx
《51单片机头文件reg51h详解.docx》由会员分享,可在线阅读,更多相关《51单片机头文件reg51h详解.docx(15页珍藏版)》请在冰点文库上搜索。
51单片机头文件reg51h详解
51单片机头文件reg51.h详解
D
些位赋的变量和数值才能正确保存,然后才能供CPU正确的调用,完成相应的功能。
上段文字出现了寄存器(SFR)、位,地址、内存等,单片机学习过程中还会出现ROM、RAM等名词,可能大家觉得不是很好理解,这里可以通俗的解释一下,如下面三个图所示。
我们把内存比作宾馆,ROM、RAM、SFR相当于宾馆里具体的有三种不同功能楼层(具体这个宾馆多少层即多少ROM、RAM、SFR,视各个宾馆或者每种单片机而不同),每层8个房间相当于8位,每个房间要么住男人要么住女人相当于每位要么放入数字1要么放入数字0,keil编译器就相当于宾馆的工作人员,旅客去住旅馆相当写程序的过程,住宾馆的人必须事先要给工作人员说你是哪一层哪一个房间(即声明寄存器地址和位地址,)宾馆工作人员才能把你带到你的房间里去(这里假设这个宾馆可以由旅客自己决定住哪个房间)。
即:
只有对寄存器及相关位进行声明地址后,我们才能对其进行赋相关的值,keil软件才能编译通过。
4)REG51.H头文件原文及解释
打开reg51.h 可以看到这样的一些内容(此文件一般在C:
\KEIL\C51\INC下 ,INC文件夹根目录里有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件。
如果我们要使用自己写的头文件,使用的时候只需把对应头文件拷贝到INC文件夹里就可以了。
)
下面附出头文件的原文,并把注释文件一并附后。
/*--------------------------------------------------------------------------
REG51.H
Headerfileforgeneric80C51and80C31microcontroller.
Copyright(c)1988-2002KeilElektronikGmbHandKeilSoftware,Inc.
Allrightsreserved.
--------------------------------------------------------------------------*/
#ifndef__REG51_H__
#define__REG51_H__
/* BYTERegister */
sfrP0 =0x80; //三态双向 IO口 P0口 此句话的意思是:
特殊功能寄存器 P0 地址为0x80,可位寻址,下同
//低8位地址总线/数据总线(一般不用而只作普通I/O口,注意作I/O口用时,硬件上需接上接电阻)
sfrP1 =0x90; //准双向 IO口 P1口
sfrP2 =0xA0; //准双向 IO口 P2口
//高8位地址总线,一般也作普通I/O用
sfrP3 =0xB0; //双功能
//1.准双向 IO口 P3口
//2. P30 RXD串行数据接受
// P31 TXD串行数据发送
// P32 外部中断0 信号申请
// P33 外部中断1 信号申请
// P34 定时/计数器T0 外部计数脉冲输入
// P35 定时/计数器T1 外部计数脉冲输入
// P36 WR 片外RAM写脉冲信号输入
// P37 RD 片外ram读脉冲信号输入
sfrPSW =0xD0; // 可以位寻址(C语言编程时可不考虑此寄存器)
//程序状态寄存器ProgramStatusWORD (程序状态信息)
//psw.7(CY) 进位标志
//psw.6(AC)辅助进位标志位低四位向高四位进位或借位时 AC=1
//主要用于十进制调整
//psw.5(F0)用户可自定义的程序标志位
//psw.4(RS1)
//psw.3(RS0)
//工作寄存器选择位
//任一时刻只有一组寄存器在工作
//00 0区 00H~07H
//01 1区 08H~0fH
//10 2区 10H~17H
//11 3区 18H~1FH
//psw.2(OV) 溢出标志位
//psw.1( ) 保留为 ,不可使用
//psw.0(P) 奇偶校验位
sfrACC =0xE0; //累加器A 特殊功能寄存器 可位寻址
sfrB =0xF0; //寄存器B 主要用于乘除运算
sfrSP =0x81; //堆栈指针寄存器SP 存放站定栈顶地址、
sfrDPL =0x82; //
sfrDPH =0x83; //数据指针寄存器DPTR、//对片外RAM及扩展IO进行存取用的地址指针
sfrPCON=0x87; //电源控制寄存器 、不能位寻址
//管理单片机的电源部分包括上电复位、掉电模式、空闲模式等
//单片机复位时PCON被全部清0,编程时一般是用到SMOD位,其它的一般不用
//D7 SMOD该位与串口通信波特率有关
//SMOD=0 串口方式123 波特率正常
//SMOD=1 串口方式123 波特率加倍
sfrTCON=0x88; //定时器/计数器 控制寄存器 可以位寻址
//D7 TF1 定时器1溢出标志位
//D6 TR1 定时器1运行控制位
//D5 TF0 定时器0溢出标志位
//D4 TR0 定时器0运行控制位
//D3 IE1 外部中断1请求标志
//D2 IT1 外部中断1 触发方式选择位
//D1 IE0 外部中断0请求标志
//D0 IT0 外部中断0 触发方式选择位
sfrTMOD=0x89; //定时器/计数器 工作方式寄存器 不能位寻址
//确定工作方式和功能
//D7 GATE 门控制位
//GATE=0;定时器/计数器由TRX(x=0,1)来控制
//GATE=1;定时器/计数器由TRX(x=0,1)
//和外部中断引脚(init0,1)来共同控制
//D6 C/T 定时器、计数器选择位
// 0 选择定时器模式
// 1 选择计数器模式
//D5 M1
//D4 M0
//M1 M0 工作方式
//0 0 方式0 13位定时器/计数器
//0 1 方式1 16位定时器/计数器
//1 0 方式2 8位自动重装定时器/计数器
//1 1 方式3 仅适用T0 分成两个8位计数器,T1停止计数
//D3 GATE 门控制位
//GATE=0;定时器/计数器由TRX(x=0,1)来控制
//GATE=1;定时器/计数器由TRX(x=0,1)
//和外部中断引脚(init0,1)来共同控制
//D2 C/T 定时器、计数器选择位
//0 选择定时器模式
//1 选择计数器模式
//D1 M1
//D0 M0
// M1 M0 工作方式
// 0 0 方式0 13位定时器/计数器
// 0 1 方式1 16位定时器/计数器
// 1 0 方式2 8位自动重装定时器/计数器
// 1 1 方式3 仅适用T0 分成两个8位计数器,T1停止计数
sfrTL0 =0x8A; //定时器/计数器0高8位 容器 加1 计数器
sfrTL1 =0x8B; //定时器/计数器1高8位 容器
sfrTH0 =0x8C; //定时器/计数器0低8位 容器
sfrTH1 =0x8D; //定时器/计数器1低8位 容器
sfrIE =0xA8; //中断允许寄存器 可以位寻址
//D7 EA 全局中断允许位
//D6 NULL
//D5 ET2 定时器/计数器2中断允许位 interrupt5
//D4 ES 串行口中断允许位 interrupt4
//D3 ET1 定时器/计数器1中断允许位 interrupt3
//D2 EX1 外部中断1中断允许位 interrupt2
//D1 ET0 定时器/计数器0中断允许位 interrupt1
//D0 EX0 外部中断0中断允许位 interrupt0
sfrIP =0xB8; //中断优先级寄存器 可进行位寻址
//D7 NULL
//D6 NULL
//D5 NULL
//D4 PS 串行口中断定义优先级控制位
// 1 串行口中断定义为高优先级中断
// 0 串行口中断定义为低优先级中断
//
//D3 PT1
// 1 定时器/计数器1中断定义为高优先级中断
// 0 定时器/计数器1中断定义为低优先级中断
//D2 PX1
// 1 外部中断1定义为高优先级中断
// 0 外部中断1定义为低优先级中断
//D1 PT0
// 1 定时器/计数器0中断定义为高优先级中断
// 0 定时器/计数器0中断定义为低优先级中断
//D0 PX0
// 1 外部中断0定义为高优先级中断
// 0 外部中断0定义为低优先级中断
sfrSCON=0x98; //串行口控制寄存器 可以进行位寻址
//D7 SM0
//D6 SM1
// SM0 SM1 串行口工作方式
// 0 0 同步移位寄存器方式
// 0 1 10位异步收发(8位数据),波特率可变(定时器1溢出率控制)
// 1 0 11位异步收发(9位数据),波特率固定
// 1 1 11异步收发(9位数据) ,波特率可变(定时器1溢出率控制)
//D5 SM2 多机通信控制位 主要用于方式2和方式3
//D4 REN 允许串行接收位
//D3 TB8 方式2,3中发送数据的第9位
//D2 RB8 方式2,3中接受数据的第9位
//D1 TI 发送中断标志位
//D0 RI 接受中断标志位
sfrSBUF=0x99; //串行数据缓冲区
/*****************************************************************************
下面是位寻址区
上面做过解释的就不在下面一一解释了
******************************************************************************/
/* BITRegister */
/* PSW */
sbitCY =0xD7;
sbitAC =0xD6;
sbitF0 =0xD5;
sbitRS1 =0xD4;
sbitRS0 =0xD3;
sbitOV =0xD2;
sbitP =0xD0;
/* TCON */
sbitTF1 =0x8F;
sbitTR1 =0x8E;
sbitTF0 =0x8D;
sbitTR0 =0x8C;
sbitIE1 =0x8B;
sbitIT1 =0x8A;
sbitIE0 =0x89;
sbitIT0 =0x88;
/* IE */
sbitEA =0xAF;
sbitES =0xAC;
sbitET1 =0xAB;
sbitEX1 =0xAA;
sbitET0 =0xA9;
sbitEX0 =0xA8;
/*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片 机头 文件 reg51h 详解