单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程

上传人:yuzo****123 文档编号:141161351 上传时间:2020-08-04 格式:PPT 页数:90 大小:1.32MB
返回 下载 相关 举报
单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程_第1页
第1页 / 共90页
单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程_第2页
第2页 / 共90页
单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程_第3页
第3页 / 共90页
单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程_第4页
第4页 / 共90页
单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程》由会员分享,可在线阅读,更多相关《单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06教材课程(90页珍藏版)》请在金锄头文库上搜索。

1、普通高等教育“十一五”国家级规划教材 单片微型计算机原理与接口技术 (第二版) 高锋 编著 科学出版社 北京,第七章80C51单片微机的串行口原理及应用,通信:计算机与外界的数据传送。 单台仪器仪表或控制器往往会带有不止一个的单片微机, 多个智能仪器仪表或控制器在单片微机应用系统中又常常会构成一个分布式采集、控制系统,上层由PC进行集中管理等。, 串行传送方式 在数据传输时,一个数据编码字符的所有各位按一定顺序,一位接着一位在信道中被发送和接收。 串行传送方式的物理信道为串行总线。 计算机与外界的数据传送大多是串行的,其传送距离可以从几米直到几千公里。, 单工方式、半双工方式、全双工方式 单工

2、方式 信号(不包括联络信号) 在信道中只能沿一个方向传送。 半双工方式 通信的双方均具有发送和接收信息的能力,信道也具有双向传输性能,通信的任何一方在指定的时刻,只能沿某一个方向传送信息。 全双工方式 若信号在通信双方之间沿两个方向同时传送,任何一方在同一时刻既能发送又能接收信息。, 异步传输和同步传输 在数据通信中,要保证发送的信号在接收端能被正确地接收,必须采用同步技术。 常用的同步技术有两种方式,一种称为异步传输也称起止同步方式,另一种称为同步传输也称同步字符同步方式。, 异步传输 以字符为单位进行数据传输,每个字符都用起始位、停止位包装起来,在字符间允许有长短不一的间隙。 同步传输 对

3、数据块进行传输,一个数据块中包含着许多连续的字符,在字符之间没有空闲。同步传输可以方便地实现某一通信协议要求的帧格式。, 波特率(BAUD RATE) 串行通信的传送速率用于说明数据传送的快慢,“波特率”表示每秒种传输离散信号事件的个数,或每秒信号电平的变化次数,单位为band(波特)。“比特率”是指每秒传送二进制数据的位数,单位为比特/秒,记作bits/s或b/s或bps。 在二进制的情况下,波特率与比特率数值相等。,串行通信常用的标准波特率在RS-232C标准中已有规定,如波特率为600、1200、2400、4800、9600、19200等等。 假若数据传送速率为120字符/s,而每一个字

4、符帧已规定为10个数据位,则传输速率为120101200bit/s,即波特率为1200,每一位数据传送的时间为波特率的倒数: T112000.833ms,7.2 80C51串行口及控制7.2.1 80C51串行口结构,串行数据通信主要有两个技术问题,一个是数据传送,另一个是数据转换。 数据传送主要解决传送中的标准、数据帧格式及工作方式等。 数据转换要解决把数据进行串、并行的转换,这种转换通常由通用异步接收发送器(UART) 电路来完成。数据发送端,要把并行数据转换为串行数据,而在数据接收端,要把串行数据转换为并行数据。 80C51中已集成有UART。 8XC552中就增加了具有I2C总线功能的

5、串行口。,80C51中的串行口是一个全双工的异步串行通信接口,它可作UART(通用异步接收和发送器)用,也可作同步移位寄存器用。 口内的接收缓冲器和发送缓冲器在物理上是隔离的。 可以通过访问特殊功能寄存器SBUF,来访问接收缓冲器和发送缓冲器。接收缓冲器具有双缓冲的功能,即它在接收第一个数据字节后,能接收笫二个数据字节。但是在接收完第二个字节后,若笫一个数据字节还未取走,那么该数据字节将丢失。 80C51串行口基本结构如图71所示。, 波特率发生器 由T1、T2 及内部的一些控制开关和分频器所组成。它提供串行口的时钟信号为 TXCLOCK和 RXCLOCK。 控制波特率发生器的特殊功能寄存器:

6、 TMOD、TCON、T2CON、PCON、TL1、TH1、TL2、TH2等。, 串行口内部 串行数据缓冲寄存器SBUF 有接收缓冲器SBUF和发送缓冲器SBUF,占用同一个地址(99H) 。 串行口控制寄存器SCON, 串行数据输入输出引脚 接收方式下,串行数据从RXD引脚输入,串行口内部在接收缓冲器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,可以避免在数据接收过程中出现帧重叠错误。 在发送方式下,串行数据通过TXD引脚输出。, 串行口控制逻辑 接受来自波特率发生器的时钟信号TXCLOCK和RXCLOCK; 控制内部的输入移位寄存器将外部的串行数据转换为并行数据; 控制内部的输出移位

7、寄存器将内部的并行数据转换为串行数据输出; 控制串行中断(RI和TI)。,7.2.2 80C51串行口控制, 串行口状态控制寄存器 SCON 控制串行通信的方式选择、接收,指示串行口的中断状态。, SM0、SM1 串行口工作方式选择位。其功能见表71。 SM2 允许方式2、3中的多处理机通信位。 方式0时,SM20。 方式1时,若SM2l,只有接收到有效的停止位,接收中断RI才置1。 方式2和方式3时, SM21,则只有当接收到的第9位数据RB8为1时,才将接收到的前8位数据送入缓冲器SBUF中,并把RI置1、同时向CPU申请中断;如果接收到的第9位数据RB8为0,RI置0,将接收到的前8位数

8、据丢弃。 SM20时,则不论接收到的笫9位数据是0或1,都将前8位数据装入SBUF中,并申请中断。,REN 允许串行接收位。 REN1时,允许串行接收;REN0时,禁止串行接收。 TB8 方式2和方式3中要发送的第9位数据。 在通信协议中,常规定TB8作为奇偶校验位。在80C51多机通信中,TB8=0用来表示数据帧;TB8=1表示是地址帧。 RB8 方式2和方式3中接收到的第9位数据。 方式1中接收到的是停止位。方式0中不使用这一位。,TI 发送中断标志位。 方式 0中,在发送第 8位末尾置位;在其它方式时,在发送停止位开始时设置。 由硬件置位,用软件清除。 RI 接收中断标志位。 方式 0中

9、,在接收第 8位末尾置位;在其它方式时,在接收停止位中间设置。 由硬件置位,用软件清除。, 电源控制及波特率选择寄存器 PCON 最高位SMOD与串行口控制有关,其它位与低功耗工作方式有关。,SMOD 串行通信波特率系数控制位。 当SMOD1时,使波特率加倍。 复位后,SMOD0。, 串行数据寄存器SBUF 包含在物理上是隔离的两个8位寄存器:发送数据寄存器和接收数据寄存器,它们共用一个地址99H。,读SBUF(MOVA,SBUF),则访问接收数据寄存器; 写SBUF(MOV SBUF,A),则访问发送数据寄存器。,7.3 串行口的工作方式,在串行口控制寄存器SCON中,SM0和SM1位决定串

10、行口的工作方式。80C51串行口共有4种工作方式。,7.3.1 串行口方式0 同步移位寄存器方式,SM00、SM10。同步移位寄器方式。 数据传输波特率固定为(112)fosc。 由RXD引脚输入或输出数据, 由TXD引脚输出同步移位时钟。 接收发送的是8位数据,传输时低位在前。帧格式如图72所示。,方式0时工作原理图的如图73所示。,发送 当执行任何一条写SBUF的指令(MOV SBUF,A)时,就启动串行数据的发送。 在执行写入SBUF的指令时,选通内部D触发器置1 ,构成发送移位寄存器的第9位,并使发送控制器开始发送。当发送脉冲有效之后,移位寄存器的内容由RXD引脚串行移位输出;移位脉冲

11、由TXD引脚输出。 在发送有效的期间,每个机器周期,发送移位寄存器右移一位,在其左边补0。当数据最高位移到移位寄存器的输出位时,原写入第9位的 l正好移到最高位的左边一位,由此向左的所有位均为 0,零检测器通知发送控制器要进行最后一次移位,并撤销发送有效,同时使发送中断标志TI置位,若CPU响应中断,则执行从0023H开始的串行口发送中断服务程序。,接收 当REN1 且RI位清除时,就会启动一次接收过程。 在下一机器周期的S6P2时刻,接收控制器将1111 1110写入接收移位寄存器,并在下一时钟周期S1P1使接收控制器的接收有效,打开“与非门” ,同时由TXD引脚输出移位脉冲。在移位脉冲控制

12、下,接收移位寄存器的内容每一个机器周期左移一位,同时由RXD引脚接收一位输入信号。 每当接收移位寄存器左移一位,原写入的1111 1110也左移一位。当最右边的0移到最左边时,标志着接收控制器要进行最后一次移位。在最后一次移位即将结束时,接收移位寄存器的内容送入接收数据缓冲寄存器SBUF,然后在启动接收的第10个机器周期的S1P1时,清除接收信号,置位SCON中的RI,发出中断申请。完成一帧数据的接收过程。若CPU响应中断,则执行从0023H开始的串行口接收中断服务程序,7.3.2 串行口方式18位UART,SM00、SM1l。 数据传输波特率由T1和T2的溢出决定,可用程序设定。当T2CON

13、寄存器中的RCLK和TCLK置位时,采用T2作为串行口接收和发送的波特率发生器。而当RCLK和TCLK都为零时,采用T1作为串行口接收和发送的波特率发生器。 由 TXD引脚发送数据。 由 RXD引脚接收数据。,发送或接收一帧信息为10位:1位起始位(0)、8位数据位(低位在前)和l位停止位(1)。 帧格式如图74所示。,发送:方式1时,发送的工作原理图如图75所示。 当执行任何一条写 SBUF的指令时,就启动串行数据的发送。在执行写入SBUF的指令时,也将1写入发送移位寄存器的第9位(由SBUF和1个独立的D触发器构成),并通知发送控制器有发送请求。,开始发送后的一个位周期,发送信号有效,开始

14、将起始位送TXD引脚。一位时间后,数据信号有效。发送移位寄存器将数据由低位到高位顺序输出至TXD引脚。一位时间后,第一个移位脉冲出现将最低数据位从右边移出,同时0从左边挤入。当最高数据位移至发送移位寄存器的出端时,先前装入的第9位的l,正好在最高数据位的左边,而它的右边全部为0。这种状态被零检测器检测到,在第10个位周期(16分频计数器回0时),发送控制器进行最后一次移位,清除发送信号,同时使SCON寄存器中TI置位,完成了一帧数据发送的全过程。 若CPU响应中断,则执行从0023H开始的串行口发送中断服务程序。,接收 方式1时,接收的工作原理图如图76所示。 当REN1且清除RI后,若在RX

15、D引脚上检测到一个1到0的跳变,立即启动一次接收。同时,复位16分频计数器,使输入位的边沿与时钟对齐,并将1FFH(即9个l)写入接收移位寄存器。接收控制器以波特率的16倍的速率继续对RXD引脚进行检测, 计数器的16个状态把每一位的时间分为16份,对每一位时间的第7、8、9个计数状态,位检测器对RXD端的值采样,这3个状态理论上对应于每一位的中央值。若发送端与接收端的波特率有差异,就会发生偏移,只要这种差异在允许范围内,就不至于发生错位或漏码。在上述3个状态下,取得3个采样值,其中至少有两个值是一致的,即采用3取2的多数表决法,可抑制噪声。,如果在第1个时钟周期中接收到的不是0,说明它不是一

16、帧数据的起始位,则复位接收电路,继续检测RXD引脚上l到0的跳变。如果接收到的是起始位,就将其移入接收移位寄存器,然后接收该帧的其它位。接收到的位从右边移入,原来写入的1,从左边移出,当起始位移到最左边时,接收控制器将控制进行最后一次移位,把接收到的9位数据送入接收数据缓冲器SBUF和RB8,而且置位RI。 在进行最后一次移位时,能将数据送入接收数据缓冲器SBUF和RB8,而且置位RI的条件是: RI0 即上一帧数据接收完成时发出的中断请求已被响应,SBUF中数据已被取走。 SM20或接收到的停止位1。 若以上两个条件中有一个不满足,将不可恢复地丢失接收到的这一帧信息。,7.3.3 串行口方式2和3 9位UART,SM01、SM10,选择方式2; SM11、SM01,选择方式3。 由TXD引脚发送数据。 由RXD引脚接收数据。 发送或接收一帧信息为11位:1位起始位(0)、8位数据位(低位在前) 、1位可编程位和1位停止位(l)。发送时可编程位TB8可设置为1或0,接收时可编程位进入SCON寄存器的RB8位。 方式2的波特率是固定的,为振荡器频率的1/3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号