单片机与嵌入式系统:第五章 单片机(七、串行通信)(1课时)_第1页
单片机与嵌入式系统:第五章 单片机(七、串行通信)(1课时)_第2页
单片机与嵌入式系统:第五章 单片机(七、串行通信)(1课时)_第3页
单片机与嵌入式系统:第五章 单片机(七、串行通信)(1课时)_第4页
单片机与嵌入式系统:第五章 单片机(七、串行通信)(1课时)_第5页
已阅读5页,还剩24页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机与嵌入式系统第五章单片机:串行通信中南大学信息科学与工程学院基本概念RS-232接口MCS-51的串行接口单片机与单片机之间的通信编程练习第

章

串行口通信技术本章内容SingleChipMicrocomputer什么是串行通信?串行通信和并行通信计算机1

GND计算机2

GND并行通信计算机1

GND计算机2

GND发送接收串行通信并行通信:数据的各位同时传送;串行通信:数据一位一位顺序传送。发送时的并串转换:接收时的串并转换:串行通信的分类:异步(AsynchronousCommunication)同步(SynchronousCommunication)

串行通信制式:单工(a)、半双工(b)和全双工(c)(simplexhalfduplexfullduplex)发送器A站接收器B站单工通信(a)发收A站发收B站发收A站发收B站(b)(c)同步通信异步通信的概念

同步和异步都属于串行数据传送方式,但二者的传送格式有所不同。同步方式的一帧内含有很多数据位,而异步方式一帧内只含有几个数据位。如果要传送一大堆数据,同步方式只给这串数据进行一次外包装(即添加“头帧”、“尾帧”、“校验”帧),而异步方式在传送这串数据时则要对数据的每一个字节分别加以包装(即添加“头”位、“尾”位和校验)。

显然在相同的数据传输波特率下,同步方式比异步方式的传送速度快,但同步方式要求收发双方在整个事件传送过程中始终保持严格同步,这将增加硬件上的难度,而异步通信只要求每帧(字节)的传送中短时间保持同步即可,实现起来要容易得多。同步、异步数据通信格式数据数据数据……数据数据……同步字符同步字符1同步字符2图6.1同步传送的数据格式1100/10/10/10/10/10/10/10/10/1111起始位停止位奇偶校验8位数据空闲位空闲位第n个字符100/10/1起始位第n+1个字符0/10/1图6.2异步通信数据帧格式MCS-51的串行接口概述有一个可编程全双工串行通信接口(UART)(UniversalAsychronousReceiver/Transmitter

)管脚:TXD(P3.1)、RXD(P3.0)可同时发送、接收数据(Transmit/Receive)有四种工作方式,帧格式有8、10、11位。波特率(Baudrate)可设置

波特率:每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。MCS-51串行接口的结构SBUFSBUF发送控制接收控制发送端口接收端口≥1波特率控制TXDRXDDBDBTIRI串行中断写SBUF读SBUF1.数据缓冲寄存器SBUF两个SBUF,一个用于发送(只写);一个用于接收(只读)。映象地址均为99H。2.数据发送与接收控制发送控制器在波特率作用下,将发送SBUF中的数据由并到串,一位位地传输到发送端口;接收控制器在波特率作用下,将接收接收端口的数据由串到并,存入接收SBUF中。MCS-51串行接口的结构MCS-51串行接口寄存器SBUF——串行口数据缓冲器共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。SCON——串行口控制寄存器PCON——电源及波特率选择寄存器控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式选择多机通信控制位允许串行接收位接收数据的第9位发送数据的第9位接收中断标志发送中断标志9FH9EH9DH9CH9BH9AH99H98HSCON98HSM0SM1工作方式功能波特率00方式08位同步移位寄存器fosc/1201方式110位UART可变10方式211位UARTfosc/64或fosc/3211方式311位UART可变串行方式的定义例:设串行口工作在方式1,允许接收,则指令为:

MOVSCON,#01010000B串行通信只用该位,为1时,波特率×2;为0时不变。电源及波特率选择寄存器PCONSMOD×××GF1GF0PDIDL87H串行口四种工作方式应用比较方式的选择由SM1、SM0实现。工作方式功能说明波特率方式08位同步移位寄存器常用于扩展I/O口fosc/12方式110位UART8位数据、起始位、结束位可变(取决于定时器1溢出率)方式211位UART8位数据、起始位0、结束位1和奇偶校验位fosc/64或fosc/32方式311位UART数据、起始、校验、结束位可变(取决于定时器1溢出率)波特率的设定可参见表7-2,实际无需计算。方式0在方式0下,串行口作同步移位寄存器用,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。这种方式常用于扩展I/O口。方式0用于扩展I/O口输出方式0用于扩展I/O输出口原理

串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器SBUF时,立即启动发送,将8位数据以Fosc/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送标志TI由硬件置位。例:单片机串行口方式设为移位寄存器方式,外接6片74LS164作为6位LED显示器的静态显示接口。方式0用于扩展I/O口输入方式0用于扩展I/O输入口原理方式0用于扩展I/O输入口原理输入:RXD为串行输入端,TXD仍为同步脉冲移位输出端。当(RI)=0且(REN)=1时开始接受。当接受到第8位数据时,将数据亦如接收寄存器,并由硬件置位RI。例:利用串行口扩展了1片74LS165,从而实现了8个按键的输入,在单片机的P1口连接了8个LED发光二极管,程序中实现了用按键控制发光二极管的亮与灭。流程为8路开关-74165-3PIN数据线-8路指示灯。由此可以看出通过165传输,只用了3条数据线,就实现了8个开关控制8个灯的目的。从而节约了控制的连线。方式110位的帧格式串行口为波特率可调的10位通用异步接口UART。每发送或接收的一帧信息中,包括1位起始位0,8位数据位和1位停止位1。方式2串行口为11位UART,传送波特率与SMOD有关。发送或接收的一帧数据中包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验)和1位停止位1。11位的帧格式方式3方式3为波特率可变的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。MCS-51串行口的波特率1.方式0和方式2的波特率是固定的在方式2中,波特率取决于PCON中的SMOD值:当SMOD=0时,波特率为fosc/64;当SMOD=1时,波特率为fosc/32.即波特率=。oscSMODf642在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变2.方式1和方式3的波特率可变,由定时器1的溢出率决定波特率/(b/s)fosc/MHzSMOD定时器1C/模式初始值方式0:1M方式2:375k方式1.3:62.5k19.2k9.6k4.8k2.4k1.2k137.511011012121211.05911.05911.05911.05911.05911.986612×1110000000××000000000××222222221××FFHFDHFDHFAHF4HE8H1DH72HFEEBHT波特率=单片机之间的通信双机异步通信接口电路双机通信操作步骤1、根据要求确定串口工作方式2、设定定时器的工作模式并计算初值3、启动定时器4、开启中断5、发送或接收开始方式0:波特率是固定的,为fosc/12方式2:SMOD=1时为fosc/32,SMOD=0时为fosc/64方式1和方式3:波特率=2SMODT1溢出率/32T1溢出率=fosc/[3212(28-N)],N为定时器T1的计数初值例:要求串行口以方式1工作,通信波特率为2400b/s,设振荡频率fosc为6MHz,请初始化T1和串口。解:若选SMOD=1,则T1时间常数

N=256-216106/(3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论