微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机头文件reg51.h详解

51单片机头文件reg51.h详解

时间:12-01 来源:互联网 点击:

Elektronik GmbH and Keil Software, Inc.

All rights reserved.

--------------------------------------------------------------------------*/

#ifndef __REG51_H__

#define __REG51_H__

/*BYTE Register*/

sfr P0= 0x80;//三态双向IO口P0口 此句话的意思是:特殊功能寄存器 P0 地址为0x80 ,可位寻址,下同

//低8位地址总线/数据总线(一般不用而只作普通I/O口,注意作I/O口用时,硬件上需接上接电阻)

sfr P1= 0x90;//准双向IO口P1口

sfr P2= 0xA0;//准双向IO口P2口

//高8位地址总线,一般也作普通I/O用

sfr P3= 0xB0;//双功能

 //1.准双向IO口P3口

//2.P30RXD串行数据接受

//P31TXD串行数据发送

 //P32外部中断0信号申请

 //P33外部中断1信号申请

//P34定时/计数器T0外部计数脉冲输入

//P35定时/计数器T1外部计数脉冲输入

//P36WR片外RAM写脉冲信号输入

//P37   RD片外ram读脉冲信号输入

sfr PSW= 0xD0;//可以位寻址(C语言编程时可不考虑此寄存器)

//程序状态寄存器Program Status WORD(程序状态信息)

//psw.7(CY)进位标志

//psw.6(AC)辅助进位标志位低四位向高四位进位或借位时AC=1

//主要用于十进制调整

//psw.5(F0)用户可自定义的程序标志位

//psw.4(RS1)

//psw.3(RS0)

//工作寄存器选择位

//任一时刻只有一组寄存器在工作

//0 00区00H~07H

//0 11区08H~0fH

//1 02区10H~17H

//1 13区18H~1FH

//psw.2(OV)溢出标志位

//psw.1()保留为,不可使用

//psw.0(P)奇偶校验位

sfr ACC= 0xE0;//累加器A特殊功能寄存器可位寻址

sfr B= 0xF0;//寄存器B主要用于乘除运算

sfr SP= 0x81;//堆栈指针寄存器SP存放站定栈顶地址、

sfr DPL= 0x82;//

sfr DPH= 0x83;//数据指针寄存器DPTR、//对片外RAM及扩展IO进行存取用的地址指针

sfr PCON = 0x87;//电源控制寄存器、不能位寻址

//管理单片机的电源部分包括上电复位、掉电模式、空闲模式等

//单片机复位时PCON被全部清0,编程时一般是用到SMOD位,其它的一般不用

//D7SMOD该位与串口通信波特率有关

//SMOD=0串口方式1 2 3波特率正常

//SMOD=1串口方式1 2 3波特率加倍

sfr TCON = 0x88;//定时器/计数器控制寄存器可以位寻址
        //D7 TF1定时器1溢出标志位

//D6TR1定时器1运行控制位

//D5TF0定时器0溢出标志位

//D4TR0定时器0运行控制位

//D3IE1外部中断1请求标志

//D2IT1外部中断1触发方式选择位

//D1IE0外部中断0请求标志

//D0IT0外部中断0触发方式选择位

sfr TMOD = 0x89;//定时器/计数器工作方式寄存器不能位寻址

//确定工作方式和功能

//D7GATE门控制位

//GATE=0;定时器/计数器由TRX(x=0,1)来控制

//GATE=1;定时器/计数器由TRX(x=0,1)

//和外部中断引脚(init0,1)来共同控制

//D6C/T定时器、计数器选择位

//0选择定时器模式

//1选择计数器模式

//D5M1

//D4M0

//M1M0工作方式

//00方式013位定时器/计数器

//01方式116位定时器/计数器

//10方式28位自动重装定时器/计数器

//11方式3仅适用T0分成两个8位计数器,T1停止计数

//D3GATE门控制位

//GATE=0;定时器/计数器由TRX(x=0,1)来控制

//GATE=1;定时器/计数器由TRX(x=0,1)

//和外部中断引脚(init0,1)来共同控制

//D2C/T定时器、计数器选择位

//0选择定时器模式

//1选择计数器模式

//D1M1

//D0M0

//M1M0工作方式

//00方式013位定时器/计数器

//01方式116位定时器/计数器

//10方式28位自动重装定时器/计数器

//11方式3仅适用T0分成两个8位计数器,T1停止计数

sfr TL0= 0x8A;//定时器/计数器0高8位容器 加1计数器

sfr TL1= 0x8B;//定时器/计数器1高8位容器

sfr TH0= 0x8C;//定时器/计数器0低8位容器

sfr TH1= 0x8D;//定时器/计数器1低8位容器

sfr IE= 0xA8;//中断允许寄存器可以位寻址

//D7 EA全局中断允许位

//D6NULL

//D5ET2定时器/计数器2中断允许位interrupt 5

//D4 ES串行口中断允许位interrupt 4

//D3 ET1定时器/计数器1中断允许位interrupt 3

//D2 EX1外部中断1中断允许位interrupt 2

//D1 ET0定时器/计数器0中断允许位interrupt 1

//D0 EX0外部中断0中断允许位interrupt 0

sfr IP= 0xB8;      //中断优先级寄存器可进行位寻址

     //D7NULL

    //D6NULL

     //D5NULL

//D4PS串行口中断定义优先级控制位

//1串行口中断定义为高优先级中断

//0串行口中断定义为低优先级中断

//

//D3PT1

//1定时器/计数器1中断定义为高优先级中断

//0定时器/计数器1中断定义为低优先级中断

//D2PX1

//1外部中断1定义为高优先级中断

//0外部中断1定义为低优先级中断

//D1PT0

//1定时器/计数器0中断定义为高优先级中断

//0定时器/计数器0中断定义为低优先级中断

//D0PX0

//1外部中断0定义为高优先

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top