新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ADuC812的遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)下位機(jī)的設(shè)計(jì)

        基于ADuC812的遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)下位機(jī)的設(shè)計(jì)

        作者: 時(shí)間:2012-07-26 來源:網(wǎng)絡(luò) 收藏

          3.3 鍵盤、顯示器接口電路

          外接鍵盤和LCD顯示器的目的是:當(dāng)數(shù)據(jù)發(fā)送錯(cuò)誤或人工查詢數(shù)據(jù)時(shí),可通過鍵盤選擇要查詢的參數(shù)并在顯示器上顯示出來,使機(jī)的工作更加靈活方便。

          為了連接鍵盤和顯示器,需要擴(kuò)展一片8155I/O口擴(kuò)展芯片,采用4*4觸摸式鍵盤和點(diǎn)陣式液晶顯示器。鍵盤上的鍵值分別與各路環(huán)境參數(shù)對應(yīng),若為“0”按下,則調(diào)顯示子程序,此后每按一個(gè)鍵,此按鍵值對應(yīng)的環(huán)境參數(shù)在顯示器上顯示出來。若不是“0”鍵按下,則把鍵值送累加器A。當(dāng)為“F”鍵按下時(shí),則退出顯示子程序。

           3.4 串行通信接口電路 

        由于要通過MODEM、電話線與上位PC機(jī)通信,所以須利用MAX232芯片作為RS—232口電平匹配與驅(qū)動。MAX232是包含兩路接收器和驅(qū)動器的IC芯片,其內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的+5V電源電壓變換成為RS—232C輸出電平所需的±10伏電壓。

          4機(jī)軟件

          4.1 軟件整體

          機(jī)的軟件主要由3部分組成:數(shù)據(jù)采集及存儲子程序,鍵盤掃描與液晶顯示程序,與上位機(jī)的通信子程序。流程圖如圖4。

          主程序中,首先進(jìn)行鍵盤、顯示器、AD模塊和通信端口的初始化。數(shù)據(jù)采集及存儲子程序編寫為定時(shí)中斷子程序,采用定時(shí)器2定時(shí),每2分鐘調(diào)一次數(shù)據(jù)采集及存儲子程序,采集一次數(shù)據(jù)。而酸雨數(shù)據(jù)的采集是通過外部中斷INT1,每當(dāng)酸雨量達(dá)0.5mm時(shí)向發(fā)一個(gè)中斷請求,采集一次酸雨數(shù)據(jù)。

          主程序循環(huán)掃描鍵盤,當(dāng)有鍵按下時(shí),轉(zhuǎn)鍵盤掃描子程序。主程序中把與上位機(jī)的通信程序設(shè)置為外部中斷子程序,中斷信號由INT0輸入。當(dāng)上位機(jī)要求傳送數(shù)據(jù)時(shí),通過撥號,選中某一下位機(jī),則此下位機(jī)程序跳轉(zhuǎn)到通信子程序,完成與上位機(jī)的通信。

        軟件流程圖

        圖4、軟件流程圖

          4.2 軟件設(shè)計(jì)特點(diǎn)

          微控制器內(nèi)核與8051指令兼容,用戶現(xiàn)有的軟件都可以直接移植,但在ADC轉(zhuǎn)換模塊和數(shù)據(jù)的存取方面與8051編程不同。

          在數(shù)據(jù)采集及存儲子程序中,ADC首先要初始化。對ADuC812的AD轉(zhuǎn)換模塊的操作是通過對ADCON1,ADCON2和ADCON3這3個(gè)特殊功能寄存器(SFR)來控制的。ADCON1控制轉(zhuǎn)換與采集時(shí)間、硬件轉(zhuǎn)換模式以及掉電模式。在對ADCON1的設(shè)置中,ADC正常工作,時(shí)鐘分頻比為2。由于輸入信號模擬放大轉(zhuǎn)換電路的輸出阻抗都小于8KΩ,所以選擇ADC采集時(shí)鐘為1。設(shè)置定時(shí)器2轉(zhuǎn)換位T2C,由此,得ADCON1=52H。ADCON2控制ADC通道選擇和轉(zhuǎn)換模式。由于本數(shù)據(jù)采集系統(tǒng)為8通道順序采集,ADC每次需要將8個(gè)通道的模擬輸入量依次進(jìn)行轉(zhuǎn)換,因此,要把通道號CHAG的值送入ADCON2中。ADCON3未用。一旦特殊功能寄存器ADCON1~3完成設(shè)置,ADC將轉(zhuǎn)換模擬輸入并在特殊功能寄存器ADCDADAH/L中提供ADC 12位結(jié)果字。

          CPU用中斷方式管理A/D轉(zhuǎn)換器。當(dāng)A/D轉(zhuǎn)換完成時(shí),向CPU發(fā)請求信號,CPU響應(yīng)中斷,中斷處理子程序負(fù)責(zé)對轉(zhuǎn)換的數(shù)據(jù)進(jìn)行讀出并將其存儲至外部數(shù)據(jù)存儲器28F128中,然后通道號加1,相應(yīng)的閃速存儲器地址也加1。

          當(dāng)用戶訪問微轉(zhuǎn)換器ADuC812的16MB的外部數(shù)據(jù)空間時(shí),必須添加一個(gè)數(shù)據(jù)頁指針DPP,與普通MCS-51一樣,一條向DPTR送數(shù)的MOV指令仍只送16位的數(shù)據(jù)到DPH和DPL,但一個(gè)使DPH溢出的INC DPTR指令,將使地址增加一頁而不是加1。頁的大小與DPP有關(guān)。因此利用數(shù)據(jù)頁指針DPP可實(shí)現(xiàn)16MB外部數(shù)據(jù)空間的訪問。

          對28F640的讀寫是以頁編程操作為基礎(chǔ)。28F640是超大容量閃速存儲器,為了保證對各種操作的可靠進(jìn)行,芯片內(nèi)部增加了控制邏輯。如用來接受各種操作命令的用戶命令單元接口(CUI)和擦寫狀態(tài)機(jī)(WSM)等。當(dāng)進(jìn)行數(shù)據(jù)交換時(shí),首先是將芯片的片選端使能,使存儲器進(jìn)入工作狀態(tài),然后再將相應(yīng)命令字送入CUI。CUI根據(jù)命令要求按地址鎖存器的尋址去控制WSM對相應(yīng)的存儲單元或存儲塊區(qū)域自動執(zhí)行編程算法和必要的延時(shí),從而完成數(shù)據(jù)塊的擦除、寫入、鎖存等操作。

          5結(jié)束語

          把ADuC812芯片應(yīng)用在下位機(jī)的設(shè)計(jì)上,顯著提高了數(shù)據(jù)采集系統(tǒng)的性能并大幅度地減少了開發(fā)時(shí)間和成本,適應(yīng)了現(xiàn)代的要求。根據(jù)具體要求稍加修改,本系統(tǒng)還可適用于氣象、電力、水文等需要實(shí)時(shí)監(jiān)測的各個(gè)部門。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 乐陵市| 会昌县| 惠东县| 齐河县| 临夏市| 潜江市| 肇东市| 全南县| 启东市| 闻喜县| 秦安县| 广汉市| 枣阳市| 泗阳县| 文化| 星子县| 和林格尔县| 丰都县| 南投县| 兴山县| 西畴县| 肥西县| 谷城县| 保山市| 天水市| 永修县| 横峰县| 扶绥县| 石门县| 琼海市| 海南省| 沅陵县| 青岛市| 资溪县| 东丰县| 寻甸| 贺州市| 蚌埠市| 安泽县| 山东| 淮滨县|