单片机原理与应用1【本章内容】本章主要介绍MCS-51单片机串行接口的结构、工作原理、工作方式以及串行接口的应用等。【项目驱动的学习要点】如何将应用项目中单片机通过8155与LED数码管连接的接口电路,改为使用串行口与LED数码管连接?如何编写串行口LED数码管显示电路的驱动程序?第9章单片机的串行接口单片机原理与应用2第9章单片机的串行接口9.1串行通信基础知识9.2串行接口的结构与控制9.3串行接口的工作方式与波特率9.4串行接口的应用举例练习题END单片机原理与应用39.1串行通信基础知识9.1.0通信方式9.1.1串行通信的分类9.1.2串行通信的制式9.1.3串行通信的标准接口单片机原理与应用49.1.0通信方式1.并行通信2.串行通信单片机原理与应用51.并行通信并行通信是将传输数据的各比特(位)同时进行传送。以单字节(8比特)数据为例,单片机通过并行接口与外设进行并行通信的示意图如图9-1所示。单片机原理与应用6图9-1单片机并行通信示意图单片机原理与应用72.串行通信串行通信是将传输数据的各比特(位)按先后顺序逐位进行传送。单片机通过串行接口与外设进行串行通信的示意图如图9-2所示。单片机原理与应用8图9-2单片机串行通信示意图图中TXD是串行数据发送脚,RXD是串行数据接收引脚。单片机原理与应用9串行通信的优缺点:优点:通信线路简单,只需一对传输线就可以实现数据的发送和接收,而且可以利用电话线,从而大大地降低了线路成本,特别适合用于远距离通信。缺点:传送速度较低。单片机原理与应用101.异步通信2.同步通信9.1.1串行通信的分类单片机原理与应用11异步通信是指发送端和接收端使用各自的时钟来控制数据的发送和接收的一种通信方式。这两个时钟源彼此独立,无需严格同步。异步通信的特点是以字符帧为单位进行传输。为了使接收方能正确接收与识别发方送来的数据,收发双方必须在进行异步通信前,事先约定好异步通信的字符帧格式和传输速率。1.异步通信单片机原理与应用12(1)异步通信的字符帧格式图9-3异步通信的字符帧格式单片机原理与应用13异步通信字符帧各部分的结构和功能:起始位:位于字符帧开头,只占一位,将逻辑电平0作为联络信号,用于向接收方表示发送端开始发出一帧字符。数据位:紧跟起始位之后,长度由通信双方事先约定,通常可取5~8位或9位,低位在前,高位在后。单片机原理与应用14奇偶校验位:位于数据位之后,仅占一位,用于实现奇校验或偶校验。停止位:位于字符帧末尾,逻辑电平为1,长度通常为1位,也可取为1.5位或2位,用于向接收方表示发送端已发送完一帧字符。空闲位:可有可无,若有,则位于停止位之后,逻辑电平为1,位长度任意。用于表示发送端没有发送数据异步通信字符帧各部分的结构和功能:单片机原理与应用15(2)异步通信的传输速率异步通信的传输速率通常用比特率或波特率来表示。单片机原理与应用16比特率:为每秒钟传输的比特数,单位是比特/秒,或记为bit/s。每个二进制码元(0或1)所含的信息量规定为1bit。对于前述的异步串行通信而言,若字符帧的长度为10,即1个起始位、1个停止位、8个数据位(没有空闲位),如果每秒钟传送240个字符,则这时的比特率为:10bit/个×240个/s=2400bit/s单片机原理与应用17波特率:为每秒钟传送的码元数,单位为“波特”,常用符号B(Baud)表示。例如,若某通信系统每秒钟传送2400个码元,则该系统的波特率为2400波特或写作2400B。但要注意,波特率仅仅是表征单位时间内传送码元的数目,而没有限定码元由何种进制构成。单片机原理与应用18波特率和比特率的区别:对于二制码元(0或1),由于每个码元的信息量为1比特,因此,这时,比特率和波特率在数值上相同;对于四制码元(00、01、10或11),由于每个码元的信息量为2比特,因此,四制码元的比特率在数值上是波特率的2倍。正因为在二进制下,波特率和比特率在数值上相同,所以也经常用波特率表示数据的传输速率。单片机原理与应用192.同步通信同步通信是指通信时要建立发送方时钟对接收方时钟的直接控制,使收发双方达到完全同步的一种通信方式。这里所说的同步既包含位同步,也包含字符同步。接收方只要与发送方建立起同步关系,就可以对发方送来的数据进行准确识别。因此,在同步通信中,可以连续串行传送数据,字符间不留间隙。同步通信的字符帧格式如图9-4所示。单片机原理与应用20同步通信的字符帧格式图9-4同步通信的字符帧格式单片机原理与应用21同步字符:位于帧结构开头,用于确认数据字符的开始。接收方进入接收状态后,不断对传输线采样,并把采样到的字符和双方约定的同步字符比较,只有比较成功后才会接收传送过来的字符。同步字符可以采用统一标准格式,也可由用户约定。在单同步字符帧中,同步字符常采用ASCII码中规定的SYN代码(即16H);在双同步字符帧中,同步字符一般采用国际通用标准代码EB90H。同步通信字符帧各部分的结构和功能:单片机原理与应用22数据字符:在同步字符之后,个数不受限制,由所需传输的数据块长度和协议决定。校验字符:一般为1~2个,位于帧结构末尾,用于接收端对接收到的数据字符进行正确性校验。同步通信字符帧各部分的结构和功能:单片机原理与应用239.1.2串行通信的制式图9-5串行通信的3种制式单片机原理与应用24图9-5串行通信的3种制式单片机原理与应用251.单工通信单工通信是指数据仅能沿一个方向传输,不能反向传输。图9-5串行通信的3种制式单片机原理与应用262.半双工通信半双工是指数据传输可以沿两个方向,但需要分时进行。可以通过收/发转换开关进行接收状态和发送状态的切换,也可以通过软件控制来实现收/发状态切换。图9-5串行通信的3种制式单片机原理与应用273.全双工通信全双工是指数据可以同时进行双向传输。图9-5串行通信的3种制式单片机原理与应用289.1.3串行通信的标准接口标准接口:是指为了使计算机、各种数据终端、通信设备相互之间能进行合理化、规范化、通用化的连接而制定的具有特定参数、指标与性能并符合某种协议的接口。常用的串行通信标准接口有RS-232C、RS-422A、RS-423A、RS-485等,下面重点介绍RS-232C接口。单片机原理与应用29RS-232C接口RS-232C标准接口是EIA(美国电子工业协会)于1969年颁布的串行通信接口标准。RS是“RecommendedStandard”(推荐标准)的缩写,232为标准的编号,C为版本号。在RS-232C之前为RS-232A与RS-232B,1987年修订为EIA-232D,1991年修订为EIA-232E,1997年又修订为EIA-232F。其中,RS-232C最为常用。单片机原理与应用30RS-232C接口在远程数据通信系统中的应用当两台计算机(DTE)借助公用电话网进行远程数据通信时。RS-232C用于将DTE和DCE进行连接,使两者能进行串行通信。图9-6RS-232C接口在远程数据通信系统中的应用单片机原理与应用311.RS-232C的机械特性RS-232C接口规定使用25针连接器(DB-25),连接器的尺寸及每个插针的排列位置都有明确的定义。由于一般的应用中很少用到RS-232C标准的全部信号线,所以在实际应用中常常使用9针连接器(DB-9)替代25针连接器。两者的外形与引脚排列如图9-7所示。通常一端做成插针,另一端做成插孔。单片机原理与应用32DB-25和DB-9连接器图9-7DB-25和DB-9连接器单片机原理与应用332.RS-232C的引脚功能(表9-1)引脚序号信号名称功能信号方向1PGND保护(屏蔽)接地2(3)TXD发送数据(串行输出)DTE→DCE3(2)RXD接收数据(串行输入)DTE←DCE4(7)RTS请求发送DTE→DCE5(8)CTS允许发送DTE←DCE6(6)DSRDCE就绪(数据建立就绪)DTE←DCE7(5)SGND信号接地8(1)DCD载波检测DTE←DCE9—保留供测试用10—保留供测试用注:引脚序号栏中带括号的序号为DB-9连接器的引脚序号。单片机原理与应用34引脚序号信号名称功能信号方向11—未定义12SDCD辅助信道载波检测DTE←DCE13SCTS辅助信道允许发送DTE←DCE14STXD辅助信道发送数据DTE→DCE15TXC发送时钟DTE←DCE16SRXD辅助信道接收数据DTE←DCE17RXC接收时钟DTE←DCE18—未定义19SRTS辅助信道请求发送DTE→DCE20(4)DTRDTE就绪(数据终端准备就绪)DTE→DCE21SQD信号质量检测DTE←DCE22(9)RI振铃指示DTE←DCE23DRS数据信号速率选择DTE→DCE24ETXC外部发送时钟DTE→DCE25—未定义注:引脚序号栏中带括号的序号为DB-9连接器的引脚序号单片机原理与应用353.RS-232C的电气特性RS-232C的信号电平:RS-232C标准规定采用负逻辑电平。信号源点的逻辑0(空号)电平范围为+5V~+15V,逻辑1(传号)电平范围为−5V~−15V;信号目的点的逻辑0(空号)电平范围为+3V~+15V,逻辑1(传号)电平范围为−3V~−15V,噪声容限为2V。RS-232C的信号电平如图9-8所示。单片机原理与应用36RS-232C的信号电平图9-8RS-232C的信号电平通常,RS-232C的逻辑电平采用+12V表示逻辑0,−12V表示逻辑1。单片机原理与应用37RS-232C的传输距离与传输速率:RS-232C的传输距离:DTE和DEC之间采用RS-232C传输的最大距离不大于15m。RS-232C的传输速率:小于20kbit/s。单片机原理与应用384.RS-232C与DTE和DCE的连接RS-232C在远程通信中的连接远程通信是指传输距离在15m以上的远距离通信如图9-6:单片机原理与应用39RS-232C在远程通信中的连接远程通信通常需要采用调制解调器(MODEM),这时,RS-232C与DTE和DEC之间的连接方式如图9-9:图9-9RS-232C在远程通信中的连接方式单片机原理与应用40近程通信是通信距离小于15m的通信,这时,无需使用调制解调器,两台具有RS-232C接口的计算机可采用图9-10所示的两种连接方式中的任意一种进行直接连接。RS-232C在近程通信中的连接图9-10RS-232C在近程通信中的连接方式单片机原理与应用415.RS-232C与MCS-51系列单片机的连接由于MCS-51系列单片机的串行口不是标准RS-232C接口,采用的是正逻辑TTL电平:即逻辑1为+2.4V;逻辑0为+0.4V。所以使用RS-232C接口将MCS-51系列单片机与计算机或其他具有RS-232C接口的设备进行连接时,必须考虑电平转换问题。通常使用专用的电平转换芯片来进行电平转换。单片机原理与应用42MC1488、MC1489电平转换芯片图9-11MC1488、MC1489的内部结构和引脚排列MC1488用于将输入的TTL电平转换为RS-232C电平,MC1489用于将输入的RS-232C电平转换为TTL电平输出。它们的内部结构和引脚排列如图9-11所示。单片机原理与应用43由MC1488、MC1489构成的电平转换电路图9-12由MC1488、MC1489构成的电平转换电路单片机原理与应用44为了减少使用双电源的麻烦,现在市场上出现了使用单电源供电的电平转换芯片,这种芯片体积更小,连接更简便,而且抗干扰能力更强,常见的有MAXIM公司生产MAX232。它仅需要+5V电源,由内置的电子泵电压转换器将+5V转换成−10V~+10V。该芯片与TTL/CMOS电平兼容,片内有2个发送器和2个接收器,使用比较方便。由它构成的电平转换电路如图9-13所示。MAX232电平转换芯片单片机原理与应用45由MAX232构成的电平转换电路图9-13由MAX232构成的电平转换电路单片机原理