第7单 串行通信1.doc_第1页
第7单 串行通信1.doc_第2页
第7单 串行通信1.doc_第3页
第7单 串行通信1.doc_第4页
第7单 串行通信1.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

第七章 串行通信接口串行通信是一种能把二进制数据按位传送的一种通信方式。7.3.1 通讯的基本概念一、并行通信和串行通信计算机与外界的通信有两种基本方式:并行通信和串行通信。并行数据传送串行数据传送原理各位数据同时传送数据位按位顺序传送优点传送速度快、效率高最少需要一对传输线即可完成:成本低缺点数据位数传输线根数:成本高速度慢,成本低应用传送距离30米,用于近距离或内部几米几千公里,用于计算机与外设之间【键盘和计算机的连接属于串行传输,键盘有一个单片机】根据信息传送的方向,串行通信可以分为单工、半双工和全双工3种:二、同步通信和异步通信串行通信按信息的格式又可分为异步通信和同步通信两种方式。1、串行异步通信方式 在异步通信中,每一个字符要用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。串行异步通信方式的特点是:数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。传送一个字符又称为一帧信息,传送一帧信息时,每一个字符前加一个低电平的起始位,然后是数据位,数据位可以是58位,低位在前,高位在后,数据位后可以带(也可以不带)一个奇偶校验位,最后是停止位,停止位用高电平表示,它可以是1位、1位半或2位(通常采用1位)。格式如下图:(图中的数据位为7位)【字符帧:字符帧也称为数据帧,由起始位、数据位、奇偶校验位和停止位四部分组成。奇偶校验位:位于数据位后,仅占一位,用于表征串行通信中采用奇校验还是偶校验,由用户根据需要决定。】在异步通信方式中,发送端逐帧发送信息,接收端逐帧接收信息。两相邻字符帧之间可以无空闲位,也可以有若干空闲位。空闲位用高电平表示,用于等待传送。这样,接收和发送可以随时地或间断地进行,而不受时间的限制。由于一次只传送一个字符,因而一次传送的位数比较少,对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。 【那么,究竟发送端和接收端依靠什么来协调数据的发送和接收呢?也就是说:接收端怎么会知道发送端何时开始发送和何时结束发送?这是由字符帧格式规定的。平时,发送线路上为高电平,每当接收端检测到传输线上发送过来的低电平(字符帧中的起始位)时,就知道发送端已开始发送,每当接收端接收到字符帧中的停止位时,就知道一帧字符信息已发送完毕。】三、波特率波特率是指串行通信中,每秒钟传送的二进制数码的位数,单位为bps。发送方和接收方必须都要以相同的数据传送速率工作。在异步通信中,传输速度往往又可用每秒传送多少个字节来表示(Bps)。它与波特率的关系为:波特率(bps)=1个字符的二进制位数(含四部分)字符/秒(Bps)例如:每秒传送200个字符(120Bps),每个字符1位起始位、8个数据位、1个校验位和1个停止位。则波特率为112002200bps。而有效数据位的传送率只有:82001600bps。通常,异步通信的波特率在509600bps之间。7.3.2 MCS-51单片机串行口功能与结构一功能MCS-51单片机具有一个全双工的串行异步通信接口,全双工就是两个单片机之间串行数据可同时双向传输。发送和接收数据可通过查询或中断方式进行处理。单片机的串行通信有四种工作方式,分别是方式0、方式1、方式2和方式3。其中:方式0:称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展I/O接口。方式1:8位异步通信方式,通常用于双机通信。方式2和方式3:9位异步通信方式,通常用于多机通信。二串行口控制寄存器SCON(98H)MCS-51对串行口的控制是通过SCON实现的,也与电源控制寄存器PCON有关。串行口控制寄存器SCON用于确定串行口的操作方式和控制串行口的某些功能。也可用于发送和接收第九位数据(TB8、RB8),并设有接收和发送中断标志(RI、TI)位。各位的意义如下:D7D6D5D4D3D2D1D0SCONSM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H其中:SM0、SM1:串行口工作方式选择位。用于选择四种工作方式:SM0SM1方式功 能波特率00方式0移位寄存器方式fosc/1201方式18位异步通信方式可变10方式29位异步通信方式fosc/32或fosc/6411方式39位异步通信方式可变D7D6D5D4D3D2D1D0PCONSMODSM2:多机通信控制位。在方式2和方式3时,进行主从式通信操作的控制位。如此时置SM2为1,REN1,则从机就处于只有在接收地址帧(串行帧的第9数据位为1)信息后,再使SM20,才能激发中断标志RI1,从而可向CPU申请中断。而未被寻址的从机对数据帧(第9数据位为0)的信息,将不予理采,即不能激发中断标志(RI0)。在方式1时,如果SM21,则只有在接收到有效停止位时,才能激发中断标志(RI1),如果没有接收到有效停止位,则RI仍然为0。在方式0时,SM2应为0。REN:允许串行口接收控制位,由软件置位或清除。当REN=1,则允许接收,可启动串行口的接收器RXD,开始接收数据;当REN=0,则禁止接收数据。TB8:发送数据第9位,用于在方式2和方式3时存放发送数据第9位。按需要由软件进行置位或清零。RB8:接收数据第9位,用于在方式2和方式3时存放接收数据第9位。在方式1时,如果SM20,则RB8用于存放接收到的停止位。在方式0时,不使用RB8。TI:发送中断标志位,用于表示一帧数据发送是否完成。在方式0时,当串行发送完第八位数据时,由内部硬件置位(TI1),向CPU申请发送中断。CPU响应中断后,必须用软件清零,取消此中断标志。在其它方式下,TI在停止位开始发送时,由硬件置位。同样,必须用软件使其复位。TI在发送前必须由软件复位,发送完一帧后由硬件置位。因此,CPU查询TI状态就可知道一帧信息是否已发送完毕。RI:接收中断标志位,用于表示一帧数据是否接收完。方式0时,当接收到串行数据的第八位结束时,由内部硬件置位(RI1)。在其它方式下,它在接收到停止位的中间时刻,由硬件置位(例外情况见SM2说明)。也必须用软件使其复位。RI也可供CPU查询,以决定CPU是否需要从“SBUF(接收)”中提取接收到的数据。数据由8+1位组成,通常附加的一位(TB8/RB8)用于“奇偶校验”。奇偶校验是检验串行通信双方传输的数据正确与否的一个措施,但不能保证通信数据的传输一定正确。 或者说:如果奇偶校验发生错误,表明数据传输一定出错了;如果奇偶校验没有出错,绝不等于数据传输完全正确。奇校验:8位有效数据连同1位附加位中,二进制“1”的个数为奇数。 偶校验:8位有效数据连同1位附加位中,二进制“1”的个数为偶数。约定发送采用奇校验: 若发送的8位有效数据中“1”的个数为偶数,则要人为添加一个附加位“1”一起发送; 若发送的8位有效数据中“1”的个数为奇数,则要人为添加一个附加位“0”一起发送。约定接收采用奇校验: 若接收到的9位数据中“1”的个数为奇数,则表明接收正确,取出8位有效数据即可; 若接收到的9位数据中“1”的个数为偶数,则表明接收出错,应当进行出错处理。采用偶校验时,处理方法与奇校验相反。 三结构MCS-51单片机串行口主要由发送数据寄存器、发送控制器、输出移位寄存器、接收数据寄存器、接收控制器、输入移位寄存器等组成。 有两个物理上独立的发送、接收数据缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。因而两个缓冲器可以共用一个特殊功能寄存器字节地址(99H)。串行口控制寄存器共有两个:控制寄存器SCON和电源控制寄存器PCON。四电源控制寄存器PCON(87H)D7D6D5D4D3D2D1D0PCONSMOD当SMOD位为1,则串行口方式1、方式2、方式3的波特率加倍。为0时,不加倍。【波特率波特率2SMOD】7.3.3 串行口的工作方式一方式0:移位寄存器方式方式0为移位寄存器输入/输出方式,用于扩展并行I/O接口。该方式并不用于两个单片机之间的异步串行通信,而是用于串行口外接移位寄存器,扩展并行I/O口。在方式0时,串口的SBUF是作为同步移位寄存器使用的。在发送时,SBUF相当于一个并入串出的移位寄存器。在接收时,SBUF相当于一个串入并出的移位寄存器。在方式0时,8位数据为一帧,无起始位和停止位,先发送或接收最低位。波特率固定为fosc/12。1. 一帧8位,无起始位和停止位。2. RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个发送或接收数据位。3. 波特率B=fosc/12如:fosc=12MHz,B=1bps,每位数据占1s。4. 发送过程:当数据写入发送缓冲器SBUF时,串行口将8位数据以fosc/12的波特率由RXD引脚输出,同时由TXD引脚输出同步脉冲。字符发送完毕,置TI=1。接收过程:除控制字置方式0外,还应置REN=1,且清RI=0,接收器启动后,RXD为数据输入端,TXD为同步脉冲输出端。接收器以fosc/12的波特率采样RXD引脚输入的数据。当接收完8位数据时,置RI1。方式0时序图:方式0工作时,SM2、TB8和RB8都不起作用,它们通常均应设置为“0”。由于波特率固定,无须用定时器提供。在采用中断方式传送数据时,在中断服务程序中,必须用软件来清除TI和RI标志。(2)方式0发送应用举例图7-6所示为方式0发送的一个具体应用,通过串行口外接8位串行输入并行输出移位寄存器74LS164,扩展两个8位并行输出口的具体电路。方式0发送时,串行数据由P3.0(RXD端)送出,移位脉冲由P3.1(TXD端)送出。在移位脉冲的作用下,串行口发送缓冲器的数据逐位地从P3.0串行移入74LS164中。图7-6外接串入并出移位寄存器74LS164扩展的并行输出口74LS164是一个高速的8位串行输入/并行输出的移位寄存器。当脉冲输入端(CP)有一个从低到高的跳变(正跳变)时,串行的数据就会通过2输入的与门输入到74LS164。当复位端(9引脚,CLR)接收到一个有效的低电平信号,74LS164的所有输出端都会复位为低电平。74LS164的引脚图如下图所示。其中A、B为串行数据输入端;CP为脉冲输入端,从低到高的正跳变有效; (图中的CLR引脚)为复位端,低电平有效;Q7Q0为并行数据输出端。74LS164工作过程如下:先把串行数据的最低位送到A、B端,然后使CP端有一个从低到高的正跳变,则A、B端数据位就送到了输出Q0端,再把串行数据的次低位送到A、B端,然后再使CP端有一个从低到高的正跳变,则A、B端数据位就送到了输出Q0端,原来Q0端的数据就移位到了Q1端,依次类推,进行八次上述操作就把一个字节的数据以串行方式

温馨提示

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

评论

0/150

提交评论