7章-51单片机串行口

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1《微型计算机原理及接口技术》授课专业:自动化授课学时:60学时2第七章MCS-51串行口7.1串行口结构17.2串行口工作方式23§7.1串行口结构2学习内容串行口结构1串行通信基本概念4通信的两种基本方式串行通信的分类波特率的概念串行通信的制式一、基本概念5通信:是计算机与外界的信息交换。两种基本方式并行通信:所传送数据的各位同时发送或接收,信息传输线的位数与数据的位数相等。串行通信:所传送数据的各位按顺序一位一位地发送或接收,先传送低位后送高位。1、通信的两种基本方式6速度快,适合近距离传输;但占用数据线多,线路复杂,成本高。线路简单,成本低,适合远距离通信;但传输速度慢。7按照串行数据的时钟控制方式,串行通信可分为:异步通信同步通信①异步通信:接收器和发射器有各自的时钟,它们的工作非同步;异步通信用一帧来表示一个字符。2、串行通信的分类8…P1D0D1D2D3D4D5D6D7P10第n个字符(一帧)n-1n+10D0…起始位数据位(5~8位)校验位停止位一帧信息包括起始位、数据位、奇偶校验位和停止位四部分。9②同步通信:接收器和发射器由同一时钟源控制;同步传输方式去掉了异步传输的起始位和停止位,只在传输数据块时先送出一个同步标志即可。比较:同步传输方式比异步传输方式速度快;同步传输方式必须用一个时钟来协调收发器的工作,所以它的硬件设备复杂。10波特率:每秒钟所传送的二进制数码的位数。单位:位/秒(bps)波特率反映了串行通信的速率。在异步串行通信中,波特率为每秒传送的字符数和每个字符的位数的乘积。3、波特率的概念11[例7-1]:数据传送的速率为120字符/秒,而每个字符又包含10位二进制数,计算波特率大小和每位传送时间。解:波特率=120字符/秒×10位/字符=1200位/秒=1200bps。每一位的传送时间为波特率的倒数:T=1/1200=0.833ms。3、波特率的概念12在串行通信中,根据数据在两个站点之间的传送方向可以分三种制式:单工半双工全双工4、串行通信的制式13①单工制式②半双工制式数据可以双向传送,但不能同时发送和接收,要通过换向器转换方向。14③全双工制式通信双方用两个独立的收发器单独连接,可以同时发送和接收数据,因而提高了速度。15二、串行口结构1、MSC-51串行口特点:功能很强的全双工串行口,可同时接收和发送数据;接收、发送数据均可工作在查询方式或中断方式;能方便地与其他计算机或外设实现双机、多机通信。16172、串行口数据缓冲器SBUFSBUF是两个物理上独立的接收、发送寄存器。接收SBUF用于存放接收到的数据,只能读出、不能写入。发送SBUF用于存放欲发送的数据,只能写入,不能读出。18注意:串行口可同时发送和接收数据,两个缓冲器公用一个地址99H,通过对SBUF的读/写指令来区别:CPU读SBUF时:MOVA,SBUF;就是读取接收SBUF的内容;CPU写SBUF时:MOVSBUF,A;就是修改发送SBUF的内容,同时启动数据串行发送。193、串行口的控制寄存器MCS-51串行口是一个可编程接口,涉及两个特殊功能寄存器:串行口控制寄存器SCON电源控制寄存器PCON20①SCON(98H,可位寻址)功能:串行通信的方式选择,接受和发送控制及串行口的中断标志;格式:SM0SM1SM2RENTB8RB8TIRI方式选择多机控制串行接收允许/禁止欲发的第九位收到的第九位发送中断标志位接收中断标志位21SM0SM1工作方式功能说明波特率00方式0同步移位寄存器fosc/1201方式18位UART可变10方式29位UARTfosc/64或fosc/3211方式39位UART可变SM0、SM1:串行口工作方式控制位。SM2:多机通信控制位。用于方式2或方式3中。22•当串行口以方式2或方式3接收时,如果SM2=1,只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并置“1”RI,产生中断请求;当接收到的第9位数据(RB8)为“0”时,则将接收到的前8位数据丢弃。如果SM2=0,则不论第9位数据是“1”还是“0”,都将前8位数据送入SBUF中,并置“1”RI,产生中断请求。•方式1时,如果SM2=1,则只有收到停止位时才会激活RI。•方式0时,SM2必须为0。23REN:串行接收允许位。0---禁止接收,1---允许接收TB8:发送数据D8位,一般作为奇偶校验位。在方式2、3中,可以在多机通信中作为区分地址帧或数据帧的标志位,1为地址,0为数据。RB8:接收数据D8位,一般作为奇偶校验位。在方式2、3中,多机通信中还可根据RB8位的状态对接收数据进行某种控制。24TI:发送中断标志位。发送前必须用软件清零,发送过程中TI保持零电平;发送完一帧数据后,由硬件自动置“1”。RI:接收中断标志位。接收前必须用软件清零,接收过程中RI保持零电平;接收完一帧数据后由片内硬件自动置“1”。25RXD8051主机TXDTXDTXDRXDRXDRXD8051805180510#从机1#从机2#从机TXDSM2:多机通信控制位,仅用于方式2和方式3,此时,主机设置SM2=1,以发送第九位TB8为1作为地址帧寻找从机,以TB8为0作为数据帧进行通信。从机初始化时设置SM2=1,若接收到的第九位数据RB8=0,不置位RI,即不引起接收中断,亦既不接收数据帧,继续监听,如接收到的RB8=1,置位RI,引起接收中断,中断程序中判断所接收的地址帧和本机的地址是否匹配。若不匹配,维持SM2=1,继续监听,若符合,则清SM2=0,以便接收TB8=0的数据帧。26主/从多机通信的过程如下:1、使所有的从机的SM2=1,以便接收主机发来的地址。2、主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1。3、所有从机接收到地址帧后,各自将接收到的地址与本机地址相比较,对于地址相同的从机,使SM2位清0以接收主机随后发来的数据信息,对于地址不符合的从机,仍保持SM2=1的状态,对主机随后发来的数据不予理睬,直至发送新的地址帧。4、主机给已被寻址的从机发送控制指令和数据(数据帧的第9位为0)。5、确认数据传送结束后,从机把SM2重新置1,恢复初始状态。27SMODXXXXXXX②PCON(97H,不可位寻址)SMOD:波特率加倍位。在计算串行方式1、2、3的波特率时,SMOD=0——波特率不增倍;SMOD=1——波特率增大一倍。28§7.2串行口工作方式2学习内容波特率计算1工作方式29MCS-51单片机的串行通信有四种工作方式:1、工作方式0:移位寄存器方式SM0、SM1=00,同步通信;数据格式为8位,低位在前,高位在后;RXD为串行数据的发送端或接收端;TXD输出同步脉冲;每一个机器周期从RXD上发送或接收一位数据,波特率固定。一、串行口工作方式30应用:移位寄位器方式多用于接口的扩展。ABCP74LS164Q0Q7RXDTXD8051RXDTXD8051Q7CP74LS165D0D7输出方式输入方式通过外接串入并出移位寄存器扩展输出接口。通过外接并入串出移位寄存器扩展输入接口。312、工作方式1:8位异步通信接口方式SM0、SM1=01;RXD为接收端,TXD为发送端;每帧数据由10位构成:1个起始位“0”,8个数据位和1个停止位“1”;其中起始位和停止位在发送时是自动插入的;波特率可变,由T1的溢出率和SMOD决定。323、工作方式2/3:9位异步通信接口方式SM0、SM1=10/11;RXD为接收端,TXD为发送端;每帧数据由11位构成:1个起始位“0”,9个数据位和1个停止位“1”;其中起始位和停止位在发送时是自动插入的;方式2的波特率固定,方式3的波特率可变。33波特率发生器可以有两种选择:定时器T1作波特率发生器,改变计数初值就可以改变串行通信的速率,称为可变波特率;以内部时钟的分频器作波特率发生器,因内部时钟频率一定,称为固定波特率。二、波特率计算341、方式0和方式2:波特率固定方式0中,波特率为:fosc/12;方式2中,波特率为:注意:当SMOD=0时,波特率是fosc/64;当SMOD=1时,波特率是fosc/32。oscSMODf642二、波特率计算352、方式1和方式3:波特率可变注意:T1的溢出率为每秒溢出的次数,取决于T1的计数速率和设置的初值。实际应用中,T1作为波特率发生器时,常用方式2,即自动重载的8位定时器。TL1做计数用,TH1做初值寄存器。)256(123221322xfToscSMODSMOD溢出率=波特率=36设初值为x则每过(28-x)个机器周期,定时器溢出一次。溢出周期为:(28-x)Tcy=(256-x)×12/fosc溢出率是溢出周期的倒数:T1溢出率=fosc/(12×(256-x))根据给定的波特率,可以计算T1的计数初值x。波特率=12322256oscSMODfx37波特率(方式1、3)fosc=6Mfosc=12Mfosc=11.059MSMODT1方式初值SMODT1方式初值SMODT1方式初值62.5k12FFH19.2k12FDH9.6k02FDH4.8k12F3H02FAH2.4k12F3H12F3H02F4H1.2k12E6H02E6H02E8H60012CCH02CCH02D0H30002CCH0298H02A0H137.5121DH021DH022EH1100272H01FEEBH01FEFFH常用波特率一览表38[例7-2]:设51单片机串行口工作于方式1,晶振频率为12MHz,定时器T1工作于模式2作为波特率发生器,要求波特率为1200bit/s,SMOD=0,试计算T1的初值和波特率误差。答案:T1初值:x=256-2SMOD×fosc/(32×12×波特率)=256-26.04=230=E6H实际波特率=2SMOD×fosc/(32×12×(256-230))=1201.9b/s=1202bps误差:2bps39一、填空题1、波特率是指:。2、串行通信要求互相通信的两机必须保持波特率。3、串行通信按照数据传送方向可分为:、、3种制式。4、多机通信时,主机向从机发送的信息分为地址信息和数据信息,靠第9位可编程TB8标志来区分,当设置TB8=1时,表示将要发出的信息是;当设置TB8=0时,表示将要发出的信息是。5、多机通信开始时,一般都先由主机发送地址,各从机将收到的地址与本机地址比较,如果相同,则设置准备接收数据。习题406、从机为了只接收主机发送的地址帧,而对数据帧不予理睬,则应置。二、选择:1、串行通信特点为(),并行通信特点为()A、传送距离长,传送速度相对快;B、传送距离短,传送速度相对快;C、传送距离长,传送速度相对慢;D、传送距离短,传送速度相对慢;412、串口工作模式中模式0具有()()()属性;模式1具有()()()属性;模式2具有()()()属性;模式3具有()()()属性。A、异步通信方式;B、同步通信方式;C、帧格式10位;D、帧格式11位;E、帧格式8位;F、帧格式9位G、波特率固定为fosc/12;H、波特率为fosc/n(n=64或32)I、波特率为T1溢出率/n(n=32或16)三、简答:1、串行通信按照数据传送方向有哪几种方式?2、解释波特率的含义,串行通信对波特率有什么基本要求?3、什么叫多机通信?与双机通信有什么区别?424、简述多机通信原理及通信过程?四、判断对错1、串行通信数据中,一个字节的比特位发出的顺序是:高位在前,低位在后。()2、51系列单片机异步串行通信数据的起始位可以是高电平。()3、51系列单片机异步串行通信的发送方连续发送数据时可以不查询TI位状态。()4、51系列单片机异步串行通信的接收方连续接收数据时可以不查询RI位状态。()43五、计算1、设8031单片机串行口工作于方式1

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功