8串行通信及串行接口技术.ppt
《8串行通信及串行接口技术.ppt》由会员分享,可在线阅读,更多相关《8串行通信及串行接口技术.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8串行通信串行通信 及串行接口技术及串行接口技术串行通信概述串行通信概述89C51串行通信接口串行通信接口串行接口技术串行接口技术1.通信方式通信方式计算机与外界(计算机与计算机之间、计算机与外计算机与外界(计算机与计算机之间、计算机与外围设备之间)的信息交换称为通信。围设备之间)的信息交换称为通信。并行通信并行通信 串行通信串行通信串行通信概述串行通信概述2数据位数据位:根据情况可取:根据情况可取5 5位、位、6 6位、位、7 7位或位或8 8位,低位在前高位在后。位,低位在前高位在后。2串行通信串行通信(1)分类分类(按数据格式分)按数据格式分)异步通信异步通信 停止位停止位:通常:通常可
2、取可取1 1位、位、1.51.5位或位或2 2位,用于位,用于向接收端表示向接收端表示一帧字符信息一帧字符信息已发送完毕,已发送完毕,也为发送下一也为发送下一帧字符作准备。帧字符作准备。3 同步通信同步通信*n 在同步通信中,同步字符可以采用统一标准字符,也可在同步通信中,同步字符可以采用统一标准字符,也可由用户约定。由用户约定。l 在在单同步字符帧单同步字符帧结构中,同步字符常采用结构中,同步字符常采用ASCIIASCII码中规定码中规定的的SYN(SYN(即即16H)16H)代码;代码;l 在在双同步字符帧双同步字符帧结构中,同步字符一般采用国际通用标结构中,同步字符一般采用国际通用标准代
3、码准代码EB90HEB90H。4(2)波特率)波特率(baudrate)l 波特率是串行通信的重要指标,用于表征数据传输波特率是串行通信的重要指标,用于表征数据传输的速度,定义为每秒钟传送二进制数码的位数的速度,定义为每秒钟传送二进制数码的位数(bit)(bit),单位是单位是波特波特,即即1 1波特波特=1bit/s=1bit/s(bps)bps)。【例例】某异步通信的传输速率为某异步通信的传输速率为72007200字符帧字符帧/分钟,分钟,每个字符帧的长度为每个字符帧的长度为1010位。则传输速率为:位。则传输速率为:7200 10位位 60秒秒=1200bps每位传输时间(位宽):每位传
4、输时间(位宽):5(3)串行通信的差错校验)串行通信的差错校验 奇偶校验奇偶校验发送数据时,数据后尾随一位奇偶校验位(发送数据时,数据后尾随一位奇偶校验位(0或或1)。当设置为奇校验时,数据中)。当设置为奇校验时,数据中1的个数与校验位的个数与校验位1的个数之和应为奇数;当设置为偶校验时,数据中的个数之和应为奇数;当设置为偶校验时,数据中1的个数与校验位的个数与校验位1的个数之和应为偶数。的个数之和应为偶数。接收时,接收方采用与发送方一样的差错校验方接收时,接收方采用与发送方一样的差错校验方法对接收到的数据进行校验法对接收到的数据进行校验。和校验和校验发送方对发送的数据块求和,产生一个字节的校
5、发送方对发送的数据块求和,产生一个字节的校验和,并将其尾随数据块发送;接收方将接收的数验和,并将其尾随数据块发送;接收方将接收的数据求和,将结果与发送方发送的据求和,将结果与发送方发送的“校验和校验和”进行比进行比较以判断是否出错。较以判断是否出错。6 89C5189C51串行通信接口串行通信接口串行通信接口串行通信接口一、串行通信及接口一、串行通信及接口1.1.结构结构:89C5189C51内部有全双工的异步通讯串行口(内部有全双工的异步通讯串行口(UART UART);两);两个独立的个独立的接收、发送缓冲器接收、发送缓冲器SBUF(SBUF(属于特殊功能寄存器属于特殊功能寄存器),一个,
6、一个用作发送,一个用作接收。发送缓冲器只能写入不能读出;接用作发送,一个用作接收。发送缓冲器只能写入不能读出;接收缓冲器只能读出不能写入,两者共用一个字节地址收缓冲器只能读出不能写入,两者共用一个字节地址(99H)(99H)。72.串行口控制寄存器串行口控制寄存器SCON用于串行通信的方式选择、接收和发送控制以及串行用于串行通信的方式选择、接收和发送控制以及串行口的状态标志指示。口的状态标志指示。SM0SM1-串行口工作方式选择位串行口工作方式选择位D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0SM1工作方式工作方式功能描述功能描述波特率波特率0001101
7、1方式方式0方式方式1方式方式2方式方式38位位同步移位寄存器同步移位寄存器10位位UART11位位UART11位位UARTfosc/12可变(定时器控制)可变(定时器控制)fosc/64、fosc/32可变(定时器控制)可变(定时器控制)8 SM2SM2:多机通信控制位多机通信控制位 *主要用于方式主要用于方式2 2和方式和方式3 3。当串行口以方式。当串行口以方式2 2和方式和方式3 3接收数据时:接收数据时:SM2=1SM2=1,则只有在接收到的第则只有在接收到的第9 9位数据位数据(RB8)(RB8)为为1 1时才将时才将接收到的前接收到的前8 8位数据送入位数据送入SBUFSBUF,
8、并置位并置位RIRI产生中断请求;产生中断请求;否则将接收到的前否则将接收到的前8 8位数据丢弃。位数据丢弃。SM2=0SM2=0,则不论第则不论第9 9位数据是位数据是0 0还是还是1 1,都将前,都将前8 8位数据位数据装入装入SBUFSBUF中,并产生中断请求。在方式中,并产生中断请求。在方式0 0,SM2SM2必须为必须为0 0。RENREN:允许接收控制位允许接收控制位 REN=0REN=0时禁止串行口接收。时禁止串行口接收。REN=1REN=1时允许串行口接收。时允许串行口接收。该位由软件置位或复位。该位由软件置位或复位。9 TB8TB8:发送数据位发送数据位 *在方式在方式2 2
9、或方式或方式3 3时,时,TB8TB8是发送数据的第是发送数据的第9 9位,根据发送数据位,根据发送数据的需要由软件置位或复位。的需要由软件置位或复位。可作为奇偶校验位可作为奇偶校验位(单机通信单机通信)。可在多机通信中作为发送地址帧或数据帧的标志位。多机通可在多机通信中作为发送地址帧或数据帧的标志位。多机通信时,一般约定:发送地址帧时,设置信时,一般约定:发送地址帧时,设置TB8=1TB8=1;发送数据帧时,发送数据帧时,设置设置TB8=0TB8=0。在方式在方式0 0和方式和方式1 1中,该位未用。中,该位未用。RB8RB8:接收数据位接收数据位 *在方式在方式2 2和方式和方式3 3时,
10、存放接收数据的第时,存放接收数据的第9 9位。位。可以是约定的奇偶校验位。可以是约定的奇偶校验位。可以是约定的地址可以是约定的地址/数据标志位,可根据数据标志位,可根据RB8RB8被置位的情况对被置位的情况对接收到的数据进行某种判断。在多机通信时,若接收到的数据进行某种判断。在多机通信时,若RB8=1RB8=1,说明说明收到的数据为地址帧;收到的数据为地址帧;RB8=0RB8=0,说明收到的数据为数据帧。在说明收到的数据为数据帧。在方式方式1 1下,若下,若SM2=0SM2=0,则,则RB8RB8用于存放接收到的停止位方式;方用于存放接收到的停止位方式;方式式0 0下,该位未用。下,该位未用。
11、10 TITI:发送中断标志位发送中断标志位 用于指示一帧数据发送完否。用于指示一帧数据发送完否。方式方式0 0下,发送电路发送完第下,发送电路发送完第8 8位数据时,位数据时,TITI由硬件置位。由硬件置位。其他方式下,其他方式下,TITI在发送电路开始发送停止位时置位,这就在发送电路开始发送停止位时置位,这就是说:是说:TITI在发送前必须由软件复位,发送完一帧后由硬件置在发送前必须由软件复位,发送完一帧后由硬件置位。因此,位。因此,CPUCPU查询查询TITI状态便可知一帧信息是否已发送完毕。状态便可知一帧信息是否已发送完毕。RIRI:接收中断标志位接收中断标志位 用于指示一帧信息是否接
12、收完。用于指示一帧信息是否接收完。在方式在方式1 1下,下,RIRI在接收电路接收到第在接收电路接收到第8 8位数据时由硬件置位。位数据时由硬件置位。在其他方式下,在其他方式下,RIRI是在接收电路接收到停止位的中间位置是在接收电路接收到停止位的中间位置时置位的,时置位的,RIRI也可供也可供CPUCPU查询,以决定查询,以决定CPUCPU是否需要从是否需要从SBUFSBUF中中提取接收到的字符或数据。提取接收到的字符或数据。RIRI也由软件复位。也由软件复位。113.电源控制寄存器电源控制寄存器PCON SMOD-串行口波特率倍增位串行口波特率倍增位 PCON不可位寻址不可位寻址。可用下列指
13、令设置。可用下列指令设置SMOD位:位:ANLPCON,#7FH;SMOD=0ORLPCON,#80H;SMOD=1D7D6D5D4D3D2D1D0SMOD-GF1GF0PDIDL124.4.串行通信工作方式串行通信工作方式串行通信工作方式串行通信工作方式(1)串行工作方式)串行工作方式0*工作原理工作原理 串行口作为同步移位寄存器使用;串行口作为同步移位寄存器使用;以以RXD(P3.0)端作为数据移位的输入端和输出端;端作为数据移位的输入端和输出端;TXD(P3.1)端输出移位脉冲;端输出移位脉冲;8位为一帧,不设起始位和停止位,低位在前,高位位为一帧,不设起始位和停止位,低位在前,高位在后
14、;帧格式如下:在后;帧格式如下:每个机器周期发送或接收一位,故波特率为每个机器周期发送或接收一位,故波特率为fosc/12;.D0D1D2D3D4D5D6D7.13 发送时,只需将数据写入串行口缓冲寄存器发送时,只需将数据写入串行口缓冲寄存器SBUF,即启动发送,串行口把即启动发送,串行口把8位数据以位数据以fosc/12的波特率从的波特率从RXD端送出(低位在前),发送完置中断标志端送出(低位在前),发送完置中断标志TI为为“1”;接收时,软件置接收时,软件置REN=1时,串行口即开始从时,串行口即开始从RXD端端以以fosc/12波特率输入数据(低位在前),当接收到波特率输入数据(低位在前
15、),当接收到8位数据时,置中断标志位数据时,置中断标志RI为为“1”,用户可从,用户可从SBUF读数据。读数据。应用应用 串行工作串行工作方式方式0常用于扩展常用于扩展I/O接口接口。14(2 2)串行工作方式)串行工作方式)串行工作方式)串行工作方式1 1 工作原理工作原理 串行口作为通用异步接收和发送器(串行口作为通用异步接收和发送器(UART)使用;使用;10位为一帧,帧格式如下:位为一帧,帧格式如下:定时器定时器T1作为波特率发生器,通常选用方式作为波特率发生器,通常选用方式2(自动(自动重装入初值方式)、定时、禁止中断;重装入初值方式)、定时、禁止中断;.0D0D1D2D3D4D5D
16、6D71.起始位起始位停止位停止位15 波特率波特率=T1溢出率溢出率 2SMOD/32T1溢出周期溢出周期=(256-初值)初值)12/foscT1溢出率溢出率=fosc/12(256-初值初值)波特率波特率=2SMOD fosc/384(256-初值)初值)则定时器则定时器T1方式方式2的初值为:的初值为:初值初值=256-2SMOD fosc/384 波特率波特率 发送时,数据从引脚发送时,数据从引脚TXD输出,当数据写入串行口缓输出,当数据写入串行口缓冲寄存器冲寄存器SBUF,即启动发送,发送完一帧数据置中即启动发送,发送完一帧数据置中断标志断标志TI为为“1”;接收时,软件置接收时,
17、软件置REN=1时,串行口即开始采样时,串行口即开始采样RXD端,当检测到起始位时开始接收一帧数据,接收到停端,当检测到起始位时开始接收一帧数据,接收到停止位时置中断标志止位时置中断标志RI为为“1”,用户可从,用户可从SBUF读数据。读数据。16【例例】由内部由内部RAMRAM单元单元30H30H4FH4FH取出取出ASCIIASCII码数据,在码数据,在最高位上加奇偶校验位后由串行口输出,采用最高位上加奇偶校验位后由串行口输出,采用1010位异步位异步通信,波特率为通信,波特率为1200bit/s1200bit/s,f foscosc=11.0592MHz=11.0592MHz。解:由题意
18、可知,应把串行口置为方式解:由题意可知,应把串行口置为方式1 1;采用定时器;采用定时器T1T1,以方式以方式2 2工作,作波特率发生器,预置值工作,作波特率发生器,预置值(TH1)=(TL1)=0E8H(TH1)=(TL1)=0E8H。初值初值=256-2SMOD fosc/384 波特率波特率=256-20 11059200/(384 1200)=256-24=0E8H17TX:MOVC,P;设置奇校验位设置奇校验位CPLCMOVACC.7,CMOVSBUF,A;启动串行口发送启动串行口发送JNBTI,$;等待发送完等待发送完CLRTI;清清TI标志标志,允许再发送允许再发送RETMOVT
19、MOD,#20H;设设T1为模式为模式2MOVTL1,#0E8H;装入时间常数装入时间常数MOVTH1,#0E8HSETBTR1;启动定时器启动定时器T1MOVSCON,#40H;设串行口为方式设串行口为方式1MOVR0,#30H;发送数据首地址发送数据首地址MOVR7,#32;发送个数发送个数LOOP:MOVA,R0;发送数据送累加器发送数据送累加器ALCALLTX;调发送子程序调发送子程序INCR0;指向下一步个地址指向下一步个地址DJNZR7,LOOP18 工作原理工作原理 串行口作为通用异步接收和发送器(串行口作为通用异步接收和发送器(UART)使用;使用;11位为一帧,帧格式如下:位
20、为一帧,帧格式如下:可编程位(第可编程位(第9数据位)数据位)D8由软件置由软件置“1”或清或清“0”,可作检验位,也可作它用。发送方发送时将,可作检验位,也可作它用。发送方发送时将TB8装装入入D8,接收方接收时将接收方接收时将D8装入装入RB8;波特率波特率=2SMOD fosc/64.0D0D1D2D3D4D5D6D7D81.起始位起始位停止位停止位(3 3)串行工作方式)串行工作方式)串行工作方式)串行工作方式2*2*19(4 4)串行工作方式)串行工作方式)串行工作方式)串行工作方式3*3*工作原理工作原理 串行工作方式串行工作方式3的波特率与方式的波特率与方式1相同;其他功能相同;
21、其他功能与方式与方式2完全相同。完全相同。20二、二、二、二、89C51串行通信应用串行通信应用1.双机串行通信技术双机串行通信技术 如果两个如果两个8031应用系统相距很近,将它们的串行口应用系统相距很近,将它们的串行口直接相连,即可实现双机通信。直接相连,即可实现双机通信。AT89S51AT89S51(P3.0)(P3.0)(P3.1)(P3.1)21【例例】双机通信双机通信RTX.DSN22ORG0000H;发送端程序发送端程序tx.asmLJMPMAINORG0030HMAIN:MOVTMOD,#20H;设设T1为模式为模式2MOVTL1,#0FDHMOVTH1,#0FDH;波特率波特
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行 通信 接口 技术
限制150内