通用數(shù)據(jù)采集和通訊儀的設(shè)計(jì)與實(shí)現(xiàn)
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件采用模塊化設(shè)計(jì),主程序首先對(duì)各接口芯片進(jìn)行初始化,然后分別調(diào)用各個(gè)子程序模塊以進(jìn)入各個(gè)數(shù)據(jù)采集子系統(tǒng),并將采集到的數(shù)據(jù)存儲(chǔ)在32K字節(jié)的串行E2PROM AT24C256中,以備控制中心查詢,同時(shí)將對(duì)應(yīng)的數(shù)據(jù)在液晶顯示器上顯示。如果系統(tǒng)接收到上位機(jī)的數(shù)據(jù)上傳命令,就將存儲(chǔ)在E2PROM中的數(shù)據(jù)通過 PTR2000發(fā)送給PC機(jī)。系統(tǒng)主程序流程如圖7所示。
串口通信程序中雙方通信協(xié)議是至關(guān)重要的,這關(guān)系到無線數(shù)據(jù)傳輸?shù)目煽啃?,本系統(tǒng)約定雙方的通信協(xié)議格式如下:串行通信使用單片機(jī)的內(nèi)部定時(shí)器/計(jì)數(shù)器1 作為波特率發(fā)生器,本系統(tǒng)波特率設(shè)定為4800 bit/s;幀格式為1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn);通信采用中斷方式;上位機(jī)采用COM 1通信。當(dāng)接收到上位機(jī)的命令后,中斷服務(wù)程序?qū)?shù)據(jù)從單片機(jī)數(shù)據(jù)緩沖區(qū)取出,同時(shí)將模塊的接收狀態(tài)切換為發(fā)射狀態(tài),轉(zhuǎn)換過程所需時(shí)間約5ms,然后將這些數(shù)據(jù)以FSK的調(diào)制形式發(fā)射出去, PTR2000模塊隨后恢復(fù)為接收狀態(tài)。如果數(shù)據(jù)在傳輸?shù)倪^程中有數(shù)據(jù)丟失,上位機(jī)將要求單片機(jī)系統(tǒng)重新發(fā)送數(shù)據(jù),直到數(shù)據(jù)全部正確為止,串行中斷服務(wù)程序如圖8所示。
3 結(jié)束語(yǔ)
本文利用8位單片機(jī)設(shè)計(jì)的通用數(shù)據(jù)采集系統(tǒng),可以作為工業(yè)現(xiàn)場(chǎng)的遠(yuǎn)程監(jiān)控終端來使用,也可以方便的設(shè)計(jì)成便攜式智能數(shù)據(jù)采集和通訊儀表,由于數(shù)據(jù)傳輸采用了無線方式,使其能夠非常廣泛的應(yīng)用于工業(yè)上需要數(shù)據(jù)采集的場(chǎng)合,具有比較高的實(shí)際應(yīng)用價(jià)值,給未來創(chuàng)新打下基礎(chǔ)。
評(píng)論