第九章CS51串行通信_第1页
第九章CS51串行通信_第2页
第九章CS51串行通信_第3页
第九章CS51串行通信_第4页
第九章CS51串行通信_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、第9章 串行接口与应用,一、基本要求 1 了解计算机通信的基本知识。 2 熟悉80C51串行口工作原理及应用方法。 3 能读懂双机通信发送、接收程序。,退出,9.1 串行通信的基本知识,在MCS-51单片机内部,有一个通用异步接收/发送器(UART)。这是一个全双工串行接口,能同时进行发送和接收数据。利用这个串行接口,可以实现单片机之间的单机通信、多机通信,以及与PC机之间的通信。,9.1.1 数据通信的基本概念 1、数据通信 2、通信方式 有两种通信方式:一种是并行通信,一种是串行通信。 9.1.2 串行通信方式 串行通信有三种方式:单工通信、半双工通信和全双工通信。 9.1.3 数据同步技

2、术 1、 异步通信,8,8,9.2 MCS-51单片机串行口的结构与工作方式,9.2.1 串行口的结构 MCS-51有一个可编程的全双工串行通信接口,可作为通用异步接收/发送器UART,也可作为同步移位寄存器。它的帧格式有8位、10位和11位,可以设置为固定波特率和可变波特率,给使用者带来很大的灵活性。,9.2.2 串行口控制寄存器SCON和电源控制寄存器PCON 1、串行口控制寄存器SCON 串行口控制寄存器SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等。其位格式为:,SM0、SM1:串行口工作方式控制位,两位对应四种工作方式,如表8-1所示(fosc是晶振频

3、率)。,2、电源控制寄存器PCON 电源控制寄存器PCON中只有一位SMOD与串行口工作有关,它的位格式为: SMOD:波特率倍增位。串行口工作在方式1、方式2、方式3时,若SMOD=1,则波特率提高一倍;若SMOD=0,则波特率不提高一倍。单片机复位时,SMOD=0。,9.2.3 波特率设计 1、方式0的波特率 工作方式0时,移位脉冲由机器周期的第6个状态周期S6给出,每个机器周期产生一个移位脉冲,发送或接收一位数据。因此,波特率是固定的,为振荡频率的1/12,不受PCON寄存器中SMOD的影响。用公式表示为: 工作方式0的波特率=fosc/12,2、方式2的波特率 工作方式2时,移位脉冲由

4、振荡频率fosc的第二节拍P2时钟(即fosc/2)给出,所以,方式2波特率取决于PCON中的SMOD位的值,当SMOD=0时,波特率为fosc的1/64;当SMOD=1时,波特率为fosc的1/32,用公式表示为; 工作方式2波特率=(2SMOD/64)fosc,3、工作方式1和方式3的波特率 【例9-1】8051单片机时钟振荡频率为11.0592MHZ,选用定时器T1(工作在方式2)作波特率发生器,波特率为4800bps,求定时器T1的初值X。 解 设波特率控制位SMOD=0,则: X=256(11.0592106(0+1)/(3844800)=250=FAH 所以,(TH1)=(TL1)

5、=FAH 系统晶振频率选用11.0592MHZ,是为了使初值为整数,从而产生精确的波特率。,9.2.4 串行口的四种工作方式 串行口的四种工作方式中,串行通信只使用方式1、方式2、方式3,方式0主要用于扩展并行输入输出口。 1、串行口工作方式0,9,9,9,9,9,9,9,9,9.3 主从式多机通信,9.3.1主从式多机通信原理 9.3.2多机通信协议 9.3.3串行通信实例 【例9-1】有两台8051单片机相距很近,直接将它们的串行口相连,1#机的TXD接2#机的RXD,2#机的TXD接1#机的RXD,二机的GND相连。二机的晶振频率均为11.0592MHz,通信的波特率为4800bps。现

6、将第一台8051单片机片内RAM40H5FH单元内的数据,串行发送到第二台8051单片机片内RAM60H7FH单元中。 发送与接收的参考程序如下:,1#单片机发送程序: ORG 1000H TX:MOV TMOD , #20H MOV TH1 , #0FAH MOV TL1 , #0FAH MOV SCON , #11000000H;设定工作方式3 MOV PCON, #00H SETB TR0 MOV R0 , #40H;设发送数据的地址指针 MOV R2 , #20H;设发送数据长度 LOOP:MOV A , R0;取发送数据送A MOV C , PSW.0 MOV TB8 , C;奇偶位

7、送TB8 MOV SBUF , A;启动发送 WAIT:JBC TI , LL1;判发送中断标志 SJMP WAIT LL1:INC R0 DJNZ R2 , LOOP RET,2#单片机接收程序: ORG 1000H RX:MOV TMOD , #20H MOV TH1 , #0FAH MOV TL1 , #0FAH MOV SCON , #11010000H;设定工作方式3,并允许接收 MOV PCON , #00H SETB TR0 MOV R0 , #60H MOV R2 , #20H LOOP:JBC RI , MM1;等待接收数据 SJMP LOOP MM1:MOV A , SBU

8、F;读入一帧数据 JB PSW.0 , PP1;判接收端奇偶 JB RB8 , ERROR;判发送端奇偶 SJMP RIGHT PP1:JNB RB8 , ERROR;接收出错 RIGHT:MOV R0 , A;接收正确 INC R0 DJNZ R2 , LOOP RET ERROR:SETB PSW.5;置出错标志 RET,【例9-2】甲乙两机进行串行通信,将甲机片外RAM中1000H单元开始的32个数据发送到乙机的片外RAM 1000H开始的单元中。二机的晶振频率均为11.0592MHZ,通信的波特率为1200bps。 设甲、乙机串行口均工作在方式1,根据发送和接收的波特率,设置定时器T1

9、工作在方式2,当SMOD=0,则计数初值为E8H。甲机发送子程序流程图如图9-7(a)所示,乙机接收子程序流程图如图9-7(b)所示。,参考程序如下: (1)甲机发送子程序: ORG 1000H TTTT:MOV TMOD , #20H MOV TH1 , #0E8H MOV TL1 , #0E8H SETB TR1 MOV SCON , #50H MOV 87H , #00H,ENTER:MOV DPH , #10H MOV DPL , #00H MOV R4 , #20H MOV R5 , #00H TX1:MOV A , #04H MOV SBUF , A WAIT1:JBC TI ,

10、RX1 SJMP WAIT1 RX1:JBC RI , NEXT1 SJMP RX1,NEXT1:MOV A , SBUF CJNE A , #00H , TX1 TX2:MOV A , R4 MOV SBUF , A ADD A , R5 MOV R5 , A WAIT2:JBC TI , TX3 SJMP WAIT2 TX3:MOVX A , DPTR MOV SBUF , A ADD A , R5 MOV R5 , A INC DPTR,WAIT3:JBC TI , NEXT2 SJMP WAIT3 NEXT2:DJNZ R4 , TX3 MOV A , R5 MOV SBUF , A

11、WAIT4:JBC TI , RX_11H SJMP WAIT4 RX_11H:JBC RI , IF_11H SJMP RX_11H IF_11H:MOV A , SBUF CJNE A , #11H , ENTER RET,(2)乙机接收子程序: ORG 1000H RRRR:MOV TMOD , #20H MOV TH1 , #0E8H MOV TL1 , #0E8H SETB TR1 MOV SCON , #50H MOV 87H, #00H ENTER:MOV DPH , #10H MOV DPL , #00H MOV R5 , #00H,RX1:JBC RI , IF_04H SJ

12、MP RX1 IF_04H:MOV A , SBUF CJNE A , #04H , TX_FFH MOV A , #00H MOV SBUF , A WAIT1:JBC TI , RX2 SJMP WAIT1 LJMP RX2 TX_FFH:MOV A , #0FFH MOV SBUF , A,WAIT2:JBC TI , LL1 SJMP WAIT2 LL1:LJMP ENTER RX2:JBC RI , LL2 SJMP RX2 LL2:MOV A , SBUF MOV R4 , A MOV R5 , A RX3:JBC RI , LL3 SJMP RX3,LL3:MOV A , SBU

13、F MOVX DPTR , A INC DPTR ADD A , R5 MOV R5 , A DJNZ R4 , RX3 RX4:JBC RI , LL4 SJMP RX4 LL4:MOV A , SBUF MOV 30H , R5 CJNE A, 30H , T_ERR,T_RIGHT:MOV A , #11H MOV SBUF , A WAIT3:JBC TI , EN SJMP WAIT3 T_ERR:MOV A , #0F0H MOV SBUF , A WAIT4:JBC TI , AGAIN SJMP WAIT4 AGAIN:LJMP ENTER EN:RET,小结,串行通信的基本知识 MCS-51

温馨提示

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

最新文档

评论

0/150

提交评论