51单片机常用寄存器详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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中断优先级控制位。