串行口控制寄存器SCON(98H)
SM0和SM1是串行口4中工作方式的选择位。
00 方式0:8位移位寄存器,波特率固定为fosc/12(晶振频率的12分之1)
01 方式1:10位异步收发(1+8+1),波特率可变,按公式计算(使用频率最高的方式,起始位0+8位数据+停止位1)
10 方式2:11位异步收发(1+8+1+1),波特率固定为fosc的1/32或1/64
11 方式3:11位异步收发(1+8+1+1),波特率可变,按公式计算
SM2是串行口多机通信控制位(作为方式2、方式3的附加控制位)
REN是串行口接收允许控制位,1表示允许接收,0表示禁止接收。
RB8、TB8是多机通信使用的奇偶校验位,此处不详细记录,后续看情况补充。
RI、TI是串行口收发数据申请中断标志位,1申请中断,0不申请中断。
电源控制寄存器PCON(97H)
SMOD位是在串行口工作方式1、2、3中指定波特率是否加倍,PCON不能按位寻址,所以在使用的时候直接写PCON=0x00代表波特率不加倍,PCON=0x80代表波特率加倍。
GF1、GF0、后续补充。
PD位是掉电方式控制位,0为常规工作方式,1为进入掉电方式:振动器停振,片内RAM和SRF的值保持不变,P0-P3口维持原状,程序停止。只有复位能使退出掉电方式。
IDL位是待机方式(空闲方式)控制位,0为常规工作方式,1为进入待机方式:振荡器继续振荡,中断、定时器、串口有效,片内RAM和SRF不变,CPU状态,P0-P3维持原状,程序停顿。中断和复位能退出待机,继续执行程序。
定时器/计数器模式控制寄存器TMOD(89H)
左边四位是定时器T1,右边四位是定时器T0。
1、GATE
GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。
当INT0引脚为高电平时TR0置位,启动定时器T0;当INT1引脚为高电平时TR1置位,启动定时器T1。
GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。
2、C/T
C/T=0时为定时功能。
C/T=1时为计数功能。置位时选择计数功能,清零时选择定时功能。
3、M1、M0
由于有2位,因此有4种工作方式
M1M0 工作方式 计数器模式 TMOD(设置定时器模式)
0 0 方式0 13位计数器 TMOD=0x00
0 1 方式1 16位计数器 TMOD=0x01
1 0 方式2 自动重装8位计数器 TMOD=0x02(使用频率较高)
1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 TMOD=0x03
单片机定时器0设置为工作方式1为TMOD=0x01;定时器1设置工作方式1时TMOD=0x10,没有用到的定时器一般设置为0。
中断允许寄存器IE(0A8H)
ES位是串行中断允许控制位,0表示禁止中断,1表示允许中断。
EA位表示总的中断允许控制位(总开关),0表示禁止全部中断,1表示允许中断。
TCON