8051单片机特殊寄存器功能定义

作为51单片机特殊功能寄存器 速查表,在编程时可提供快速参考,对初学者可能不友好,建议使用电脑查看。


特殊功能寄存器表:SFR

名称Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0地址
TCON*TF1TR1TF0TR0IE1IT1IE0IT088H
TMODGATEC/ T ‾ \overline{T} TM1M0GATEC/ T ‾ \overline{T} TM1M089H
PCONSMOD-------87H
SCON*SM0SM1SM2RENTB8RB8TIRI98H
IE*EA-ET2ESET1EX1ET0EX0A8H
P3* R D ‾ \overline{RD} RD W R ‾ \overline{WR} WRT1T0 I N T 1 ‾ \overline{INT1} INT1 I N T 0 ‾ \overline{INT0} INT0TXDRXDB0H
IP*---PSPT1PX1PT0PX0B8H
PSW*CYACF0RS1RS0OV-PD0H
ACC*E0H
  • XX*代表该寄存器可以位寻址

  • P0* SP DPL DPH TL0 TL1 TH0 TH1 P1* SBUF P2* B* 不详细描述

  • SP复位值为0x07H

  • B用作数值寄存器时,等同于立即数#F0H的一个别名


定时器/计数器控制:TCON

0x88Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号TF1TR1TF0TR0IE1IT1IE0IT0
位地址0x8F0x8E0x8D0x8C0x8B0x8A0x890x88

描述:

TF1 ,TF0 :加法计数器(THx/TLx)溢出标志位,溢出后硬件自动置 1,响应中断服务程序后自动清 0

TR1 ,TR0C/T运行控制位。置 1 后开始运行,清 0 停止运行

IT1 ,IT0 :外部中断引脚触发方式选择

  • ITx = 1为脉冲触发模式,外部中断引脚 I N T x ‾ \overline{INTx} INTx出现下降沿脉冲时产生外部中断请求信号
  • ITx = 0为电平触发模式,外部中断引脚 I N T x ‾ \overline{INTx} INTx处于低电平状态时产生外部中断请求信号

IE1 ,IE0 :外部中断请求标志位,当CPU检测到外部中断请求信号后硬件自动置 1。

  • I N T x ‾ \overline{INTx} INTx引脚以下降沿脉冲方式触发时,响应中断请求后由硬件自动清 0;
  • I N T x ‾ \overline{INTx} INTx引脚以低电平方式触发时,需要由软件清 0

定时器/计数器模式控制:TMOD

0x89Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号GATEC/T#M1M0GATEC/T#M1M0
定时器T1T0

描述:

M1M0模式描述结构
00013位C/T模式。由THx的全8位和TLx的低5位构成
01116位C/T模式。THx为高字节,TLx为低字节
1028位自动装载C/T模式。THx为8位预加载计数器,TLx为8位加法计数器,中断触发加载
113组合模式T0:TL0可选作8位C/T,TH0固定为T
T1:可选作C/T

C/ T ‾ \overline{T} T:工作方式选择位,0 定时器(T)工作方式,1 计数器(C)工作方式

GATE:门控位,C/T启动是否受外部中断引脚控制。

  • GATE=0 时,C/T只受 TRx位 控制;
  • GATE=1时,C/TINTx引脚TRx位 共同控制,只有在INTx引脚为高电平和TRx=1时,C/T才会运行。

注意:

  • 在T0/T1用作定时器时,输入时钟源由晶体振荡器12分频后提供,与机器周期相同

  • 定时时间 = ( 2 计 数 宽 度 2^{计数宽度} 2 - 计数初值 ) x 单位计数时长。28/13/16 = 256/8192/65536。THx=计数初值/256、TLx=计数初值%256

  • T0/T1处于模式0模式1
    在这里插入图片描述

    出现溢出后,需要软件再次装载计数初值

  • T0/T1处于模式2

在这里插入图片描述

THx存有计数初值,TLx用作8位加法计数器,当数据溢出时,THx会自动向TLx覆盖写入计数初值

  • T0处于模式3

    • T0 ,在该模式下,T0 被拆分两个独立的8位TL0和TH0。TL0可以用作标准的计数器/定时器,T0控制位和引脚信号都归其使用。TH0固定为定时器使用(时钟源由晶振分频后提供,不能由外部引脚输入),并借用T1的控制位TR1 TF1 ET1PT1,成为T1的中断信号源

      T0在模式3下,TL0和TH0结构图:

      在这里插入图片描述

    • T1 ,当T0工作在模式3时,T1可用作定时器/计数器使用。T1在模式0、模式1或模式2时,其TR1、TF1、ET1和PT1不可用,溢出信号直连串口,对应GATE位无效。设置为模式3可以使T1停止运行

      T0在模式3下,T1结构图:

      在这里插入图片描述


串行控制:SCON

0x98Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号SM0SM1SM2RENTB8RB8TIRI
位地址0x9F0x9E0x9D0x9C0x9B0x9A0x990x98

描述:

SM0SM1模式功能波特率
000同步移位寄存器输入/输出f o s c _{osc} osc/12
0118位UARTf T 1 _{T1} T1x 2 S M O D 2^{SMOD} 2SMOD/32
1029位UARTf o s c _{osc} oscx 2 S M O D 2^{SMOD} 2SMOD/64
1139位UARTf T 1 _{T1} T1x 2 S M O D 2^{SMOD} 2SMOD/32

f o s c _{osc} osc = 晶振频率、f T 1 _{T1} T1 = T1 溢出频率

SM2:多机通信控制位。

  • 串口在模式0下,SM2必须为 0

  • 串口在模式1下,若SM2=1,则只有接收到有效停止位时才会置位RI

  • 串口在模式2模式3下。

    • 若SM2=1,只有接收数据第9位(RB8)为1时,才会将8位数据送入SBUF,并置位RI

    • 若SM2=0,接收的8位数据始终送入SBUF

REN:允许接收数据控制位,为 1 时允许接收数据;模式0下,控制数据移位方向

TB8:发送数据的第9位,在模式2模式3时,由用户通过软件设置

  • 双机通信时,作为奇偶校验位
  • 多机通信时,TB8=0表示数据包为数据帧,TB=1表示数据包为地址帧

RB8:接收数据的第9位

TI:发送完成中断标志位,由硬件自动置 1,由软件清 0

RI:接收完成中断标志位,由硬件自动置 1,由软件清 0

串口4种工作模式:

  • 模式0
    • 同步移位寄存器输入/输出模式,常用于对I/O的拓展。RXD(P3.0)作为数据输入/输出,TXD(P3.1)作为时钟输出。无起始位和停止位,输出数据低位在前。接收或发送数据完成后硬件自动置位TI或RI,下次数据传输前需软件清 0,否则时钟引脚不会输出信号
    • REN 为0时发送数据,为1时接收数据
    • 时钟上升沿输入输出数据,与同步通信相类似
  • 模式1
    • 可变波特率的8位串行异步通信方式。由起始位、8位数据位和停止位,低位在前传输。

    • 波特率 = T1溢出率 x ( 2 S M O D 2^{SMOD} 2SMOD / 32),计数器初值为 X = 256 - ( 2 S M O D 2^{SMOD} 2SMOD x f o s c _{osc} osc )/( 384 x 波特率 )

    • 当发送完8位数据和插入停止位前,硬件自动置位TI;当接收到有效停止位后硬件自动置位RI。下次传输数据前需软件清除TI和RI

  • 模式2
    • 固定波特率的9位串行异步通信方式。

    • 波特率 = 晶振频率 x ( 2 S M O D 2^{SMOD} 2SMOD / 64)

  • 模式3
    • 可变波特率的9位串行异步通信方式。

    • 波特率 = T1溢出率 x ( 2 S M O D 2^{SMOD} 2SMOD / 32),计数器初值为 X = 256 - ( 2 S M O D 2^{SMOD} 2SMOD x f o s c _{osc} osc )/( 384 x 波特率 )


中断使能:IE

0xA8Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号EA-ET2ESET1EX1ET0EX0
位地址0xAF-0xAD0xAC0xAB0xAA0xA90xA8

描述

EA :总中断使能,为0 屏蔽所有中断。若使 I N T x ‾ \overline{INTx} INTx引脚以查询方式工作,也要置位EA

ES :串口中断使能,0 屏蔽串口RI/TI中断

ET1 :定时器1溢出中断使能

EX1 :外部中断引脚1中断使能

ET0:定时器0溢出中断使能

EX0:外部中断引脚1中断使能

中断检测周期为1个机械周期

中断服务函数入口地址

中断源标志位向量地址编号
I N T 0 ‾ \overline{INT0} INT0IE00003H0
T0TF0000BH1
I N T 1 ‾ \overline{INT1} INT1IE10013H2
T1TF1001BH3
UART1RI & TI0023H4

在这里插入图片描述


程序状态字:PSW

0xD0Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号CYACF0RS1RS0OV-P
位地址0xD70xD60xD50xD40xD30xD20xD10xD0

描述

CY :最高位进位标志位,当ACC:7 位出现进位或借位时置 1;参与布尔运算

AC :辅助进位标志位 ,在进行BCD运算时,如ACC:3位发生进位或借位时则置 1

F0 : 用户状态标志位,用户可以通过编程自由修改

RS1,RS0 :用户组选择

OV :数据溢出标志位

P :奇偶标志位,当ACC内容在二进制形式下1的数量是偶数时为0,奇数时为1


中断优先级:IP

0xB8Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号---PSPT1PX1PT0PX0
位地址---0xBC0xBB0xBA0xB90xB8

描述

PS :串口优先级,0 优先级低,1 优先级高

PT1 :定时器1优先级

PX1:外部中断1优先级

PT0:定时器0优先级

PX0 :外部中断1优先级


电源控制:PCON

0x87Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号SMOD-------

描述:

SMOD:为1时,若串口工作在模式1~3,串口波特率加倍


累加器:ACC

0xE0Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
符号
位地址0xE70xE60xE50xE40xE30xE20xE10xE0

主要参考文献:

  • Intel:《 MCS ® 51 Family of Microcontrollers Architectural Overview 》

  • Atmel:《 Atmel 8051 Microcontrollers Hardware Manual 》

  • 姜志海:《 单片机原理及应用 (第五版)》

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值