




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章串行通信6.1串行通信
6.280C51串行口
6.3多机通信
6.4习题实训六串行通信应用
6.1串行通信
通信是指数据的传输与交换。数据通信可以通过两种方式进行:并行通信和串行通信。串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。并行通信需要多条数据线,将数据的各个数位同时传送。并行通信速度快,但用的通信线多、成本高。串行通信需要的数据线少,适合于长距离传输,但传输速度慢。并行通信传送速度快,但需要多条数据线,有时还需要控制线。图6-1为两种通信方式连接示意图。图6-1并行通信和串行通信方式连接示意图6.1.1异步通信和同步通信
1.异步通信方式
异步通信方式是一种常用的通信方式,以帧为发送单位。帧由四个部分组成:起始位、数据位、奇偶校验位、停止位。起始位占1位,数据位占5~8位,奇偶校验位占1位(也可以没有奇偶校验位),停止位占1或2位,如图6-2所示。图6-2异步通信原理示意图
2.同步通信方式
同步通信是一种比特同步的通信方式,要求发收双方具有同频同相的同步时钟信号,用同步起始位作为发送或接收数据的开始,如图6-3所示。图6-3同步通信原理示意图6.1.2串行通信的数据传送模式
串行通信按照数据传送方向可分为三种传送模式:
1.单工通信模式
单工通信模式是指通信双方只能进行单方向传输。单工通信的通信线是单向的,发送端只有发送器,只能发送数据;接收端只有接收器,只能接收数据,如图6-4(a)所示。图6-4串行通信制式
2.半全双工模式
半双工模式是指通信双方都能进行数据传输,双方都设有发送器和接收器,都能发送数据和接收数据,但不能同时进行,即发送时不能接收,接收时不能发送,如图6-4(b)所示。
3.全双工模式
全双工模式是指通信双方能同时进行数据传输,双方都设有发送器和接收器,能同时发送数据和接收数据,如图6-4(c)所示。6.1.3信号的调制与解调
计算机生成的信号都是数字信号。有的数据传输线路是模拟线路,只能传输模拟信号,例如电话网。因此计算机在通信时需要对二进制数据进行调制,在发送时将数字信号转换为模拟信号,接收时将模拟信号转换为数字信号。完成模拟信号与数字信号转换的设备称为调制解调器。
调制解调器(Modem)的工作原理:调制解调器分为调制器和解调器两部分,在发送数据时,调制器将发送端计算机内的数字信号转换为模拟信号,传输到模拟线路上。在接收数据时,解调器将接收到的模拟信号转换为数字信号,传送到接收端的计算机上,如图6-5所示。图6-5利用调制解调器通信的示意图6.1.4串行通信的校验
1.奇偶校验
奇校验是指数据中“1”的个数与校验位中“1”的个数之和为奇数;偶校验是指数据中“1”的个数与校验位中“1”的个数之和为偶数。接收方和发送方采用相同的校验方法,即或者都是奇校验,或者都是偶校验。在发送字符时,发送方计算出校验位,放在数据位的后面一起发送。在接收数据时,接收方采用同样的方法计算校验位,如果和接收到的校验位不同表明传输过程中出现了差错。
2.和校验
和校验是指发送方将所发数据块求和,产生一个字节的校验字符附加到数据块末尾。接收方接收数据时也对数据块求和,将所得的结果和发送方发过来的“校验字符”相比较,相符则认为无差错,否则认为传送过程中出现了差错。
3.循环冗余校验
循环冗余校验的基本原理是将一个数据块看成一个位数很长的二进制数,然后用一个特定的数去除它,将余数作为校验码附加数据块后一起发送。接收端收到该数据块和校验码后,进行同样的运算来校验传送是否出错。6.1.5波特率
波特率是指数据传输的速率,它表示每秒钟传送的二进制代码的位数,其单位是位/秒(b/s)。
例:设数据的传输率是240字符/s,求传输的波特率。
因为1个字符共10个二进制位,1个起始位,1个停止位,8个数据位,所以波特率为
10 b × 240/s = 2400 b/s
波特率的倒数就是传输一个二进制位所需的时间(td),称为位码传送时间,即波特率是衡量传输通道频宽的指标,它和传送数据的速率并不一致。传送数据的速率是指传送的有效数据的速率。如上例中传送的十个二进制位,其中只有8个二进制位是有效数据位,因此它的数据传送速率为
8 b × 240 b/s = 1920 b/s
异步通信的传输速率在50~19 200 b/s之间,常用于计算机到终端机和打印机之间的通信、电报以及无线电通信的数据传送等。
6.280C51串行口
80C51系统单片机有一个可编程的全双工的串行通信接口,它可用作通用异步通信的接收和发送器,也可用作同步移位寄存器,其帧格式可分为8位、10位或11位,并可以设置不同的波特率。
串行口简化结构示意图如图6-6所示。图6-6串行口简化结构6.2.1串行口特殊功能寄存器
1.串行数据缓冲器SBUF
80C51单片机串行口由发送缓冲寄存器SBUF、接收缓冲寄存器SBUF和移位寄存器三部分组成。因为既有发送寄存器又有接收寄存器,因此可以实现全双工方式通信。在发送数据时,CPU主动发送数据,不会发生帧重叠错误;而在接收数据时,由于在接收寄存器之前有移位寄存器,也不会出现帧重叠错误。
在完成串行初始化后,发送时,将发送数据输入SBUF,CPU自动启动和完成串行数据的发送;接收时,CPU自动把接收到的数据存入SBUF,用户就可以从SBUF中读出接收数据。
2.串行控制寄存器SCON
串行控制寄存器SCON的结构和各位名称、位地址如表6-1所示。表6-1SCON的结构和各位名称、位地址各位功能说明如下:
(1) SM0SM1:串行口工作方式选择位。其状态组合所对应的工作方式如表6-2所示。表6-2串行口工作方式
3.电源控制寄存器PCON
PCON主要是为CHMOS型单片机电源控制而设置的专用寄存器,其中最高位SMOD是串行口波特率的倍增位,当SMOD=1时串行口波特率加倍。系统复位时,SMOD=0。PCON寄存器不能进行位寻址,其各位名称如表6-3所示。表6-3PCON寄存器6.2.2串行口的控制寄存器
串行控制寄存器SCON是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志。字节地址98H,可位寻址,其格式为
SM0和SM1是串行口的工作方式选择位,可选择四种工作方式,如表6-4所示。表6-4串行口的四种工作方式6.2.3串行工作方式
80C51串行通信共有4种工作方式,由串行控制寄存器SCON中的SM0SM1决定,如表6-2所示。
1.串行工作方式0
在方式0下,串行口是作为同步移位寄存器使用。这时以RSK端作为数据移位的输入/输出端,而由TXD端输出移位脉冲。移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。其帧格式如表6-5所示。表6-5方式0帧格式使用方式0可将串行输入/输出数据转换成并行输入输出数据。
1)数据发送
串行口作为并行输出口使用时,要有“串入并出”的移位寄存器(例如CD4094或74HC164)配合,其典型连接电路如图6-7(a)和图6-8所示。
2)数据接收
如果把能实现“并入串出”功能的移位寄存器(例如CD4014或74HC164)与串行口配合使用,就可以把串行口变为并行输入口使用,如图6-7(b)和图6-8所示。图6-7方式0实现数据移位输入/输出图6-8例6-1电路图
3)波特率
方式0时,移位操作的波特率是固定的,为单片机晶振频率的1/12。以fosc表示晶振频率,则波特率 = fOSC/12,也就是一个机器周期进行一次移位。若fOSC = 6 MHz,则波特率为500 kbit/s,即2 ms移位一次;若fOSC=12 MHz,则波特率为1 M(bit/s),即1 ms移位一次。
4)应用举例
【例6-1】
电路如图6-8所示,试编制程序按下列顺序要求每隔0.5 s循环操作:①8个发光二极管全部点亮。②从左向右依次暗灭,每次减少一个,直至全灭。③从左向右依次点亮,每次亮一个。④从右向左依次点亮,每次亮一个。⑤从左向右依次点亮,每次增加一个,直至全部点亮。⑥返回②不断循环。图6-9例6-2电路图
2.串行工作方式1
串行工作方式1是一帧10位的异步串行通信方式,包括1个起始位、8个数据位和1个停止位,其帧格式如表6-6所示。
1)数据发送
方式1的数据发送是由一条写串行数据缓冲寄存器SBUF指令开始的。在串行口硬件自动加入起始位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由TXD端串行输出。一个字符帧发送完后,使TXD输出线维持在“1”(space)状态下,并将串行控制寄存器SCON中的TI置1,表示一帧数据发送完毕。表6-6方式1帧格式
2)数据接收
接收数据时,SCON中的REN位应处于允许接收状态(REN=1)。在此前提下,串行口采样RXD端,当采样从1向0的状态跳变时,就认定为已接收到起始位。随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中。直到停止位到之后把停止位送入RB8中,并置位中断标志位RI,表示可以从SBUF取走接到的一个字符。
3)波特率
方式1的波特率是可变的,其波特率由定时器/计数器T1的计数溢出率来决定,其公式为
3.串行工作方式2
串行工作方式2是一帧11位的串行通信方式,即1个起始位、8个数据位、1个可编程位TB8/RB8和1个停止位,其帧格式如表6-7所示。
1)数据发送
发送前应先输入TB8内容,可使用如下指令完成:
SETBTB8
CLRTB8
然后再向SBUF写入8位数据,并以此来启动串行发送。一帧数据发送完毕后,CPU自动将T1置1,其过程与方式1相同。表6-7方式1帧格式图6-10发送程序流程图
【例6-5】
编制一个串行方式2接收程序,接收上例发送的16个数据,存首址为40H的内RAM中,并核对奇偶校验位,接收核对正确后,发出回复信号FFH;发现错误,发出回复信号00H,并等待重新接收。
解:程序如下:
4.串行工作方式3
串行工作方式3同样是一帧11位的串行通信方式,其通信过程与方式2完全相同,所不同的仅在于波特率。方式2的波特率只有固定的两种,而方式3的波特率则与方式1相同,即通过设置TI的初值来设定波特率。
5.串行口四种工作方式比较
串行口四种工作方式的区别主要表现在帧格式及波特率两个方面,见表6-8。表6-8四种工作方式比较表6-9给出了串行方式1或方式3时常用波特率及其产生条件。表6-9常用波特率及其产生条件 6.3多机通信
6.3.1多机通信原理
1.多机通信连接电路
在串行工作方式2或方式3条件下,可实现一台主机和多台从机之间的通信,其连接电路如图6-11所示。图6-11多机通信连接电路
2.多机通信原理
多机通信时,主机向从机发送的信息分为地址帧和数据帧两类,以第9位可编程TB8作区分标志,TB8=0,表示数据;TB8=1,表示地址。多机通信充分利用了80C51串行控制寄存器SCON中的多机通信控制位SM2的特性。当SM2=1时,CPU接收的前8位数据是否送入SBUF取决于接收的第9位RB8。RB8=1,当接收到的前8位数据送入SBUF,并置位RI产生中断请求;RB8=0,将接收到的前8位数据丢弃。即当从机SM2=1时,从机只能接收主机发送的地址帧(RB8=1)对数据帧不予理睬;当从机SM2=0时,可以接收主机发送的所有信息。通信开始时,主机首先发送地址帧。由于各从机SM2=1和RB8=1,所以各从机均分别发出串行接收中断请求,通过串行中断服务程序来判断主机发送的地址与本从机地址是否相符。若相符,则把自身的SM2清零,以准备接收主机传送的数据帧。其余从机由于地址不符,则仍然保持SM2=1状态,因而不能接收主机传送来的数据帧。这就是多机通信中主从机一对一的通信情况。通信只能在主机与从机之间进行,如若需进行两个从机之间的通信,要通过主机作中介才能实现。
3.多机通信过程
(1)各从机在初始化时置SM2=1,均只能接收主机发送的地址帧(RB8=1)。
(2)主机发送地址帧(TB8=1),指出接收主机的地址。
(3)各从机接收到主机发送的地址帧后,与自身比较,相同则是置SM2=0;相异则是保持SM2=1不变。
(4)主机发送数据帧(TB8=0),由于指定的从机已将SM2=0,能接收主机发送的数据帧,而其他从机仍置SM2=1,对主机发送的数据帧不予理睬。
(5)被寻址的从机与主机通信完毕,重置SM2=1,恢复初始状态。
4.多机通信协议
多机通信是一个较为复杂的通信过程,必须有通信协议来保证多机通信的可操作性和操作秩序。这些通信协议,除设定相同的波特率及帧格式外,至少应包括从机地址、主机控制命令、从机状态字格式和数据通信格式的约定。
6.3.2多机通信应用举例
【例6-6】
按下列通信协议,设计一个多机通信应用程序。
从机地址:可有255台从机,依次为00H~FEH;
主机控制命令:FFH(地址帧),所有从机SM2=1,准备接收主机寻址;
00H(数据帧):被寻址的从机接收数据;
01H(数据帧):被寻址的从机发送数据。
从机状态字格式如表6-10所示。表6-10从机状态字格式
解:(1)主机通信子程序。主机通信子程序流程图如图6-12所示。
设在主程序中已对T1、波特率等完成初始化,有关数据已存入下列工作寄存器中。
R0:主机发送数据块的首地址;
R1:主机接收数据块的首地址;
R2:寻址的从机地址;
R3:主机发出的命令;
R4:主机发送的数据块长度;
R5:主机接收的数据块长度。图6-12主机子程序流程图
(2)从机中断服务程序。通信中断服务子程序流程图如图6-13所示。图6-13从机子程序流程图 6.4习题
1.什么叫串行通信和并行通信?各有什么特点。
2.什么叫异步通信和同步通信?各有什么特点。
3.什么叫波特率?串行通信对波特率有什么基本要求?
4.已知异步通信接口的帧格式由1个起始位、7个数据位、1个奇偶位和1个停止位组成。当该接口每分钟传送3600个字符时,试计算其波特率。
5.串行通信按照数据传送方向有哪几种制式?
6.试述串行通信常用的差错校验方法。
7.串行缓冲寄存器SBUF有什么用?简述串行口接收和发送数据的过程。
8.简述串行控制寄存器SCON各位的名称。简述串行口接收和发送数据的过程。
9.电路如图6-6所示。试编制程序使发光二极管从左向右依次点亮,并进行循环操作。
10.两片4094串联电路如图 6-14 所示。试编制程序按下列顺序要求每隔0.5 s循环操作:
(1)从左向右依次点亮,每次两个;
(2)从左向右依次点亮,每次增加两个,直至全部点亮;
(3)从左向右依次熄灭,每次减少两个,直至全灭。
返回并不断循环。图6-14两片4094串联电路图
11.2片4014串联电路如图6-15所示。试编制程序输入K1~K16状态装饰,并存入内RAM40H41H。图6-152片4014串联电路图
15.设80C51单片机串行口工作于方式1,晶振频率为12 MHz,定时器T1工作于方式2。作为波特率发生器,要求波特率为1200 bit/s,SMOD=0,试计算T1的时间常数和波特率误差,编写初始化程序。
16.设以串行方式1进行数据传送,fOSC = 6 MHz,波特率为2400 bit/s(SMOD=1)。发送的8个数据依次存在外RAM首址4000H单元中,先发送数据长度,后发送8个数据,试编写发送子程序。
17.条件同上题,数据长度未知,先接收数据长度,后接收数据。试编写接收子程序,接收数据存在内RAM50H开始的区域中。
18.设计一个串行方式2发送子程序(SMOD = 0),甲机每隔1 s(fOSC = 6 MHz,用T0中断)从P1口读入8位数据串行发送,第9位数据位作为奇偶校验位。接到乙机核对正确的回复信号(用00H表示)后,置P3.5 = 1(正确指示灯亮)。否则置P3.5 = 0(正确指导灯灭)。再重发一遍,直至乙机发回正确的回复信号。
19.编制一个串行方式2接收子程序,接收上题发送的数据,并核对奇偶校验位,接收核对正确,发出回复信号00H,存入首址为200H的外RAM中;发现错误,发出回复信号FFH,并等待重新接收。
20.80C51串行通信有哪几种工作方式?小结80C51串行口4种工作方式的特点。
21.80C51单片机串行通信四种工作方式的波特率有什么不同?
22.若异步通信接口按方式3传送,已知其每分钟传送3600字符,波特率是多少?
23.什么叫多机通信?与双机通信有什么区别?
24.试说明多机通信原理。
25.简述多机通信过程。
26.多机通信协议应包括哪些内容?
实训六串行通信应用
一、实验目的
(1)掌握串行口的工作原理及异步通信和同步通信的功能和编程方法;
(2)理解串行口通信与并行通信的两种方式;
(3)掌握串行通信的重要指标,字符帧和波特率;
(4)初步了解MCS-51单片机串行口的使用方法。
二、实验设备与元器件
(1)至少20 MB硬盘、16 MB内存的Pentium、Pentium-Ⅱ或相应兼容处理器的PC机。
(2) KeilCV8.08版本的mVision2/3软件。三、实验要求
(1)掌握串行口的各个寄存器的含义和定义方法;
(2)掌握设置各个寄存器的编程方法;
(3)掌握单片机串行口通信程序设计的方法。
四、实验内容与步骤
MCS-51系列单片机内部提供了5个中断源,2个中断优先级,每个中断源的优先级可以进行编程控制。中断允许受到CPU开中断和中断源开中断的两级控制。
MCS-51系列单片机的片内外围部件要用到特殊功能寄存器或SFR寻址。SFR是位于80H~FFH的片内可直接寻址存储器。Keil开发工具软件提供了定义这些寄存器的头文件。需要将这些已提供的头文件或自行创建的头文件包含到程序中,才能访问片内外围部件。在编写单片机的Cx51语句时,在文件的开头加上语句#include<reg51.h>,这条语句就是定义了所有硬件地址的文件,也可以直接在C源程序或头文件中定义自己的SFR符号。Cx51编译器支持byteSFR和bitSFR符号,例如:sfrIE=0Xa8;sbitEA=IE^7。
1.串行口的设计
程序6-1
在单片机控制系统中,P1口低4位接4个二极管,P3口P3.2~P3.5接具有锁存功能的按键(K1-K4)程序功能。利用scanf输入函数输入P3口的状态,从而控制K1的值,利用if语句检测K1的值,如果按下K1键即K1=1,发光二极管全亮;如弹起K1键即K1=0,发光二极管全灭。通过分析上面的程序可以看出SCON=0x50,TMOD=0x20,TH1=221,TR1=1,TI=1这五条语句就是设置单片机的串行口的工作方式的,其中SCON是串行口控制寄存器,我们将它设置为0X50,意思是串行口工作方式1(由定时器控制的10位异步收发方式),多机通信控制位的工作方式为接收到字符,RI就置位,同时允许串行口接收。TMOD为定时器/计数器的方式控制寄存器数值为0x20,它的启动仅受TR0和TR1控制,设置并使用定时器1工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创意餐饮美食街企业制定与实施新质生产力战略研究报告
- 2025-2030年塑料UV涂料项目投资价值分析报告
- 2025-2030年喷涂膜项目投资价值分析报告
- 2025-2030年启动机项目投资价值分析报告
- 2025-2030年台式乳脂离心机项目商业计划书
- 2025年氰化物中毒解毒药项目经济效益评估报告
- 2025年度酒店客房部客房服务员工作激励合同
- 2025年度汽车抵押贷款绿色金融服务合同
- 二零二五年度建筑次结构植筋施工与后期保养合同
- 2025-2030中国吉他套件行业市场现状供需分析及投资评估规划分析研究报告
- 浙江省杭州市2022-2023学年七年级下学期语文期中质量检测试卷(含答案)
- 【真题】2023年南京市中考语文试卷(含答案解析)
- 小班儿歌《迎春花》课件
- 查干淖尔一号井环评
- 统一身份认证管理平台介绍
- 医院死亡证明培训课件
- 邵逸夫检验报告单查询
- 小米公司招聘测试题目题库
- 光伏发电系统火灾安全技术
- 《着名建筑师刘家琨》课件
- 办公楼建筑图测试附有答案
评论
0/150
提交评论