分享

C51单片机串口初始化为何是这样:SCON=0X52;TMOD=0X20;TH1=0XF3;TR1=...

 ID被吃 2016-04-02
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 =1,则只有当接收到的第9位数据(RB8)为“1”时,才使RI置“1”,产生中断请求,并将接收到的前8位数据送入SBUF。当接收到的第9位数据(RB8)为“0”时,不提出中断,接收到的前8位数据无效。若SM2= 0,接收到RB8后必然置位RI,产生中断,此时不论地址帧还是数据帧都能接收。
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 = 0,RB8是接收到的停止位。在方式0,不使用RB8。
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 :选择8位异步通信方式,波特率可变,由定时器控制;允许接受;发送中断标志、接收中断标志分别为1、0
TMOD=0X20:使用定时器1,8位自动加载计时器
TH1=0XF3:设置8位自动加载计时器定时时间,设定波特率为9600
TR1=1:启用定时器1

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多