版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第十一章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例,11.1 單片機(jī)電子時(shí)鐘的設(shè)計(jì),通常通過用單片機(jī)設(shè)計(jì)電子時(shí)鐘有兩種方法:一是通過單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器。這種方法硬件線路簡單,采用軟件編程實(shí)現(xiàn)時(shí)鐘計(jì)數(shù),一般稱為軟時(shí)鐘。系統(tǒng)的功能一般與軟件設(shè)計(jì)相關(guān),通常用在對(duì)時(shí)間精度要求不高的場合;二是采用時(shí)鐘芯片,它的功能強(qiáng)大,功能部件集成在芯片內(nèi)部,自動(dòng)產(chǎn)生時(shí)鐘等相關(guān)功能。硬件成本相對(duì)較高,軟件編程簡單。通常用在對(duì)時(shí)鐘精度要求較高的場合。,11.1.1 軟時(shí)
2、鐘的基本原理,軟時(shí)鐘是利用單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器來實(shí)現(xiàn),它的處理過程如下:首先設(shè)定單片機(jī)內(nèi)部的一個(gè)定時(shí)器/計(jì)數(shù)器工作于定時(shí)方式,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間(如10ms),然后用另一個(gè)定時(shí)器/計(jì)數(shù)器或軟件計(jì)數(shù)的方法對(duì)基準(zhǔn)時(shí)間計(jì)數(shù)形成秒(對(duì)10ms計(jì)數(shù)100次),秒計(jì)60次形成分,分計(jì)60次形成小時(shí),小時(shí)計(jì)24次則計(jì)滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。,11.1.2 系統(tǒng)硬件電路的設(shè)計(jì),11.1.3 系統(tǒng)軟件程序
3、的設(shè)計(jì),電子時(shí)鐘的軟件系統(tǒng)由主程序和子程序組成,主程序程序包含初始化參數(shù)設(shè)置、按鍵處理、數(shù)碼管顯示模塊等,在設(shè)計(jì)時(shí)各個(gè)模塊都采用子程序結(jié)構(gòu)設(shè)計(jì),在主程序中調(diào)用。由于定時(shí)器/計(jì)數(shù)器采用中斷方式處理,因此還要編寫定時(shí)器/中斷服務(wù)子程序,在定時(shí)器/計(jì)數(shù)器中斷服務(wù)程序中對(duì)時(shí)鐘進(jìn)行調(diào)整。,一.主程序主程序執(zhí)行流程如圖,主程序先對(duì)顯示單元和定時(shí)器/計(jì)數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序。,二.?dāng)?shù)碼
4、管顯示模塊本系統(tǒng)共用8個(gè)數(shù)碼管,從右到左依次顯示秒個(gè)位、秒十位、橫線、分個(gè)位、分十位、橫線、時(shí)個(gè)位和時(shí)十位。數(shù)碼管顯示的信息用8個(gè)內(nèi)存單元存放,這8個(gè)內(nèi)存單元稱為顯示緩沖區(qū),其中秒個(gè)位和秒十位、分個(gè)位和分十位、時(shí)個(gè)位和時(shí)十位分別由秒數(shù)據(jù)、分?jǐn)?shù)據(jù)和小時(shí)數(shù)據(jù)分拆得到。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。在存儲(chǔ)器中首先建立一張顯示信息的字段碼表,顯示時(shí),先從顯示緩沖區(qū)中取出顯示的信息,然后通過查表程序在字段碼表中查出所顯示的信息的字段
5、碼,從P0口輸出,同時(shí)在P2口將對(duì)應(yīng)的位選碼輸出選中顯示的數(shù)碼管,就能在相應(yīng)的數(shù)碼管上顯示顯示緩沖區(qū)的內(nèi)容。,三.定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序定時(shí)器/計(jì)數(shù)器T0用于時(shí)間計(jì)時(shí)。選擇方式1,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為50ms,定時(shí)時(shí)間到則中斷,在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器對(duì)50ms計(jì)數(shù),計(jì)20次則對(duì)秒單元加1,秒單元加到60則對(duì)分單元加1,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元加1,同時(shí)分單元清0;時(shí)單元加到24則對(duì)時(shí)單元清0,標(biāo)志一天
6、時(shí)間計(jì)滿。在對(duì)各單元計(jì)數(shù)的同時(shí),把它們的值放到存儲(chǔ)單元的指定位置。定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序流程圖如圖,四.按鍵處理模塊按鍵處理設(shè)置為:如沒有按鍵,則時(shí)鐘正常走時(shí)。當(dāng)按下K0按鍵時(shí),進(jìn)入調(diào)分狀態(tài),時(shí)鐘停止走動(dòng);按K1可K2按鍵可進(jìn)行加1或減1操作;繼續(xù)按K0鍵可分別進(jìn)行分和小時(shí)的調(diào)整;最后按K0鍵將退出調(diào)整狀態(tài),時(shí)鐘開始計(jì)時(shí)運(yùn)行。,五.匯編語言源程序清單(略),六.C語言源程序清單(略),11.2 多路數(shù)字電壓表的設(shè)計(jì),11.
7、2.1 多路數(shù)字電壓表的原理及功能,多路數(shù)字式電壓表應(yīng)用系統(tǒng)主要利用A/D轉(zhuǎn)換器,處理過程如下:先用A/D轉(zhuǎn)換器對(duì)各路電壓值進(jìn)行采樣,得到相應(yīng)的數(shù)字量,再按數(shù)字量與模擬量成正比關(guān)系運(yùn)算得到對(duì)應(yīng)的模擬電壓值,然后把模擬值通過顯示器顯示出來。設(shè)計(jì)時(shí)假設(shè)待測的輸入電壓為8路,電壓值的范疇為0~5V,要求能在四位LED數(shù)碼管上輪流顯示或單路選擇顯示。測量的最小分辨率為0.019V,測量誤差為?0.02V。 根據(jù)系統(tǒng)的功能要求,控制
8、系統(tǒng)采用AT89C52單片機(jī),A/D轉(zhuǎn)換器采用ADC0809。ADC0809是8位的A/D轉(zhuǎn)換器。當(dāng)輸入電壓為5.00V時(shí),輸出的數(shù)據(jù)值為255(0FFH),因此最大分辨率為0.0196V(5/255)。ADC0809的具有8路模擬量輸入端口,通過3位地址輸入端能從8路中選擇一路進(jìn)行轉(zhuǎn)換。如每隔一段時(shí)間輪流依次改變3位地址輸入端的地址,就能依次對(duì)8路輸入電壓進(jìn)行測量。LED數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。通過按鍵選擇可8路循環(huán)顯示,也可
9、單路顯示,單路顯示可通過按鍵選擇顯示的通道數(shù)。,11.2.2 系統(tǒng)硬件電路的設(shè)計(jì),11.2.3 系統(tǒng)軟件程序的設(shè)計(jì),一.主程序 主程序包含初始化部分、調(diào)用A/D轉(zhuǎn)換子程序和調(diào)用顯示程序,如下圖。初始化包含存放通道數(shù)據(jù)的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對(duì)于單路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個(gè)標(biāo)志位00H控制,初始化時(shí)00H位設(shè)置為0,默認(rèn)為循環(huán)顯示,當(dāng)它為1時(shí)改變?yōu)閱温凤@示控制,00H位通過單路/循環(huán)按鍵控制。,LED數(shù)碼管
10、采樣軟件譯碼動(dòng)態(tài)掃描方式。在顯示子程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把8個(gè)存儲(chǔ)單元的數(shù)值依次取出送到四個(gè)數(shù)碼管上顯示,每一路顯示1秒。單路顯示程序只對(duì)當(dāng)前選中的一路數(shù)據(jù)進(jìn)行顯示。每路數(shù)據(jù)顯示時(shí)需經(jīng)過轉(zhuǎn)換變成十進(jìn)制BCD碼,放于四個(gè)數(shù)碼管的顯示緩沖區(qū)中。單路或循環(huán)顯示通過標(biāo)志位00H控制。在顯示控制程序中加入了對(duì)單路或循環(huán)按鍵和通道選擇按鍵的判斷。,二.A/D轉(zhuǎn)換子程序,A/D轉(zhuǎn)換子程序用于對(duì)ADC0809八路輸入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
評(píng)論
0/150
提交評(píng)論