




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 第十一章第十一章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.1 單片機(jī)電子時(shí)鐘的設(shè)計(jì)單片機(jī)電子時(shí)鐘的設(shè)計(jì) 通常通過用單片機(jī)設(shè)計(jì)電子時(shí)鐘有兩種方法:一是通過單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器。這種方法硬件線路簡(jiǎn)單,采用軟件編程實(shí)現(xiàn)時(shí)鐘計(jì)數(shù),一般稱為軟時(shí)鐘。系統(tǒng)的功能一般與軟件設(shè)計(jì)相關(guān),通常用在對(duì)時(shí)間精度要求不高的場(chǎng)合;二是采用時(shí)鐘芯片,它的功能強(qiáng)大,功能部件集成在芯片內(nèi)部,自動(dòng)產(chǎn)生時(shí)鐘等相關(guān)功能。硬件成本相對(duì)較高,軟件編程簡(jiǎn)單。通常用在對(duì)時(shí)鐘精度要求較高的場(chǎng)合。 11.1.1 軟時(shí)鐘的基本原理 軟時(shí)鐘是利用單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器來實(shí)現(xiàn),它的處理過程如下:首
2、先設(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章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.1.2 系統(tǒng)硬件電路的設(shè)計(jì)系統(tǒng)硬件電路的設(shè)計(jì)第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.1.3 系統(tǒng)軟件程序的設(shè)計(jì) 電子時(shí)鐘的軟件系統(tǒng)由主程序和子程序組成,主程序程序包含初始化參數(shù)設(shè)置、按鍵處理、數(shù)碼管顯示模塊等,在設(shè)計(jì)時(shí)各個(gè)模塊都采用子程序結(jié)構(gòu)設(shè)計(jì),在主程序中調(diào)用。
3、由于定時(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)的功能程序。第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 開始顯示單元清零t0、t1設(shè)為16位計(jì)數(shù)模式允許t0中斷調(diào)用顯示子程序進(jìn)入功能程序按下鍵否?否是第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 二數(shù)碼管顯示模塊二數(shù)碼管顯示模塊本系統(tǒng)共用8個(gè)數(shù)碼管,從右到左依次顯示秒個(gè)位、秒十位、橫線、分個(gè)位、分十位、橫線、時(shí)個(gè)位和時(shí)十位。數(shù)碼管顯示的信息用8個(gè)內(nèi)存單元存放
4、,這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ū)中取出顯示的信息,然后通過查表程序在字段碼表中查出所顯示的信息的字段碼,從p0口輸出,同時(shí)在p2口將對(duì)應(yīng)的位選碼輸出選中顯示的數(shù)碼管,就能在相應(yīng)的數(shù)碼管上顯示顯示緩沖區(qū)的內(nèi)容。三定時(shí)器三定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器t0中斷服務(wù)程序中斷服務(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ù),
5、計(jì)20次則對(duì)秒單元加1,秒單元加到60則對(duì)分單元加1,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元加1,同時(shí)分單元清0;時(shí)單元加到24則對(duì)時(shí)單元清0,標(biāo)志一天時(shí)間計(jì)滿。在對(duì)各單元計(jì)數(shù)的同時(shí),把它們的值放到存儲(chǔ)單元的指定位置。定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序流程圖如圖 第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 開始現(xiàn)場(chǎng)保護(hù),重置初值啟動(dòng)下一個(gè)50ms50ms 計(jì)數(shù)器加1秒單元加1,50ms計(jì)數(shù)器清0,秒寫入秒個(gè)位和秒十位50ms 計(jì)數(shù)器=20?否是分單元加1,秒單元清0,分寫入分個(gè)位和分十位秒單元=60?時(shí)單元加1,分單元清0,時(shí)寫入時(shí)個(gè)位和時(shí)十位分單元=60?時(shí)單元清0時(shí)單元=24?中斷返回否否否是是是第1
6、1章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 四按鍵處理模塊四按鍵處理模塊按鍵處理設(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章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.2 多路數(shù)字電壓表的設(shè)計(jì)多路數(shù)字電壓表的設(shè)計(jì)11.2.1 多路數(shù)字電壓表的原理及功能多路數(shù)字電壓表的原理及功能 多路數(shù)字式電壓表應(yīng)用系統(tǒng)主要利用a/d轉(zhuǎn)換器,處理過程如下:先用a/d轉(zhuǎn)換器對(duì)各
7、路電壓值進(jìn)行采樣,得到相應(yīng)的數(shù)字量,再按數(shù)字量與模擬量成正比關(guān)系運(yùn)算得到對(duì)應(yīng)的模擬電壓值,然后把模擬值通過顯示器顯示出來。設(shè)計(jì)時(shí)假設(shè)待測(cè)的輸入電壓為8路,電壓值的范疇為05v,要求能在四位led數(shù)碼管上輪流顯示或單路選擇顯示。測(cè)量的最小分辨率為0.019v,測(cè)量誤差為0.02v。 根據(jù)系統(tǒng)的功能要求,控制系統(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)換。如每
8、隔一段時(shí)間輪流依次改變3位地址輸入端的地址,就能依次對(duì)8路輸入電壓進(jìn)行測(cè)量。led數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。通過按鍵選擇可8路循環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數(shù)。第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.2.2 系統(tǒng)硬件電路的設(shè)計(jì)系統(tǒng)硬件電路的設(shè)計(jì)第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.2.3 系統(tǒng)軟件程序的設(shè)計(jì)系統(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)顯
9、示,當(dāng)它為1時(shí)改變?yōu)閱温凤@示控制,00h位通過單路/循環(huán)按鍵控制。開始初始化調(diào)用a/d轉(zhuǎn)換子程序調(diào)用顯示子程序第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 二二a/d轉(zhuǎn)換子程序轉(zhuǎn)換子程序 a/d轉(zhuǎn)換子程序用于對(duì)adc0809八路輸入模擬電壓進(jìn)行a/d轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入8個(gè)相應(yīng)的存儲(chǔ)單元中,如下圖。a/d轉(zhuǎn)換子程序每隔一定時(shí)間調(diào)用一次,也即隔一段時(shí)間對(duì)輸入電壓采樣一次。開始啟動(dòng)一次轉(zhuǎn)換取數(shù)據(jù)(oe=0)0809通道地址加1開始地址數(shù)小于8?a/d轉(zhuǎn)換結(jié)束eoc=1?第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 四匯編語言源程序清單(略)四匯編語言源程序清單(略)五五c語言源程序清單(略)語言源程序清單(略) le
10、d數(shù)碼管采樣軟件譯碼動(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)按鍵和通道選擇按鍵的判斷。三顯示子程序三顯示子程序第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.3 單片機(jī)數(shù)字顯示溫度計(jì)單片機(jī)數(shù)字顯示溫度計(jì)11.3.1 單片機(jī)數(shù)字顯示溫度計(jì)的原理溫度測(cè)量通常可以使用兩種方式來實(shí)現(xiàn):一種是用熱敏電阻之類的器件,由于感溫
11、效應(yīng),熱敏電阻的阻值能夠隨溫度發(fā)生變化,當(dāng)熱敏電阻接入電路,則流過它的電流或其兩端的電壓就會(huì)隨溫度發(fā)生相應(yīng)的變化,再將隨溫度變化的電壓或電流采集過來,進(jìn)行a/d轉(zhuǎn)換后,發(fā)送到單片機(jī)進(jìn)行數(shù)據(jù)處理,通過顯示電路,就可以將被測(cè)溫度顯示出來。這種設(shè)計(jì)需要用到a/d轉(zhuǎn)換電路,其測(cè)溫電路比較麻煩。第二種方法是用溫度傳感器芯片。溫度傳感器芯片能把溫度信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),直接發(fā)送給單片機(jī),轉(zhuǎn)換后通過顯示電路顯示即可。這種方法電路結(jié)構(gòu)簡(jiǎn)單,設(shè)計(jì)方便,現(xiàn)在使用非常廣泛,本書介紹的就是采用第二種方法設(shè)計(jì)的單片機(jī)數(shù)字顯示溫度計(jì)。要求溫度測(cè)量范圍為-5599,精度誤差小于0.5。第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.
12、3.2 系統(tǒng)硬件電路設(shè)計(jì)系統(tǒng)硬件電路由單片機(jī)系統(tǒng)、測(cè)溫電路和顯示電路等組成 第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 11.3.3 系統(tǒng)軟件程序設(shè)計(jì) 由主程序、溫度測(cè)量子程序、溫度轉(zhuǎn)換子程序和顯示子程序等組成 1主程序 在主程序中首先初始化,檢測(cè)ds18b20是否存在,然后通過調(diào)用讀溫度子程序讀出ds18b20的當(dāng)前值,調(diào)用溫度轉(zhuǎn)換子程序把從ds18b20中讀出的值轉(zhuǎn)換成對(duì)應(yīng)的溫度,調(diào)用顯示子程序把溫度值在數(shù)碼管的相應(yīng)位置進(jìn)行顯示 。主程序流程圖如圖 開始 初始化 調(diào)用測(cè)溫子程序 調(diào)用溫度轉(zhuǎn)換子程序 調(diào)用顯示子程序顯示 第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 2溫度測(cè)量子程序溫度測(cè)量子程序的功能是讀出并處理ds18b20測(cè)量的當(dāng)前溫度值,讀出的溫度值以bcd碼的形式存放在緩沖區(qū),溫度測(cè)量子程序流程圖如圖所示 開始 ds18b20 復(fù)位初始化 發(fā)跳過 rom 命令 發(fā)溫度轉(zhuǎn)換命令溫度轉(zhuǎn)換 ds18b20 復(fù)位初始化 發(fā)跳過 rom 命令 發(fā)讀溫度命令 讀轉(zhuǎn)換溫度值 結(jié)束 第11章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 3溫度轉(zhuǎn)換子程序溫度轉(zhuǎn)換子程序?qū)崿F(xiàn)把從ds18b20中讀出的值轉(zhuǎn)換成對(duì)應(yīng)的溫度值
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 扶貧攻堅(jiān)述職報(bào)告
- 幼兒教育學(xué)教學(xué)
- 清新水彩手繪仙人掌商務(wù)
- 2024四川資陽發(fā)展投資集團(tuán)有限公司招聘1人筆試參考題庫附帶答案詳解
- 新能源礦業(yè)開發(fā)項(xiàng)目可行性研究
- 項(xiàng)目知識(shí)管理協(xié)議書(2篇)
- 2025至2031年中國(guó)車載無線接收顯示終端行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)草坪種子行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)石墨圈行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)滌綸細(xì)旦仿真絲行業(yè)投資前景及策略咨詢研究報(bào)告
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件全套 宋賢鈞 第1-14單元 選擇職業(yè)目標(biāo)- 堅(jiān)守安全底線
- 期中測(cè)試卷(1~4單元)(試題)2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)北師大版
- 內(nèi)蒙古呼和浩特市2023-2024學(xué)年九年級(jí)上學(xué)期第一次階段檢測(cè)化學(xué)試題(無答案)
- 2024年鐵路安檢員理論題庫多選題
- 煤礦煤炭銷售管理制度
- 《語文綜合實(shí)踐:重溫革命歷史 賡續(xù)紅色血脈》教案- 2023-2024學(xué)年高教版(2023)中職語文基礎(chǔ)模塊下冊(cè)
- 公路設(shè)施與交通安全作業(yè)指導(dǎo)書
- 2024年公開招聘事業(yè)單位工作人員報(bào)名登記表
- 植樹節(jié)英文主題課件
- 2024年中考語文滿分作文6篇(含題目)
- 第四單元認(rèn)位置(單元測(cè)試)2024-2025學(xué)年一年級(jí)數(shù)學(xué)上冊(cè)蘇教版
評(píng)論
0/150
提交評(píng)論