单片机应用技术任务八 双机通信.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机应用技术任务八 双机通信

任务八 双机通信 任务情境描述 在实际应用中经常需要把现场处理的信息汇总到上位机统一加以处理,这时可以通过串行接口在两机(或多机)之间架起一个沟通的桥梁! 项目15 双机通信 项目描述:要求(1).若甲机的K1~K4有开关处于按下状态,则仅显示对应通道的电压值(若有多个开关按下,只显示其中的一个,序号小的优先);(2).若甲机的K1~K4均处于断开状态,那么要求以每隔2秒从乙机的4个通道1、通道3、通道5、通道7(序号按顺序编排即1、2、3、4)采集电压量并显示在甲机的数码管上;(3.)显示格式为“NO*—*.**”,如采集到序号2的电压值为3.75,则显示结果为“nO.2—3.75。 一. 能力培养目标 (1) 会编写51单片机串行口初始化程序; (2) 会编写51单片机串行口发送与接收程序; (3) 能领会51单片机串行口的工作方式; (4) 能领会串行口的工作特点及波特率的含义; 二. 学习组织形式 三. 项目实施过程 任务八 双机通信 (一) 创建硬件电路 1.编程思想 甲机程序:除显示函数、定时器0中断函数、延时等函数外,主要的有甲机主函数见图15-2、串口及定时器初始化函数见图15-3,以及甲机串口中断函数见图15-4。程序见表15-3(a) tab=0? 串口及定时器初始化 图15-2 甲机主函数流程 Y N 获取要显示的通道号:有开关按下则开关序号给tab,否则无开关按下标志0给tab 调用显示 启动定时器0 每2秒通道号加1:show++ Show4? 向乙机发送要转换的通道号 调用显示,等待发送完毕 Show=1 关闭定时器0 只对选中通道进行转换: 向乙机发送待转换通道号 调用显示,等待发送完毕 RI=1? 暂时关闭串口中断 先对之前已接收的字符移位处理,再接收一个字符temp[3]=SBUF 一串数据接收完毕? 更新显示缓冲区:已接收的字符串赋给相应的显示缓冲区: temp[1]~temp[3]赋给buf[0]~buf[2] 清空临时志变量为下一轮接收作准备:temp[0]~temp[3]=0 清除RI,TI 重开串口中断 图15-4 甲机串口中断流程 Y Y N N 根据甲机的要求,把对应通道号的模拟量转换成数字量 把数字量换算成电压值并扩大100倍 每次发送前发送一个标志位 等待发送完成 发送电压值: 分3次发送——小数2位、整数1位 图15-5 乙机主程序流程 乙机程序:除延时等函数、串口及定时器初始化函数外,主要的有乙机主函数见图15-5、A/D转换函数、以及乙机串口中断函数见图。 2.编写程序如下: 表15-3(a)甲机程序 表15-3(b)乙机程序 (三)创建程序文件并生成.HEX文件 (四)运行程序观察结果 15.1 串行通信 15.1.1 异步串行通信技术 计算机与外界的信息交换称为通信。常用通信方式有两种:并行通信与串行通信,简称并行传送和串行传送。并行传送具有传送速度快,效率高等优点,但传送多少数据位就需要多少根数据线,传送成本高;串行传送是按位顺序进行数据传送,一般仅需要一根传输线即可完成,传送距离远,但传送速度慢。串行通信又分同步和异步两种方式。同步通信中,在数据传送开始时先用同步字符来指示(常约定1—2个),并由同时传送的时钟信号来实现发送端和接收端同步,即检测到规定的同步字符后,接着就连续按顺序传送数据。这种传送方式对硬件结构要求较高。在单片机异步通信中,数据分为一帧一帧地传送,即异步串行通信一次传送一个完整字符, 一个字符应包括以下信息: 1. 起始位:对应逻辑0(space)状态。发送器通过发送起始位开始一帧字符的传送。 2. 数据位:起始位之后传送数据位。数据位中低位在前,高位在后。数据位可以是5、6、7、8位。 3. 奇偶校验位:奇偶校验位实际上是传送的附加位,若该位用于用于奇偶校验,可校检串行传送的正确性。奇偶校验位的设置与否及校验方式(奇校验还是偶校验)由用户需要确定。 4. 停止位:用逻辑1(mark)表示。停止位标志一个字符传送的结束。停止位可以是1、1.5或2位。 串行通信中用每秒传送二进制数据位的数量表示传送速率,称为波特率。 1波特=1bps(位/秒) 例如数据传送速率是240帧/秒,每帧由一位起始位、八位数据位和一位停止位组成,则传送速率为: 10×240=2400位/ 秒=2400波特 温馨提示: 相互通信的甲乙双方必须具有相同的波特率,否则无法成功地完成串行数据通信。 单片机的串行通信主要采用异步通信传送方式。在串行通信中,按不同的通信方向有单工传送和双工传送之分 (a)中,甲.乙两机只能单方向发

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档