版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 第十一章第十一章 單片機運用系統(tǒng)設(shè)計實例單片機運用系統(tǒng)設(shè)計實例 11.1 單片機電子時鐘的設(shè)計單片機電子時鐘的設(shè)計 通常經(jīng)過用單片機設(shè)計電子時鐘有兩種方法:一是經(jīng)過單片機內(nèi)部的定時器/計數(shù)器。這種方法硬件線路簡單,采用軟件編程實現(xiàn)時鐘計數(shù),普通稱為軟時鐘。系統(tǒng)的功能普通與軟件設(shè)計相關(guān),通常用在對時間精度要求不高的場所;二是采用時鐘芯片,它的功能強大,功能部件集成在芯片內(nèi)部,自動產(chǎn)生時鐘等相關(guān)功能。硬件本錢相對較高,軟件編程簡單。通常用在對時鐘精度要求較高的場所。 11.1.1 軟時鐘的根本原理 軟時鐘是利用單片機內(nèi)部的定時器/計數(shù)器來實現(xiàn),它的處置過程如下:首
2、先設(shè)定單片機內(nèi)部的一個定時器/計數(shù)器任務(wù)于定時方式,對機器周期計數(shù)構(gòu)成基準時間如10ms,然后用另一個定時器/計數(shù)器或軟件計數(shù)的方法對基準時間計數(shù)構(gòu)成秒對10ms計數(shù)100次,秒計60次構(gòu)成分,分計60次構(gòu)成小時,小時計24次那么計滿一天。然后經(jīng)過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.1.2 系統(tǒng)硬件電路的設(shè)計系統(tǒng)硬件電路的設(shè)計第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.1.3 系統(tǒng)軟件程序的設(shè)計 電子時鐘的軟件系統(tǒng)由主程序和子程序組成,主程序程序包含初始化參數(shù)設(shè)置、按鍵處置、數(shù)碼管顯示模塊等,在設(shè)計時各個模塊都采用子程序構(gòu)造設(shè)計,在主程序中調(diào)用。由于定
3、時器/計數(shù)器采用中斷方式處置,因此還要編寫定時器/中斷效力子程序,在定時器/計數(shù)器中斷效力程序中對時鐘進展調(diào)整。一主程序一主程序主程序執(zhí)行流程如圖,主程序先對顯示單元和定時器主程序執(zhí)行流程如圖,主程序先對顯示單元和定時器/計數(shù)器初計數(shù)器初始化,然后反復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處置模塊,當有鍵按始化,然后反復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處置模塊,當有鍵按下,那么轉(zhuǎn)入相應(yīng)的功能程序。下,那么轉(zhuǎn)入相應(yīng)的功能程序。第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 開場顯示單元清零T0、T1設(shè)為16位計數(shù)方式允許T0中斷調(diào)用顯示子程序進入功能程序按下鍵否?否是第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 二數(shù)碼管顯示模塊二數(shù)碼管顯示模
4、塊本系統(tǒng)共用本系統(tǒng)共用8個數(shù)碼管,從右到左依次顯示秒個位、秒十位、橫個數(shù)碼管,從右到左依次顯示秒個位、秒十位、橫線、分個位、分十位、橫線、時個位和時十位。數(shù)碼管顯示的信息線、分個位、分十位、橫線、時個位和時十位。數(shù)碼管顯示的信息用用8個內(nèi)存單元存放,這個內(nèi)存單元存放,這8個內(nèi)存單元稱為顯示緩沖區(qū),其中秒個位個內(nèi)存單元稱為顯示緩沖區(qū),其中秒個位和秒十位、分個位和分十位、時個位和時十位分別由秒數(shù)據(jù)、分數(shù)和秒十位、分個位和分十位、時個位和時十位分別由秒數(shù)據(jù)、分數(shù)據(jù)和小時數(shù)據(jù)分拆得到。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動態(tài)據(jù)和小時數(shù)據(jù)分拆得到。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動態(tài)顯示。在存儲器中首先建立
5、一張顯示信息的字段碼表,顯示時,先顯示。在存儲器中首先建立一張顯示信息的字段碼表,顯示時,先從顯示緩沖區(qū)中取出顯示的信息,然后經(jīng)過查表程序在字段碼表中從顯示緩沖區(qū)中取出顯示的信息,然后經(jīng)過查表程序在字段碼表中查出所顯示的信息的字段碼,從查出所顯示的信息的字段碼,從P0口輸出,同時在口輸出,同時在P2口將對應(yīng)的口將對應(yīng)的位選碼輸出選中顯示的數(shù)碼管,就能在相應(yīng)的數(shù)碼管上顯示顯示緩位選碼輸出選中顯示的數(shù)碼管,就能在相應(yīng)的數(shù)碼管上顯示顯示緩沖區(qū)的內(nèi)容。沖區(qū)的內(nèi)容。三定時器三定時器/計數(shù)器計數(shù)器T0中斷效力程序中斷效力程序定時器定時器/計數(shù)器計數(shù)器T0用于時間計時。選擇方式用于時間計時。選擇方式1,反復(fù)
6、定時,定,反復(fù)定時,定時時間設(shè)為時時間設(shè)為50ms,定時時間到那么中斷,在中斷效力程序中用一個,定時時間到那么中斷,在中斷效力程序中用一個計數(shù)器對計數(shù)器對50ms計數(shù),計計數(shù),計20次那么對秒單元加次那么對秒單元加1,秒單元加到,秒單元加到60那么那么對分單元加對分單元加1,同時秒單元清,同時秒單元清0;分單元加到;分單元加到60那么對時單元加那么對時單元加1,同,同時分單元清時分單元清0;時單元加到;時單元加到24那么對時單元清那么對時單元清0,標志一天時間計滿。,標志一天時間計滿。在對各單元計數(shù)的同時,把它們的值放到存儲單元的指定位置。定時在對各單元計數(shù)的同時,把它們的值放到存儲單元的指定
7、位置。定時器器/計數(shù)器計數(shù)器T0中斷效力程序流程圖如圖中斷效力程序流程圖如圖 第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 開場現(xiàn)場維護,重置初值啟動下一個50ms50ms 計數(shù)器加1秒單元加1,50ms計數(shù)器清0,秒寫入秒個位和秒十位50ms 計數(shù)器=20?否是分單元加1,秒單元清0,分寫入分個位和分十位秒單元=60?時單元加1,分單元清0,時寫入時個位和時十位分單元=60?時單元清0時單元=24?中斷前往否否否是是是第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 四按鍵處置模塊四按鍵處置模塊按鍵處置設(shè)置為:如沒有按鍵,那么時鐘正常走時。當按下按鍵處置設(shè)置為:如沒有按鍵,那么時鐘正常走時。當按下K0按鍵時,進入調(diào)分形
8、狀,時鐘停頓走動;按按鍵時,進入調(diào)分形狀,時鐘停頓走動;按K1可可K2按鍵可進展按鍵可進展加加1或減或減1操作;繼續(xù)按操作;繼續(xù)按K0鍵可分別進展分和小時的調(diào)整;最后按鍵可分別進展分和小時的調(diào)整;最后按K0鍵將退出調(diào)整形狀,時鐘開場計時運轉(zhuǎn)。鍵將退出調(diào)整形狀,時鐘開場計時運轉(zhuǎn)。五匯編言語源程序清單五匯編言語源程序清單略略六六C言語源程序清單言語源程序清單略略第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.2 多路數(shù)字電壓表的設(shè)計多路數(shù)字電壓表的設(shè)計11.2.1 多路數(shù)字電壓表的原理及功能多路數(shù)字電壓表的原理及功能 多路數(shù)字式電壓表運用系統(tǒng)主要利用A/D轉(zhuǎn)換器,處置過程如下:先用A/D轉(zhuǎn)換器對各路電壓值
9、進展采樣,得到相應(yīng)的數(shù)字量,再按數(shù)字量與模擬量成正比關(guān)系運算得到對應(yīng)的模擬電壓值,然后把模擬值經(jīng)過顯示器顯示出來。設(shè)計時假設(shè)待測的輸入電壓為8路,電壓值的范疇為05V,要求能在四位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ù)值為2550FFH,因此最大分辨率為0.0196V5/255。ADC0809的具有8路模擬量輸入端口,經(jīng)過3位地址輸入端能從8路中選擇一路進展轉(zhuǎn)換。如每隔一段時間輪番依
10、次改動3位地址輸入端的地址,就能依次對8路輸入電壓進展丈量。LED數(shù)碼管顯示采用軟件譯碼動態(tài)顯示。經(jīng)過按鍵選擇可8路循環(huán)顯示,也可單路顯示,單路顯示可經(jīng)過按鍵選擇顯示的通道數(shù)。第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.2.2 系統(tǒng)硬件電路的設(shè)計系統(tǒng)硬件電路的設(shè)計第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.2.3 系統(tǒng)軟件程序的設(shè)計系統(tǒng)軟件程序的設(shè)計一主程序一主程序 主程序包含初始化部分、調(diào)用主程序包含初始化部分、調(diào)用A/D轉(zhuǎn)換子程序和調(diào)用顯示程序,轉(zhuǎn)換子程序和調(diào)用顯示程序,如以下圖。初始化包含存放通道數(shù)據(jù)的緩沖區(qū)初始化和顯示緩沖區(qū)如以下圖。初始化包含存放通道數(shù)據(jù)的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外
11、,對于單路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個標志位初始化。另外,對于單路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個標志位00H控制,初始化時控制,初始化時00H位設(shè)置為位設(shè)置為0,默以為循環(huán)顯示,當它為,默以為循環(huán)顯示,當它為1時時改動為單路顯示控制,改動為單路顯示控制,00H位經(jīng)過單路位經(jīng)過單路/循環(huán)按鍵控制。循環(huán)按鍵控制。開場初始化調(diào)用A/D轉(zhuǎn)換子程序調(diào)用顯示子程序第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 二二A/D轉(zhuǎn)換子程序轉(zhuǎn)換子程序 A/D轉(zhuǎn)換子程序用于對ADC0809八路輸入模擬電壓進展A/D轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入8個相應(yīng)的存儲單元中,如以下圖。A/D轉(zhuǎn)換子程序每隔一定時間調(diào)用一次,也即隔一段時間對輸入電
12、壓采樣一次。開場啟動一次轉(zhuǎn)換取數(shù)據(jù)OE=00809通道地址加1開場地址數(shù)小于8?A/D轉(zhuǎn)換終了EOC=1?第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 四匯編言語源程序清單四匯編言語源程序清單略略五五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)顯示經(jīng)過標志位00H控制。在顯示控制程序中參與了對單路或循環(huán)按鍵和通道選擇按鍵
13、的判別。三顯示子程序三顯示子程序第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.3 單片機數(shù)字顯示溫度計單片機數(shù)字顯示溫度計11.3.1 單片機數(shù)字顯示溫度計的原理溫度丈量通常可以運用兩種方式來實現(xiàn):一種是用熱敏電阻之類的器件,由于感溫效應(yīng),熱敏電阻的阻值可以隨溫度發(fā)生變化,當熱敏電阻接入電路,那么流過它的電流或其兩端的電壓就會隨溫度發(fā)生相應(yīng)的變化,再將隨溫度變化的電壓或電流采集過來,進展A/D轉(zhuǎn)換后,發(fā)送到單片機進展數(shù)據(jù)處置,經(jīng)過顯示電路,就可以將被測溫度顯示出來。這種設(shè)計需求用到A/D轉(zhuǎn)換電路,其測溫電路比較費事。第二種方法是用溫度傳感器芯片。溫度傳感器芯片能把溫度信號轉(zhuǎn)換成數(shù)字信號,直接發(fā)送給單
14、片機,轉(zhuǎn)換后經(jīng)過顯示電路顯示即可。這種方法電路構(gòu)造簡單,設(shè)計方便,如今運用非常廣泛,本書引見的就是采用第二種方法設(shè)計的單片機數(shù)字顯示溫度計。要求溫度丈量范圍為-5599,精度誤差小于0.5。第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.3.2 系統(tǒng)硬件電路設(shè)計系統(tǒng)硬件電路由單片機系統(tǒng)、測溫電路和顯示電路等組成 第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 11.3.3 系統(tǒng)軟件程序設(shè)計 由主程序、溫度丈量子程序、溫度轉(zhuǎn)換子程序和顯示子程序等組成 1主程序 在主程序中首先初始化,檢測DS18B20能否存在,然后經(jīng)過調(diào)用讀溫度子程序讀出DS18B20的當前值,調(diào)用溫度轉(zhuǎn)換子程序把從DS18B20中讀出的值轉(zhuǎn)換成對應(yīng)的溫度,調(diào)用顯示子程序把溫度值在數(shù)碼管的相應(yīng)位置進展顯示 。主程序流程圖如圖 開始 初始化 調(diào)用測溫子程序 調(diào)用溫度轉(zhuǎn)換子程序 調(diào)用顯示子程序顯示 第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 2溫度丈量子程序溫度丈量子程序的功能是讀出并處置DS18B20丈量的當前溫度值,讀出的溫度值以BCD碼的方式存放在緩沖區(qū),溫度丈量子程序流程圖如下圖 開始 DS18B20 復(fù)位初始化 發(fā)跳過 ROM 命令 發(fā)溫度轉(zhuǎn)換命令溫度轉(zhuǎn)換 DS18B20 復(fù)位初始化 發(fā)跳過 ROM 命令 發(fā)讀溫度命令 讀轉(zhuǎn)換溫度值 結(jié)束 第11章 單片機應(yīng)用系統(tǒng)設(shè)計實例 3溫度轉(zhuǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 違規(guī)行為自律保證書
- 2024年七年級數(shù)學(xué)下冊 第10章 一元一次不等式和一元一次不等式組10.1不等式說課稿(新版)冀教版
- 2024秋八年級數(shù)學(xué)上冊 第4章 實數(shù)4.2 立方根說課稿(新版)蘇科版
- 江西省萬載縣株潭中學(xué)高中語文 1.1 天下有道丘不與易也教案 新人教版選修《先秦諸子選讀》
- 2024-2025學(xué)年高中歷史 第一單元 古代中國經(jīng)濟的基本結(jié)構(gòu)與特點 第1課 發(fā)達的古代農(nóng)業(yè)新課教案1 新人教版必修2
- 2024-2025學(xué)年新教材高中地理 第2單元 鄉(xiāng)村與城鎮(zhèn) 第2節(jié) 地域文化與城鄉(xiāng)景觀教案 魯教版必修2
- 高考地理一輪復(fù)習(xí)第十三章區(qū)域與區(qū)域發(fā)展課件
- 2024企業(yè)主要負責(zé)人應(yīng)知應(yīng)會重點內(nèi)容
- 9.3《聲聲慢》-高一語文上學(xué)期同步備課拓展(統(tǒng)編版必修上冊)
- 蘇教版 燕子課件
- 薄膜制備技術(shù)(PVD)(濺射)解析課件
- 化工設(shè)計概論(第二版)完整版課件(全)
- 新藥藥效學(xué)研究方法和技術(shù)要求
- 資料員崗位培訓(xùn)ppt課件(PPT 36頁)
- 慢性硬膜下血腫鉆孔引流術(shù)護理查房PPT醫(yī)學(xué)課件
- 團務(wù)知識培訓(xùn)課件
- 自制乒乓球撿球器
- 感悟紅色經(jīng)典傳承革命精神通用PPT課件
- 企業(yè)志目錄編纂提綱
- 中國人民財產(chǎn)保險股份有限公司雇主責(zé)任保險條款(2004版)
- 煤礦建設(shè)項目安全設(shè)施設(shè)計審查和竣工驗收規(guī)范
評論
0/150
提交評論