1.串口寄存器SBUF
SBUF是指串行口中的两个缓冲寄存器,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的,但地址是重叠的。它们都是字节寻址的寄存器,字节地址均为99H。
串行发送数据时,CPU向SBUF写入数据 SBUF=date; //发送数据
串行接收数据时,CPU从SBUF读出数据 date=SBUF; //接收数据
2.TMOD:工作方式控制寄存器
寄存器地址89H,不可位寻址。 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 GATE C/T M1 M0 GATE C/T M1 M0 GATE——门控位 当=0时,以TR0(或TR1)状态决定定时器/计数器的启动或禁止 当=1时,以TR0与INT0(或TR1与INT1)状态决定定时器/计数器的启动或禁止 C/T=0 定时/计数工作方式选择位 0为定时器 1为计数器。 M1M0——工作方式选择位 M1M0=00 方式0:是13位计数结构的工作方式,其计数器由TH全部8位和TL的低5位构成。 M1M0=01 方式1:是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。 M1M0=10 方式2:自动装入8位计数器。 M1M0=11 方式3:定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以计数使用,又可以定时使用,定时器/计数器0的各控制位和引脚信号全归它使用。 3.SCON控制寄存器 . SCON寄存器各位定义 D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SM0、SM1 ——串行口工作方式控制位 SM0 SM1 工作方式 功能 波特率 0 0 方式0 8位同步移位寄存器 晶振频率/12 0 1 方式1 10位UART 可变 1 0 方式2 11位UART 晶振频率/64或晶振频率/32 1 1 方式3 11位UART 可变AUXR.0:S1BRS,如果为1那么串口1的波特率发生器为独立波特率发生器,否则为定时器1
AUXR.1:EXTRAM,为1则可以使用内部扩展RAM
AUXR.2:BRTx12,为1则独立波特率发生器不分频,否则12分频。
AUXR.3:S2SMOD,为1串口2波特率加倍,否则不加倍
AUXR.4:BRTR,为1则允许独立波特率允许,否则不允许。
AUXR.5:UART_M0x6,为1则串口模式0为2分频,否则为12分频
AUXR.6:T1x12,为1则定时器1不分频,否则12分频
AUXR.7:T0x12,为1则定时器0不分频,否则12分频
注意:12分频相当于传统的51单片机的速度
注:
AUXR是Auxiliary Register(辅助寄存器)的缩写。
AUXR寄存器不可位寻址。
AUXR的第7位和第6位用得很多,分别用于设置定时器0和1是否12分频。因为是1T的单片机,为了兼容传统的8051,
若不设置则默认为0,即定时器12分频。
例如:AUXR &= 0xBF; //定时器1时钟为Fosc/12,即12T 1011 1111
