新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)在智能窗控制系統(tǒng)中的應(yīng)用

        單片機(jī)在智能窗控制系統(tǒng)中的應(yīng)用

        作者: 時間:2011-11-19 來源:網(wǎng)絡(luò) 收藏
        A/D 轉(zhuǎn)換器#e#

        本文引用地址:http://www.104case.com/article/172418.htm

          A/D 轉(zhuǎn)換器

          為了便于與AT89C51 相連接, 同時又有利于系統(tǒng)設(shè)計, A/D 轉(zhuǎn)換器選用了ADC0809.其分辨率為8 位,不必進(jìn)行零點和滿度調(diào)整。單一電源( + 5V) 供電, 模擬量輸入范圍0 -5V.轉(zhuǎn)換速度取決于芯片的時鐘頻率。

          時鐘頻率范圍為10 -500KHZ.ADC0809 有八路模擬量輸入, 在本系統(tǒng)中只用4 路輸入, 即可完成溫度等4 種被測模擬量的A/D 轉(zhuǎn)換。利用對FOH口的數(shù)據(jù)寫啟動A/D 轉(zhuǎn)換器, A/D 轉(zhuǎn)換結(jié)束ADC0809 的EOC 向AT89C51 發(fā)出中斷請求信號, CPU 再響應(yīng)中斷請求信號, 通過對FOH 口的讀操作, 讀取轉(zhuǎn)換結(jié)果并送到被測量的相應(yīng)存儲區(qū)。

          在重新選擇被測量(修改各相關(guān)指針) , 并再次啟動A/D 轉(zhuǎn)換后中斷返回。A/D 轉(zhuǎn)換器電路如圖三所示。

        A/D 轉(zhuǎn)換器電路

        圖3 A/D 轉(zhuǎn)換器電路

          窗驅(qū)動電路

          我們可以根據(jù)驅(qū)動信號與所控對象的關(guān)系, 將窗驅(qū)動電路分解為: 移窗驅(qū)動電路; 換窗驅(qū)動電睡; 窗鎖驅(qū)動電路; 溫度調(diào)節(jié)驅(qū)動電路; 濕度調(diào)節(jié)驅(qū)動電路; 換氣扇驅(qū)動電路; 報警驅(qū)動電路等, 分別用它們?nèi)タ刂? 個對象。

          窗狀態(tài)檢測電路

          可考慮采用4 個開關(guān)型磁敏器件。外窗、內(nèi)窗所對應(yīng)的左、右墻框各1 個。在外窗、內(nèi)窗的左、右邊上與磁敏器件相對應(yīng)的地方各貼上一小片磁鐵。當(dāng)小磁鐵隨窗戶的移動而移近相對應(yīng)的磁敏器件時, 該磁敏器件的輸出信號從高電平變?yōu)榈碗娖剑?表示窗戶已移到相應(yīng)邊上。

          鍵盤輸入及顯示電路

          可采用Intel 公司生產(chǎn)的8279 通用可編程鍵盤顯示器接口芯片。利用8279 , 可實現(xiàn)對鍵盤顯示器的自動掃描,并識別鍵盤上閉合鍵的鍵號, 大大節(jié)省對鍵盤顯示器的操作時間, 從而減輕單片機(jī)的負(fù)擔(dān)。該鍵盤輸入及顯示電路具有顯示穩(wěn)定, 程序簡單, 不會出現(xiàn)誤動作等優(yōu)點。

          對于控制鍵盤, 可考慮采用微動開關(guān)制作并安裝在窗戶的固定邊框上。通過控制鍵盤, 用戶不但可設(shè)置各環(huán)境參數(shù)的臨界值, 還可隨意選擇所顯參數(shù)的種類, 并直接控制窗戶的開/關(guān)、換氣扇的轉(zhuǎn)/停、溫(濕) 的升/降等。

          三、軟件設(shè)計

          該的軟件主要由一個主程序和兩個中斷服務(wù)程序等所組成。

          主程序

          主程序的主要作用是在系統(tǒng)復(fù)位后對系統(tǒng)進(jìn)行初始化, 如設(shè)置8279、ADC0809 等的工作方式和初始狀態(tài), 設(shè)置各中斷的優(yōu)先級別并開中斷, 以及首次啟動A/D 轉(zhuǎn)換等, 然后向8279 循環(huán)送顯示字符。

          讀鍵值中斷服務(wù)程序

          讀鍵值中斷服務(wù)程序的主要作用是在AT89C51 響應(yīng)

        中斷(有鍵按下則產(chǎn)生該中斷) 后, 讀出鍵值, 并根據(jù)鍵值從P0 口依序發(fā)出相應(yīng)的控制命令字, 完成相應(yīng)的控制功能。該中斷應(yīng)設(shè)為高優(yōu)先級。

          循環(huán)檢測及A/D 轉(zhuǎn)換中斷服務(wù)程序

          該中斷服務(wù)程序的主要作用是在AT89C51 響應(yīng)

        中斷(A/D 轉(zhuǎn)換結(jié)束時EOC 引腳輸出高電平, 從而產(chǎn)生該中斷) 后, 將A/D 轉(zhuǎn)換結(jié)果送相應(yīng)存儲區(qū), 然后判斷該轉(zhuǎn)換結(jié)果是否在上、下限值之間, 并根據(jù)判斷結(jié)果依序發(fā)出相應(yīng)的控制命令字, 完成相應(yīng)的控制、報警功能。然后重新選擇被轉(zhuǎn)換量, 再次啟動A/D 轉(zhuǎn)換后返回主程序。

          該中斷應(yīng)設(shè)為低優(yōu)先級。并設(shè)為電平觸發(fā)方式。

          程序流程圖如下:

        圖4 程序流程圖


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 杨浦区| 卓尼县| 枞阳县| 太白县| 浏阳市| 蓬莱市| 榆中县| 安丘市| 鱼台县| 广河县| 英吉沙县| 大港区| 兴国县| 磐安县| 枞阳县| 大同县| 马边| 尼勒克县| 安新县| 沙田区| 鄂温| 汝州市| 盐城市| 依兰县| 潼南县| 望都县| 夏邑县| 宜兰县| 瑞金市| 四川省| 轮台县| 乌兰察布市| 灌阳县| 南投县| 静乐县| 滕州市| 许昌市| 咸宁市| 揭西县| 上思县| 辰溪县|