第6章80C51单片机的串行口m_第1页
第6章80C51单片机的串行口m_第2页
第6章80C51单片机的串行口m_第3页
第6章80C51单片机的串行口m_第4页
第6章80C51单片机的串行口m_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-5-191第第6 6章章 80C5180C51单片机的串行口单片机的串行口计算机计算机串行通信基础串行通信基础6.180C5180C51单片机的单片机的串行口串行口6.280C5180C51单片机的单片机的串行口应用串行口应用6.32022-5-1926.1 计算机串行通信基础计算机串行通信基础通信:并行通信与串行通信通信:并行通信与串行通信 并行通信并行通信特点特点:传送控制简单、速度快,但传输线较多,成本高。:传送控制简单、速度快,但传输线较多,成本高。 2022-5-193 串行通信串行通信特点特点:传送控制复杂、速度慢,传输线少,成本低:传送控制复杂、速度慢,传输线少,成本低

2、 2022-5-194 异步通信与同步通信异步通信与同步通信收、发设备时钟独立,以字符收、发设备时钟独立,以字符( (帧帧) )为单位传输为单位传输 6.1.1 6.1.1 串行通信的基本概念串行通信的基本概念异步通信(异步通信(RS-232CRS-232C) 2022-5-195 异步通信帧格式异步通信帧格式起始位(位);起始位(位);数据位(位);数据位(位);奇偶校验位(位,可无校验位);奇偶校验位(位,可无校验位);停止位(位)。停止位(位)。 特点特点v 易于实现易于实现v 效率不高效率不高 2022-5-196SPI(Serial Peripheral Interface-串行外设

3、接口)是一种同步串行外设接口,为全双工通信,数据传输速度可达几Mbps。 SPI接口以主从方式工作, 一般包括以下信号:(1)MOSI 主器件数据输出,从器件数据输入 (2)MISO 主器件数据输入,从器件数据输出 (3)SCLK 时钟信号,由主器件产生 (4)/SS 从器件使能信号,由主器件控制SPI接口传输的数据为8位,在/SS和SCLK作用下,按位传输,高位在前,低位在后。SPI接口的一个缺点:没有应答机制。 同步通信同步通信(发、收时钟直接连接,效率高。板内元件间的(发、收时钟直接连接,效率高。板内元件间的SPI接口)接口) 接口内部硬件连接图接口内部硬件连接图2022-5-197通讯

4、时序图通讯时序图2022-5-1982022-5-199 串行通信的传输方向串行通信的传输方向单工单工 半双工半双工 全双工全双工 80C5180C51有有1 1个全双工个全双工串行口串行口 2022-5-1910 信号的调制与解调信号的调制与解调DTEDTE:数据:数据终端终端设备设备DCEDCE:数据:数据通信通信设备设备 调制解调器调制解调器v 调制:调制:数字模拟v 解调:解调:模拟数字音频模拟信号二进制数据2022-5-1911 串行通信的错误校验串行通信的错误校验奇偶校验奇偶校验 发送字符时发送字符时,数据位尾随,数据位尾随1 1位奇偶校验位(位奇偶校验位(1 1或或0 0)。)。

5、奇校验时奇校验时,数据中,数据中“1 1”的个数与校的个数与校验位验位“1 1”的个数之和应为奇数;的个数之和应为奇数;偶校验时偶校验时,数据中数据中“1 1”的个数与校验位的个数与校验位“1 1”的个数之和的个数之和应为偶数。应为偶数。接收字符时接收字符时,对,对“1 1”的个数进行校验,若发的个数进行校验,若发现不一致,则说明传输数据过程中出现了差现不一致,则说明传输数据过程中出现了差错。错。 2022-5-1912代码和校验代码和校验 发送方发送方将所发数据块求和(或各字节异或),将所发数据块求和(或各字节异或),产生的产生的校验和字节校验和字节附加到数据块的末尾。附加到数据块的末尾。

6、接收方接收方在接收数据时要对在接收数据时要对数据块(除校验字节数据块(除校验字节外)求和(或各字节异或),外)求和(或各字节异或),将所得的结果与将所得的结果与收到的收到的“校验和校验和”进行比较,相符则无差错,进行比较,相符则无差错,否则就认为传送过程出现了差错。否则就认为传送过程出现了差错。 2022-5-1913 传输速率与传输距离传输速率与传输距离传输速率传输速率比特率比特率:每秒钟传送的信息量。单位:位秒(:每秒钟传送的信息量。单位:位秒(bpsbps) 波特率波特率:每秒钟传送码元数目,单位:波特(:每秒钟传送码元数目,单位:波特(Baud) 基带传输基带传输(每个码元带有(每个码

7、元带有“1 1”或或“0 0”这这1 bit1 bit信息),信息),波特率和比特率是相同的波特率和比特率是相同的。 常用波特率为:常用波特率为:24002400、48004800、 96009600、14.4K14.4K、19.2K19.2K等等 传输距离与传输速率的关系传输距离与传输速率的关系传输距离随波特率的增加而减小。传输距离随波特率的增加而减小。 不同的调制方法可以在一个码元上负载多个比特信息2022-5-19146.1.2 6.1.2 串行通信接口标准串行通信接口标准RS-232CRS-232C定义的是定义的是DTEDTE与与DCEDCE间的接口标准。间的接口标准。 机械特性机械特

8、性DB-25DB-25(阳头)连接器(阳头)连接器 DB-9DB-9(阳头)连接器(阳头)连接器 阳头阳头通常用于通常用于计算机侧计算机侧,阴头阴头用于用于连接线侧连接线侧 2022-5-1915 功能特性功能特性插针序号插针序号信号名称信号名称功能功能信号方向信号方向1 PGND保护接地保护接地 2(3)TXD发送数据(串行输出)发送数据(串行输出)DTEDCE 3(2)RXD接收数据(串行输入)接收数据(串行输入)DTEDCE 4(7)RTS请求发送请求发送DTEDCE 5(8)CTS允许发送允许发送DTEDCE 6(6)DSRDCE就绪(数据建立就绪)就绪(数据建立就绪)DTEDCE 7

9、(5) SGND信号接地信号接地 8(1)DCD载波检测载波检测DTEDCE 20(4)DTRDTE就绪(数据终端准备就绪)就绪(数据终端准备就绪)DTEDCE 22(9) RI振铃指示振铃指示DTEDCE2022-5-1916 电气特性电气特性RS-232CRS-232C采用负逻辑电平,规定(采用负逻辑电平,规定(-3-3-25V-25V)为逻辑)为逻辑“1 1”,(+3+3+25V+25V)为逻辑)为逻辑“0 0”。-3V-3V+3V+3V是未定义的过渡区。是未定义的过渡区。试比较:试比较: 电平转换电路(如电平转换电路(如MAX232MAX232)。)。 2022-5-1917 过程特性

10、过程特性远远程通信,需要调制解调器程通信,需要调制解调器 2022-5-1918近近程通信,不需要调制解调器程通信,不需要调制解调器 无联络线方式无联络线方式 联络线短接(伪连接)方式联络线短接(伪连接)方式 4 RTS 请求发送 5 CTS 允许发送 6 DSR DCE就绪(数据建立就绪)20 DTR DTE就绪(数据终端准备就绪)2022-5-1919 RS-232CRS-232C电平与电平与TTLTTL电平转换驱动电路电平转换驱动电路早期常用早期常用MC1488MC1488、MC1489MC1489 近期常用近期常用MAXM232MAXM232: 片内带有自升压电路片内带有自升压电路 仅

11、需仅需+5V+5V电源电源 内含内含2 2个发送器,个发送器,2 2个接收器个接收器 2022-5-1920 采用采用RS-232CRS-232C接口存在的问题接口存在的问题 新标准新标准RS-485RS-485改善了传输特性,应用广泛!改善了传输特性,应用广泛! 差分信号负逻辑,2V6V表示1,- 6V- 2V表示0 采用两线制接线方式,同一总线上最多可以挂接32个结点 通信速率在100Kpbs及以下时,最长传输距离可达1200米 传输距离短、速率低。通常不超过15米,速率20Kbps 有电平偏移 抗干扰能力差不宜组网不宜组网2022-5-19216.2 80C51单片机的串行口单片机的串行

12、口6.2.1 80C516.2.1 80C51串行口的结构串行口的结构 1 1个个全双工全双工串口:通信串口:通信或或接口扩展接口扩展 接收发送缓冲器接收发送缓冲器逻辑同名、物理分开;逻辑同名、物理分开;接收双缓冲。接收双缓冲。 2022-5-19226.2.2 80C516.2.2 80C51串行口的控制寄存器串行口的控制寄存器 串行口控制寄存器串行口控制寄存器SCONSCONSM0SM0和和SM1SM1:工作方式选择位:工作方式选择位76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:字节地址:98HSM0SM1方方 式式说说 明明波特率波特率000移位寄存器移位

13、寄存器fosc/1201110位位UART(8位数据)位数据)可变可变10211位位UART(9位数据)位数据) fosc/64或或fosc/3211311位位UART(9位数据)位数据)可变可变通用异步接收通用异步接收/ /发送装置发送装置通用异步接收/发送装置2022-5-1923 电源控制寄存器电源控制寄存器PCON PCON SMODSMOD:波特率倍增位。在串行口方式:波特率倍增位。在串行口方式1 1、方式、方式2 2、方式、方式3 3时,波特率与时,波特率与SMODSMOD有关,当有关,当SMOD=1SMOD=1时,波特率提高一倍。时,波特率提高一倍。复位时,复位时,SMOD=0S

14、MOD=0。 76543210PCONSMOD字节地址:字节地址:97H2022-5-1924SM2SM2:多机通信控制位:多机通信控制位SM2=1SM2=1时时, ,接收机处于接收机处于地址帧地址帧筛选筛选状态。若状态。若RB8RB81 1,该地址帧信息可进入,该地址帧信息可进入SBUFSBUF,并使,并使RIRI为为1 1,进,进而在中断服务中再进行地址号比较而在中断服务中再进行地址号比较; ;若若RB8RB80 0,该帧不是地址帧,应丢掉,且保持该帧不是地址帧,应丢掉,且保持RI=0RI=0。 SM2=0SM2=0时,接收机处于时,接收机处于地址帧筛选被禁止地址帧筛选被禁止状态。状态。不

15、论收到的不论收到的RB8RB8为为0 0或或1 1,均可以使收到的信息进,均可以使收到的信息进入入SBUFSBUF,并使,并使RI=1RI=1。此时的此时的RB8RB8通常为校验位通常为校验位。 RENREN:串行接收使能位,软件置:串行接收使能位,软件置1 1时,启动接收过程时,启动接收过程2022-5-1925TB8TB8:多机方式发送的第:多机方式发送的第9 9位位多机方式的地址多机方式的地址/ /数据帧标志。也可作为奇偶校验位。数据帧标志。也可作为奇偶校验位。 RB8RB8:多机方式接收的第:多机方式接收的第9 9位位多机方式的地址多机方式的地址/ /数据帧标志。也可作为奇偶校验位。数

16、据帧标志。也可作为奇偶校验位。 TITI:发送中断标志位,要由软件清:发送中断标志位,要由软件清0 0RIRI:接收中断标志位,要由软件清:接收中断标志位,要由软件清0 02022-5-19266.2.3 80C516.2.3 80C51串行口的工作方式串行口的工作方式 方式方式0 0:同步移位寄存器,用于扩展并行口:同步移位寄存器,用于扩展并行口 RXDRXD:输入:输入或或输出引脚输出引脚 TXDTXD:移位脉冲输出:移位脉冲输出接收和发送方式都是接收和发送方式都是8 8位位波特率固定为:波特率固定为:fosc/12fosc/122022-5-1927数据输数据输出出: CLRCLR用于对

17、用于对74LS16474LS164清清0 0 2022-5-192874LS16474LS1642022-5-1929数据输数据输入入: S/LS/L负脉冲将并行数负脉冲将并行数据装入,据装入,高电平时启高电平时启动单片机进行数据输动单片机进行数据输入。入。 2022-5-193074LS16574LS165* 方式方式0应用举例应用举例12022-5-1931设计要求:数码块循环显示设计要求:数码块循环显示00990099显示缓冲区显示缓冲区: 31H: 31H,30H30H单元单元2022-5-1932MAIN: MOV 30H,#00HMAIN: MOV 30H,#00H MOV 31H

18、,#00H MOV 31H,#00HL0: SETB P1.0 L0: SETB P1.0 INC 30H INC 30H MOV A,30H MOV A,30H CJNE A,#0AH,AA CJNE A,#0AH,AA MOV 30H,#00H MOV 30H,#00H INC 31H INC 31H MOV A,31H MOV A,31H CJNE A,#0AH,AA CJNE A,#0AH,AA MOV 30H,#00HMOV 30H,#00H MOV 31H,#00H MOV 31H,#00HAA: AA: MOV SCON,#00HMOV SCON,#00H MOV R7,#02H

19、 MOV R7,#02H MOV R0,#30H MOV R0,#30H MOV DPTR,#TAB MOV DPTR,#TABLOOP: MOV A,R0LOOP: MOV A,R0 MOVC A,A+DPTR MOVC A,A+DPTR MOV SBUF,A MOV SBUF,A WAIT: JNB TI,WAIT WAIT: JNB TI,WAIT CLR TI CLR TI INC R0 INC R0 DJNZ R7,LOOP DJNZ R7,LOOP MOV R2,#30H MOV R2,#30H LCALL DELYA LCALL DELYA CLR P1.0 CLR P1.0 S

20、JMP L0 SJMP L0TAB: DB 3FH,06H,5BH,04FH,66HTAB: DB 3FH,06H,5BH,04FH,66H DB 6DH,7DH,07H,7FH,6FH DB 6DH,7DH,07H,7FH,6FH可省显示的位数方式方式0应用举例应用举例22022-5-1933读入读入1010个数据个数据, ,存放到存放到(50H)(50H)开始的开始的1010个存储单元个存储单元MAIN: MOV R7,#10 MAIN: MOV R7,#10 MOV R0,#50H MOV R0,#50H MOV 40H,#00H MOV 40H,#00HSTART: INC 40HST

21、ART: INC 40H MOV P1,40H MOV P1,40H CLR P3.2CLR P3.2 SETB P3.2 SETB P3.2RXDATA:MOV SCON,#10HRXDATA:MOV SCON,#10HWAIT: JNB RI,WAITWAIT: JNB RI,WAIT CLR RI CLR RI MOV A,SBUFMOV A,SBUF MOV R0,A MOV R0,A INC R0 INC R0 DJNZ R7,START DJNZ R7,START SJMP $ SJMP $ REN=1传送字节数据个数传送数据方式方式0应用举例应用举例2(扩展)(扩展)2022-5

22、-1934数码块JLEDJS240dpaP0P2.0要求:读入要求:读入1010个数据个数据, ,存放到存放到(50H)(50H)开始的开始的1010个存储个存储单元,同时用数码块显示串行接收的数据单元,同时用数码块显示串行接收的数据2022-5-1935MAIN: MOV R7,#10 MOV R0,#50H MOV 40H,#00HSTART: INC 40H MOV P1,40H CLR P3.2 SETB P3.2RXDATA: MOV SCON,#10HWAIT: JNB RI,WAIT CLR RI MOV A,SBUF MOV R0,A INC R0 LCALL DISPLAY

23、DJNZ R7,START SJMP MAINDISPLAY: MOV P2,#0FEH LOOP: MOV DPTR, #1000H MOVC A, A+DPTR MOV P0,A LCALL DELAY RETDELAY:MOV R4,#0FH D1:MOV R6,#00H D2:MOV R5,#00H DJNZ R5,$ DJNZ R6,D2 DJNZ R4,D1 RET ORG 1000H DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H显示数据2022-5-1936 方式方式1 1:1010位帧,用于位帧,用于双双机通信机通信 起始

24、位:起始位:1 1位位 数据位:数据位:8 8位位停止位:停止位:1 1位位2022-5-1937串行串行发送发送:(写:(写SBUFSBUF启动发送过程)启动发送过程) 串行串行接收接收:( (置置REN=1REN=1启动接收过程启动接收过程) ) 采样频率是接收时钟的16倍。连续8次采样到RXD为L 起始位;之后对第7、8、9脉冲采样到的数据以三中取二的原则,确定采样数据。2022-5-1938方式方式1 1应用举例应用举例方式1波特率=(2SMOD/32)*(T1溢出率) T1 溢出率 = fosc /12256 (TH1)晶振11MHz4800波特2022-5-19392022-5-1

25、940 方式方式2 2和方式和方式3 3:1111位帧,用于位帧,用于多多机通信机通信 起始位:起始位:1 1位位 数据位:数据位:9 9位位停止位:停止位:1 1位位2022-5-1941串行串行发送发送:(写:(写SBUFSBUF启动发送过程)启动发送过程) 串行串行接收接收:( (置置REN=1REN=1启动接收过程启动接收过程) ) 2022-5-1942方式方式2 2应用举例应用举例方式方式2 2波特率波特率= =(2 2SMODSMOD/64/64)* * foscfosc2022-5-19432022-5-1944方式方式3 3应用举例应用举例累加和累加和2022-5-19452

26、022-5-19466.2.4 80C516.2.4 80C51波特率确定与初始化步骤波特率确定与初始化步骤 波特率的确定波特率的确定 波特率的计算波特率的计算固定固定波特率:波特率: 方式方式0 0波特率波特率= fosc/12= fosc/12 方式方式2 2波特率波特率= =(2 2SMODSMOD/64/64)* * foscfosc可变可变波特率:波特率: 方式方式1 1波特率波特率= =(2 2SMODSMOD/32/32)* *(T1T1溢出率溢出率) 方式方式3 3波特率波特率= =(2 2SMODSMOD/32/32)* *(T1T1溢出率溢出率) T1 T1 溢出率溢出率

27、= fosc /12= fosc /12256 256 (TH1TH1)2022-5-1947 波特率的选择波特率的选择 波特率要选择波特率要选择标称值标称值,由于,由于TH1TH1的初值是整数,为了的初值是整数,为了减小波特率计算误差,晶振频率要选为减小波特率计算误差,晶振频率要选为11.059211.0592MHzMHz。 方式方式1 1和方式和方式3 3波特率与波特率与TH1TH1初值的对应关系:初值的对应关系: 波特率波特率/(b/s)19.2 k9600480024001200TH1初值初值FDHFDHFAHF4HE8HSMOD100002022-5-1948 串行口初始化步骤串行口初始化步骤 确定确定T1T1的工作方式(的工作方式(TMODTMOD)计算计算T1T1的初值,的初值,装载装载TH1TH1、TL1TL1启动启动T1T1(置位置位TR1TR1)确定串行口工作方式(确定串行口工作方式(SCONSCON)串口中断设置(串口中断设置(IEIE、IPIP

温馨提示

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

评论

0/150

提交评论