51单片机常用寄存器详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

P0 = 0x80;

P1 = 0x90;

P2 = 0xA0;

P3 = 0xB0;

PSW = 0xD0;

PSW寄存器,全称——程序状态字标志寄存器,是一个8位寄存器。

该寄存器用来存放运算结果的一些特征,如有无进位、借位等。

使用汇编编程是PSW寄存器很有用,但在C语言编程时,编译器会自动控制该寄存器,很少人为操作,仅作了解即可。

D7 D6 D5 D4 D3 D2 D1 D0

CY AC F0 RS1 RS0 OV —— P

①CY——进位标志位,他表示运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0.

②AC——辅助进位标志,又称半进位标志,它指两个8位数运算低四位是否有半进位,即低四位相加(或相减)是否进位(或借位),如有AC为1,否则为0.

③F0——由用户使用的一个状态标志位,可用软件来使它置1或清0,也可由软件来测试它,以控制程序的流向。

④RS1、RS0——四组工作寄存器选择控制位,在汇编语言中这两位用来选择4组工作寄存器区中的哪一组为当前工作寄存区。

⑤OV——溢出标志位,反应带符号数的运算结果是否有溢出。有溢出时,此位为1,否则为0.

⑥P——奇偶标志位,反应累加器ACC内容的奇偶性,如果ACC内中的运算结果有偶数个1,则P为0,否则为1.

ACC = 0xE0;

B = 0xF0;

SP = 0x81;

DPL = 0x82;

DPH = 0x83;

PCON = 0x87;

电源管理寄存器,不能位寻址。PCON用来管理单片机的电源部分,包括上电复位检测、掉电模式、空闲模式等。单片机复位时PCON全部被清0.

为序号D7 D6 D5 D4 D3 D2 D1 D0

位符号SMOD SMOD0 LVDF P0F GF1 GF0 PD IDL

①SMOD——该位与串口通信波特率有关。

SMOD=0:串口方式为1、2、3时,波特率正常。

SMOD=1:串口方式为1、2、3时,波特率加倍。

②SMOD0、LVDF、P0F——这三位是STC单片机特有的功能,请查看相关手册,其他单片机保留未使用。

③GF1、GF0——两个通用工作标志位,用户可以自由使用。

④PD——掉电模式设定位。

PD=0:单片机处于正常工作状态。

PD=1:单片机进入掉电(Power Down)模式,可由外部中断低电平触发或由下降沿触发或者硬件复位模式唤醒,进入掉电模式后,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作。

⑤IDL——空闲模式设定位。

IDL=0:单片机处于正常工作状态。

IDL=1:单片机进入空闲(Idle)模式,处CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。

TCON = 0x88;

定时器/计数器控制寄存器,该寄存器可进行位寻址。TCON寄存器用来控制定时器的启、停、标志定时器溢出和中断情况。单片机复位时TCON全部被清0。

序号位D7 D6 D5 D4 D3 D2 D1 D0

位符号TF1 TR1 TF0 TR0 IE IT1 IE0 IT0

位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H

①TF1——定时器/计数器1溢出标志位。

当定时器/计数器1计满时,由硬件使TF1置1,并且申请中断。进入中断服务程序后,由硬件自动清0.需要注意的是,如果使用定时器中断,那么该位完全不用人为去操作,但是如果使用软件查询方式的话,当查询到该位置1后,就需要用软件清0.

②TR1——定时器/计数器1运行控制位。

由软件清0关闭定时器/计数器1。当GATE=1,且INT1为高电平时,TR1置1启动定时器/计数器1;当GATE=0,TR1置1启动定时器/计数器1.

③TF0——定时器/计数器0溢出标志,其功能、操作方法同TF1。

④TR0——定时器/计数器0运行控制位,其功能、操作方法同TR1.

⑤IE1——外部中断请求标志。

当IE1=0时,为电平触发方式,每个机器周期的S5P2采样INT1引脚,若INT1引脚为低电平,则置1,否则IE1清0.

当IE1=1时,INT1为跳变沿触发方式,当第一个机器周期采样到INT1为低电平时,则IE1置1.

IE1=1,表示外部中断1正在向CPU申请中断。当CPU响应中断,转向中断服务程序时,该位由硬件清0.

⑥IT1——外部中断1触发方式选择位。

IT1=0,为电平触发方式,引脚INT1上低电平有效。

IT1=1,为跳变沿触发方式,引脚INT1上的电平从高到低的负跳变有效。

⑦IE0——外部中断0请求标志,其功能、操作方式同IE1.

⑧IT0——外部中断0触发方式选择位,其功能、操作方式同IT1。

TMOD = 0x89;

定时器/计数器工作方式寄存器,不能位寻址,TMOD用来确定定时器的工作方式及功能选择。单片机复位时TMOD全部被清0.

序号位D7 D6 D5 D4 D3 D2 D1 D0 位符号GATE C/T�M1 M0 GATE C/T�M1 M0

定时器/计数器1 定时器/计数器0

①GATE——门控制位。

GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制。

GATE=1,定时器/计数器启动与停止由TCON寄存器中TRX(X=0,1)和外部中断引脚(INT0或INT1)上的电平状态来共同控制。

②C/T�—— 定时器模式和计数器模式选择位。

C/T�=1,为计数器模式;C/T�=0,为定时器模式。

③M1M0—— 工作方式选择位。

每个定时器/计数器都有4钟工作方式,它们有M1M0设定,如表:

M1 M0 工作方式

0 0 方式0:为13位定时器/计数器。

0 1 方式1:为16位定时器/计数器。

1 0 方式2:8位初值自动冲撞的8位定时器/计数器。

1 1 方式3:仅适用于T0,,分成两个8位计数器,T1停止计数。

TL0 = 0x8A;

TL1 = 0x8B;

TH0 = 0x8C;

TH1 = 0x8D;

IE = 0xA8;

中断允许寄存器,用来设定各个中断源的打开和关闭,该寄存器可进行位寻址。单片机复位时IE全部被清0.

位序号D7 D6 D5 D4 D3 D2 D1 D0

位符号EA —— ET2 ES ET1 EX1 ET0 EX0

位地址AFH —— ADH ACH ABH AAH A9H A9H

①EA——全局中断允许位。

EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。

EA=0,关闭全部中断。

②—— 无效位

③ET2——定时器/计数器2中断允许位。

④ES——串行口中断允许位。

⑤ET1——定时器/计数器1中断允许位。

⑥EX1——外部中断1中断允许位。

⑦ET0——定时器/计数器0中断允许位。

⑧EX0——外部中断0中断允许喂。

IP = 0xB8;

中断优先级寄存器,IP用来设定各个中断源属于两级中的哪一级。该寄存器可进行位寻址,即可对该寄存器的每一位进行单独操作。单片机复位时IP全部被清0.

位序号D7 D6 D5 D4 D3 D2 D1 D0

位符号—— —— —— PS PT1 PX1 PT0 PX0

位地址—— —— —— BCH BBH BAH B9H B8H

①—— 无效位。

②PS——串行口中断优先级控制位。

③PT1——定时器/计数器1中断优先级控制位。

相关文档
最新文档