单片机技术与应用项目式教程 课件 5.4双机通信修改版_第1页
单片机技术与应用项目式教程 课件 5.4双机通信修改版_第2页
单片机技术与应用项目式教程 课件 5.4双机通信修改版_第3页
单片机技术与应用项目式教程 课件 5.4双机通信修改版_第4页
单片机技术与应用项目式教程 课件 5.4双机通信修改版_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

《单片机技术与应用项目式教程》—双机通信授课讲师:曹华双机通信1、本任务学习要求及知识要点:1)、掌握单片机的通讯原理,了解相关寄存器设置。2)、掌握通信波特率设置。3)、掌握单片机(主机)发送数据的方法、掌握(从机)接收数据后的操作。2、串行通讯相关寄存器:SCON、PCON、IE、TMOD双机通信3、了解串行通信工作方式及波特率的设置:SCOND7D6D5D4D3D2D1D0符号位地址位各位含义如下:SM0SM1工作方式功能描述波特率00方式0同步移位寄存器f/1201方式110位移位收发器由定时器控制10方式211位移位收发器f/32或f/6411方式311位移位收发器由定时器控制1)、SM0、SM1:串行口工作方式控制位,对应了四种工作方式如下:SM09FSM19ESM29DREN9CTB89BRB89ATI99RI982)、SM2:多机通信控制位,主要用于方式2和方式3。若SM2为1,则允许多机通信,即一个主机和多个从机通信。当从机接收数据的第9位(D8位即RB8)为1时,数据才装入SBUF,并将串行口接收中断标志位RI置1,向CPU申请中断。

当从机接收数据的第9位(D8位即RB8)为0时,不对串行口的接收标志位RI置位,信息丢失。若SM2为0,则不属于多机通信。

当接收到一帧数据后,不管第9位数据是0还是1,都要置RI为1,并将收到的数据装入SBUF中。

以上是工作在方式2和方式3的情况。串口工作在方式0时,SM2必须置为0;而工作在方式1时,只有接收到有效停止位时,RI才置为1,以便接收下一帧数据。3)、REN:允许接收控制位。当REN=1时,允许接收;当REN=0时,禁止接收。此位由软件置1清04)、TB8:发送数据的第9位。用于方式2和方式3中,在方式0和方式1中此位未用。多机通信协议中规定:发送数据的第9位(D8位即RB8)为1,说明本帧为地址帧,发送数据的第9位(D8位即RB8)为0,说明本帧为数据帧。TB8还有另一个功能就是做奇偶数据校验位。此位由软件置1或清零。5)、RB8:接收数据的第9位。用于方式2和方式3中,在方式0和方式1中此位未用。与TB8类似,它可以约定做接收到的地址/数据标志位,还可以约定做接收到的奇偶校验位。在多机通信的方式2和方式3中,SM2=1时,若RB8=1,说明接收到的数据为地址帧,反之为数据帧。在方式1中若SM2=0(不是多机通信情况)时,RB8中装入的是接收到的停止位。6)、TI:发送中断标志位,表示发送完成。

在一帧数据发送结束时TI被置1,向CPU表示数据发送缓冲器SBUF已空,让CPU可以准备发送下一帧数据。串口发送中断被相应后,TI不会自动复位,必须用软件清0。7)、RI接收中断标志位,表示接收数据就绪。在接收到一帧有效数据后,由硬件将RI置1去申请中断,表示一帧数据已接收完毕,并装入了SBUF中,要求CPU响应中断取走数据。RI同样不能自动清0,必须用软件置0。单片机复位后,串行口控制寄存器SCON中的所有位均清“0”。双机通信7)、RI接收中断标志位,表示接收数据就绪。在接收到一帧有效数据后,由硬件将RI置1去申请中断,表示一帧数据已接收完毕,并装入了SBUF中,要求CPU响应中断取走数据。RI同样不能自动清0,必须用软件置0。单片机复位后,串行口控制寄存器SCON中的所有位均清“0”。PCOND7D6D5D4D3D2D1D0位符号SMOD-------GF1GF0PDIDL电源控制寄存器PCON:PCON不可位寻址,它的字节地址是87H,PCON的低四位是掉电方式控制位。只有它的最高位SMOD与串口的工作有关,用于串口波特率控制;若SMOD=1,在串行口工作在方式1、2、3的条件下,波特率提高一倍;若SMOD=0;在串行口工作在方式1、2、3的条件下,波特率不变。单片机复位时SMOD=0。双机通信4、工作方式及波特率的设置:1)、工作方式:89C51单片机可以设置四种工作模式:8位、10位、11位三种帧格式。方式0:以8位数据为一帧传输,不设起始停止位,先发送或接收最低位。

D0D1D2D3D4D5D6D7

方式1:以10位数据为一帧传输,设有1个起始位“0”、8个数据位和1个停止位“1”。

起始D0D1D2D3D4D5D6D7停止

方式2和3:以11位数据为一帧传输,设有1个起始位“0”、8个数据位、一个附加第9位、和1停止位“1”。附加位的第9位(D8)由软件置1或清0,发送时在TB8中,接收时在RB8中。

起始D0D1D2D3D4D5D6D7D8停止

双机通信2)、波特率的设置。串行口T1串行口工作方式波特率fSMODC/`T工作方式定时器初值方式01Mbit/s

无关

方式2375kbit/s

1无关无关无关187.5kbit/s12MHz0

62.5kbit/s

1

FFH

19.2kbit/s

1

FDH

9.6kbit/s

FDH方式1或方式34.8kbit/s

2FAH

2.4kbit/s11.0592MHz00

FAH

1.2kbit/s

E8H

137.5bit/s

1DH

110bit/s12MHz

1FEEBH双机通信IED7D6D5D4D3D2D1D0位符号EA----ESET1EX1ET0EX0位地址AF----ACABAAA9A8各位含义如下:1)、EA——中断允许总控制位。EA=0:总中断禁止,禁止所有中断;EA=1:中断总允许。2)、ET0(ET1)——定时器/计数器中断允许控制位。ET0(ET1)=0:禁止定时器/计数器中断;ET0(ET1)=1:允许定时器/计数器中断。双机通信TMOD(89H)T1T0D7D6D5D4D3D2D1D0GATEC/

TM1M0GATEC/

TM1M0各位含义如下:1)、GATE——门控位。

GATE=0:表示只要用软件将TCON中的运行控制位TR0(或TR1)置为1,即可启动定时器/计数器0或定时器/计数器1。GATE=1:表示只有在

引脚为高电平,并且用软件将运行控制位TR0(或TR1)置为1的前提条件下才可以启动定时器/计数器0或定时器/计数器1。双机通信2)、C/

T——定时/计数方式选择位。C/

T=0:即满足

T有效,设置为定时方式(Timer),对内部机器周期进行计数。C/

T=1:即满足C有效,设置为计数方式(Counter),通过T0(P3.4)或T1(P3.5)引脚对外部脉冲信号进行计数。3)、M1M0——工作方式选择位。M1M0=00:为工作方式0,作13位计数器用,TL0(或TL1)只用低5位参与分频,TH0(或TH1)用了全部的8位。M1M0=01:为工作方式1,作16位计数器用,TL0、TH0(或TL1、TH1)全用。M1M0=10:为工作方式2,2个8独立的8位计数器用,当溢出时TH0(TH1)将存放的值自动重装入TL0(或TL1)。M1M0=11:为工作方式3,仅适用于定时器/计数器0,定时器/计数器1失效,作用两个8位的计数器用。双机通信5、双机通信单片连接示意图:双机通信6、双机通信程序流程图:开始设置串行口工作方式设置波特率发送数据数据送缓存消除发送标志否否接收完成?发送完?双机通信1)双机通信程序实现,“串行通信设置及数据发送”部分代码:汇编语言“部分”源代码:MAIN:MOVSCON,#50HMOVTMOD,#20HORLPCON,#80HMOVTL1,#0F3HMOVTH1,#0F3HSETBTR1SETBESSETBEASJMP$开始设置串行口工作方式设置波特率发送数据打开中断、中断返回否发送完?URT_INT:CLRRIPUSHDPLPUSHDPHPUSHACCMOVSBUF,AJNBTI,$CLRTIPOPACCPOPDPHPOPDPLSETBEARETIEND清除发送标志出栈操作恢复现场入栈操作保护现场开始设置串行口工作方式设置波特率调用声光子程序接收完?清除发送标志出栈操作恢复现场入栈操作保护现场数据送缓存双机通信1)双机通信程序实现,“串行通信设置及数据接收”部分代码:汇编语言“部分”源代码:MAIN:MOVSCON,#50HMOVTMOD,#20HORLPCON,#80HMOVTL1,#0F3HMOVTH1,#0F3HSETBTR1SETBESSETBEASJMP$打开中断、中断返回否URT_INT:CLRRIPUSHDPLPUSHDPHPUSHACCMOVA,SBUFACLLSCANJNBTI,$CLRTIPOPACCPOPDPHPOPDPLSETBEARETIEND双机通信1)双机通信程序实现,“串行通信设置及数据发送”部分代码:C语言“部分”源代码:SCON=0x50;TMOD=0x20;PCON=0x00;TH1=0xfd;TL1=0xfd;TI=0;RI=0;TR1=1;num=0;开始设置串行口工作方式设置波特率发送数据数据送缓存清除中断发送标志位否发送完?SBUF=num;while(TI==0);TI=0;双机通信1)双机通信程序实现,“串行通信设置及数据发送”部分

温馨提示

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

评论

0/150

提交评论