串行口以及串行通信技术.ppt

上传人:石*** 文档编号:43308984 上传时间:2022-09-17 格式:PPT 页数:74 大小:2.65MB
返回 下载 相关 举报
串行口以及串行通信技术.ppt_第1页
第1页 / 共74页
串行口以及串行通信技术.ppt_第2页
第2页 / 共74页
点击查看更多>>
资源描述

《串行口以及串行通信技术.ppt》由会员分享,可在线阅读,更多相关《串行口以及串行通信技术.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关于串行口及串行通信技术第一张,PPT共七十四页,创作于2022年6月什么是串行通信?什么是串行通信?vv串行通信和并行通信串行通信和并行通信 计算机1 GND 计算机2 GND并行通信 计算机1 GND 计算机2 GND发送接收串行通信并行通信:数据的各位并行通信:数据的各位并行通信:数据的各位并行通信:数据的各位同时同时同时同时传送;传送;传送;传送;串行通信:数据串行通信:数据串行通信:数据串行通信:数据一位一位一位一位一位一位一位一位顺序传送。顺序传送。顺序传送。顺序传送。v快、多快、多(数据线)、近近慢、少、远第二张,PPT共七十四页,创作于2022年6月串行通信制式:串行通信制式:

2、单工单工单工单工(a)(a)(a)(a)、半双工半双工半双工半双工(b)(b)和和和和全双工全双工全双工全双工(c)(c)(c)(c)(simplex half duplex full duplex)(simplex half duplex full duplex)(simplex half duplex full duplex)(simplex half duplex full duplex)发送器A站接收器B站单工通信(a)发收A站发收B站发收A站发收B站(b)(c)第三张,PPT共七十四页,创作于2022年6月v 异异 步步 通通 信信,ASYNC(Asynchronous Data C

3、ommunication):帧格式传送:帧格式传送,信息量不大信息量不大信息量不大信息量不大vv1个起始位,个起始位,个起始位,个起始位,0vv58个数据位个数据位vv奇偶校验位奇偶校验位vv12 2个停止位,个停止位,0串行通信的分类:串行通信的分类:异步异步异步异步(Asynchronous Communication)(Asynchronous Communication)(Asynchronous Communication)(Asynchronous Communication)同步同步同步同步(Synchronous Communication)(Synchronous Commu

4、nication)(Synchronous Communication)(Synchronous Communication)第四张,PPT共七十四页,创作于2022年6月v 同同 步步 通通 信信,SYNC(Synchronous Data Communication):严严格格同同步步,发发送送同同步步字字符符,数数据据连连续续,信息量大信息量大信息量大信息量大,速度较高速度较高vv按数据块传送按数据块传送按数据块传送按数据块传送把要传送的字符顺序连接起来把要传送的字符顺序连接起来把要传送的字符顺序连接起来把要传送的字符顺序连接起来数据块前有同步字符,后有检验字符数据块前有同步字符,后有检

5、验字符数据块前有同步字符,后有检验字符数据块前有同步字符,后有检验字符同步字符可由通信双方约定,也可采用ASCII码中规定的SYNC代码,即16H。数据数据数据数据数据同步字符同步字符1同步字符2同步传送时,要求用同步传送时,要求用时钟时钟来实现发送端与接收端之间的同步。来实现发送端与接收端之间的同步。第五张,PPT共七十四页,创作于2022年6月波特率(Band rate)vv数据传送速率:每秒传送的二进制代码的位数。数据传送速率:每秒传送的二进制代码的位数。vv波特率反映了串行通信的速率,也反映了对于传输通波特率反映了串行通信的速率,也反映了对于传输通道的要求。波特率越高,要求传输通道的频

6、率越宽,道的要求。波特率越高,要求传输通道的频率越宽,一般异步通信的波特率在一般异步通信的波特率在50b/s19200b/s50b/s19200b/s之间。之间。vv相互通信的甲乙双方必须具有相同的波特率,否则无法成相互通信的甲乙双方必须具有相同的波特率,否则无法成相互通信的甲乙双方必须具有相同的波特率,否则无法成相互通信的甲乙双方必须具有相同的波特率,否则无法成功地完成串行数据通信。功地完成串行数据通信。功地完成串行数据通信。功地完成串行数据通信。通信线上传送的所有位信号都保持一致的信号持续时间,通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送速度确定每一位

7、的信号持续时间都由数据传送速度确定。第六张,PPT共七十四页,创作于2022年6月举例vv假如在假如在假如在假如在1 1秒内,秒内,89C51串口把串口把串口把串口把100个个个个FFH的数据发送出去,的数据发送出去,问波特率是多少?假若每个字符是包含一个起始位、问波特率是多少?假若每个字符是包含一个起始位、一个终止位和一个终止位和8个数据位。个数据位。第七张,PPT共七十四页,创作于2022年6月根据串行通信的格式及约定(如:同步方式、通根据串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平讯速率、数据块格式、信号电平等)不同,形等)不同,形成了多种串行通信的协议与接口标准。

8、成了多种串行通信的协议与接口标准。常见的有:常见的有:通用异步收发器通用异步收发器(UARTUART)本课程介绍的串口本课程介绍的串口通用串行总线(通用串行总线(USBUSB)I I2 2C C总线总线CANCAN总线总线SPISPI总线总线RS-485RS-485,RS-232CRS-232C,RS422ARS422A标准标准等等等等串行通信的基本特征是数据逐位顺序进行传送。串行通信的基本特征是数据逐位顺序进行传送。第八张,PPT共七十四页,创作于2022年6月 串行口及串行通信技术串行通信基本知识89C51串口及其应用两个单片机之间的通信单片机与PC机之间的通信第九张,PPT共七十四页,创

9、作于2022年6月vv概述概述有一个可编程全双工异步串行通信接口(有一个可编程全双工异步串行通信接口(有一个可编程全双工异步串行通信接口(有一个可编程全双工异步串行通信接口(UART)UART)(Universal(Universal(Universal(Universal Asynchronous Receiver/TransmitterAsynchronous Receiver/TransmitterAsynchronous Receiver/TransmitterAsynchronous Receiver/Transmitter )管脚:管脚:TXDTXD(P3.1P3.1P3.1P3.

10、1)、)、)、)、RXDRXDRXDRXD(P3.0P3.0)可同时发送、接收数据可同时发送、接收数据可同时发送、接收数据可同时发送、接收数据(Transmit/Receive)Transmit/Receive)有四种工作方式,帧格式有有四种工作方式,帧格式有8 8 8 8、1010、11111111位。位。位。位。波特率波特率(Baud rate)(Baud rate)可设置可设置 波特率:每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。89C51的串行接口的串行接口第十张,PPT共七十四页,创作于2022年6月图7-7return第十一张,PPT共七十四页,创作于2022年

11、6月串行口结构 引脚RXD (P3.0串行数据接收端)引脚TXD (P3.1串行数据发送端)MOV SBUF,A :发送数据到串口引脚 MOV A,SBUF :接收数据 RI :从串口上接收数据到SBUF RI=1 TI :数据从SBUF向外发送完 TI=1第十二张,PPT共七十四页,创作于2022年6月MCS-51串行接口寄存器SBUFSBUF串行口数据缓冲器串行口数据缓冲器串行口数据缓冲器串行口数据缓冲器SCONSCON串行口控制寄存器串行口控制寄存器串行口控制寄存器串行口控制寄存器PCONPCON电源及波特率选择寄存器电源及波特率选择寄存器电源及波特率选择寄存器电源及波特率选择寄存器第十

12、三张,PPT共七十四页,创作于2022年6月控制寄存器控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式选择多机通信控制位允许串行接收位接收数据的第9位发送数据的第9位接收中断标志发送中断标志9FH9EH9DH9CH9BH9AH99H98HvSM2置置1,多机通信,用于方式,多机通信,用于方式2和方式和方式3D81,地址帧,地址帧D80,数据帧,数据帧vSM2置置0,不属于多机通信,不属于多机通信第十四张,PPT共七十四页,创作于2022年6月SM0 SM1工作方式工作方式功能功能波特率波特率0 0方式方式08位同步移位寄存器位同步移位寄存器fosc/120 1方式方式11

13、0位位UART可变可变1 0方式方式211位位UARTfosc/64或或fosc/321 1方式方式311位位UART可变可变串行方式的定义例:设串行口工作在方式例:设串行口工作在方式例:设串行口工作在方式例:设串行口工作在方式1 1 1 1,允许接收,则指令为:,允许接收,则指令为:,允许接收,则指令为:,允许接收,则指令为:MOV SCON,#01010000BMOV SCON,#01010000BMOV SCON,#01010000BMOV SCON,#01010000B第十五张,PPT共七十四页,创作于2022年6月串行通信只用该位,为串行通信只用该位,为串行通信只用该位,为串行通信只

14、用该位,为1 1时,波特率时,波特率时,波特率时,波特率22;为;为;为;为0 0时不变。时不变。时不变。时不变。电源及波特率选择寄存器电源及波特率选择寄存器PCONPCONSMOD GF1 GF0PDIDL87H第十六张,PPT共七十四页,创作于2022年6月串行口四种工作方式应用比较串行口四种工作方式应用比较vv方式的选择由方式的选择由方式的选择由方式的选择由SM1SM1、SM0SM0实现。实现。实现。实现。工作方式功能说明波特率方式08位同步移位寄存器常用于扩展I/O口fosc/12方式110位UART8位数据、起始位、结束位可变(取决于定时器1溢出率)方式211位UART8位数据、起始

15、位0、结束位1和奇偶校验位fosc/64或fosc/32方式311位UART数据、起始、校验、结束位可变(取决于定时器1溢出率)波特率的设定可参见表7.2,实际无需计算。表表第十七张,PPT共七十四页,创作于2022年6月方式0 在方式在方式在方式在方式0 0 0 0下,串行口作同步移位寄存器用,其波特率固定下,串行口作同步移位寄存器用,其波特率固定下,串行口作同步移位寄存器用,其波特率固定下,串行口作同步移位寄存器用,其波特率固定为为为为f f f foscoscoscosc/12/12/12/12。串行数据从。串行数据从。串行数据从。串行数据从RXD(P3.0)RXD(P3.0)RXD(P

16、3.0)RXD(P3.0)端输入或输出,同步移位脉冲端输入或输出,同步移位脉冲端输入或输出,同步移位脉冲端输入或输出,同步移位脉冲由由由由TXD(P3.1)TXD(P3.1)TXD(P3.1)TXD(P3.1)送出。这种方式常用于扩展送出。这种方式常用于扩展送出。这种方式常用于扩展送出。这种方式常用于扩展I/OI/OI/OI/O口。口。口。口。方式0用于扩展I/O口输出第十八张,PPT共七十四页,创作于2022年6月方式0用于扩展I/O口输入第十九张,PPT共七十四页,创作于2022年6月方式110位的帧格式 串行口为波特率可调的串行口为波特率可调的1010位通用异步接口位通用异步接口UART

17、UART。每发送或接收。每发送或接收的一帧信息中,包括的一帧信息中,包括1 1位起始位位起始位0 0,8 8位数据位和位数据位和1 1位停止位位停止位1 1。第二十张,PPT共七十四页,创作于2022年6月方式2 串行口为串行口为串行口为串行口为11111111位位位位UARTUARTUARTUART,传送波特率与,传送波特率与,传送波特率与,传送波特率与SMODSMODSMODSMOD有关。发送或接收的有关。发送或接收的有关。发送或接收的有关。发送或接收的一帧数据中包括一帧数据中包括一帧数据中包括一帧数据中包括1 1 1 1位起始位位起始位位起始位位起始位0 0 0 0,8 8 8 8位数据

18、位,位数据位,位数据位,位数据位,1 1 1 1位可编程位位可编程位位可编程位位可编程位(用于奇偶校用于奇偶校用于奇偶校用于奇偶校验验验验)和和和和1 1 1 1位停止位位停止位位停止位位停止位1 1 1 1。11位的帧格式第二十一张,PPT共七十四页,创作于2022年6月方式3 方式方式方式方式3 3 3 3为波特率可变的为波特率可变的为波特率可变的为波特率可变的11111111位位位位UARTUARTUARTUART通信方式,除了波特率以通信方式,除了波特率以通信方式,除了波特率以通信方式,除了波特率以外,方式外,方式外,方式外,方式3 3 3 3和方式和方式和方式和方式2 2 2 2完全

19、相同。完全相同。完全相同。完全相同。第二十二张,PPT共七十四页,创作于2022年6月MCS-51串行口的波特率串行口的波特率1.1.方式方式方式方式0 0和方式和方式2 2的波特率是固定的的波特率是固定的的波特率是固定的的波特率是固定的 在方式2中,波特率取决于PCON中的SMOD值:当SMOD=0时,波特率为fosc/64;当SMOD=1时,波特率为fosc/32.即波特率=。oscSMODf642 在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变图图第二十三张,PPT共七十四页,创作于2022年6月2.2.2.2.方式方式方式方式1 1 1 1和方式和方式和方式和方式3

20、 3 3 3的波特率可变,由定时器的波特率可变,由定时器的波特率可变,由定时器的波特率可变,由定时器1 1 1 1的溢出率决定的溢出率决定的溢出率决定的溢出率决定波特率/(b/s)fosc/MHzSMOD定时器1C/模式初始值方式0:1 M方式2:375 k方式1、3:62.5 k19.2 k9.6 k4.8 k2.4 k1.2 k137.5 k11011012121211.05911.05911.05911.05911.05911.9866121110000000000000000222222221FFHFDHFDHFAHF4HE8H1DH72HFEEBHT波特率=returnRETURN第

21、二十四张,PPT共七十四页,创作于2022年6月 解解决决的的方方法法只只有有调调整整单单片片机机的的时时钟钟频频率率foscfosc,通常采用,通常采用11.0592MHz11.0592MHz晶振晶振。常用波特率及其产生条件常用波特率及其产生条件 常用波特率通常按规范取常用波特率通常按规范取12001200、24002400、48004800、96009600、,若采用晶振,若采用晶振12MHz12MHz和和6MHz6MHz,则计算得出的,则计算得出的T1T1定时定时初值将不是一个整数,产生波特率误差而影响串行初值将不是一个整数,产生波特率误差而影响串行通信的同步性能。通信的同步性能。第二十

22、五张,PPT共七十四页,创作于2022年6月四种工作方式应用举例第二十六张,PPT共七十四页,创作于2022年6月串行口的应用v编程注意事项1.设置串行口工作方式设置串行口工作方式2.设置波特率(设置波特率(SMOD,若是方式,若是方式1、3,设置,设置TI初值)初值)3.若串行口接收数据,若串行口接收数据,REN必须赋值为必须赋值为14.TI和和RI标志,须由软件清标志,须由软件清05.第第9位位第二十七张,PPT共七十四页,创作于2022年6月串行口工作方式0 用于扩展用于扩展I/O口口,外接,外接74HC164(串入并出)或(串入并出)或165(并入(并入串出)。串出)。RXD作为数据输

23、入作为数据输入/输出端输出端,TXD作为同步时钟信号,作为同步时钟信号,接至时钟端。接至时钟端。8位数据为位数据为1帧,由低位到高位,帧,由低位到高位,无起始位和停止位无起始位和停止位。波特率:波特率:fosc/12第二十八张,PPT共七十四页,创作于2022年6月例v用89C51串行口外接CD4049或164串入-并出移位寄存器扩展8位并行口;8位并行口的每位都接一个发光二极管,要求发光二极管从左到右以一定延迟轮流显示,并不断循环。设发光二极管为共阴极接法。如图所示。89C51 RXD TXD P1.0DATA CD4049CLK STB 第二十九张,PPT共七十四页,创作于2022年6月v

24、解:设数据串行发送采用中断方式,显示延迟通过延迟程序DELAY来实现。v程序清单:ORG 0000H LJMP MAINORG0023HAJMPSBRORG2000HMAIN:MOVSCON,#00H ;串行口方式0初始化MOVA,#80H ;最左一位发光二极管先亮CLRP1.0 ;关闭并行输出MOVSBUF,A ;开始串行输出LOOP:SJMP$;等待中断SBR:SETBP1.0 ;启动并行输出ACALL DELAY ;显示延迟一段时间CLRTI ;清发送中断标志RRA ;准备右移一位显示CLR P1.0 ;关闭并行输出MOVSBUF,A ;再一次串行输出RETI 第三十张,PPT共七十四页

25、,创作于2022年6月串行口工作方式1v10位位通用异步串行口通用异步串行口UART(Universal Asynchronous Receiver/Transmitter),1位起始位、位起始位、8位数据、位数据、1位停位停止位。止位。v波特率可调波特率可调,由定时器,由定时器T1的溢出率(定时时间)决定。的溢出率(定时时间)决定。v当一帧数据接收完毕后,必须同时满足以下条件,这次当一帧数据接收完毕后,必须同时满足以下条件,这次接收才真正有效:接收才真正有效:REN=1RI=0,SBUF为空为空SM2=0或或SM2=1时,收到停止位为时,收到停止位为1,收到的数据才能装到,收到的数据才能装到

26、SBUF里。里。第三十一张,PPT共七十四页,创作于2022年6月串行口工作方式1波特率波特率 (定时器(定时器T1的溢出速率)的溢出速率)PCON.7波特率选波特率选择位择位第三十二张,PPT共七十四页,创作于2022年6月v7位ASCII码+1位奇偶校验位=8vA中1的个数为奇数,P=1,如果最高位为为P的值,则A的1的个数编程偶数,因此,要把P的值取反以后放入ASCII码最高位,才是奇校验。v设发送数据区的首地址为20H,接收首地址为40H例例 89C51串行口按双工方式收发串行口按双工方式收发ASCII字符,最高位用作奇校验,字符,最高位用作奇校验,要求传送码率为要求传送码率为1200

27、b/s,fosc=11.059MHz。奇偶校验位:数据位和奇偶位中1的个数偶校验:以上1的个数为偶数奇校验:以上1的个数为奇数第三十三张,PPT共七十四页,创作于2022年6月MOV TMOD,#20H;MOV TL1,#0E8H;MOV TH1,#0E8H;SETB TR1;MOV SCON,#50H;MOV R0,#20H;MOV R1,#40H;SETBES;SETB EA;LCALLSOUT;SJMP$;T1为模式为模式2时间常数,见表时间常数,见表7-2重装时常重装时常启动启动T1串行口方式串行口方式1,允许接收,允许接收发送数据区首址发送数据区首址接收数据区首址接收数据区首址串行口

28、开中断串行口开中断CPU开中断开中断发送一个字符发送一个字符等待中断等待中断表表ORG0000HLJMP MAINORG0050HMAIN:第三十四张,PPT共七十四页,创作于2022年6月中断服务程序ORG0023HLJMP SBR1ORG0100HPUSHACCPUSHPSWJNBRI,SENDLCALLSINSJMP NEXTLCALLSOUTPOPPSWPOPACCRETISBR1:SEND:NEXT:第三十五张,PPT共七十四页,创作于2022年6月发送子程序CLRTIMOV A,R0MOV C,PCPLCMOV ACC.7,CMOV SBUF,AINC R0RETSOUT:;若奇数

29、个;若奇数个1,P1;取要发送的数据;取要发送的数据;A中的中的ASCII码为奇校验码为奇校验;发送;发送;修改发送数据区指针;修改发送数据区指针第三十六张,PPT共七十四页,创作于2022年6月接收子程序CLR RIMOV A,SBUFJNB P,ERANL A,#7FHMOV R1,AINC R1RETSIN:;若偶数个;若偶数个1,出错,出错;读接收到的数据;读接收到的数据;数据存入接收区;数据存入接收区;修改接收数据区指针;修改接收数据区指针;若奇数个;若奇数个1,ACC.7清清0ER:;处理出错程序;处理出错程序第三十七张,PPT共七十四页,创作于2022年6月串行口工作方式2和方式

30、3每帧每帧11位:位:1位起始位,位起始位,9位数据(位数据(D8D0),),1位停止位;位停止位;第第9位数据作为奇偶校验位或位数据作为奇偶校验位或地址地址/数据标志位数据标志位;发送时发送时,第,第9位(位(D8)数据装入)数据装入TB8;-串口自动完成串口自动完成MOV A,DATAMOV TB8,CMOV SBUF,A接收时接收时,第,第9位(位(D8)数据装入)数据装入RB8;D0D7 SBUFD8RB8RI=1多机通信第三十八张,PPT共七十四页,创作于2022年6月串行口工作方式2和方式3v方式2,波特率位fosc/32或fosc/64;v方式3,波特率可调,同方式1。第三十九张

31、,PPT共七十四页,创作于2022年6月用第9个数据位作奇偶校验位,编制串行口方式2的发送程序。v例:设计一个发送程序,将片内RAM 50H5FH中的数据串行发送;串行口设定为方式2状态,TB8作奇偶校验位,采用偶校验。串行口初始化地址指针R0长度计数器R7置初值取数据APTB8ASBUFTI=1?0TI,指针R0+1(R7)-1=0?返回第四十张,PPT共七十四页,创作于2022年6月程序清单TRT:MOV SCON,#80H ;方式2设定 MOV PCON,#80H ;波特率=fosc/32 MOV R0,#50H ;首地址R0 MOV R7,#10H ;数据长度LOOP:MOV A,R0

32、 ;取数据 MOV C,PSW.0 ;PTB8 MOV TB8,C MOV SBUF,A ;数据SBUF,启动发送WAIT:JBC TI,CONT ;判断发送中断标志 SJMP WAITCONT:INC R0 DJNZ R7,LOOP RET第四十一张,PPT共七十四页,创作于2022年6月 串行口及串行通信技术串行通信基本知识89C51串口及其应用两个单片机之间的通信单片机与PC机之间的通信第四十二张,PPT共七十四页,创作于2022年6月两个单片机之间的通信v通信协议:帧格式、校验方式等 v波特率第四十三张,PPT共七十四页,创作于2022年6月双机通信软件编程双机通信软件编程查询方式查询

33、方式 1)甲机发送甲机发送 编程将甲机片外1000H101FH单元的数据块从串行口输出。定义方式2发送,TB8为奇偶校验位。发送波特率375 kb/s,晶振为12 MHz,SMOD=1。第四十四张,PPT共七十四页,创作于2022年6月参考发送子程序如下:参考发送子程序如下:参考发送子程序如下:参考发送子程序如下:MOV MOV SCONSCON,#80H#80H ;设置串行口为方式;设置串行口为方式;设置串行口为方式;设置串行口为方式2 2 MOV MOV PCONPCON,#80H#80H ;SMOD=1SMOD=1 MOV MOV DPTRDPTR,#1000H#1000H ;设数据块指

34、针;设数据块指针;设数据块指针;设数据块指针 MOV MOV R7R7,#20H#20H ;设数据块长度;设数据块长度;设数据块长度;设数据块长度 STARTSTART:MOVX AMOVX A,DPTR DPTR ;取数据给;取数据给;取数据给;取数据给A A MOV MOV C,P C,P MOV MOV TB8,C TB8,C ;奇偶位;奇偶位;奇偶位;奇偶位P P送给送给送给送给TB8TB8 MOV MOV SBUF,A SBUF,A ;数据送;数据送;数据送;数据送SBUFSBUF,启动发送,启动发送,启动发送,启动发送 WAIT:JBC TI,CONT WAIT:JBC TI,CO

35、NT ;判断一帧是否发送完。若送完,清;判断一帧是否发送完。若送完,清;判断一帧是否发送完。若送完,清;判断一帧是否发送完。若送完,清TITI,取下一个数据,取下一个数据,取下一个数据,取下一个数据 AJMP WAIT AJMP WAIT ;未完等待;未完等待;未完等待;未完等待 CONTCONT:INC DPTR INC DPTR ;更新数据单元;更新数据单元;更新数据单元;更新数据单元 DJNZ R7,START DJNZ R7,START ;循环发送至结束;循环发送至结束;循环发送至结束;循环发送至结束 RET RET 第四十五张,PPT共七十四页,创作于2022年6月2)乙机接收乙机接

36、收 编程使乙机接收甲机发送过来的数据块,并存入片内50H6FH单元。接收过程要求判断RB8,若出错置F0标志为1,正确则置F0标志为0,然后返回。在进行双机通信时,两机应采用相同的工作方式和波特率。第四十六张,PPT共七十四页,创作于2022年6月参考接收子程序如下:参考接收子程序如下:参考接收子程序如下:参考接收子程序如下:MOV SCONMOV SCON,#80H#80H ;设置串行口为方式;设置串行口为方式2 2 MOV PCONMOV PCON,#80H#80H ;SMOD=1SMOD=1MOV R0MOV R0,#50H#50H ;设置数据块指针;设置数据块指针MOV R7MOV R

37、7,#20H#20H ;设置数据块长度;设置数据块长度SETB REN SETB REN ;启动接收;启动接收WAITWAIT:JBC RIJBC RI,READ READ ;判断是否接收完一帧。若完,清;判断是否接收完一帧。若完,清RIRI,读入数据,读入数据AJMP AJMP WAIT WAIT ;未完等待;未完等待READREAD:MOV AMOV A,SBUF SBUF ;读入一帧数据;读入一帧数据a aJNB PSW.0,PZ JNB PSW.0,PZ ;奇偶位为;奇偶位为0 0则转则转JNB RB8,ERR JNB RB8,ERR ;P=1P=1,RB8=0RB8=0,则出错,则出

38、错 SJMP RIGHT SJMP RIGHT ;二者全为;二者全为1 1,则正确,则正确 PZ:JB RB8,ERR PZ:JB RB8,ERR ;P=0P=0,RB8=1RB8=1,则出错,则出错RIGHT:MOV R0,A RIGHT:MOV R0,A ;正确,存放数据;正确,存放数据INC R0 INC R0 ;更新地址指针;更新地址指针DJNZ R7,WAIT DJNZ R7,WAIT ;判断数据块是否接收完;判断数据块是否接收完CLR PSW.5 CLR PSW.5 ;接收正确,且接收完清;接收正确,且接收完清F0F0标志标志RET RET ;返回;返回 ERR:SETB PSW.

39、5 ERR:SETB PSW.5 ;出错,置;出错,置F0F0标志为标志为1 1RET RET ;返回;返回第四十七张,PPT共七十四页,创作于2022年6月7.3 多个89C51通信多机通信步骤:多机通信步骤:1.主机主机SM20,所有从机的,所有从机的SM21,以便接收主机发来的地址。,以便接收主机发来的地址。2.主机发送地址,其中主机发送地址,其中D81。3.所有从机接收主机发来的地址,进入中断服务程序,并和本所有从机接收主机发来的地址,进入中断服务程序,并和本机地址比较,确认是否是被寻址从机。机地址比较,确认是否是被寻址从机。4.被寻址从机清除被寻址从机清除SM2,以便接收数据,并向主

40、机发回从机地,以便接收数据,并向主机发回从机地址,供主机核对。其他从机保持址,供主机核对。其他从机保持SM21,并退出中断服务程,并退出中断服务程序。序。5.数据通信完毕,被寻址从机数据通信完毕,被寻址从机SM21,退出中断服务程序,等待下,退出中断服务程序,等待下次通信。次通信。第四十八张,PPT共七十四页,创作于2022年6月 串行口及串行通信技术串行通信基本知识89C51串口及其应用两个单片机之间的通信单片机与PC机之间的通信第四十九张,PPT共七十四页,创作于2022年6月PC机与单片机通信机与单片机通信v PC机是国内目前使用应用最广泛的微机,在与单片机串行接口后,可以方便地构成主从

41、分布式多机系统。从机(单片机)作数据采集或实时控制,主机作数据处理或中央管理等。v 这种多机系统在过程控制、仪表生产、生产自动化和企业管理等方面都有广泛的应用。此外微机和单片机串行接口后,可以大大方便单片机的开发过程。第五十张,PPT共七十四页,创作于2022年6月7.4 89C51与PC机通信电气规范不一致,电气规范不一致,TTL与与RS232电平转换,电平转换,1488、148989C51第五十一张,PPT共七十四页,创作于2022年6月采用MAX232芯片接口的PC机与89C51单片机串行通信接口电路只需单一的+5V电源即可Tin、Rout-接单片机Rin、Tout-接PC机 Tin、T

42、out成对使用 Rin、Rout成对使用 T、R是针对单片机的动作命名的第五十二张,PPT共七十四页,创作于2022年6月PC机一般使用通用异步接收器机一般使用通用异步接收器/发送器发送器(8250)或或16c550/作为串行通讯的控制器,使用作为串行通讯的控制器,使用9针针或或25针的接插件将串行口的信号送出。针的接插件将串行口的信号送出。第五十三张,PPT共七十四页,创作于2022年6月v一、PC机串口资源及编程使用方法 v PC机一般有COM1和COM2两个串口。v 寄存器名称端口地址复位后初始值COM1COM2发送器保持寄存器(TBR)3F8H2F8HXXXXXXXXB接收器数据寄存器

43、(RBR)3F8H2F8HXXXXXXXXB波特率因子低位寄存器(DLL)3F8H2F8H00000000B波特率因子高位寄存器(DLH)3F9H2F9H00000001B中断允许寄存器(IER)3F9H2F9H00000000B中断标识寄存器(IIR)3FAH2FAH00000000B线路控制寄存器(LCR)3FBH2FBH01100000B调制解调器控制寄存器(MCR)3FCH2FCHXXXX0000B线路状态寄存器(LSR)3FDH2FDHXXXXXXXXB调制解调器状态寄存器(MSR)3FEH2FEHXXXXXXXXB8250系列寄系列寄存器的存器的定义:定义:第五十四张,PPT共七十

44、四页,创作于2022年6月使用串口必须先初始化,有以下使用串口必须先初始化,有以下4个步骤个步骤DLHDLL波特率DLHDLL波特率DLHDLL波特率09H00H5000HC0H60000H18H480006H00H7500H60H120000H10H720004H17H11000H40H180000H0CH960003H59H134.500H3AH200000H06H1920003H00H15000H30H240000H03H3840001H80H30000H20H360000H01H115200例:设例:设COM1的波特率为的波特率为9600,则,则outportb(0 x3fb,0 x8

45、0););/*写线路控制寄存器,访问波特率因子寄存器写线路控制寄存器,访问波特率因子寄存器*/outportb(0 x3f8,0 x0c););/*写入波特率因子低字节写入波特率因子低字节*/outportb(0 x3f9,0 x00););/*写入波特率因子高字节写入波特率因子高字节*/设置波特率设置波特率PC机串口初始化第五十五张,PPT共七十四页,创作于2022年6月 设置数据格式设置数据格式 例:设数据为例:设数据为7位,位,1位起始位,位起始位,1位停止位,偶校验,则设置位停止位,偶校验,则设置如下:如下:outportb(0 x3fb,0 x1a);设置操作方式设置操作方式不允许中

46、断:不允许中断:outportb(0 x3fc,0 x03);允许中断:允许中断:outportb(0 x3fc,0 x0b);自测试工作方式,且不允许中断:自测试工作方式,且不允许中断:outportb(0 x3fc,0 x13);设置中断允许寄存器设置中断允许寄存器开放中断语句:开放中断语句:outportb(0 x3f9,0 x0f);PC机串口初始化第五十六张,PPT共七十四页,创作于2022年6月例例1 将将PC机的机的COM1初始化为初始化为9600波特率、波特率、7位数据、偶校验、位数据、偶校验、1位停止位、不中断,则位停止位、不中断,则初始程序初始程序如下:如下:initcom

47、1()()outportb(0 x3fb,0 x80););/*写线路控制寄存器,访问波特率因子写线路控制寄存器,访问波特率因子寄存器寄存器*/outportb(0 x3f8,0 x0c););/*写入波特率因子低字节写入波特率因子低字节*/outportb(0 x3f9,0 x00););/*写入波特率因子高字节写入波特率因子高字节*/outportb(0 x3fb,0 x1a););/*设数据为设数据为7位,位,1位起始位起始 位,位,1位停位停止位,偶校验止位,偶校验*/outportb(0 x3fc,0 x03););/*不允许中断不允许中断*/PC机的发送、接收程序第五十七张,PPT

48、共七十四页,创作于2022年6月例例2 PC机从机从COM1发送一个字符,程序如下:发送一个字符,程序如下:send(char sendchar)Int coms;do/*查询发送缓冲器是否空查询发送缓冲器是否空*/coms=inportb(0 x3fd););while(coms!=0 x20););查询等待查询等待com1的线路状态寄存器(的线路状态寄存器(LSR)的第五位的状态是否为的第五位的状态是否为1,即发送保持寄存器是否为空?即发送保持寄存器是否为空?outportb(0 x3f8,sendchar););第五十八张,PPT共七十四页,创作于2022年6月例例3 PC机从机从COM

49、1接收一个字符,程序如下:接收一个字符,程序如下:char receive()()char coms,receivechar;waitok:/*查询接收数据是否有效查询接收数据是否有效*/coms=inportb(0 x3fd););if(coms&0 x01)=0)goto waitok;receivechar=inportb(0 x3f8););return receivechar;v第五十九张,PPT共七十四页,创作于2022年6月v二、二、PC机与单片机双机通信机与单片机双机通信 v PC机与单片机构成主从式上下位计算机系统。机与单片机构成主从式上下位计算机系统。v 例:从例:从PC机

50、键盘上输入一个字符,然后将这个字符发送给单片机,单片机键盘上输入一个字符,然后将这个字符发送给单片机,单片机接收到这个字符后,不做任何处理,又将它发回给机接收到这个字符后,不做任何处理,又将它发回给PC机,机,PC机将这个字机将这个字符显示在屏幕上。连接电路如下:符显示在屏幕上。连接电路如下:PC机RXDTXDMAX232T1OUTR1INT1IN(R1OUTRXDTXDMCS-51约定:约定:u波特率:波特率:2400b/su信息格式:信息格式:8位数据,位数据,1位停止位位停止位u传送方式:传送方式:PC机采用查询式收发数据,单片机采用中断式收发数据机采用查询式收发数据,单片机采用中断式收

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁