新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > PC机与单片机多机主从互通的实现

PC机与单片机多机主从互通的实现

作者:时间:2014-01-16来源:网络收藏

  为了实现RS 485 的半双工通信,必须有一个方向切换控制信号,如图2所示。在端,这个控制信号很容易获得,引出一个I/O脚,即可在程序中控制该信号的切换;但是端的RS 485的切换就相对比较麻烦,这也是复位监视与读写转换电路完成的另外一个重要功能:读写转换。如果要占用RS 485总线,则发送一个特定的串行码,该专用接收并响应该串行码,切换RS 485控制器,开始占用485总线并发送数据,如果结束发送数据,则要同时发送一个特定的串行码,通知该专用单片机,进行相应的RS 485切换。单片机及其附属电路组成了相关的功能电路。

  

  主单片机采用了Silicon公司的8051F020型增强型单片机。该单片机最大的优势是内部集成的模拟电路功能较为强大、单片机运行速度快、程序编写-烧写-仿真较为方便。

  3 系统的软件构成

  软件分为3个部分:PC机上位机程序、单片机通用程序和专用单片机程序。专用单片机的程序运行在复位监视与读写转换电路中,该程序较为简单,就是在上电后,一直按照约定的波特率和数据格式接收PC机送出的串行数据,若得到的数据符合约定的复位格式,则送出复位信号;若接收到的数据符合总线切换的格式,则送出相应的切换信号。PC 机上位机程序比较复杂,可以根据用户的实际需要,编写相关的应用程序。在本文中,采用Delphi编写了应用程序,实现了对单片机群的参数设置、状态调整、信息反馈和系统控制。

  单片机通用程序分别运行在100多个单片机上,是实现系统功能的基础。图3为单片机程序流程图。

  

  单片机初始化后,接收PC机送来的初始指令,然后开始运行主程序,执行单片机的主功能。同时开放串行接收中断,一旦接收到PC机发来的指令,就进行对比判断,如果是PC 机对自己的点名,则响应PC 机的回送指令,开始占用总线,向PC机传送数据,结束后向PC机发送结束状态字,结束占用总线,回到主程序,同时等待接收串行数据。

  4 结语

  经过大量试验,课题组应用点名式总线控制方式,成功解决了PC机与大量单片机的双向互通问题,实现了100 多个单片机与主控PC 机之间的互通信,达到了设计要求。电路经过长时间运行,实际情况表明,该系统运行稳定、控制灵活、可靠性高,采用的点名式总线控制方式具有很好的实用价值。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭