欢迎来到天天文库
浏览记录
ID:59494936
大小:2.63 MB
页数:29页
时间:2020-09-13
《第09章MCS-51单片机的串行接口ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章MCS-51单片机的串行接口MCS-51串行口的应用MCS-51单片机的串行口串行通信基础单片机的多机通信1为保证通信能顺利进行,发送方和接收方要遵守基本通信规程。通信规程在计算机通信中称为协议,包括:收发双方的同步方式、传输控制步骤、差错检验方式、数据编码、数据传输速度、通信报文格式及控制字符的定义等。串行通信规程有两类:同步通信:通过同步字符的识别实现通信异步通信:利用字符的再同步技术实现通信一、串行通信规程9.1串行通信基础2在异步通信中,数据通常是以字符(或字节)为单位组成字符帧传送的。发送端和接收端依靠字符帧格式和波特率来协调数据的发送和接收字符帧由起始位、数据位、奇
2、偶校验位、停止位和空闲位等五部分组成。1.异步通信规程无空闲位字符帧有空闲位字符帧32.同步通信规程同步通信是一种连续串行传送数据的通信方式,以帧为传输单位,一次通信只传送一帧信息。同步通信中的信息帧与异步通信中的字符帧是不同的。波特率定义为每秒钟传送二进制数码的位数,单位为bps,即位/秒。41.异步接收/发送器(UART)具有异步通信功能的串行接口硬件称为异步接收/发送器2.串行通信的制式单工:单向传输半双工:分时双向传输全双工:同时双向传输二、串行通信的制式5MCS-51内部有一个的可编程全双工串行异步收发电路9.2MCS-51单片机的串行口1.发送和接收电路一、串行口的结构6
3、2.串行口控制寄存器SCON.SM0、SM1:为串行口方式选择位,用于控制串行口的工作方式。00方式0:8位移位寄存器I/O,波特率固定为fosc/1201方式1:8位UART(1+8+1位),波特率可变,按公式计算10方式2:9位UART(1+8+1+1位),波特率固定=fosc/32或fosc/6411方式3:9位UART(1+8+1+1位),波特率可变,按公式计算73.电源控制寄存器PCONSMOD:串行口波特系数控制位。在方式1、2和3下时,当SMOD=1时,通信波特率可以提高一倍。GF1,GF0:用户可自行定义使用的通用标志位PD:掉电控制位0:常规方式;1:掉电方式。振荡
4、器停振;片内RAM和SRF不变;程序停止;只有复位能退出掉电状态。IDL:待机控制位0:常规方式;1:待机方式。81.方式0(SM0、SM1=00)[同步移位寄存器]二、串行口的工作方式发送:数据由RXD逐位移出;TXD输出移位时钟,每送出8位数据TI就自动置1;需要用户复位TI。接收:数据由RXD逐位移入;TXD输出移位时钟;每接收8位数据RI自动置1;需要用户复位RI。92.方式1(SM0、SM1=01)[10位异步收发]1位起始位,8位数据位,1位停止位,波特率可变发送:CPU执行SBUF写入指令MOVSBUF,A后,启动串行口开始发送数据。波特率由定时器T1控制,发送完一帧数
5、据时,发送完一帧信息后,发送电路自动维持TXD为高电平,发送中断标志TI由硬件在发送停止位时置位。接收:置REN=1后,当确认起始位有效后,开始接收本帧其余数据。在接收到第9数据位(即停止位)时,必须同时满足两个条件:RI=0和SM2=0或接收到的停止位为1,才能把接收到的8位字符存入SBUF中,把停止位送入RB8中,并使RI=1,若上述条件不满足,则这次收到的数据就被丢弃,不装入SBUF中。103.方式2和方式3[11位异步收发]接收:接收到的字符送入SBUF,第9位数据装入RB8中,并使RI=11位起始位,9位数据位,1位停止位。方式2波特率固定,方式3波特率可变。发送:在启动发
6、送前,应把第9位数据预先装入SCON的TB8中,第9位数据可用如下指令装入:SETBTB8CLRTB8然后用指令MOVSBUF,A启动发送11方式0:同步移位寄存器波特率固定=fosc/12方式1:10位异步收发,波特率可变方式0:n=13n为定时器T1的位数方式1:n=16方式2:n=8三、串行口的通信波特率12方式2:11位异步收发,波特率固定方式3:11位异步收发,波特率可变SMOD=0fosc/64SMOD=1fosc/32139.3MCS-51串行口的应用●方式0下的MCS-51串行口是一个移位寄存器●并行输入串行输出●串行输入并行输出●常用于和数字移位寄存器接口一、串行口
7、在方式0下的应用14串入/并出移位寄存器74HC16474HC164引脚功能:●A、B:串行数据输入端●Q0~Q7:8个并行输出端●CLK:移位脉冲输入●CLR:清零15【例9-5】利用串行口扩展一个6位数码管静态显示器。要显示的6位数字(在0~9范围)顺序存放在内部RAM40H开始的单元中,编写从串口输出显示6位数字的程序。数码管是共阴极还是共阳极?16SCON=00000000B=00H要求串口工作在方式0发送数据,则串行口控制寄存器SCON应如何设置
此文档下载收益归作者所有