C51单片机串口初始化为何是这样
B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
SM0、SM1:串行通信方式选择位。
SM0 | SM1 | 工作方式 | 功能说明 | 波特率 |
0 | 0 | 方式0 | 同步移位寄存器方式 | osc f /12 |
0 | 1 | 方式1 | 8位异步通信方式 | 可变,由定时器控制 |
1 | 0 | 方式2 | 9位异步通信方式 | osc f /32 或osc f /64 |
1 | 1 | 方式3 | 9位异步通信方式 | 可变,由定时器控制 |
SM2:多机通信控制位。
在方式0时,SM2必须为0。
在方式1时,若SM2=0,RB8是接受到的停止位;若SM2=1,则只有收到有效的停止位才会激活中断RI,若没有接受到有效停止位,则RI清0。
在方式2或3时,如果SM2
REN:接收控制位。由软件置1或清0,“0”即禁止接收。“1”允许接收。
TB8:发送数据的第9 位。方式2和方式3,TB8是要发送的第9位数据,其值由软件置“1”或清“0”。在双机串行通信时,一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。
RB8:接收数据的第9位。方式2和方式3,RB8存放接收到的第9位数据。在方式1,如SM2
TI:发送中断标志位。发送数据前由软件清0,发送结束由硬件置1。方式0,发送完8位数据时TI由硬件置“1”,其他方式中,发送停止位时置TI 为“1”。其状态可供软件查询,也可请求中断
RI:接收中断标志位。接收前由软件清0,接收完时由硬件置“1”。方式0时,接收完第8位数据RI由硬件置“1”。在其他工作方式中,串行接收到停止位的中间时,该位置“1”。 其状态可供软件查询,也可请求中断
TMOD-定时器控制寄存器:不按位寻址,高四位控制T1,低四位控制T0。地址89H
B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
GATE :定时操作开关控制位,当GATE=1时,INT0或INT1引脚为高电平,同时TCON中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。若GATE=0,则只要将TR0或TR1控制位设为1,计时/计数器0或1就开始工作。
C/T :定时器或计数器功能的选择位。C/T=1为计数器,通过外部引脚T0(P3.4)或T1(P3.5)输入计数脉冲。C/T=0时为定时器,由内部系统时钟提供计时工作脉冲。
M1 :模式选择位高位
M0 :模式选择位低位
M1 | M0 | 工作模式 |
0 | 0 | 13位计数/计时器 |
0 | 1 | 16位计数/计时器 |
1 | 0 | 8位自动加载计数/计时器 |
1 | 1 | 定时器1停止工作,定时器0分为两个独立的8位定时器TH0及TL0 |
SCON=0X52
TMOD=0X20:使用定时器1,8位自动加载计时器
TH1=0XF3:设置8位自动加载计时器定时时间,设定波特率为9600
TR1=1:启用定时器1
C51单片机串口初始 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)