51单片机常见特殊功能寄存器

 

常见特殊功能寄存器

在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下:

符号 地址 功能介绍
TH1 8DH 定时器/计数器1(高8位)
TH0 8CH 定时器/计数器1(低8位)
TL1 8BH 定时器/计数器0(高8位)
TL0 8AH 定时器/计数器0(低8位)
IE A8H 中断允许控制寄存器
IP B8H 中断优先级控制寄存器
TMOD 89H T0、T1定时器/计数器方式控制寄存器
TCON 88H T0、T1定时器/计数器控制寄存器
PCON 87H 电源控制寄存器
SCON 98H 串行口控制寄存器

中断允许寄存器IE

B7 B6 B5 B4 B3 B2 B1 B0
EA ES ET1 EX1 ET0 EX0

EA(IE.7) (IE.7):EA=0时,所有中断禁止(即不产生中断);EA=1时,各中断的产生由个别的允许位决定 IE.6:保留 ET2(IE.5):定时2溢出中断充许(8052用) ES (IE.4):串行口中断充许(ES=1充许,ES=0禁止) ET1(IE.3):定时1中断充许 EX1(IE.2):外中断INT1中断充许 ET0(IE.1):定时器0中断充许 EX0(IE.0):外部中断INT0的中断允许

中断优先级控制寄存器IP

|B7 |B6 |B5 |B4 |B3| B2| B1| B0| |:-|:-|:-|:-|:-|:-|:-|:-| |–| –| PT2| PS| PT1| PX1| PT0| PX0| -(IP.7):保留 -(IP.6):保留 PT2(IP.5):定时2中断优先(8052用) PS (IP.4):串行口中断优先 PT1(IP.3):定时1中断优先 PX1(IP.2):外中断INT1中断优先 PT0(IP.1):定时器0中断优先 PX0(IP.0):外部中断INT0的中断优先

电源管理寄存器PCON

|D7 |D6 |D5| D4| D3| D2| D1| D0| |:-|:-|:-|:-|:-|:-|:-|:-| |SMOD| –| –| – |GF1| GF0| PD| IDL|

在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。

5个中断源的服务程序入口地址

|中断源 |入口地址 |中断编号| |:-|:-|:-| |外中断0| 0003H| 0| |定时/计数器0 |000BH |1| |外中断1| 0013H| 2| |定时/计数器1| 001BH| 3| |串行口中断| 0023H| 4| |定时/计数器T2| 002BH| 5| 对于汇编,中断函数的一般形式为: ORG 中断入口地址 AJMP 中断服务程序地址 中断服务程序地址: ……

对于C语言,中断函数的一般形式为:

void FunctionName(void) interrupt 中断号 //其中“中断号”可查表1
{
    ……
}