单片机应用技术项目教程(C语言版)(第3版)课件 项目四任务4.2 双机通信系统设计_第1页
单片机应用技术项目教程(C语言版)(第3版)课件 项目四任务4.2 双机通信系统设计_第2页
单片机应用技术项目教程(C语言版)(第3版)课件 项目四任务4.2 双机通信系统设计_第3页
单片机应用技术项目教程(C语言版)(第3版)课件 项目四任务4.2 双机通信系统设计_第4页
单片机应用技术项目教程(C语言版)(第3版)课件 项目四任务4.2 双机通信系统设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

项目四通信系统设计任务4.2双机通信系统设计“十四五”职业教育国家规划教材单片机应用技术项目教程/learn/NTVU-1206695819?tid=1474236512#/learn/content项目导读随着物联网技术的发展,常常将传感器节点的数据发送到汇聚节点进行汇总。那么它们之间是如何实现信息交互的?学海领航

[自主创新—探索未知]自首次实施“神舟五号”载人飞行任务以来,我国载人航天工程实现了从一人一天到多人多天、从舱内工作到太空行走、从短期停留到中期驻留的不断跨越。每一步跨越,都凝聚着航天员们飞天逐梦的勇敢与执着,为人类和平利用太空贡献了中国智慧和力量。任务内容组装一个双机通信系统,由主机和从机构成。主机外接两个按键作为输入,选择不同协议内容发送给从机。从机接收协议,并按照对应的协议,控制两个不同的信号灯点亮。/previewIndex/1060563学习目标素养目标

感受我国航天事业取得的巨大发展,增强民族自豪感。知识目标掌握单片机双机串行通信系统的组成、通信实现方法和步骤;了解多机通信的实现方法和步骤。技能目标能够设计并制作简单的双机通信系统,完成通信过程知识点知识

多机通信51系列单片机串口工作在方式1、方式2或方式3时,可实现多机通信功能,即一台主机和多台从机通信。知识

多机通信/previewIndex/1060556在方式1中,首先要给从机定义一个地址字节即地址编号,用来区分从机,然后将从机的地址编号和数据一起组成通信协议,接收方接收到该协议后,根据地址编号决定是否要对数据进行处理。一般情况下,建议采用方式1。知识

多机通信串口工作在方式2或方式3时,多机通信还可以通过设置通信控制位SM2和传送数据帧的第9数据位TB8来实现。通信编程前,首先要给从机定义一个地址字节,用来区分从机。主机和从机之间传送的信息分为地址和数据两类,以第9数据位作为区分标志,第9数据位为l时表示地址,为0时表示数据。知识

多机通信当主机向从机发送信息时,主机首先发送一个地址帧,此帧数据的第9数据位TB8应设置为1,以表示是地址帧,8位数据位是某台从机的地址。在从机方面,为了接收信息,初始化时应将SCON的SM2设置为1,REN设置为1表示允许接收。每台从机都接收到主机发来的地址帧信息后,因第9数据位RB8为1(主机发出的第9数据位为TB8=l),且SM2=l,则置位中断标志位RI并申请中断,从机响应中断后判断主机发来的地址与本机地址是否一致,若一致,则被寻址的从机清除其SM2标志(SM2=0),准备接收将要从主机送来的数据帧,而地址不一致的其他从机仍保持SM2=l的状态。知识

多机通信此后主机发送数据帧,由于TB8被设置为0(表示发送数据),因此虽然每台从机都能够收到该数据,但只有SM2=0的那台被寻址的从机才把数据送入缓冲器,并置位RI=l,申请中断,该从机响应中断后读入该数据并置SM2=l,RI=0,准备下一次通信。其余从机皆因SM2=l和RB8=0而舍弃该数据,等待主机的下一次寻址。这样就实现了主机与从机之间的通信。知识

多机通信串口工作在方式2或方式3时,多机通信的过程可总结如下。(1)主机、从机均初始化为方式2或方式3,且置SM2=1、REN=1,打开串口中断。(2)主机置位TB8=1,向从机发送寻址地址帧,各台从机因满足接收条件(SM2=1、RB8=1),从而接收到主机发来的地址,并与本机地址比较。(3)本机地址与主机发送的地址一致的从机将SM2清零,并向主机返回地址,供主机核对,不一致的恢复初始状态。(4)主机核对返回的地址,若与前面发出的地址一致则准备发送数据,若不一致则返回步骤(1)重新开始。(5)主机向从机发送数据,此时主机TB8=0,只有被选中的那台从机能接收到该数据,其他从机则舍弃该数据。(6)本次通信结束后,从机重新置SM2=l,可进行下一次的通信。知识

多机通信任务实施/previewIndex/1060558硬件设计2通讯协议的约定(1)固定长度:引导位+数据/命令+校验码,其中:引导位:标识协议开始数据/命令:每个字节根据需要规定固定的含义校验码:异或校验、和校验、CRC校验。本方法的优点:数据/命令的各字节含义明确,可根据字节位置直接找到所需的数据,处理数据速度快。

例如:FE

A1温度高字节温度低字节湿度高字节湿度低字节异或校验。其中:FE为引导位,不参加校验,A1是协议1的标识,其余是温度、湿度的数值以及校验码,这样一目了然。

任务实施(2)变长度:引导位+地址+数据长度+数据+校验码+结束符,各部分按需要可进行调整,其中:引导位:标识协议开始

地址:多机通讯时的从机号

数据长度:确定本协议的字节数,便于接收方知道。数据:几个字节构成1个参数的数据,其中采用1个或几个字节表示参数的代号,再跟几个字节表示具体数据和单位。校验码:异或校验、和校验、CRC校验。

结束符:一般采用回车换行(0xOD0x0A),表示本协议结束。本方法的优点:可根实际情况增减参数个数。

例如:国标HJ/T212协议。任务实施本设计中采用定长协议:(1)甲机按下K1键,发送数据协议0xA0

0x01

0x02

1字节异或校验码;(2)甲机按下K2键,发送数据协议0xA1

0x03

0x04

1字节异或校验码

;(3)乙机接收第一条数据协议,则点亮D1信号灯;若收到第二条数据协议,则点亮D2信号灯。(4)双方波特率为2400bps。任务实施3软件设计(1)主机(本任务的甲机)发送时可以采用查询方式,也可以采用中断方式。一般情况下建议采用中断方式。

任务实施/previewIndex/10605603软件设计(2)从机(本任务的乙机)负责接收数据,一般采用中断方式,避免查询等待造成的资源浪费或通讯数据丢失。任务实施/previewIndex/1060561任务小结(1)发送程序既可用查询的方式也可用中断的方式实现,建议采用中断的方式。结合本任务的发送程序,熟练掌握中断方式发送程序的编写。(2)本任务中,接收程序主要用中断方式实现,在初始化中通过SCON=0x50设置串口工作在方式1,允许接收。(3)掌握通信协议的约定,本任务中,协议的引导位用不同的字节表示,代表不同的协议,例如扩展为3个协议,可用0xA0、0xA1、0xA2作为引导位,代表3个协议的开始。

温馨提示

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

最新文档

评论

0/150

提交评论