版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第十一章單片機應用系統(tǒng)設計實例11.1單片機電子時鐘的設計通常通過用單片機設計電子時鐘有兩種方法:一是通過單片機內(nèi)部的定時器/計數(shù)器。這種方法硬件線路簡單,采用軟件編程實現(xiàn)時鐘計數(shù),一般稱為軟時鐘。系統(tǒng)的功能一般與軟件設計相關(guān),通常用在對時間精度要求不高的場合;二是采用時鐘芯片,它的功能強大,功能部件集成在芯片內(nèi)部,自動產(chǎn)生時鐘等相關(guān)功能。硬件成本相對較高,軟件編程簡單。通常用在對時鐘精度要求較高的場合。11.1.1軟時鐘的基本原理軟時鐘是利用單片機內(nèi)部的定時器/計數(shù)器來實現(xiàn),它的處理過程如下:首先設定單片機內(nèi)部的一個定時器/計數(shù)器工作于定時方式,對機器周期計數(shù)形成基準時間(如10ms),然后用另一個定時器/計數(shù)器或軟件計數(shù)的方法對基準時間計數(shù)形成秒(對10ms計數(shù)100次),秒計60次形成分,分計60次形成小時,小時計24次則計滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應位置顯示出來即可。11.1.2系統(tǒng)硬件電路的設計11.1.3系統(tǒng)軟件程序的設計電子時鐘的軟件系統(tǒng)由主程序和子程序組成,主程序程序包含初始化參數(shù)設置、按鍵處理、數(shù)碼管顯示模塊等,在設計時各個模塊都采用子程序結(jié)構(gòu)設計,在主程序中調(diào)用。由于定時器/計數(shù)器采用中斷方式處理,因此還要編寫定時器/中斷服務子程序,在定時器/計數(shù)器中斷服務程序中對時鐘進行調(diào)整。一.主程序主程序執(zhí)行流程如圖,主程序先對顯示單元和定時器/計數(shù)器初始化,然后重復調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當有鍵按下,則轉(zhuǎn)入相應的功能程序。開始顯示單元清零T0、T1設為16位計數(shù)模式允許T0中斷調(diào)用顯示子程序進入功能程序按下鍵否?否是二.數(shù)碼管顯示模塊本系統(tǒng)共用8個數(shù)碼管,從右到左依次顯示秒個位、秒十位、橫線、分個位、分十位、橫線、時個位和時十位。數(shù)碼管顯示的信息用8個內(nèi)存單元存放,這8個內(nèi)存單元稱為顯示緩沖區(qū),其中秒個位和秒十位、分個位和分十位、時個位和時十位分別由秒數(shù)據(jù)、分數(shù)據(jù)和小時數(shù)據(jù)分拆得到。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動態(tài)顯示。在存儲器中首先建立一張顯示信息的字段碼表,顯示時,先從顯示緩沖區(qū)中取出顯示的信息,然后通過查表程序在字段碼表中查出所顯示的信息的字段碼,從P0口輸出,同時在P2口將對應的位選碼輸出選中顯示的數(shù)碼管,就能在相應的數(shù)碼管上顯示顯示緩沖區(qū)的內(nèi)容。三.定時器/計數(shù)器T0中斷服務程序 定時器/計數(shù)器T0用于時間計時。選擇方式1,重復定時,定時時間設為50ms,定時時間到則中斷,在中斷服務程序中用一個計數(shù)器對50ms計數(shù),計20次則對秒單元加1,秒單元加到60則對分單元加1,同時秒單元清0;分單元加到60則對時單元加1,同時分單元清0;時單元加到24則對時單元清0,標志一天時間計滿。在對各單元計數(shù)的同時,把它們的值放到存儲單元的指定位置。定時器/計數(shù)器T0中斷服務程序流程圖如圖開始現(xiàn)場保護,重置初值啟動下一個50ms50ms計數(shù)器加1秒單元加1,50ms計數(shù)器清0,秒寫入秒個位和秒十位50ms計數(shù)器=20?否是分單元加1,秒單元清0,分寫入分個位和分十位秒單元=60?時單元加1,分單元清0,時寫入時個位和時十位分單元=60?時單元清0時單元=24?中斷返回否否否是是是四.按鍵處理模塊 按鍵處理設置為:如沒有按鍵,則時鐘正常走時。當按下K0按鍵時,進入調(diào)分狀態(tài),時鐘停止走動;按K1可K2按鍵可進行加1或減1操作;繼續(xù)按K0鍵可分別進行分和小時的調(diào)整;最后按K0鍵將退出調(diào)整狀態(tài),時鐘開始計時運行。五.匯編語言源程序清單(略)六.C語言源程序清單(略)11.2多路數(shù)字電壓表的設計11.2.1多路數(shù)字電壓表的原理及功能多路數(shù)字式電壓表應用系統(tǒng)主要利用A/D轉(zhuǎn)換器,處理過程如下:先用A/D轉(zhuǎn)換器對各路電壓值進行采樣,得到相應的數(shù)字量,再按數(shù)字量與模擬量成正比關(guān)系運算得到對應的模擬電壓值,然后把模擬值通過顯示器顯示出來。設計時假設待測的輸入電壓為8路,電壓值的范疇為0~5V,要求能在四位LED數(shù)碼管上輪流顯示或單路選擇顯示。測量的最小分辨率為0.019V,測量誤差為0.02V。根據(jù)系統(tǒng)的功能要求,控制系統(tǒng)采用AT89C52單片機,A/D轉(zhuǎn)換器采用ADC0809。ADC0809是8位的A/D轉(zhuǎn)換器。當輸入電壓為5.00V時,輸出的數(shù)據(jù)值為255(0FFH),因此最大分辨率為0.0196V(5/255)。ADC0809的具有8路模擬量輸入端口,通過3位地址輸入端能從8路中選擇一路進行轉(zhuǎn)換。如每隔一段時間輪流依次改變3位地址輸入端的地址,就能依次對8路輸入電壓進行測量。LED數(shù)碼管顯示采用軟件譯碼動態(tài)顯示。通過按鍵選擇可8路循環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數(shù)。11.2.2系統(tǒng)硬件電路的設計11.2.3系統(tǒng)軟件程序的設計一.主程序主程序包含初始化部分、調(diào)用A/D轉(zhuǎn)換子程序和調(diào)用顯示程序,如下圖。初始化包含存放通道數(shù)據(jù)的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對于單路顯示和循環(huán)顯示,系統(tǒng)設置了一個標志位00H控制,初始化時00H位設置為0,默認為循環(huán)顯示,當它為1時改變?yōu)閱温凤@示控制,00H位通過單路/循環(huán)按鍵控制。開始初始化調(diào)用A/D轉(zhuǎn)換子程序調(diào)用顯示子程序二.A/D轉(zhuǎn)換子程序
A/D轉(zhuǎn)換子程序用于對ADC0809八路輸入模擬電壓進行A/D轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入8個相應的存儲單元中,如下圖。A/D轉(zhuǎn)換子程序每隔一定時間調(diào)用一次,也即隔一段時間對輸入電壓采樣一次。開始啟動一次轉(zhuǎn)換取數(shù)據(jù)(OE=0)0809通道地址加1開始地址數(shù)小于8?A/D轉(zhuǎn)換結(jié)束EOC=1?四.匯編語言源程序清單(略)五.C語言源程序清單(略)
LED數(shù)碼管采樣軟件譯碼動態(tài)掃描方式。在顯示子程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把8個存儲單元的數(shù)值依次取出送到四個數(shù)碼管上顯示,每一路顯示1秒。單路顯示程序只對當前選中的一路數(shù)據(jù)進行顯示。每路數(shù)據(jù)顯示時需經(jīng)過轉(zhuǎn)換變成十進制BCD碼,放于四個數(shù)碼管的顯示緩沖區(qū)中。單路或循環(huán)顯示通過標志位00H控制。在顯示控制程序中加入了對單路或循環(huán)按鍵和通道選擇按鍵的判斷。三.顯示子程序11.3單片機數(shù)字顯示溫度計11.3.1單片機數(shù)字顯示溫度計的原理溫度測量通??梢允褂脙煞N方式來實現(xiàn):一種是用熱敏電阻之類的器件,由于感溫效應,熱敏電阻的阻值能夠隨溫度發(fā)生變化,當熱敏電阻接入電路,則流過它的電流或其兩端的電壓就會隨溫度發(fā)生相應的變化,再將隨溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,發(fā)送到單片機進行數(shù)據(jù)處理,通過顯示電路,就可以將被測溫度顯示出來。這種設計需要用到A/D轉(zhuǎn)換電路,其測溫電路比較麻煩。第二種方法是用溫度傳感器芯片。溫度傳感器芯片能把溫度信號轉(zhuǎn)換成數(shù)字信號,直接發(fā)送給單片機,轉(zhuǎn)換后通過顯示電路顯示即可。這種方法電路結(jié)構(gòu)簡單,設計方便,現(xiàn)在使用非常廣泛,本書介紹的就是采用第二種方法設計的單片機數(shù)字顯示溫度計。要求溫度測量范圍為-55℃~99℃,精度誤差小于0.5℃。11.3.2系統(tǒng)硬件電路設計系統(tǒng)硬件電路由單片機系統(tǒng)、測溫電路和顯示電路等組成11.3.3系統(tǒng)軟件程序設計由主程序、溫度測量子程序、溫度轉(zhuǎn)換子程序和顯示子程序等組成1.主程序在主程序中首先初始化,檢測DS18B20是否存在,然后通過調(diào)用讀溫度子程序讀出DS18B20的當前值,調(diào)用溫度轉(zhuǎn)換子程序把從DS18B20中讀出的值轉(zhuǎn)換成對應的溫度,調(diào)用顯示子程序把溫度值在數(shù)碼管的相應位置進行顯示。主程序流程圖如圖2.溫度測量子程序溫度測量子程序的功能是讀出并處理DS18B20測量的當前溫度值,讀出的溫度值
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋁合金門窗安裝合同書樣本
- 川氣利用合同供應
- 室內(nèi)設計裝修合同書范例
- 股權(quán)轉(zhuǎn)讓股東協(xié)議書2024年
- 餐飲服務供應合同
- 2024年物流員工勞動合同
- 土地房屋購買協(xié)議范本
- 中學教師合同書樣本
- 杭州市租房協(xié)議范本
- 二手房交易買賣合同范本2024年
- 胸痛中心各項管理制度匯編(2022年)
- GB∕T 4162-2022 鍛軋鋼棒超聲檢測方法
- 化工異常工況處置卡
- 公司章程示范文本
- 廣州版四年級上冊Unit9說課
- 血管外科試題合集
- 新版人教版小學數(shù)學一年級上冊課程綱要
- 形勢與政策-論朝鮮半島局勢
- 通達信指標公式源碼主力動向
- 第8章 腹部檢查(講稿)
- 淺談深度教學中小學數(shù)學U型學習模式
評論
0/150
提交評論