新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PIC单片机的智能小区监控系统的设计

基于PIC单片机的智能小区监控系统的设计

作者: 时间:2012-03-21 来源:网络 收藏

主机向单个传数据时,首先,上位机顺次发送起始标志位,目的地址位,数据,生成检验位,结束标志位,上位机发送后每个下位机都产生中断把上位机数据包都接收下来,当接收到结束标志字符时,表示接受到一帧完整的数据包,然后对数据解包,把接收到的目的地和本机地址进行比较,如果不是则马上跳出中断服务程序,相同的话则表示要和本下位机进行通讯。主机发完信息后便等待该分机的接收应答。当接收数据包完成后,接受方也生成相应的检验和,如果接受方生成的检验和与接收到的检验和一致,则表明这次通讯成功,下位机根据接收到的内容给上位机发送相应的反馈信息。如果不一致,则表明此次通讯失败,下位机给上位机发送失败信息,要求上位机重新发送。
由于系统采用上位机巡查下位机的工作方式,在通信过程中处于被动地位,只能其被轮询到的时候才能给上位机发送数据,否则即使信息要上报主机时,也必须处于等待。上位机从第一分机依次查询下位机,给巡查到的下位机发送查询命令,询问该是否有信息要上报给上位机。被轮询的单片机如果没有信息要上报给上位机的话就给上位机发送无上报要求的指令,上位机接受到此指令后便轮询下一地址的分机;若分机有数据需上报便回发一个有上报要求给主机,主机收到后便等待分机上报数据,有上报数据的分机组织好数据后上报给主机,然后等待主机的接收应答。主机收到分机上报的数据后进行检查,若正确接收发正确接收应答,否则发错误接收应答。当接收错误后,主机等待分机再次上报数据,分机收到接收错误应答后再次发送数据。
信号传输中接受与发送都采用中断方式,多机通信从机中断服务程序如图3所示。

本文引用地址://m.amcfsurvey.com/article/171827.htm

24.gif

5.PC机通信程序

上位机的软件是VC++6.0实现的,其中的重点和难点是进行实时的串行通讯。应用VC++编写串行通信程序,通常可归纳为如下四种方法:一是利用 Windows API通信函数;二是使用Microsoft提供的Microsoft Communications Control控件(简称MSComm);三是利用第三方编写的通信类(如MuMega Technologies公司提供的Cserial类);四是在VC++中用端口操作指令直接对串行端口编程,实现串行通信。本系统中采用的是 MSComm控件,它是通过串行端口发送和接收数据,为应用程序提供串行通信功能,使用非常方便。

6.小结

本系统提出的通讯硬件和通讯协议已经在实际中使用,截止目前运行正常。这说明这种通讯方案在PC机和多台单片机的数据通讯中快速、准确、可靠的。

参考文献:
[1] 李朝青,PC机及单片机数据通讯技术[M],北京:北京航空航天大学出版社,2000
[2] 阳宪惠,现场总线技术及其应用[M],北京:清华大学出版社,1999
[3] 王仲文,精通串行口通讯[M],北京:电子工业出版社,1995


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭