關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 智能溫室控制器的開發(fā)

智能溫室控制器的開發(fā)

作者: 時間:2009-08-11 來源:網(wǎng)絡 收藏

4、串口擴展
由于要分別與上位機和下位機進行通信,而89c52只有一個串口,所以必須再擴展一個串口滿足需要。8251是一個將并口擴展為串口的芯片,用其作為串口擴展芯片可以實現(xiàn)與485的通信。
8251是把并口p0擴展為串口,所以將p0口接在8251的D0-D7上。用74LS373作為地址鎖存器,可以對8251進行尋址。由于接收器準備好信號RXRDY高電平有效,所以為了產(chǎn)生中斷,接了一個非門芯片7404。波特率發(fā)生器是電路中極其重要的部分,CD4040芯片的最低分頻數(shù)為1,也就是說可以把頻率分為1/2。晶振采用2.4576M有緣晶振。有緣晶振無需外圍電路,通電即可起振。把晶振產(chǎn)生的頻率輸入CD4040。將頻率分為1/2后接到工作時鐘CLK,分為1/27后變成19200hz作為輸入輸出時鐘。8251與89c52連接的硬件原理框圖如圖5所示:

本文引用地址:http://m.butianyuan.cn/article/163655.htm


4 軟件設計
在單片機軟件過程中, 編制的程序要合理使用各種中斷機制。本系統(tǒng)就算法來說,有實時性要求, 任務復雜:有中斷、定時任務、循環(huán)執(zhí)行任務等, 并且人機交互操作還通常會動態(tài)地改變程序的運行模式, 尤其是人機界面――液晶的顯示輸出需要占用大量CPU 時間, 與此同時又不允許丟失重要的數(shù)據(jù)。還要隨時準備向上位機發(fā)送數(shù)據(jù)。因此,需要綜合采用消息機制與狀態(tài)轉(zhuǎn)移法來統(tǒng)一地處理好CPU 的任務安排。
在中斷服務程序中, 向主程序的消息隊列添加相應的消息, 來達到將中斷服務程序中的數(shù)據(jù)處理部分分離出來的目的。本系統(tǒng)主要有兩個中斷:上位機中斷和鍵盤中斷。中斷服務程序返回主程序后, 主控程序只處理消息循環(huán), 判斷并為消息處理對象發(fā)送所需處理的消息, 而接受消息的對象則以消息響應函數(shù)的方式出現(xiàn), 當接收到主程序發(fā)來的消息后, 消息響應函數(shù)獲得控制權, 做完相應的處理后將控制權交還給主程序繼續(xù)消息循環(huán)的處理。用戶的輸入及對象的請求僅是向消息隊列中添加相應的消息。
主控程序還需要查詢消息隊列也就是時間,根據(jù)時間的不同, 調(diào)用相應的消息處理函數(shù), 在本系統(tǒng)中, 時間表現(xiàn)為一個變量, 通過給該變量置不同值來反映不同的消息。對于由中斷觸發(fā)的消息, 由于消息處理函數(shù)已經(jīng)脫離了中斷處理過程, 所以系統(tǒng)對消息處理不再象中斷服務程序那樣, 在時間上有十分苛刻的要求; 同時, 在消息處理過程中, 用戶仍可通過鍵盤中斷來與系統(tǒng)進行交互。
5 結(jié)束語
本項目是一個自動化技術與農(nóng)業(yè)結(jié)合的課題, 以89c52 單片機為核心的嵌入式,通過8251擴展一個串口后和單片機原有的串口一起分別和上位機和下位機通訊,從下位機收集到的數(shù)據(jù)先存入數(shù)據(jù)存儲器,在接收到上位機的命令后再把數(shù)據(jù)傳到上位機進行管理。并在控制器上加入鍵盤和顯示的功能,能控制器能直接控制下位機。該控制器結(jié)構合理, 經(jīng)濟實用, 具有較高的推廣價值。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉