第9章 串口及串行通信技术_第1页
第9章 串口及串行通信技术_第2页
第9章 串口及串行通信技术_第3页
第9章 串口及串行通信技术_第4页
第9章 串口及串行通信技术_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、 教学目标教学目标第第9章章 串口及串行通信技术串口及串行通信技术 介绍介绍MCS-51串行通信接口技术串行通信接口技术 学习要求学习要求 掌握单片机串行通信接口的基本功能,了解串行通信接口的掌握单片机串行通信接口的基本功能,了解串行通信接口的一般结构一般结构介绍介绍PC机与单片机间的串行通信接口技术机与单片机间的串行通信接口技术介绍介绍MCS-51单片机之间的串行通信接口技术单片机之间的串行通信接口技术 熟悉单片机串行通信接口,掌握单片机之间的串行通信熟悉单片机串行通信接口,掌握单片机之间的串行通信接口以及接口以及 PC机与单片机间的串行通信接口程序编制机与单片机间的串行通信接口程序编制9.

2、1 MCS-51串行通信接口串行通信接口 MCS-51内部含有一个可编程全双工串行通信接口,具有内部含有一个可编程全双工串行通信接口,具有UART的全部的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。位寄存器使用。 9.1.1 MCS-51串行口的结构串行口的结构 MCS-51系列单片机的串行接口由发送缓冲器、接收缓冲器系列单片机的串行接口由发送缓冲器、接收缓冲器以及两个专以及两个专 用寄存器用寄存器SCON和和PCON组成,占用两条组成,占用两条I/O专线专线(P3.0、P3.1),分别为

3、),分别为RXD和和TXD,从而构成全双工的通信,从而构成全双工的通信方式。两个独立的接收、发送缓冲器方式。两个独立的接收、发送缓冲器SBUF(属于特殊功能寄存(属于特殊功能寄存器)共用一个字节地址(器)共用一个字节地址(99H),一个用来发送;一个用来接),一个用来发送;一个用来接收。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能收。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。写入。 在进行异步通信时,数据的发送和接收分别在各自的时钟在进行异步通信时,数据的发送和接收分别在各自的时钟(TCLK和和RCLK)控制下进行的,但都必须与字符位数的波)控制下进行的,但都必须与字符位数

4、的波特率保持一致。特率保持一致。MCS-51串行口的发送和接收时钟可由两种方式串行口的发送和接收时钟可由两种方式产生,一种是由主机频率产生,一种是由主机频率fosc经分频后产生,另一种方式是由内经分频后产生,另一种方式是由内部定时器部定时器T1或或T2的溢出率经的溢出率经16分频后提供。分频后提供。 串行口的发送串行口的发送过程由指令过程由指令MOV SBUF,A启动,即启动,即CPU由一由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(发)中,再由硬件电路自动在字符的

5、始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从的控制下,低位在前,高位在后,从TXD端(方式端(方式0除外)一位位地向外发送。除外)一位位地向外发送。 串行口的接收串行口的接收与否受制于允许接收位与否受制于允许接收位REN的状态,当的状态,当REN被被软件置软件置“1”后,允许接收器接收。接收端后,允许接收器接收。接收端RXD一位位地接收数一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移据,直到收到一个完整的字符数据后,控

6、制电路进行最后一次移位,自动去掉启始位,使接收中断标志位,自动去掉启始位,使接收中断标志RI置置“1”,并向,并向CPU申申请中断。请中断。CPU响应中断,用一条指令(响应中断,用一条指令(MOV A,SBUF)把接)把接收缓冲器收缓冲器SBUF(收)的内容读入累加器。(收)的内容读入累加器。 在整个串行收发过程中,在整个串行收发过程中,CPU的操作时间很短,使得的操作时间很短,使得CPU还还可以从事其它的各种操作(指工作在中断方式下),从而大大提可以从事其它的各种操作(指工作在中断方式下),从而大大提高了高了CPU的效率。的效率。 串行口数据缓冲器串行口数据缓冲器SBUF SBUF是两个在物

7、理上独立的接收、发送缓冲器,可同时发是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令,可通过指令对对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。的操作。CPU在写在写SBUF,就是修改发送缓冲器;读,就是修改发送缓冲器;读SBUF,就是,就是读接收缓冲器。串行口对外有两条独立的收发信号线读接收缓冲器。串行口对外有两条独立的收发信号线RXD(P3.0)、)、TXD(P3.1),因此可以同时发送、接收数据,实现),因此可以同时发送、接收

8、数据,实现全双工。全双工。 串行口控制寄存器串行口控制寄存器SCON SCON寄存器用来控制串行口的工作方式和状态,它是一个寄存器用来控制串行口的工作方式和状态,它是一个可按位寻址的特殊功能寄存器。在复位时所有位被清零,其字节可按位寻址的特殊功能寄存器。在复位时所有位被清零,其字节地址为地址为98H。SCON寄存器的寄存器的格式 如下SM0SM1工作方式工作方式000011102113 特殊功能寄存器特殊功能寄存器PCON PCON主要是为主要是为CHMOS型单片机的电源控制设置的专用寄型单片机的电源控制设置的专用寄存器,字节地址为存器,字节地址为87H,不能按位寻址。,不能按位寻址。 9.1

9、.2 9.1.2 MCS-51系列单片机串行接口的工作方式系列单片机串行接口的工作方式 MCS-51的串行口有四种工作方式,它是由的串行口有四种工作方式,它是由SCON中的中的SM1和和SM0来决定来决定可变可变9位位UART方式方式311fosc/32或或fosc/649位位UART方式方式201可变可变8位位UART方式方式110fosc/12同步移位寄存器同步移位寄存器方式方式000波特率波特率功能说明功能说明工作方式工作方式SM1SM01)方式)方式0 串行接口工作方式串行接口工作方式0为同步移位寄存器方式,其波特率是固为同步移位寄存器方式,其波特率是固定为振荡频率定为振荡频率fosc

10、的的1/12。在这种工作方式下,发送和接收串行。在这种工作方式下,发送和接收串行数据都通过数据都通过RXD(P3.0)进行,从)进行,从TXD(P3.1)输出移位脉冲,)输出移位脉冲,控制外部的移位寄存器移位。控制外部的移位寄存器移位。 方式方式0发送发送 数据从数据从RXD引脚串行输出,引脚串行输出,TXD引脚输出同步脉冲。发送引脚输出同步脉冲。发送操作在操作在TI=0的情况下开始,由指令(的情况下开始,由指令(MOV SBUF,A)将一个)将一个数据写入串行口发送缓冲器时启动发送,串行口将数据写入串行口发送缓冲器时启动发送,串行口将8位数据以位数据以fosc/12的固定波特率由低位到高位逐

11、位从的固定波特率由低位到高位逐位从RXD引脚输出,当引脚输出,当8位位数据发送完后,硬件自动置中断标志数据发送完后,硬件自动置中断标志TI为为1,并向,并向CPU请求中断请求中断(若中断已开放),(若中断已开放),CPU响应中断后,先将响应中断后,先将TI清零,再向清零,再向SBUF传送下一个待发送的信息,以继续发送数据。传送下一个待发送的信息,以继续发送数据。 方式方式0接收接收 在满足在满足REN=1和和RI=0的条件下,串行口处于方式的条件下,串行口处于方式0输入。输入。此时,此时,RXD为数据输入端,为数据输入端,TXD为同步信号输出端,接收器也为同步信号输出端,接收器也以以fosc/

12、12的波特率对的波特率对RXD引脚输入的数据信息进行采样。当接引脚输入的数据信息进行采样。当接收器接收完收器接收完8位数据后,硬件自动置中断标志位数据后,硬件自动置中断标志RI=1,并向,并向CPU发出请求中断,发出请求中断,CPU响应中断(或采用查询方式)后,通过指响应中断(或采用查询方式)后,通过指令(令(MOV A,SBUF)将接收的数据传送给累加器)将接收的数据传送给累加器A。在再次。在再次接收之前,必须用软件将接收之前,必须用软件将RI清零。清零。 在方式在方式0工作时,必须使工作时,必须使SCON寄存器中的寄存器中的SM2位为位为“0”,这并不影响这并不影响TB8位和位和RB8位。

13、方式位。方式0发送或接收完数据后由硬件发送或接收完数据后由硬件置位置位TI或或RI,CPU在响应中断后要用软件清除在响应中断后要用软件清除TI或或RI标志。标志。2) 方式方式1在方式在方式1时,串行口被设置为波特率可变的时,串行口被设置为波特率可变的8位异步通信接口。位异步通信接口。 方式方式1发送发送 串行口以方式串行口以方式1发送时,数据位由发送时,数据位由TXD端输出,发送端输出,发送1帧信帧信息为息为10位,其中一位起始位位,其中一位起始位“0”、八位数据位(先低位后高位)、八位数据位(先低位后高位)和一个停止位和一个停止位“1”。在。在TI=0的条件下,的条件下,CPU执行一条数据

14、写入执行一条数据写入发送缓冲器发送缓冲器SBUF的指令(的指令(MOVSBUF,A),发送电路自动),发送电路自动在在8位数据位前后分别加一位起始位和一位停止位,就启动串行位数据位前后分别加一位起始位和一位停止位,就启动串行传送过程,在移位脉冲的作用下,从传送过程,在移位脉冲的作用下,从TXD线上依次发送一帧信线上依次发送一帧信息。当发送完数据后,置中断标志息。当发送完数据后,置中断标志TI为为“1”,TXD自动维持高自动维持高电平。电平。 方式方式1所传送的波特率取决于定时器所传送的波特率取决于定时器1的溢出率和特殊功能的溢出率和特殊功能寄存器寄存器PCON中中SMOD的值,计算方法如下:的

15、值,计算方法如下: 方式方式1波特率波特率= 定时器定时器T1的溢出率的溢出率322SMOD 方式方式1接收接收 当串行口置为方式当串行口置为方式1,且,且REN=1,RI=0时,串行口处于方式时,串行口处于方式1的输入状态。它以所选波特率的的输入状态。它以所选波特率的16倍的速率对倍的速率对RXD引脚状态采引脚状态采样。当采样到由样。当采样到由1到到0的负跳变时,且接收电路连续的负跳变时,且接收电路连续8次采样均为次采样均为低电平时,表明低电平时,表明RXD线上已出现起始位,就启动接收器,开始线上已出现起始位,就启动接收器,开始接收一帧的其余的信息,一帧信息也为接收一帧的其余的信息,一帧信息

16、也为10位,一位起始位位,一位起始位“0”、八位数据位(先低位后高位)和一个停止位八位数据位(先低位后高位)和一个停止位“1”。接收电路开始。接收电路开始在每位传送数据的第在每位传送数据的第7、8、9三个脉冲进行采样,并以三取二的三个脉冲进行采样,并以三取二的原则决定所采样数据的值原则决定所采样数据的值,以保证可靠无误。在移位脉冲的作用以保证可靠无误。在移位脉冲的作用下,逐位移入移位寄存器。下,逐位移入移位寄存器。 方式方式1接收波特率设计方法与方式接收波特率设计方法与方式1传送波特率相同。传送波特率相同。 在方式在方式1接收时,必须同时满足以下两个条件:接收时,必须同时满足以下两个条件: R

17、I=0,停止位为停止位为“1”或或SM2=0时,则接收数据有效,进入时,则接收数据有效,进入SBUF,停止,停止位进入位进入RB8,并置中断请求标志,并置中断请求标志RI为为“1”,CPU响应中断(或采响应中断(或采用查询方式)后,通过指令(用查询方式)后,通过指令(MOV A,SBUF)将接收的数据)将接收的数据传送给累加器传送给累加器A,并用软件将,并用软件将RI清零。若上述两个条件不满足,清零。若上述两个条件不满足,则该组数据丢失,不再恢复。则该组数据丢失,不再恢复。3) 方式方式2串行口工作为方式串行口工作为方式2时,被定义为时,被定义为9位异步通信接口。位异步通信接口。方式方式2波特

18、率波特率= 振荡器频率振荡器频率642SMOD 方式方式2发送发送 发送数据由发送数据由TXD端输出,发送一帧信息为端输出,发送一帧信息为11位,其中一位起位,其中一位起始位(始位(0)、八位数据位(先低位后高位)、一位可控位)、八位数据位(先低位后高位)、一位可控位1或或0的第的第9位数据和一位停止位位数据和一位停止位“1”。附加的第。附加的第9位数据为位数据为SCON中的中的TB8(SCON中的中的D3位)的值,它由软件置位或清零,可作为多机通位)的值,它由软件置位或清零,可作为多机通信中地址信中地址/数据信息的标志位,也可作为数据的奇偶校验位。数据信息的标志位,也可作为数据的奇偶校验位。

19、 方式方式2接收接收 当串行口置为方式当串行口置为方式2,且,且REN=1时,串行口以方式时,串行口以方式2接收数据。接收数据。方式方式2的接收与方式的接收与方式1基本相似。数据由基本相似。数据由RXD端输入,接收端输入,接收11位信位信息,其中,一位起始位(息,其中,一位起始位(0)、八位数据位(先低位后高位),)、八位数据位(先低位后高位),一位可控位一位可控位1或或0的第的第9位数据和一位停止位位数据和一位停止位“1”。当采样到。当采样到RXD端由端由1到到0的负跳变,并判断起始位有效后,便开始接收一帧信息,的负跳变,并判断起始位有效后,便开始接收一帧信息,当接收器接收到第当接收器接收到

20、第9位数据后,又同时满足下列位数据后,又同时满足下列两个条件两个条件: RI=0; SM2=0或接收到的第或接收到的第9位数据位为位数据位为“1”时,将收到的数时,将收到的数据送入据送入SBUF(接收数据缓冲器),第(接收数据缓冲器),第9位数据送入位数据送入RB8,并对,并对RI置置1;若以上两个条件有一个不满足,所接收的信息帧就会被丢;若以上两个条件有一个不满足,所接收的信息帧就会被丢失。失。 4) 方式方式3 方式方式3为波特率可变的为波特率可变的9位异步通信方式,除了波特率有所区位异步通信方式,除了波特率有所区别之外,其余都与方式别之外,其余都与方式2相同。相同。方式方式3波特率波特率

21、= 定时器定时器T1的溢出率的溢出率322SMOD9.1.3 MCS-51串行通信的波特率串行通信的波特率 方式方式0的波特率的波特率波特率是固定的,其值为波特率是固定的,其值为fosc/12(fosc为主机频率)。为主机频率)。 方式方式2的波特率的波特率方式方式2波特率波特率= 振荡器频率振荡器频率642SMOD若若SMOD=0,则所选波特率为,则所选波特率为fosc/64;若若SMOD=1,则波特率为,则波特率为fosc/32。 方式方式1或方式或方式3的波特率的波特率 波特率波特率= 定时器定时器T1的溢出率的溢出率322SMOD定时器定时器T1溢出率溢出率=初值Kfosc211272

22、H2006MHz110D0H20011.0592MHz600E8H20011.0592MHz1.2KF4H20011.0592MHz2.4KFAH20011.0592MHz4.8KFDH20011.0592MHz9.6KFDH20111.0592MHz19.2KFFH20112MHz62.5K串口方式串口方式1或或3112MHz375K串口方式串口方式212MHz1M串口方式串口方式0相应初相应初值值所选方式所选方式C/T定时器定时器T1SMODFosc波特率波特率9.2 MCS-51单片机之间的通信单片机之间的通信 MCS-51单片机的串行通信技术根据其应用可分为双机通单片机的串行通信技术根

23、据其应用可分为双机通信和多机通信。信和多机通信。9.2.1 MCS-51双机通信技术双机通信技术最简单的双机异步通信接口电路最简单的双机异步通信接口电路 符合符合RS-422标准的双机通信接口电路标准的双机通信接口电路 1) 查询方式进行双机通信查询方式进行双机通信甲机发送,乙机接收,双方都用查询方式的程序编制。甲机发送,乙机接收,双方都用查询方式的程序编制。 甲机发送甲机发送 甲机片内甲机片内RAM中中70H7FH单元中的数据从串行口输出。单元中的数据从串行口输出。定义以工作方式定义以工作方式2发送,发送,TB8作奇偶校验位。其中作奇偶校验位。其中fosc=12MHz,波特率为,波特率为37

24、5kbit/s,所以,所以SMOD=1。 参考程序:参考程序: 乙机接收乙机接收 乙机接收到乙机接收到16字节数据并存入片外字节数据并存入片外1000H100FH单元中。单元中。接收过程要求判断奇偶校验位接收过程要求判断奇偶校验位RB8。若出错,置。若出错,置F0标志为标志为1;正确,则置正确,则置F0标志为标志为0,然后返回。,然后返回。 参考程序:参考程序:2) 中断方式进行双机通信中断方式进行双机通信 双机通信的接收方采用中断方式来接收数据,以提高双机通信的接收方采用中断方式来接收数据,以提高CPU的工作效率的工作效率,发送方仍采用查询方式发送数据。发送方仍采用查询方式发送数据。 甲机发

25、送甲机发送 将外部数据存储器将外部数据存储器1000H为首地址的字节单元中的数据向为首地址的字节单元中的数据向乙机发送,在发送之前将数据块长度乙机发送,在发送之前将数据块长度N发送给乙机,当发送发送给乙机,当发送完完N个字节后,再发送一个累加校验和。个字节后,再发送一个累加校验和。 发送的波特率为发送的波特率为9600,两机晶振均为,两机晶振均为11.0592MHz。双机。双机都工作于方式都工作于方式1,定时器,定时器Tl按方式按方式2工作,经查表得初值为工作,经查表得初值为FDH,SMOD=0。参考程序:参考程序: 乙机接收乙机接收 乙机接收甲机发送的数据,并写入以乙机接收甲机发送的数据,并

26、写入以4000H为首址的外为首址的外部数据存储器中,首先接收数据长度部数据存储器中,首先接收数据长度N,然后接收,然后接收N个字节的个字节的数据,再接收校验码,进行累加和校验,数据传送结束后,数据,再接收校验码,进行累加和校验,数据传送结束后,向甲机发送一个状态字,表示正确或出错,出错则要求重发。向甲机发送一个状态字,表示正确或出错,出错则要求重发。接收采用中断的方式,设置两个标志位来判断接收到的信息接收采用中断的方式,设置两个标志位来判断接收到的信息是数据块长度、数据还是校验和。是数据块长度、数据还是校验和。 参考程序:参考程序:9.2.2 MCS-51多机通信技术多机通信技术 通常通常MC

27、S-51的多机通信采用主从式多机通信方式。在这种的多机通信采用主从式多机通信方式。在这种方式中,只有一台主机,有多台从机。主机发送的信息可以传到方式中,只有一台主机,有多台从机。主机发送的信息可以传到各个从机或指定的从机,各从机发送的信息只能被主机接收。各个从机或指定的从机,各从机发送的信息只能被主机接收。 1) 多机通信原理多机通信原理 MCS-51串行控制寄存器中的串行控制寄存器中的SM2就是为了满足这一要求就是为了满足这一要求而设置的多机控制位而设置的多机控制位 方式方式2或或3接收时,若接收时,若SM2=1,表示置多机通信功能位,这,表示置多机通信功能位,这时时出现两种可能的情况出现两

28、种可能的情况: 接收到第接收到第9位数据为位数据为1,数据装入,数据装入SBUF,并置,并置RI=1,向,向CPU发出中断请求;发出中断请求; 接收到第接收到第9位数据为位数据为0,不产生中断,信息将被丢失。,不产生中断,信息将被丢失。 若若SM2=0,则接收到的第,则接收到的第9位信息无论是位信息无论是0还是还是1,都产生,都产生RI=1的中断标志,接收到的数据装人的中断标志,接收到的数据装人SBUF。根据这个功能,。根据这个功能,便可实现多个便可实现多个MCS-51系统的串行通信。系统的串行通信。多机通信的过程如下:多机通信的过程如下: 使所有从机的使所有从机的SM2=1,处于准备接收一帧

29、地址数据的状态;,处于准备接收一帧地址数据的状态; 主机设第主机设第9位数据为位数据为1,发送一帧地址信息,与所需的从机进,发送一帧地址信息,与所需的从机进行联络;行联络; 每个从机接收到地址信息后,各自将其与自己的地址相比较,每个从机接收到地址信息后,各自将其与自己的地址相比较,对于地址相符的从机,使对于地址相符的从机,使SM2=0,准备接收主机随后发来的所有,准备接收主机随后发来的所有信息;对于地址不相符的从机,仍保持信息;对于地址不相符的从机,仍保持SM2=1状态,对主机随后状态,对主机随后发来的数据不理睬,直至发送新的一帧地址信息;发来的数据不理睬,直至发送新的一帧地址信息; 主机发送

30、控制指令与数据给被寻址的从机。一帧数据的第主机发送控制指令与数据给被寻址的从机。一帧数据的第9位置位置0,表示发送的是数据或控制指令。,表示发送的是数据或控制指令。2)多机通信的软件协议)多机通信的软件协议 在多机通信系统中,要保证主机与从机之间可靠地通信,除在多机通信系统中,要保证主机与从机之间可靠地通信,除前面所讲的必须保证接口具有识别功能外,还必须事先达成一些前面所讲的必须保证接口具有识别功能外,还必须事先达成一些通信协议,规定一些供主机和从机识别的命令和状态字,如:通信协议,规定一些供主机和从机识别的命令和状态字,如: MCS-51系列单片机构成的多机通信系统最多允许接系列单片机构成的

31、多机通信系统最多允许接255台台从机(地址为从机(地址为00HFEH);); 地址地址FFH(第九位为(第九位为1)作为一条控制指令,使所有从机)作为一条控制指令,使所有从机都处于都处于SM2=0的状态;的状态; 其余控制指令有(以数据形式发送):其余控制指令有(以数据形式发送): 00H主机要求从机接收数据指令主机要求从机接收数据指令 01H主机要求从机发送数据指令主机要求从机发送数据指令 从机状态字格式如下:从机状态字格式如下: 主机开始发送或接收数据,发送或接收的第一个字节为数主机开始发送或接收数据,发送或接收的第一个字节为数据块长度。据块长度。RRDYTRDYERRD0D1D2D3D4

32、D5D6D73) 软件设计软件设计 主机串行通信子程序主机串行通信子程序 主机串行口设为方式主机串行口设为方式3,允许接收,并置,允许接收,并置TB8为为1,故控制字为,故控制字为11011000BD8H。主机参考程序主机参考程序 从机串行通信程序从机串行通信程序 从机的串行通信采用中断的从机的串行通信采用中断的方式启动,即接收到地址帧后就方式启动,即接收到地址帧后就进行串行口中断申请进行串行口中断申请,CPU响应后,响应后,进入中断服务程序。进入中断服务程序。 主机参考程序主机参考程序 4) 有关多机通信的几个相关问题有关多机通信的几个相关问题 在主从多机通信系统中在主从多机通信系统中,中断

33、服务程序要分别装入各中断服务程序要分别装入各个从机个从机,以便当主机发出待寻址的从机地址后以便当主机发出待寻址的从机地址后,所有从机所有从机(SM2=1、REN=1)都能接收地址帧,在确认主机寻址本机后,参与主从都能接收地址帧,在确认主机寻址本机后,参与主从通信。通信。 以上程序只介绍了多机通信的基本过程,在实际应用中要以上程序只介绍了多机通信的基本过程,在实际应用中要根据情况进行补充和修改。根据情况进行补充和修改。 在上述的主从通信程序中,为了简单,没有给出信息出错在上述的主从通信程序中,为了简单,没有给出信息出错处理程序。事实上,在串行通信过程中出现传送错误的事时有发处理程序。事实上,在串

34、行通信过程中出现传送错误的事时有发生。为确保通信可靠,需要这样的程序。例如,用校验和的方法,生。为确保通信可靠,需要这样的程序。例如,用校验和的方法,或每个数据发送两遍。当从机检测到数据不相符(来自主机的发或每个数据发送两遍。当从机检测到数据不相符(来自主机的发送和与从机累计的接收和不等,或从机两次接收到的数据不一致)送和与从机累计的接收和不等,或从机两次接收到的数据不一致)时,均认为出错。此时,从机应反映到主机,主机接收到这样的时,均认为出错。此时,从机应反映到主机,主机接收到这样的信息后,应重新发送数据,直到从机接收正确。信息后,应重新发送数据,直到从机接收正确。 9.3 PC机与单片机间

35、的通信机与单片机间的通信 1)RS-232C接口接口 9.3.1 PC机机RS-232C标准接口简介标准接口简介 RS-232C传递信息的格式标准传递信息的格式标准 RS-232C 对所传递的信息规定如下:信息的开始为起始位,对所传递的信息规定如下:信息的开始为起始位,信息的结尾为停止位,它可以是一位、一位半或两位,信息本身信息的结尾为停止位,它可以是一位、一位半或两位,信息本身可以是可以是5、6、7、8位再加一位奇偶校验位。如果两个信息之间无位再加一位奇偶校验位。如果两个信息之间无信息,则应写信息,则应写“1”表示空。表示空。 RS-232C传送的波特率(bit/s)规定为19200、960

36、0、4800、2400、600、300、150、110、75、50。RS-232C接口总线的传送距离一般不超过15米。 RS-232C的电气特性的电气特性 RS-232C是在是在TTL电路出现之前研制的,所以它的电平不是电路出现之前研制的,所以它的电平不是+5V和地,它使用负逻辑,其低电平和地,它使用负逻辑,其低电平“0”在在+5+15V之间,高电之间,高电平平“1”在在-5-15V之间,最高能承受之间,最高能承受+25V的信号电平。的信号电平。 RS-232C不能和不能和TTL电平直接相连,使用时必须加上适当的接电平直接相连,使用时必须加上适当的接口电路,否则将使口电路,否则将使TTL电路烧

37、毁。有专门集成电路,进行电平转电路烧毁。有专门集成电路,进行电平转换,如换,如MC1488、MC1489等是专门用在计算机(或终端)与等是专门用在计算机(或终端)与RS-232C标准进行电平转换的接口芯片。标准进行电平转换的接口芯片。 RS-232C机械特性及引脚功能机械特性及引脚功能 RS-232C标准总线为标准总线为25根,对其机械特性并未作严格规定,根,对其机械特性并未作严格规定,不过目前都习惯采用于母型结构,即将插头及插座插紧即可不过目前都习惯采用于母型结构,即将插头及插座插紧即可 。2)RS-232C的应用的应用 使用使用MODEM连接连接 直接连接直接连接 当计算机和终端之间不使用

38、当计算机和终端之间不使用MODEM或其它通信设备或其它通信设备(DCE)而直接通过而直接通过RS-232C接口连接时,一般只需要接口连接时,一般只需要5根线根线(不包括保护不包括保护地线以及本地地线以及本地4、5之间的连线之间的连线),但其中多数应采用反馈与交叉相,但其中多数应采用反馈与交叉相结合的连接法。结合的连接法。 三线连接法三线连接法 一种最简单的一种最简单的RS-232C连线方式,只需连线方式,只需2、3交叉连接线以及信交叉连接线以及信号地线,而将各自的号地线,而将各自的RTS和和DTR分别接到自己的分别接到自己的CTS和和DSR端端 。9.3.2 PC机与单片机之间的双机通信技术机

39、与单片机之间的双机通信技术1)通信接口电路设计)通信接口电路设计 PC机与单片机机与单片机RS-232C串口通信接口串口通信接口 PC机与单片机机与单片机RS-422/RS-485串行通信接口串行通信接口 2)串行通信程序)串行通信程序 通信程序由主机(通信程序由主机(PC系列机)程系列机)程序和从机(序和从机(MCS-51系列单片机)程系列单片机)程序两部分组成。序两部分组成。 主机通信程序设计主机通信程序设计 设信息传送波特率为设信息传送波特率为9600bit/s。数据格式为:数据格式为:l位停止位,位停止位,8位数据位、位数据位、一个停止位,偶校验,微机以查询方一个停止位,偶校验,微机以

40、查询方式发送。该程序的功能是将键盘输入式发送。该程序的功能是将键盘输入的字符发送给单片机,单片机再将收的字符发送给单片机,单片机再将收到的字符发送回来,到的字符发送回来,PC机再查询接收机再查询接收并显示在屏幕上。当输入并显示在屏幕上。当输入“ENTER”键时结束本次数据传送,键时结束本次数据传送,PC机使用串机使用串口口2。 MCS-51单片机通信软件单片机通信软件9.3.3 PC机与单片机之间多机通信技术机与单片机之间多机通信技术 在工业过程控制及数据采集系统中,往往需要控制很多点(站)在工业过程控制及数据采集系统中,往往需要控制很多点(站)或采样很多数据,而且这些点大都分布在一个车间或一

41、个厂内,或采样很多数据,而且这些点大都分布在一个车间或一个厂内,有些甚至在更远的地方(如油田数据采样系统或天然气供气系统有些甚至在更远的地方(如油田数据采样系统或天然气供气系统等),对于这样的系统通常采用主从式控制系统,即用一台主机等),对于这样的系统通常采用主从式控制系统,即用一台主机(如工业(如工业PC)多台从机(如)多台从机(如8051系列单片机)。系列单片机)。 1)多机通信原理)多机通信原理 在工业在工业PC或一般或一般PC机中,均配有串行通信适配器接口,在此机中,均配有串行通信适配器接口,在此接口适配器中的接口芯片虽然本身不具有与接口适配器中的接口芯片虽然本身不具有与MCS-51系

42、列单片机系列单片机串行的完全相同的格式,但通过软件的方法,可使该芯片能够满串行的完全相同的格式,但通过软件的方法,可使该芯片能够满足足MCS-51系列单片机多机通信的要求。系列单片机多机通信的要求。 异步通信接口芯片可发送异步通信接口芯片可发送11位数据帧,其中包括位数据帧,其中包括1位起始位,位起始位,8位数据位,位数据位,1位奇偶校验位和位奇偶校验位和1位停止位,其位停止位,其格式如下:格式如下: 停止位停止位奇偶位奇偶位D7D6D5D4D3D2D1D0起始位起始位停止位停止位TB8D7D6D5D4D3D2D1D0起始位起始位 MCS-51系列单片机多机通信的典型数据帧格式为:系列单片机多

43、机通信的典型数据帧格式为: 不同之处仅仅是奇偶校验位和不同之处仅仅是奇偶校验位和TB8。如果我们通过编程,使。如果我们通过编程,使异步通信接口芯片的奇偶校验位完全模拟异步通信接口芯片的奇偶校验位完全模拟MCS-51系列单片机的系列单片机的SB8位的功能,即可实现两机间的通信。位的功能,即可实现两机间的通信。 2)多机通信接口设计)多机通信接口设计 一个串行接口总线可以采用一个串行接口总线可以采用RS-232C(一般(一般IBM-PC机上均有机上均有此种接口适配器),也可以采用此种接口适配器),也可以采用RS-422或或RS-485(在工业(在工业PC机中机中常采用这种总线)。不论采用何种总线,

44、只是接口电路不同。常采用这种总线)。不论采用何种总线,只是接口电路不同。MCS-51系列单片机本身具有一个全双工的串行口,只需配备一系列单片机本身具有一个全双工的串行口,只需配备一个驱动、隔离电路,即可组成一个简单可行的多机通信接口。个驱动、隔离电路,即可组成一个简单可行的多机通信接口。3)多机通信软件设计)多机通信软件设计 PC机通信程序机通信程序约定如下:约定如下: 波特率设置:波特率设置:9600 bit/s。 数据传送格式:数据传送格式:l个起始位,个起始位,8个数据位,个数据位,1个可编程位(奇个可编程位(奇偶位),偶位),1个停止位。个停止位。 校验方式校验方式:由于奇偶校验位被用

45、作发送地址和数据的特征位由于奇偶校验位被用作发送地址和数据的特征位,故数据故数据 数据传送方式:发送和接收均采用查询方式。数据传送方式:发送和接收均采用查询方式。 单片机通信软件单片机通信软件 单片机的数据通信由串口完成,定时器单片机的数据通信由串口完成,定时器T1作为波特率发生器。作为波特率发生器。程序规定:程序规定: 波特率设置:波特率设置:9600 bit/s 数据传送格式:数据传送格式:l个起始位,个起始位,8个数据位,个数据位,1个可编程位个可编程位(TB8),),1个停止位。个停止位。 工作方式设置:定时器工作方式设置:定时器T1设置为方式设置为方式2,串行口设置为工作,串行口设置

46、为工作方式方式3。 数据传送方式:单片机通过中断方式发送和接收数据。数据传送方式:单片机通过中断方式发送和接收数据。小小 结结 串行通信中的数据是一位一位依次传送的,而计算机系统或串行通信中的数据是一位一位依次传送的,而计算机系统或计算机终端内部数据是并行传送的。计算机终端内部数据是并行传送的。因此,发送端必须把并行数因此,发送端必须把并行数据变成串行才能在线路上传送,接收端接收到串行数据又需要变据变成串行才能在线路上传送,接收端接收到串行数据又需要变换成并行数据才可以送给终端。并换成并行数据才可以送给终端。并/串和串串和串/并转换通常采用并转换通常采用UART芯片实现。芯片实现。 MCS-51有四种不同的工作方式,并可以设置不同的波特率。有四种不同的工作方式,并可以设置不同的波特率。使用时可根据需要选取相应的工作方式,从而得到需要的字符帧使用时可根据需要选

温馨提示

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

评论

0/150

提交评论