新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)在表決系統(tǒng)中的應(yīng)用

51單片機(jī)在表決系統(tǒng)中的應(yīng)用

作者: 時間:2011-11-10 來源:網(wǎng)絡(luò) 收藏
為防止表決結(jié)果各項(xiàng)票數(shù)總合超出報到人數(shù),程序規(guī)定:如未按報到鍵其它鍵操作無效。即表決前先行報到。程序設(shè)定若“發(fā)言”鍵按下(機(jī)械自鎖)分機(jī)上報主機(jī),經(jīng)主機(jī)查詢無“正在”發(fā)言狀態(tài)的分機(jī),則回復(fù)分機(jī)允許發(fā)言。分機(jī)收到命令后置P3.7高有效接通麥克風(fēng)。
分機(jī)中斷服務(wù)程序:當(dāng)主機(jī)經(jīng)串口發(fā)出一地址幀后,各分機(jī)進(jìn)入中斷服務(wù)程序,首先判斷是否為本機(jī)地址,不是則返回主程序。是則繼續(xù)接收命令幀(數(shù)據(jù)幀)。針對命令做如下回應(yīng):分機(jī)報到、表決結(jié)果特征值;有無講話請求,開或關(guān)麥克風(fēng)。返回主程序。另外子程序中還針對錯誤信號做了相應(yīng)對策,以提高抗干擾能力。
3.2 主機(jī)程序(見圖4)

d.JPG
系統(tǒng)加電復(fù)位后,先執(zhí)行串口初始化程序,按編號順序查詢分機(jī),并接收分機(jī)狀態(tài)字,放入內(nèi)存。分機(jī)訪問完后,對結(jié)果分類、統(tǒng)計(jì),并轉(zhuǎn)換為ASCII碼。按報到、同意、反對、棄權(quán)、未按鍵的順序發(fā)給PC機(jī),PC機(jī)以中斷響應(yīng)方式接收數(shù)據(jù)。
系統(tǒng)講話控制策略:分兩級“主持”,“成員”。如果“成員”正在發(fā)言,“主持”可以中斷“成員”發(fā)言。同級中先請求發(fā)言者優(yōu)先。
為防止系統(tǒng)啟動加電后,分機(jī)沒完成復(fù)位,主機(jī)先行查詢致使通訊失敗。主機(jī)在上電復(fù)位后軟件程序延時20 ms以確保分機(jī)進(jìn)入工作狀態(tài)后,主機(jī)再訪問。
3.3 的約定
所有分機(jī)的SM2(SCON5)位置1,使它們置于接收地址幀狀態(tài);主機(jī)發(fā)送一幀地址信息,包含8位地址,第9位置1表示發(fā)送的是地址;分機(jī)接收到地址幀,各自中斷響應(yīng),比較收到地址是否是本機(jī)。被尋址的分機(jī)清除SM2,以接收主機(jī)發(fā)來的后續(xù)命令。未被尋址的分機(jī)仍保持SM2= 1,直至收到新的地址幀。主機(jī)發(fā)送命令幀0AAH(第9位為0)給被尋址的分機(jī)。分機(jī)接收到命令幀,判是否為0AAH?是發(fā)分機(jī)結(jié)果及講話請求狀態(tài),否調(diào)用調(diào)麥克風(fēng)控制程序。分機(jī)地址編號可從0至FEH,本例為0到15H。共21位表決人。指定PC機(jī)地址為FFH。

4 結(jié)論
本系統(tǒng)采用成熟可靠的軟硬件技術(shù)方案。經(jīng)實(shí)際工作表明操作簡單,抗電磁干擾能力強(qiáng)。統(tǒng)計(jì)結(jié)果準(zhǔn)確可靠。顯示、打印快捷迅速。是各種國家機(jī)器及社會團(tuán)體,企事業(yè)單位行使民主權(quán)利的必備工具。


上一頁 1 2 3 下一頁

關(guān)鍵詞: 表決器 80C51 串行通訊

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉