7.3.4 51单片机寄存器的定义

头文件“reg51.h”中定义了51单片机常用的特殊功能寄存器。如果需要使用单片机的硬件资源,必须在C51源程序的开始处包含这个文件。该头文件中对寄存器用以上介绍的sfr和sbit扩展数据类型进行了定义。C51中的寄存器的地址是确定不变的,头文件“reg51.h”中寄存器的定义和地址如下所示。


ifndefREG51_H

defineREG51_H

/BYTE Register///字节型特殊功能寄存器

sfr P0=0x80;

sfr P1=0x90;

sfr P2=0xA0;

sfr P3=0xB0;

sfr PSW=0xD0;

sfr ACC=0xE0;

sfr B=0xF0;

sfr SP=0x81;

sfr DPL=0x82;

sfr DPH=0x83;

sfr PCON=0x87;

sfr TCON=0x88;

sfr TMOD=0x89;

sfr TL0=0x8A;

sfr TL1=0x8B;

sfr TH0=0x8C;

sfr TH1=0x8D;

sfr IE=0xA8;

sfr IP=0xB8;

sfr SCON=0x98;

sfr SBUF=0x99;

/BIT Register///bit型特殊功能寄存器

/PSW///PSW寄存器

sbit CY=0xD7;

sbit AC=0xD6;

sbit F0=0xD5;

sbit RS1=0xD4;

sbit RS0=0xD3;

sbit OV=0xD2;

sbit P=0xD0;

/TCON///TCON寄存器

sbit TF1=0x8F;

sbit TR1=0x8E;

sbit TF0=0x8D;

sbit TR0=0x8C;

sbit IE1=0x8B;

sbit IT1=0x8A;

sbit IE0=0x89;

sbit IT0=0x88;

/IE///IE寄存器

sbit EA=0xAF;

sbit ES=0xAC;

sbit ET1=0xAB;

sbit EX1=0xAA;

sbit ET0=0xA9;

sbit EX0=0xA8;

/IP///IP寄存器

sbit PS=0xBC;

sbit PT1=0xBB;

sbit PX1=0xBA;

sbit PT0=0xB9;

sbit PX0=0xB8;

/P3///P3端口复用寄存器

sbit RD=0xB7;

sbit WR=0xB6;

sbit T1=0xB5;

sbit T0=0xB4;

sbit INT1=0xB3;

sbit INT0=0xB2;

sbit TXD=0xB1;

sbit RXD=0xB0;

/SCON///SCON寄存器

sbit SM0=0x9F;

sbit SM1=0x9E;

sbit SM2=0x9D;

sbit REN=0x9C;

sbit TB8=0x9B;

sbit RB8=0x9A;

sbit TI=0x99;

sbit RI=0x98;

endif//结束