- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第09章MCS-51单片机的串行接口祥解.ppt
74HC164引脚功能: ● A、B: 串行数据输入端 ● Q0~Q7:8个并行输出端 ● CLK: 移位脉冲输入 ● CLR: 清零 定时器T1用作波特率发生器,工作在方式2 * KMU FWJ 第9章 MCS-51单片机的串行接口 MCS-51串行口的应用 MCS-51单片机的串行口 串行通信基础 单片机的多机通信 为保证通信能顺利进行,发送方和接收方要遵守基本通信规程。 通信规程在计算机通信中称为协议,包括:收发双方的同步方式、传输控制步骤、差错检验方式、数据编码、数据传输速度、通信报文格式及控制字符的定义等。 串行通信规程有两类: 同步通信:通过同步字符的识别实现通信 异步通信:利用字符的再同步技术实现通信 一、串行通信规程 9.1 串行通信基础 在异步通信中,数据通常是以字符(或字节)为单位组成字符帧传送的。发送端和接收端依靠字符帧格式和波特率来协调数据的发送和接收 字符帧由起始位、数据位、奇偶校验位、停止位和空闲位等五部分组成。 1.异步通信规程 无空闲位字符帧 有空闲位字符帧 2.同步通信规程 同步通信是一种连续串行传送数据的通信方式,以帧为传输单位,一次通信只传送一帧信息。 同步通信中的信息帧与异步通信中的字符帧是不同的。 波特率定义为每秒钟传送二进制数码的位数,单位为bps,即位/秒。 1.异步接收/发送器(UART) 具有异步通信功能的串行接口硬件称为异步接收/发送器 2.串行通信的制式 单工: 单向传输 半双工:分时双向传输 全双工:同时双向传输 二、串行通信的制式 MCS-51内部有一个的可编程全双工串行异步收发电路 9.2 MCS-51单片机的串行口 1. 发送和接收电路 一、串行口的结构 2.串行口控制寄存器 SCON .SM0、SM1:为串行口方式选择位,用于控制串行口的工作方式。 0 0 方式0:8位移位寄存器I/O,波特率固定为 fosc/12 0 1 方式1:8位UART(1+8+1位), 波特率可变,按公式计算 1 0 方式2:9位UART(1+8+1+1位),波特率固定=fosc /32或fosc /64 1 1 方式3:9位UART(1+8+1+1位),波特率可变,按公式计算 3. 电源控制寄存器PCON SMOD:串行口波特系数控制位。在方式1、2和3下时,当SMOD=1时,通信波特率可以提高一倍。 GF1,GF0:用户可自行定义使用的通用标志位 PD:掉电控制位 0:常规方式;1:掉电方式。 振荡器停振;片内RAM和SRF不变;程序停止;只有复位能退出掉电状态。 IDL:待机控制位 0:常规方式;1:待机方式。 1.方式0(SM0、SM1=00)[同步移位寄存器] 二、串行口的工作方式 发送:数据由RXD逐位移出; TXD输出移位时钟, 每送出8位数据 TI就自动置1; 需要用户复位TI。 接收:数据由RXD逐位移入; TXD输出移位时钟; 每接收 8位数据RI自动置1; 需要用户复位RI。 2.方式1(SM0、SM1=01)[ 10位异步收发] 1位起始位,8位数据位,1位停止位,波特率可变 发送:CPU执行SBUF写入指令MOV SBUF,A后,启动串行口开始发送数据。波特率由定时器T1控制,发送完一帧数据时,发送完一帧信息后,发送电路自动维持TXD为高电平,发送中断标志TI由硬件在发送停止位时置位。 接收:置REN=1后,当确认起始位有效后,开始接收本帧其余数据。在接收到第9数据位(即停止位)时,必须同时满足两个条件:RI=0和SM2=0或接收到的停止位为1,才能把接收到的8位字符存入SBUF中,把停止位送入RB8中,并使RI=1,若上述条件不满足,则这次收到的数据就被丢弃,不装入SBUF中。 3.方式2和方式3 [ 11位异步收发] 接收: 接收到的字符送入SBUF, 第9位数据装入RB8中, 并使RI=1 1位起始位,9位数据位,1位停止位。 方式2波特率固定,方式3波特率可变。 发送: 在启动发送前,应把第9位数据预先装入SCON的TB8中,第9位数据可用如下指令装入: SETB TB8 CLR TB8 然后用指令MOV SBUF, A 启动发送 方式0:同步移位寄存器 波特率固定=fosc/12 方式1:10位异步收发,波特率可变 方式0:n = 13 n为定时器T1的位数 方式1:n = 16 方式2:n = 8 三、串行口的通信波特率 方式2:11位异步收发,波特率固定 方式3:
文档评论(0)