<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)DuC812的遠程環(huán)境監測信息系統下位機的設計

基于A(yíng)DuC812的遠程環(huán)境監測信息系統下位機的設計

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

  3.3 鍵盤(pán)、顯示器接口電路

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

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

   3.4 串行通信接口電路 

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

  4機軟件

  4.1 軟件整體

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

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

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

軟件流程圖

圖4、軟件流程圖

  4.2 軟件設計特點(diǎn)

  微控制器內核與8051指令兼容,用戶(hù)現有的軟件都可以直接移植,但在A(yíng)DC轉換模塊和數據的存取方面與8051編程不同。

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

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

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

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

  5結束語(yǔ)

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>