串行通信概念及51系列单片机的串行口问题.ppt
《串行通信概念及51系列单片机的串行口问题.ppt》由会员分享,可在线阅读,更多相关《串行通信概念及51系列单片机的串行口问题.ppt(84页珍藏版)》请在三一办公上搜索。
1、本节主要介绍串行通信概念及51系列单片机的串行口问题,将具体介绍以下内容:,计算机串行通信基础-基本概念、标准接口。,51单片机串行口-串行口结构、串行口的控制寄存器、串行口的工作方式、应用举例。,6.3 串行通信口,6.3.1 数据通信概述,随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。通信的目的:实现计算机与外部设备或计算机与计算机之间的信息交换。通信的方式:并行通信和串行通信两种方式。PS:在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。,一、数据通信方式:,计算机通信是将计算机技术和通信技术的相结合,完成计算机与外部设备或计算机与计算机之间
2、的信息交换。可以分为两大类:并行通信与串行通信。1、并行通信通常是将数据字节的各位用多条数据线同时进行传送。,优点:控制简单、传输速度快;缺点:由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。,优点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备;缺点:数据的传送控制比并行通信复杂。,2、串行通信是将数据字节分成一位一位的形式在一条传输线 上逐个地传送。,二、异步通信与同步通信1、异步通信 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。,异步串行通信的帧格式:,异步通信的特点:异步串
3、行通信是以字符为单位的间歇传输形式。传送时按字符进行包装(在数据位之外要增添起始位、奇偶校验位、停止位)。不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加23位用于起止位,各帧之间还有间隔,因此传输效率不高。,*五、串行通信的错误校验 1、奇偶校验在发送数据时,数据位尾随的1位为奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。2、代码和校验代码和校验是发送方将所发数据块求和(或各字节异或),产生
4、一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错,否则即认为传送过程中出现了差错。3、循环冗余校验这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验,常用于对磁盘信息的传输、存储区的完整性校验等。这种校验方法纠错能力强,广泛应用于同步通信中。,串行通信的传输速率与传输距离 1、传输速率传输速率是用来说明数据传送的快慢。在串行通信中,用波特率来表示数据传送的快慢。波特率是指串行通信中,单位时间传送的二进制位数,单位为bps。例:如每秒钟传送240个字符,而每个字符格式包含
5、10位(1个起始位、1个停止位、8个数据位),这时的波特率为:,10位240个/秒=2400 bps(位/秒),*2、传输距离与传输速率的关系串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性有关。当比特率超过1000 bps 时,最大传输距离迅速下降,如9600 bps 时最大距离下降到只有76m(约250英尺)。,同步通信(Synchronous Communication)是按数据块传送的。把要传送的字符顺序地连接起来,组成数据块,在数据块的前面加上特殊的同步字符,作为数据块的起始符号。在数据块后面加上校验字符,用于校验通信中的错误,(2)同步通信,三、串行通信的传
6、输方式1、单工 单工是指数据传输仅能沿一个方向,不能实现反向传输。2、半双工 半双工是指数据传输可以沿两个方向,但需要分时进行。3、全双工 全双工是指数据可以同时进行双向传输。,4.串行通信的信号传输,(1)通信线路的连接方式,信号的调制与解调:利用调制器(Modulator)把数字信号转换成模拟信号,然后送到通信线路上去,再由解调器(Demodulator)把从通信线路上收到的模拟信号转换成数字信号。由于通信是双向的,调制器和解调器合并在一个装置中,这就是调制解调器MODEM。,Data Communications Equipment(数据通信设备),它在DTE和传输线路之间提供信号变换和
7、编码功能,并负责建立、保持和释放链路的连接,如Modem。,DataTerminalEquipment(数据终端设备),2)串行通信总线标准及其接口,UART:能够完成异步通信的硬件电路 即通用异步接收器/发送器(Universal Asychronous Receiver/Transmitter),USRT:能够完成同步通信的硬件电路 即通用同步接收器/发送器(Universal Sychronous Receiver/Transmitter),USART:既能完成异步通信又能完成同步通信的硬件电路(Universal Sychronous Asychronous Receiver/Tran
8、smitter),三类异步串行通信接口:,RS-232接口;RS-449、RS-422和RS-485接口以及20mA电流环。,RS-232接口标准:,RS是Recommended Standard的缩写,代表推赠标准,*五、串行通信的错误校验 1、奇偶校验在发送数据时,数据位尾随的1位为奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。2、代码和校验代码和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验
9、字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错,否则即认为传送过程中出现了差错。3、循环冗余校验这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验,常用于对磁盘信息的传输、存储区的完整性校验等。这种校验方法纠错能力强,广泛应用于同步通信中。,六、串行通信的传输速率与传输距离 1、传输速率传输速率是用来说明数据传送的快慢。在串行通信中,用波特率来表示数据传送的快慢。波特率是指串行通信中,单位时间传送的二进制位数,单位为bps。例:如每秒钟传送240个字符,而每个字符格式包含10位(1
10、个起始位、1个停止位、8个数据位),这时的波特率为:,10位240个/秒=2400 bps(位/秒),*2、传输距离与传输速率的关系串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性有关。当比特率超过1000 bps 时,最大传输距离迅速下降,如9600 bps 时最大距离下降到只有76m(约250英尺)。,串行通信接口标准 一、RS-232C接口RS-232C是EIA(Electronic Industry Association美国电子工业协会)1969年修订RS-232C标准。RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。1、
11、机械特性RS-232C接口规定使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。,2、功能特性,表6.3 RS-232C串口引脚定义表,3、过程特性过程特性规定了信号之间的时序关系,以便正确地接收和发送数据。,远程通信连接,近程通信连接,4、RS-232C的其它规定,RS-232C是一种电压型总线标准,以不同的电压表示逻辑值:3V15V表示逻辑“1”3V15V表示逻辑“0”标准数据传送速率有50、75、110、150、300、600、1200、2400、4800、9600、19200波特等。,*5、采用RS-232C接口存在的问题1、传输距离短,传输速率低 RS-232C总线标
12、准受电容允许值的约束,使用时传输距离一般不要超过15米(线路条件好时也不超过几十米)。最高传送速率为20Kbps。2、有电平偏移 RS-232C总线标准要求收发双方共地。通信距离较大时,收发双方的地电位差别较大,在信号地上将有比较大的地电流并产生压降。3、抗干扰能力差 RS-232C在电平转换时采用单端输入输出,在传输过程中当干扰和噪声混在正常的信号中。为了提高信噪比,RS-232C总线标准不得不采用比较大的电压摆幅。,6.3.2 80C51的串行口,1 80C51串行口的结构,CPU内部,MCS-51单片机串行口主要由发送数据寄存器、发送控制器、输出控制门、接收数据寄存器、接收控制器、输入移
13、位寄存器等组成,从用户使用的角度,它由三个特殊功能寄存器组成:发送数据寄存器和接收数据寄存器合起用一个特殊功能寄存器SBUF(串行口数据寄存器),串行口控制寄存器SCON和电源控制寄存器PCON。,1)SCON-可位寻址的串行口控制寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:,2 80C51串行口寄存器,SM0和SM1为工作方式选择位,可选择四种工作方式:,SM2:多机通信控制位。,REN:允许接收控制位。当REN=1,则允许接收,当REN=0,则禁止接收。,TB8:发送数据的第9位。,RB8:接收数据的第9位。,TI:发送中断标志位。,RI:接收中断标志位。,*SM2,
14、多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB80时不激活RI,收到的信息丢弃;RB81时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。在方式0时,SM2必须是0。在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1。REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。,TB8,在方式2或方式
15、3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。在方式0和方式1中,该位未用。RB8,在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。,TI,发送中断标志位。在方式0时,当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。RI,接收中断标志位。在方式0时,当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使
16、RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。,2)PCON电源控制寄存器:,SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。,3)IE中断允许控制寄存器:EA-中断允许总控制位;ES-串行中断允许控制位,4)IP中断优先级控制寄存器:PS-串行中断优先级设定位,6.3.3 80C51串行口的工作方式,一、方式0 方式0时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P
17、3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后。波特率固定为fosc/12。,1、方式0发送过程:在TI=0时,当CPU执行一条向SBUF写数据的指令时,如MOV SBUF,A;就启动发送过程。经过一个机器周期,写入发送数据寄存器中的数据按低位在前,高位在后从RXD依次发送出去,同步时钟从TXD送出。8位数据(一帧)发送完毕后,由硬件使发送中断标志TI置位,向CPU申请中断。,2、方式0接收过程,在RI=0的条件下,将REN(SCON.4)置“1”就启动一次接收过程。串行数据通过RXD接收,同步移位脉冲通过TXD输出。在移位脉冲的控制下,RXD上的串行数据依次移入移位寄存器。当8
18、位数据(一帧)全部移入移位寄存器后,接收控制器发出“装载SBUF”信号,将8位数据并行送入接收数据缓冲器SBUF中,同时,由硬件使接收中断标志RI置位,向CPU申请中断。,常用于串行通讯。除发/收8位数据外,还 在D0位前有一个起始位“0”;在D7位后有一个停止位“1”。,方式1工作时:发送端自动添加一个起始位和一个停止位;接收端自动去掉一个起始位和一个停止位。,二、方式18位UART(1+8+1位)波特率可变,波特率可变 用定时器T1作波特率发生器:公式:波特率=(2SMOD/32)T1的溢出率,波特率=(2SMOD/32)T1的溢出率,溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的
19、倒数。T1溢出时间(256X)(12/fosc),初值 X=2n-,2SMOD fosc 32 波特率 12,波特率=,2SMOD fosc32 12(256-X),其中:X 是定时器初值,例 用T1工作于方式2来产生波特率1200,已知晶振频率=6MHz。要求出T1的初值:,初值 X=28-,20 610632 1200 12,=256-=256-13.02,6106460800,243=0F3H,*三、方式2和方式3方式2或方式3时为11位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚。,方式2和方式3时起始位1位,数据9位(含1位附加的第9位,发送时为SCON中的TB8,接
20、收时为RB8),停止位1位,一帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32,方式3的波特率由定时器T1的溢出率决定。,1、方式2和方式3输出,发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD引脚输出。第一次移位时,停止位“1”移入输出移位寄存器的第9位上,以后每次移位,左边都移入0。当停止位移至输出位时,左边其余位全为0,检测电路检测到这一条件时,使控制电路进行最后一次移位,并置TI=1,向CPU请求中断。,2、方式2和方式3输入,接收时,数据从右边移入输入移位寄存器,在起始
21、位0移到最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。,6.3.4 串行口的编程及应用,一串行口的初始化编程,1串行口控制寄存器SCON位的确定。,根据工作方式确定SM0、SM1位;*对于方式2和方式3还要确定SM2位;如果是接收端,则置允许接收位REN为1;*如果方式2和方式3发送数据,则应将发送数据的第9位写入TB8中。,*,2设置波特率。,对于方式0,不需要对波特率进行设置。*对于
22、方式2,设置波特率仅须对PCON中的SMOD位进行设置。,对于方式1和方式3,设置波特率不仅须对PCON中的SMOD位进行设置,还要对定时/计数器T1进行设置,这时定时/计数器T1一般工作于方式2(8位可重置方式),初值可由下面公式求得:由于:波特率=2SMOD(T1的溢出率)/32则:T1的溢出率=波特率32/2SMOD而T1工作于方式2的溢出率又可由下式表示:T1的溢出率=fosc/(12(256-初值)所以:T1的初值=256-fosc2SMOD/(12波特率32),二串行口的应用,通常用于三种情况:利用方式0扩展并行I/O口;利用方式1实现点对点的双机通信;利用方式2或方式3实现多机通
23、信。,1利用方式0扩展并行I/O口,MCS-51单片机的串行口在方式0时,当外接一个串入并出的移位寄存器,就可以扩展并行输出口,当外接一个并入串出的移位寄存器时,就可以扩展并行输入口。,例6.3.1 用单片机的串行口外接并入串出和串入并出的芯片,输入一组8位的开关信息,使其控制一组8位的发光二极管,发光二极管的状态对应开关的状态。,=1时,允许串行移位,,=0时,允许并行读入按键。,汇编语言程序 ORG 0000H AJMP MAIN ORG 0100HMAIN:MOV SCON,#10H;REN=1,RI=0,SM0=0,SM1=0,;串行口工作在方式0,且启动;接收过程LOOP:CLR P
24、1.0;S/L=0,允许并行读入按键到74LS165 SETB P1.0;S/L=1,允许串行移位 CLR RI;启动接收 JNB RI,$;若RI=0,8位数据未接收完,等待 MOV A,SBUF;若RI=1,8位数据接收完,读入A CLR TI;清发送标志,准备发送 MOV SBUF,A;启动发送,输出数据位0,将点亮对应LED;输出数据位1,LED不亮 JNB TI,$;8位数据未发送完,等待 SJMP LOOP;8位数据发送完,循环 END,C语言程序:#include Sbit P1_0=P10;Void main()unsigned char iSCON=0 x10;While(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行 通信 概念 51 系列 单片机 串行口 问题

链接地址:https://www.31ppt.com/p-5027496.html