51單片機在表決系統中的應用
分機中斷服務程序:當主機經串口發出一地址幀后,各分機進入中斷服務程序,首先判斷是否為本機地址,不是則返回主程序。是則繼續接收命令幀(數據幀)。針對命令做如下回應:分機報到、表決結果特征值;有無講話請求,開或關麥克風。返回主程序。另外子程序中還針對錯誤信號做了相應對策,以提高抗干擾能力。
3.2 主機程序(見圖4)
系統加電復位后,先執行串口初始化程序,按編號順序查詢分機,并接收分機狀態字,放入內存。分機訪問完后,對結果分類、統計,并轉換為ASCII碼。按報到、同意、反對、棄權、未按鍵的順序發給PC機,PC機以中斷響應方式接收數據。
系統講話控制策略:分兩級“主持”,“成員”。如果“成員”正在發言,“主持”可以中斷“成員”發言。同級中先請求發言者優先。
為防止系統啟動加電后,分機沒完成復位,主機先行查詢致使通訊失敗。主機在上電復位后軟件程序延時20 ms以確保分機進入工作狀態后,主機再訪問。
3.3 串行通訊的約定
所有分機的SM2(SCON5)位置1,使它們置于接收地址幀狀態;主機發送一幀地址信息,包含8位地址,第9位置1表示發送的是地址;分機接收到地址幀,各自中斷響應,比較收到地址是否是本機。被尋址的分機清除SM2,以接收主機發來的后續命令。未被尋址的分機仍保持SM2= 1,直至收到新的地址幀。主機發送命令幀0AAH(第9位為0)給被尋址的分機。分機接收到命令幀,判是否為0AAH?是發分機結果及講話請求狀態,否調用調麥克風控制程序。分機地址編號可從0至FEH,本例為0到15H。共21位表決人。指定PC機地址為FFH。
4 結論
本系統采用成熟可靠的軟硬件技術方案。經實際工作表明操作簡單,抗電磁干擾能力強。統計結果準確可靠。顯示、打印快捷迅速。是各種國家機器及社會團體,企事業單位行使民主權利的必備工具。
評論