MCS-51单片机串行通信

MCS-51单片机串行通信

ID:41319682

大小:538.50 KB

页数:51页

时间:2019-08-22

MCS-51单片机串行通信_第1页
MCS-51单片机串行通信_第2页
MCS-51单片机串行通信_第3页
MCS-51单片机串行通信_第4页
MCS-51单片机串行通信_第5页
资源描述:

《MCS-51单片机串行通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、串行通信概述串行通信原理串行通信的控制寄存器串行通信的工作方式多机通信第8章 串行通信本章内容SingleChipMicrocomputer串行通信概述单片机与外围设备的通信有并行和串行两种方式。并行通信是多位数据同时传送,速度快,效率高,但需要的数据线条数也比较多,只适合短距离通信。串行通信是按先后次序一位一位传送数据,所需的数据线条数少,特别适用长距离传送。MCS-51单片机内部有一个全双工的串行口,可以通过软件设定以4种工作模式和不同的波特率进行工作。串行通信的通信方式异步通信方式:单片机的

2、串行通信使用的是异步串行通信,异步通信是指发送方和接收方采用独立的时钟,即双方没有一个相同的参考时钟作为基准。在异步通信中数据一般以一个字符为单位进行传送。用一帧来表示一个字符,一帧信息由起始位(为0信号,占1位)、数据位(传输时低位在先,高位在后)、奇偶较验位(可要可不要)和停止位(为1信号,可1位、1位半或2位)组成。同步通信方式:在同步通信中,每个数据块的开头以同步字符SYN加以指示,使发送与接受双方取得同步。数据块的各字符之间没有起始位和停止位,提高了通信的速度。但为了能保持同步传送,在同步

3、通信中须用一个时钟来协调收发器的工作,这就增加了设备的复杂性。1.字符格式双方要事先约定字符的编码形式、奇偶校验形式及起始位和停止位的规定。例如用ASCII码通信,有效数据为7位,加一个奇偶校验位、一个起始位和一个停止位共10位。2.波特率波特率就是数据的传送速率,即每秒钟传送的二进制位数,单位为位/秒。它与字符的传送速率(字符/秒)之间有以下关系:波特率=1个字符的二进制编码位数×字符/秒注:在异步通信中,通信双方必须事先约定字符格式和波特率.3.串行通信的三种数据传输模式1)单工方式:数据仅按一

4、个固定方向传送。常用于串行口的打印数据传输与简单系统间的数据采集。2)半双工方式:使用同一根传输线,数据可双向传送,但不能同时进行,实际应用中采用某种协议实现收/发开关转换。3)全双工方式:数据的发送和接收可同时进行,通信双方都能在同一时刻进行发送和接收操作,但一般全双工传输方式的线路和设备比较复杂。发送端接受端数据线地线单工方式发送/接收端接收/发送端数据线地线半双工方式发送/接收器接收/发送端数据线地线全双工方式串行通信工作原理1.串行通信接口MCS-51单片机串行口的数据传送为全双工传送方式。

5、接收、发送数据均可工作在查询或中断方式,能方便实现双机和多机通信。MCS-51单片机内部的串行接口,有一个发送缓冲器和一个接收缓冲器,它们在物理上是独立的。发送缓冲器只能写入信息,不能被读出,用于存储发送信息。接收缓冲器只能读出信息,不能被写入,用于存储接收到的信息。这两个缓冲器共用一个地址:99H。另外,在串行通讯时用二个特殊功能寄存器SCON、PCON控制串行接口的工作方式和波特率。如下图所示。/12TH1TL1/2/16发送SBUF(99H)接收SBUF(99H)输入移位寄存器/16起始位检测

6、内部BUS移位时钟T1溢出率fsocSMOD-1SMOD-0PXD(P3.0)TIRITXD(P3.1)写SBUF读SBUF装载SBUF注:接收/发送缓冲寄存器SBUF,虽然共用一个地址,但由于操作是独立的,故不会发生冲突。对接收/发送缓冲寄存器SBUF的操作,必须通过累加器A进行。指令MOVSBUF,A启动一次数据发送指令MOVA,SBUF完成一次数据接收,SBUF可再接收下一个数据接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指令对RI/TI清0,以备下一次收/发。2.串

7、行通信控制寄存器(SCON)串行通信控制寄存器SCON的字节地址为98H,位地址为98H-9FH。可以对串行接口的工作方式、接收发送和串行接口的工作状态标志进行设置。其格式如下:位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENTB8RB8TIRI1)SM0、SM1——串行口工作方式选择位其状态组合和对应工作方式为:SM0SM1工作方式0        0方式00     1方式11        0方式21    1方式32)M2——多机通信控制位,主要用于方式2

8、和方式3中在接收状态时,当串行口工作于方式2或3,以及SM2=1时,只有当接收到的第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第9位数据是0还是1,都将前8位数据送入SBUF,并发出中断申请。在方式0时,SM2必须为0。在方式1,若SM2=1,只有接收到有效的停止位时,才能置位RI。3)REN——允许串行接收控制位REN=0禁止接收数据REN=1允许接收数据4)TB8——发送数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。