51单片机常用寄存器

1. TCON中断请求标志寄存器

D7D6D5D4D3D2D1D0
TCONTF1TR1TF0TR0IE1IT1IE0IT0
  1. TF1:定时器/计数器T1的溢出中断请求标志位。

    当启动T1后,T1从初值开始加1计数,当计数溢出时,由硬件自动置TF1为“1”,向CPU申请中断。CPU响应TF1中断时,TF1标志1由硬件自动清零,TF1也可由软件清零。

  2. TF0:定时器/计数器T0的溢出中断请求标志位。功能与TF1相同

  3. TR1TR0:计数运行控制位

    TR1、TR0=1时,启动定时器/计数器的必要条件

    TR1、TR0=0时,停止定时器/计数器

  4. IE1:外部中断请求1的中断请求标志位。

    触发外部中断时,IE1置“1”,转向中断服务程序时,硬件自动把IE1清零。

  5. IE0:外部中断请求0的中断请求标志位。功能同IE1

  6. IT1:选择外部中断请求1为跳沿触发方式还是电平触发方式。

    IT1=0为电平触发方式,加到引脚INT1(P3.3)的外部中断请求输入信号为低电平有效。(不接5V上拉)

    IT1=1为跳沿触发方式,加到引脚INT1(P3.2)的外部中断请求输入信号电平从高到低的负跳沿有效。(接5V上拉)

  7. IT0:选择外部中断请求0为跳沿触发方式还是电平触发方式。与IT1类似。

2. SCON串行口控制寄存器

D7D6D5D4D3D2D1D0
SCONSM0SM1SM2RENTB8RB8TIRI
  1. SM0SM1:串行口4种工作方式选择位

    SM0 SM1方式功能说明
    0 00同步移位寄存器方式(用于扩展I/O口)
    0 118位异步收发,比特率可变(由定时器控制)
    1 029位异步收发,波特率为fosc/64或fosc/32
    1 139位异步收发,波特率可变(由定时器控制)
  2. SM2:多机通信控制位

    多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2和方式3。

    当串行口以方式2或方式3接收时,如果SM2=1,则只有当接收到的第9位数据(RB8)为“1”时,才使RI置“1”,产生中断请求,并将接收到的前8位数据送入SBUF;当接收到的第9位数据(RB8)为“0”时,则将接收到的前8位数据丢弃。

    而当SM2=0时,则不论第9位数据是“1”还是“0”,都将接收的前8位数据送入SBUF中,并使RI置“1”,产生中断请求。

    在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI。

    在方式0时,SM2必须为0。

  3. REN:允许串行接收位,由软件置“1”或清零。

    REN=1,允许串行口接收数据。

    REN=0,禁止串行口接收数据。

  4. TB8:发送的第9位数据

    在方式2和方式3时,TB8是要发送的第9位数据,其值由软件置“1”或清零。在双机串行通信时,TB8一般作为奇偶检验为使用;也可在多机串行通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。

  5. RB8:接收的第9位数据。

    工作在方式2和方式3时,RB8存放接收到的第9位数据。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。

  6. TI:串行口发送中断请求标志位。当CPU将1字节的数据写入串行口的发送缓冲器SBUF时,就启动一帧串行数据的发送,每发送完一帧串行数据后,硬件把TI中断请求标志位置“1”。CPU响应串行口发送中断时,不能清除TI标志,TI标志必须在中断服务程序中用指令清零。

  7. RI:串行口接受中断请求标志位。在串行口接收完一个串行数据帧,硬件自动使RI中断请求标志置“1”。CPU响应串行口接收中断时,不能清除RI标志,RI标志必须在中断服务程序中用指令清零。

3. 中断允许寄存器IE

D7D6D5D4D3D2D1D0
IEEAESET1EX1ET0EX0
  1. EA:中断允许总开关控制位。置1所有中断请求被允许,置零所有中断请求被屏蔽。

  2. ES:串行口中断允许控制位。置1允许串行口中断,置0禁止

  3. ETI:定时器/计数器T1的溢出中断允许控制位。置1允许,置0禁止

  4. ET0:定时器/计数器T0的溢出中断允许控制位。置1允许,置0禁止

  5. EX1:外部中断1中断允许位。置1允许,置0禁止

  6. EX0:外部中断0中断允许位。置1允许,置0禁止

4. IP中断优先级寄存器

D7D6D5D4D3D2D1D0
IPPSPT1PX1PT0PX0
  1. PS:串行口中断优先级控制位。1–高优先级,0–低优先级。

  2. PT1:定时器T1中断优先级控制位。1–高优先级,0–低优先级。

  3. PX1:外部中断1中断优先级控制位。1–高优先级,0–低优先级。

  4. PT0:定时器T0中断优先级控制位。1–高优先级,0–低优先级。

  5. PX0:外部中断0中断优先级控制位。1–高优先级,0–低优先级。

5.TMOD定时器/计数器工作方式寄存器

D7D6D5D4D3D2D1D0
TMODGATEC/TM1M0GATEC/TM1M0
T1T1T1T1T0T0T0T0
  1. GATE:门控位

    GATE=0,定时器/计数器是否计数,仅由控制位TR1或TR0控制。

    GATE=1,定时器/计数器是否计数,由外中断引脚(P3.2或者P3.3)上的电平与TRx共同控制。

  2. C/T:计数模式(Count)和定时器(Timer)模式选择位

    C/T = 0,为定时器工作模式,对系统时钟12分频后的内部脉冲进行计数

    C/T = 1,为计数器工作模式,计数器对外部输入引脚T0(p3.4)或者T1(p3.5)的外部脉冲(负跳变)计数

  3. M1M0:工作方式选择位

    M1,M0的4中编码,对应于4中工作方式的选择

    M1 M0工作方式
    0 0方式0,为13位定时器/计数器
    0 1方式1,为16位定时器/计数器
    1 0方式2,为8位的常数自动重新装载的定时器/计数器
    1 1方式3,仅适用于T0,此时T0分成2个8位计数器,T1停止计数

6.PCON特殊功能寄存器

D7D6D5D4D3D2D1D0
PCONSMODGF1GF0PDIDL
  1. SMOD:波特率选择位

    例如方式1的波特率计算公式为:
    波 特 率 = 2 S M O D 32 ∗ 定 时 器 T 1 的 溢 出 率 波特率=\frac {2^{SMOD}}{32}*定时器T1的溢出率 =322SMODT1
    当SMOD=1时,要比SMOD时的波特率加倍,所以也称SMOD位为波特率倍增位。

  2. GF1GF0:通用标志位,用户使用,应充分利用。

  3. PD:掉电保持模式控制位,若PD1,则进入掉电保持模式。

  4. IDL:空闲模式控制位,若IDL=1,则进入空闲运行模式。

参考书籍:单片机原路及接口技术

  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值