- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE \* MERGEFORMAT 12
单片机课程设计
串行通信之多机通信
完成日期:2009年7月11日
目录
设计目的………………………………………………1
实现功能………………………………………………1
元件清单………………………………………………1
总体框图………………………………………………2
基本原理………………………………………………4
软件仿真………………………………………………4
拓展说明………………………………………………6
课程设计完成感想……………………………………7
程序清单………………………………………………8
设计目的
了解单片机串行通信的工作原理。
掌握串行口工作方式的程序设计及点对点通信电路连接方法
实现功能
基本实验要求:
利用两台单片机实验平台完成两台单片机间点对点通信。
1. 完成两台单片机间一主一从的单工通信。主机发送数据,从机接收数据并在数码管上显示。
2. 完成两台单片机的全双工通信。通信双方的任一单片机可同时发送和接收数据,并将数据在各自的数码管上显示。
经过和老师的沟通协商,最后实现功能改为:
实现两个或两个以上单片机间的多机通信,具体方式为:
三个51单片机间进行“1主对2”全双工
主机可以将其数码管显示的内容发送给每个从机,也可以采集每个从机数码管显示的数据并求和后显示出来,同时从机也可以主动发送数据给主机。
每个单片机的数码管显示值可以通过外接的按键进行设置。
元件清单
AT89S52单片机 ……………………………………………… 3个
74LS47译码器 ………………………………………………6个
七段数码管 ………………………………………………6个
复位电路 ………………………………………………三套
晶振电路 ………………………………………………三套
不带锁按键 ………………………………………………6个
电源电路 ………………………………………………一套
总体框图
基本原理
本课程设计的重点和难点在于对于多机通信的标志位SM2及相关寄存器的运用。
MCS-51单片机串行通信口控制器SCON中的SM2为方式2或方式3的多机通信控制位。当串行口以方式2或方式3工作时,若SM2设为1,此时只有当串行口接收到的第9为数据RB8=1时,才置“1”中断标志RI,
从机系统有初始化程序将串行口设定为方式2接收,即9位异步通信方式,且置“1”SM2和REN,允许串行口中断。在主机和某一个从机通信之前,先将从机地址发送给各个从机系统,接着才开始传送数据或命令,主机发出的地址第9位为“1”,数据(包括命令)信息的第9位为“0”。当主机向各个从机发送地址时,各从机的串行口接收到的第9位信息及RB8为“1”,则置中断标志位RI为“1”,各从机响应中断,执行中断服务程序,判断主机送来的地址是否和本机地址相符合,若为本机地址,则该从机清零SM2位,准备接收主机的数据或命令;若地址不相符,则保持SM2为“1”状态,接着主机发送数据,此时各从机串行口接收到的RB8=0,只有于前面地址相符合的从机系统(即已经将SM2清零的从机)才能激活中断标志位RI,从而进入中断服务程序,在中断服务程序中接受主机的数据或执行主机的命令,实现和主机的信息传送;其他从机因SM2保持“1”,又RB8=0不激活中断标志RI,所接收的数据丢失不做处理,从而实现主机和从机间的通信。
这种控制方式是主从式工作方式,由主机控制从机的接收和发送。
综上所述,本系统实现的过程总结如下:
把全部从机的串行口初始化为工作方式2或方式3,置位SM2,允许中断。
主机置位TB8,发送要寻址的从机地址。
所有从机均接受主机发送的地址,并各自进入中断服务程序,进行地址比较。
被寻址的从机确认后,把自身的SM2清零。
主机向从机发送命令,通知从机是进行数据接收还是进行数据的发送。
主机和从机进行数据通信。
软件仿真
Proteus调试与仿真:
在keil中建立程序文件,调试成功生成hex文件。在proteusISIS界面中,单击按钮启动仿真。
主机操作如下:
每按下“加1”键,数码管显示值加1;
每按下“汇总数据”键,主机数码管显示值变为从机1的显示值+从机2的显示值之和;
每按下“发送从机1”键,从机1的数码管显示
每按下“发送从机2”
从机操作如下:
每按下“加1”键,数码管显示值加1;
每按下“发送”键,向主机发送数据;
运行中的数码管显示值随主机的操作而发生改变。
——仿真片段1:主机将6发送给从机1.
——仿真片段2:主机将数据10发送给从机2.
——仿真片段3:主机接收从机1和从机2数据之和。
——仿真片段4:从机1向主机发送数据
——仿真片段5:从机2向主机发送数据
课程设计完成感想
单片机课程设计的时间还是非
文档评论(0)