接口MCS的串行接口单片机与单片机之间的通信编成练习.ppt_第1页
接口MCS的串行接口单片机与单片机之间的通信编成练习.ppt_第2页
接口MCS的串行接口单片机与单片机之间的通信编成练习.ppt_第3页
接口MCS的串行接口单片机与单片机之间的通信编成练习.ppt_第4页
接口MCS的串行接口单片机与单片机之间的通信编成练习.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

基本概念 RS-232接口 MCS-51的串行接口 单片机与单片机之间的通信 编成练习,第 章 串行口通信技术,本章内容,Single Chip Microcomputer,1实训目的 (1) 复习掌握定时器的功能和编程使用。 (2) 理解串行通信与并行通信的两种方式。 (3) 掌握串行通信的重要指标:字符帧和波特率。 (4)初步了解MCS-51单片机串行口的使用方法。,实训8单片机之间的双机通信,2实训引入,单片机间经常需要互相传递信息通信.,3实训程序,甲机发送程序参考如下: MOV TMOD,#20H MOV TL1,#0F4H MOV TH1,#0F4H SETB TR1 MOV SCON,#40H MOV R0,#20H MOV R7,#08H START:MOV A,R0 MOV SBUF,A WAIT: JBC TI,CONT AJMP WAIT CONT: INC R0 DJNZ R7,START SJMP $,乙机接收及显示程序参考如下: MOV TMOD,#20H MOV TL1,#0F4H MOV TH1,#0F4H SETB TR1 MOV SCON,#40H MOV R0,#20H MOV R7,#08H SETB REN WAIT: JBC RI,READ AJMP WAIT READ: MOV A,SBUF MOV R0,A INC R0 DJNZ R7,WAIT DISP: LCALL DISPLAY SJMP DISP,4. 实训分析与总结,分析程序可以看出,通信双方都有对单片机定时器的编程(注意发送、接收程序的前4条指令),而且双方对定时器的编程完全相同。这说明,MCS-51单片机在进行串行通信时,是与定时器的工作有关的。定时器用来设定串行通信数据的传输速度。在串行通信中,传输速度是用波特率来表征的,有关波特率与定时器的关系以及编程在8.3.3节介绍。,什么是串行通信?,串行通信和并行通信,并行通信:数据的各位同时传送;,串行通信:数据一位一位顺序传送。,串行通信的分类:异步(Asynchronous Communication) 同步(Synchronous Communication),串行通信制式:单工(a)、半双工(b)和全双工(c) (simplex half duplex full duplex),MCS-51的串行接口,概述 有一个可编程全双工串行通信接口(UART) (Universal Asychronous Receiver/Transmitter ) 管脚:TXD(P3.1)、RXD(P3.0) 可同时发送、接收数据(Transmit/Receive) 有四种工作方式,帧格式有8、10、11位。 波特率(Baud rate)可设置 波特率:每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。,MCS-51串行接口的结构,MCS-51串行接口寄存器,SBUF串行口数据缓冲器 共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。 SCON串行口控制寄存器 PCON电源及波特率选择寄存器,控制寄存器SCON,串行方式的定义,例:设串行口工作在方式1,允许接收,则指令为: MOV SCON,#01010000B,串行通信只用该位,为1时,波特率2;为0时不变。,电源及波特率选择寄存器PCON,87H,串行口四种工作方式应用比较,方式的选择由SM1、SM0实现。,波特率的设定可参见表8.2,实际无需计算。,方式0,在方式0下,串行口作同步移位寄存器用,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。这种方式常用于扩展I/O口。,方式0用于扩展I/O口输出,方式0用于扩展I/O口输入,方式1,10位的帧格式,串行口为波特率可调的10位通用异步接口UART。每发送或接收的一帧信息中,包括1位起始位0,8位数据位和1位停止位1。,方式2,串行口为11位UART,传送波特率与SMOD有关。发送或接收的一帧数据中包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验)和1位停止位1。,11位的帧格式,方式3,方式3为波特率可变的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。,MCS-51串行口的波特率,1.方式0和方式2的波特率是固定的,在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变,2. 方式1和方式3的波特率可变,由定时器1的溢出率决定,波特率=,单片机之间的通信,双机异步通信接口电路,RS-422A双机异步通信接口电路,双机通信软件编程,查询方式 1) 甲机发送 编程将甲机片外1000H101FH单元的数据块从串行口输出。定义方式2发送,TB8为奇偶校验位。发送波特率375 kb/s,晶振为12 MHz, SMOD=1。,参考发送子程序如下: MOV SCON,#80H ;设置串行口为方式2 MOV PCON,#80H ;SMOD=1 MOV DPTR,#1000H ;设数据块指针 MOV R7,#20H ;设数据块长度 START: MOVX A,DPTR ;取数据给A MOV C,P MOV TB8,C ;奇偶位P送给TB8 MOV SBUF,A ;数据送SBUF,启动发送 WAIT: JBC TI,CONT ;判断一帧是否发送完。若送完,清TI,取下一个数据 AJMP WAIT ;未完等待 CONT: INC DPTR ;更新数据单元 DJNZ R7,START ;循环发送至结束 RET,2) 乙机接收 编程使乙机接收甲机发送过来的数据块,并存入片内50H6FH单元。接收过程要求判断RB8,若出错置F0标志为1,正确则置F0标志为0,然后返回。 在进行双机通信时,两机应采用相同的工作方式和波特率。,参考接收子程序如下: MOV SCON,#80H ;设置串行口为方式2 MOV PCON,#80H ;SMOD=1 MOV R0,#50H ;设置数据块指针 MOV R7,#20H ;设置数据块长度 SETB REN ;启动接收 WAIT:JBC RI,READ ;判断是否接收完一帧。若完,清RI,读入数据 AJMP WAIT ;未完等待 READ:MOV A,SBUF ;读入一帧数据a JNB PSW.0,PZ ;奇偶位为0则转 JNB RB8, ERR ;P=1,RB8=0,则出错 SJMP RIGHT ;二者全为1,则正确 PZ: JB RB8, ERR ;P=0,RB8=

温馨提示

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

评论

0/150

提交评论