




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章
串行接口与应用7.1串行通信的基本知识7.2MCS-51单片机串行口的结构与工作方式7.3主从式多机通信退出7.1串行通信的基本知识 在MCS-51单片机内部,有一个通用异步接收/发送器(UART)。这是一个全双工串行接口,能同时进行发送和接收数据。利用这个串行接口,可以实现单片机之间的单机通信、多机通信,以及与PC机之间的通信。 7.1.1数据通信的基本概念 1、数据通信 2、通信方式 有两种通信方式:一种是并行通信,一种是串行通信。 7.1.2串行通信方式 串行通信有三种方式:单工通信、半双工通信和全双工通信。 7.1.3数据同步技术1、异步通信7.2MCS-51单片机串行口的结构与工作方式 7.2.1串行口的结构 MCS-51有一个可编程的全双工串行通信接口,可作为通用异步接收/发送器UART,也可作为同步移位寄存器。它的帧格式有8位、10位和11位,可以设置为固定波特率和可变波特率,给使用者带来很大的灵活性。 7.2.2串行口控制寄存器SCON和电源控制寄存器PCON 1、串行口控制寄存器SCON 串行口控制寄存器SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等。其位格式为: SM0、SM1:串行口工作方式控制位,两位对应四种工作方式,如表7-1所示(fosc是晶振频率)。 2、电源控制寄存器PCON 电源控制寄存器PCON中只有一位SMOD与串行口工作有关,它的位格式为: SMOD:波特率倍增位。串行口工作在方式1、方式2、方式3时,若SMOD=1,则波特率提高一倍;若SMOD=0,则波特率不提高一倍。单片机复位时,SMOD=0。 7.2.3波特率设计 1、方式0的波特率 工作方式0时,移位脉冲由机器周期的第6个状态周期S6给出,每个机器周期产生一个移位脉冲,发送或接收一位数据。因此,波特率是固定的,为振荡频率的1/12,不受PCON寄存器中SMOD的影响。用公式表示为:工作方式0的波特率=fosc/12 2、方式2的波特率 工作方式2时,移位脉冲由振荡频率fosc的第二节拍P2时钟(即fosc/2)给出,所以,方式2波特率取决于PCON中的SMOD位的值,当SMOD=0时,波特率为fosc的1/64;当SMOD=1时,波特率为fosc的1/32,用公式表示为;工作方式2波特率=(2SMOD/64)×fosc 3、工作方式1和方式3的波特率 【例8-1】8051单片机时钟振荡频率为11.0592MHZ,选用定时器T1(工作在方式2)作波特率发生器,波特率为4800bps,求定时器T1的初值X。 解设波特率控制位SMOD=0,则:X=256−(11.0592×106×(0+1)/(384×4800)=250=FAH 所以,(TH1)=(TL1)=FAH 系统晶振频率选用11.0592MHZ,是为了使初值为整数,从而产生精确的波特率。 7.2.4串行口的四种工作方式 串行口的四种工作方式中,串行通信只使用方式1、方式2、方式3,方式0主要用于扩展并行输入输出口。 1、串行口工作方式07.3主从式多机通信 7.3.1主从式多机通信原理 7.3.2多机通信协议 7.3.3串行通信实例
【例7-1】有两台8031单片机相距很近,直接将它们的串行口相连,1#机的TXD接2#机的RXD,2#机的TXD接1#机的RXD,二机的GND相连。二机的晶振频率均为11.0592MHZ,通信的波特率为4800bps。现将第一台8031单片机片内RAM40H~5FH单元内的数据,串行发送到第二台8031单片机片内RAM60H~7FH单元中。 发送与接收的参考程序如下:1#单片机发送程序:
ORG1000H TX:
MOVTMOD,#02H
MOVTH1,#0FAH
MOVTL1,#0FAH MOVSCON,#80H ;设定工作方式2
MOVPCON,#00H; 波特率为fosc/64
SETBTR0
MOVR0,#40H ;设发送数据的地址指针
MOVR2,#20H ;设发送数据长度LOOP: MOVA,@R0 ;取发送数据送A
MOVC,PSW.0
MOVTB8,C ;奇偶位送TB8
MOVSBUF,A ;启动发送WAIT: JBCTI,LL1 ;判发送中断标志
SJMPWAIT
LL1:
INCR0
DJNZR2,LOOP
RET2#单片机接收程序:
ORG1000HRX:
MOVTMOD,#02H
MOVTH1,#0FAH
MOVTL1,#0FAH
MOVSCON,#90H ;设定工作方式2,并允许接收
MOVPCON,#00H
SETBTR0
MOVR0,#60H
MOVR2,#20H
LOOP: JBCRI,MM1 ;等待接收数据
SJMPLOOP
MM1: MOVA,SBUF ;读入一帧数据
JBPSW.0,PP1 ;判接收端奇偶
JBRB8,ERROR ;判发送端奇偶
SJMPRIGHT
PP1:
JNBRB8,ERROR ;接收出错RIGHT: MOV@R0,A ;接收正确
INCR0
DJNZR2,LOOP
ERROR: SETBPSW.5 ;置出错标志
RET
【例7-2】甲乙两机进行串行通信,将甲机片外RAM中1000H单元开始的32个数据发送到乙机的片外RAM1000H开始的单元中。二机的晶振频率均为11.0592MHZ,通信的波特率为1200bps。 设甲、乙机串行口均工作在方式1,根据发送和接收的波特率,设置定时器T1工作在方式2,当SMOD=0,则计数初值为E8H。甲机发送子程序流程图如图7-7(a)所示,乙机接收子程序流程图如图7-7(b)所示。参考程序如下:(1)甲机发送子程序:ORG1000HTTTT: MOVTMOD,#20H MOVTH1,#0E8H MOVTL1,#0E8H SETBTR1 MOVSCON,#50H MOV87H,#00HENTER: MOVDPH,#10H MOVDPL,#00H MOVR4,#20H MOVR5,#00HTX1:
MOVA,#04H
MOVSBUF,AWAIT1: JBCTI,RX1
SJMPWAIT1RX1:
JBCRI,NEXT1
SJMPRX1NEXT1: MOVA,SBUF
CJNEA,#00H,TX1TX2:
MOVA,R4
MOVSBUF,A
ADDA,R5
MOVR5,AWAIT2: JBCTI,TX3
SJMPWAIT2TX3
: MOVXA,@DPTR
MOVSBUF,A
ADDA,R5
MOVR5,A
INCDPTRWAIT3: JBCTI,NEXT2
SJMPWAIT3NEXT2: DJNZR4,TX3
MOVA,R5
MOVSBUF,AWAIT4: JBCTI,RX_11H
SJMPWAIT4RX_11H: JBCRI,IF_11H
SJMPRX_11HIF_11H: MOVA,SBUF
CJNEA,#11H,ENTER RET(2)乙机接收子程序:
ORG1000HRRRR:
MOVTMOD,#20H
MOVTH1,#0E8H
MOVTL1,#0E8H
SETBTR1
MOVSCON,#50H
MOV87H,#00HENTER: MOVDPH,#10H
MOVDPL,#00H
MOVR5,#00HRX1:
JBCRI,IF_04H
SJMPRX1IF_04H: MOVA,SBUF
CJNEA,#04H,TX_FFH
MOVA,#00H
MOVSBUF,AWAIT1: JBCTI,RX2
SJMPWAIT1
LJMPRX2TX_FFH: MOVA,#0FFH
MOVSBUF,AWAIT2: JBCTI,LL1
SJMPWAIT2LL1:
LJMPENTERRX2:
JBCRI,LL2
SJMPRX2LL2:
MOVA,SBUF
MOVR4,A
MOVR5,ARX3:
JBCRI,LL3
SJMPRX3LL3:
MOVA,SBUF
MOVX@DPTR,A
INCDPTR
ADDA,R5
MOVR5,A
DJNZR4,RX3RX4:
JBCRI,LL4
SJMPRX4LL4:
MOVA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第14课《山水画的意境》教学设计-2023-2024学年统编版语文九年级下册
- 2025至2030年中国插件机定刀数据监测研究报告
- 第11课 物联网数据的特点 教学设计- 2023-2024学年浙教版(2023)初中信息技术八年级下册
- 浙教版高中信息技术选修1教学设计-2.2 解析算法
- 2025至2030年中国扫地车专用扫地丝数据监测研究报告
- 第十一章 第1节 功(教学设计)2024-2025学年度人教版(2024)物理八年级下册
- 低空物流与快递服务发展前景
- 2025年湖南省岳阳市单招职业适应性测试题库一套
- 机械设计 第15章 轴111学习课件
- 2025年度班组分包协议书-XX光伏发电项目班组分包协议
- 二年级 书法 开学第一课课
- 精神科病人跌倒的预防与处理
- 蒸压加气混凝土砌块干燥收缩检测记录11969-2020
- 2023-2024学年第二学期人教版英语五年级教学计划(含进度表)
- 小学教师师德师风培训内容(4篇)
- (完整word版)劳动合同书(电子版)正规范本(通用版)
- DB1522-T 1-2023 农用天气预报 水稻适宜度
- 光伏电站螺旋地桩承载力计算软件
- OptiStruct及HyperStudy优化与工程应用
- 科目一3小时速成璇姐笔记
- Neo4j中文使用手册以及例子
评论
0/150
提交评论