新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PIC單片機的智能小區監控系統的設計

        基于PIC單片機的智能小區監控系統的設計

        作者: 時間:2012-03-21 來源:網絡 收藏

        主機向單個傳數據時,首先,上位機順次發送起始標志位,目的地址位,數據,生成檢驗位,結束標志位,上位機發送后每個下位機都產生中斷把上位機數據包都接收下來,當接收到結束標志字符時,表示接受到一幀完整的數據包,然后對數據解包,把接收到的目的地和本機地址進行比較,如果不是則馬上跳出中斷服務程序,相同的話則表示要和本下位機進行通訊。主機發完信息后便等待該分機的接收應答。當接收數據包完成后,接受方也生成相應的檢驗和,如果接受方生成的檢驗和與接收到的檢驗和一致,則表明這次通訊成功,下位機根據接收到的內容給上位機發送相應的反饋信息。如果不一致,則表明此次通訊失敗,下位機給上位機發送失敗信息,要求上位機重新發送。
        由于系統采用上位機巡查下位機的工作方式,在通信過程中處于被動地位,只能其被輪詢到的時候才能給上位機發送數據,否則即使信息要上報主機時,也必須處于等待。上位機從第一分機依次查詢下位機,給巡查到的下位機發送查詢命令,詢問該是否有信息要上報給上位機。被輪詢的單片機如果沒有信息要上報給上位機的話就給上位機發送無上報要求的指令,上位機接受到此指令后便輪詢下一地址的分機;若分機有數據需上報便回發一個有上報要求給主機,主機收到后便等待分機上報數據,有上報數據的分機組織好數據后上報給主機,然后等待主機的接收應答。主機收到分機上報的數據后進行檢查,若正確接收發正確接收應答,否則發錯誤接收應答。當接收錯誤后,主機等待分機再次上報數據,分機收到接收錯誤應答后再次發送數據。
        信號傳輸中接受與發送都采用中斷方式,多機通信從機中斷服務程序如圖3所示。

        本文引用地址:http://www.104case.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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 重庆市| 德令哈市| 武威市| 普陀区| 博兴县| 平顺县| 蓬溪县| 吉木乃县| 延津县| 潼关县| 玉屏| 常熟市| 滁州市| 枝江市| 鄄城县| 铁力市| 饶阳县| 绍兴市| 东港市| 甘德县| 罗江县| 潢川县| 马鞍山市| 青海省| 攀枝花市| 林口县| 关岭| 光泽县| 永德县| 双鸭山市| 屏东市| 闽清县| 固始县| 商洛市| 岳西县| 清流县| 鱼台县| 梁平县| 黎平县| 简阳市| 扎囊县|