- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 8
51单片机的多机通信
[摘要] 目前,在通信领域里,一对一的通信方式已经远远不能满足人们设计的需要,多机通信已经成为通信控制领域的主流通信形式.通过它对MCS-51系列单片机多机通信的研究,阐述了单片机多机通信方式及iic接口的原理,介绍了单片机iic接口多机通信的应用.
[关键词] 51单片机;iic总线;多机通信;at24c02存储器; rtx51多任务操作系统
1引言
单片机从根本上改变了传统的控制系统设计思想和设计方法,以前必须由模拟电路和数字电路实现的大部分功能,现在已经用单片机通过软件方法实现了。这种用软件代替硬件的控制技术也称控制技术,是对传统控制技术的一次革命。
在实际应用系统中,经常需要多个微处理机协调工作才能完成某个过程或任务。本次使用rtx51多任务操作系统进行研究,能方便地实现多机通讯功能,利用它构成各种分布式系统。由于单片机具有体积、成本低、运用灵活、易于产品化、它能方便地组成各种智能化的控制设备和仪器,做到机电一体化,面向控制、能针对性地解决从简单到复杂的各类控制任务,能获得最佳工作性能价格比,抗干扰能力强、适用温度范围特别广、在各种恶劣的环境下都能可靠的工作,这是其他类似计算机无法比拟的,可以方便地实现多机和分布式控制,使整个系统的效率和可靠性大为提高。所以单片机及其多机通信技术在现实生活中发挥着重要作用,研究它具有重要的意义。
本课程设计论文对51系列单片机的多机通信原理作了全面介绍,详细论证单片机多机通信系统的相关技术。Rtx51操作系统在51系列单片机上的使用,并对其相应的软件编程技术进行了详细的论述。研究了查询通信方式,并对其相应的软件编程技术进行了详细的论述。
我所做的单片机多机通信,主要在电脑上仿真完成,个人完成电路的设计、连接、检查、调试,再根据自己的电路和通信协议用c语言写发送和显示程序,然后加电调试,最终达到了准确无误的发送和显示。在这个过程中需要选择适当的元件,合理的电路图,基本的故障排除和纠正能力,会用相关的软件对自己的程序进行编译
2.1 查询方式研究
查询传送也称条件传送,可用于无条件传送不便于使用场合,以解决外部设备与CPU之间的速度匹配问题。在这种传送方式中,无论是输入还是输出,都是以计算机为主动的一方。为了保证数据传送的正确性,计算机在传送数据之前,首先要查询外部设备是否处于“准备好”的状态。对于输入操作,需要知道外设是否把要输入的数据准备好了;对于输出操作,则要知道外设是否已把上次计算机输出的数据处理完毕。只有通过查询,确信外设处于“准备好”状态,计算机才能发出访问外设的指令,实现数据的交换。
查询方式的响应过程如下:单片机不断的查询是否有按键按下,如果有按键按下的话,就执行相应的程序,否则继续查询。而rtx51是多任务的,所以在本设计中使用一个任务查询按键的状态,而不做其他的事,当有按键按下时,任务就会激活一个全局变量,另一个任务检查到这个全句变量时就会做出相应的处理:将一个固定的数写进对应的at24c02存储空间内供其他单片机读取。
????????
图2.1.1?? 从图上我们可以看到,当有按键按下的时候,对应P3输入不为0xff。因此,我们要查询是否有按键按下,只要检测到p3是不是0xff就可以了。
图2.1.2
查询方式的过程为:任务启动——进入相应的任务查询按键——是否将相应的数据写进相应的存储空间——另一单片机的相应任务对属于自己的空间进行查询——有效的数据进行取出否则写进0x00,待到下一次数据传送时则重复上述过程。查询方式的优点是通用性好,可以用于各类外部设备和CPU间的数据传送;缺点是需要有一个等待过程,特点是在连续进行数据传送时,由于外设工作速度比CPU慢得多,因此,CPU在完成一次数据传送之后要等待很长的时间(与数据传送相比)才能进行下一次的传送。在等待过程中CPU不进行其他操作,所以效率比较低。提高CPU效率的一条有效途径是采用中断方式。
2.2数据通信的传输方式
3. 多机通信原理及设计
本设计使用一个at24c02作为多机通信的一个中转站。把at24c02的存储空间合理的分配给各个单片机,而每一个单片机都会使用一个任务来不断对属于自己的空间进行不断查询,当发现属于自己空间的数据有效时就把数据取出来使用,并把空间数据标置无效(写进0x00),如需要向其他单片机发送数据只需要向相应的单片机所属的空间写进药发送的数据就行了。而要接收的单片机也会利用一个任务不断对属于他的空间进行查询,有数据便取出来,否则任务一直查询。
3.1设计方案
在多机通信时,每台机都可以对at24c02进行读写,要发送时就向相应的单片机所属空间写进数据,而接受方就会不断查询自己
文档评论(0)