基于電話網(wǎng)的多功能煤氣管道自動(dòng)抄表系統(tǒng)
3 主控端硬件設(shè)計(jì)
主控端通過一個(gè)標(biāo)準(zhǔn)Modem連到一臺(tái)固定電話機(jī),通過抄表管理系統(tǒng)軟件實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中的用戶自動(dòng)撥號(hào);主控端的Modem芯片模塊通過LM567判斷對(duì)方是否摘機(jī),用MSM7512B自動(dòng)接收客戶端發(fā)送來的煤氣量的數(shù)據(jù),并將數(shù)據(jù)準(zhǔn)確的傳送給主控PC機(jī),數(shù)據(jù)經(jīng)過自動(dòng)換算并保存入庫(kù)。主控端硬件設(shè)計(jì)如圖3所示。本文引用地址:http://2s4d.com/article/161841.htm
4 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)包括客戶多功能煤氣表的程序和主控端的程序兩大部分,主控端的程序又包含Modem芯片模塊的程序和抄表管理系統(tǒng)軟件。客戶多功能煤氣表端的程序固化在客戶端MCU中,主要由主程序,外部中斷0,外部中斷1程序和定時(shí)器0中斷程序組成。其中,外部中斷0子程序用來計(jì)數(shù)脈沖、記憶所用煤氣量和手動(dòng)開關(guān)供氣通道;外部中斷1子程序用來檢測(cè)漏氣和檢測(cè)振鈴;串口中斷用來采集來電號(hào)碼;定時(shí)器0中斷程序用來控制通風(fēng)設(shè)備開啟時(shí)間。主控端的Modem芯片模塊程序固化在主控端的MCU中,由主程序和中斷0程序組成。當(dāng)主控端通過L45 67判斷到對(duì)方摘機(jī),程序進(jìn)入中斷0程序,并開始接收數(shù)據(jù)。主控端的抄表管理系統(tǒng)采用VB開發(fā)數(shù)據(jù)庫(kù),在VB環(huán)境中通過MSCOMM控制串口,實(shí)現(xiàn)定時(shí)自動(dòng)撥號(hào)和手動(dòng)撥號(hào),采用DAO,ADO對(duì)象模型和SQL語言實(shí)現(xiàn)對(duì)Access數(shù)據(jù)庫(kù)的訪問,查詢和操作,采用通過數(shù)據(jù)報(bào)設(shè)計(jì)器(Data Rep-ort Designer)與數(shù)據(jù)環(huán)境設(shè)計(jì)器(Data Environment Designer)設(shè)計(jì)打印報(bào)表。
4.1 客戶多功能煤氣表的主程序
客戶端多功能煤氣表的主程序流程圖如圖4所示。它是客戶端程序的主線。硬件上電復(fù)位后,進(jìn)入主程序,先對(duì)一系列芯片初始化,再設(shè)置定時(shí)器T0和T1的初始值,然后讀取E2PROM中存儲(chǔ)的煤氣量數(shù)據(jù)并顯示。接著開中斷,循環(huán)進(jìn)行熄火檢測(cè),并等待中斷。
4.2 主控端Moderm芯片模塊主程序
主控端的Moderm芯片模塊硬件電路復(fù)位,軟件進(jìn)入主程序。先設(shè)置一標(biāo)志位Flag,根據(jù)它的值判斷當(dāng)前用戶是否摘機(jī)。若Flag為1,則對(duì)方?jīng)]摘機(jī),循環(huán)判斷;若Flag為0,說明對(duì)方摘機(jī),不斷接收數(shù)據(jù),直到對(duì)方掛機(jī),接收到的數(shù)據(jù)通過MCU的RXD經(jīng)過MAX232傳送給主機(jī)抄表管理系統(tǒng)。抄表系統(tǒng)根據(jù)匯算結(jié)果,即用戶所用煤氣量與所交費(fèi)用核算結(jié)果來發(fā)送指令給MCU,MCU通過MSM7512B發(fā)送指令給對(duì)方用戶。流程圖如圖5所示。
5 結(jié)語
實(shí)驗(yàn)證明,該系統(tǒng)布線簡(jiǎn)單,數(shù)據(jù)傳輸?shù)目煽啃院桶踩远驾^好。本文方法同樣也適用于抄錄水表、電表數(shù)據(jù)。
評(píng)論