第11章單片機應用系統設計及舉例_第1頁
第11章單片機應用系統設計及舉例_第2頁
第11章單片機應用系統設計及舉例_第3頁
第11章單片機應用系統設計及舉例_第4頁
第11章單片機應用系統設計及舉例_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第11章 單片機應用系統設計及舉例第11章 單片機應用系統設計及舉例主要內容: 本章將首先介紹單片機應用系統設計的開發過程,而后以幾個典型的例子介紹單片機應用系統設計。1第11章 單片機應用系統設計及舉例2章章 節節11.1 單片機應用系統的開發過程11.2 電子時鐘的設計11.3 多路數字電壓表的設計11.4 多點溫度測量系統設計第11章 單片機應用系統設計及舉例11.1 單片機應用系統的開發過程單片機應用系統的開發過程11.1.1 應具備的知識和能力1要具有一定的硬件基礎知識2要有一定的動手能力3要具備一定的軟件設計能力4要具有綜合運用新知識和新技術的能力5要具有搜集、檢索、提煉有用知識和

2、資料的能力6要了解生產工藝或制造工藝第11章 單片機應用系統設計及舉例11.1.2 單片機應用系統開發的基本過程單片機應用系統開發的基本過程1. 明確系統的任務和功能要求明確系統的任務和功能要求2. 系統的總體方案設計系統的總體方案設計3系統詳細設計系統詳細設計4系統仿真與制作系統仿真與制作5系統調試與修改系統調試與修改6生成正式系統或產品生成正式系統或產品第11章 單片機應用系統設計及舉例11.1.3 單片機應用系統的硬件設計單片機應用系統的硬件設計包括三個部分內容:一是單片機芯片的選擇,二是單片包括三個部分內容:一是單片機芯片的選擇,二是單片機系統擴展,三是系統配置。機系統擴展,三是系統配

3、置。 硬件系統設計通常要考慮以下幾個方面。硬件系統設計通常要考慮以下幾個方面。 1程序存儲器程序存儲器2數據存儲器數據存儲器3I/O接口接口4譯碼電路譯碼電路5總線驅動器總線驅動器6抗干擾電路抗干擾電路第11章 單片機應用系統設計及舉例11.1.4 單片機應用系統的軟件設計單片機應用系統的軟件設計2、軟件設計時,應根據系統軟件功能的要求,將軟、軟件設計時,應根據系統軟件功能的要求,將軟件分成若干個相對獨立的部分,并根據它們之間件分成若干個相對獨立的部分,并根據它們之間的聯系和時間上的關系,設計出軟件的總體結構,的聯系和時間上的關系,設計出軟件的總體結構,畫出程序流程框圖。畫出程序流程框圖。 1

4、、軟件設計和硬件設計應統一考慮,相結合進行。、軟件設計和硬件設計應統一考慮,相結合進行。 3、選擇編程語言、選擇編程語言,匯編語言和匯編語言和C語言。語言。 4、軟件設計時要合理的分配系統資源。資源分配、軟件設計時要合理的分配系統資源。資源分配中,定時中,定時/計數器、中斷、串行口等分配比較容計數器、中斷、串行口等分配比較容易,這里介紹程序存儲器和數據存儲器的分配。易,這里介紹程序存儲器和數據存儲器的分配。 第11章 單片機應用系統設計及舉例11.2 單片機電子時鐘的設計單片機電子時鐘的設計本設計電子時鐘主要功能為:(1)自動計時功能。(2)能顯示計時時間,顯示效果良好。(3)有校時功能,能對

5、時間進行校準。擴展功能:(用戶自己添加)(4)具有整點報時功能,在整點時使用蜂鳴器進行報時。(5)具有定時鬧鐘功能,能設定定時鬧鐘,在時間到時能使蜂鳴器鳴叫。11.2.1 單片機電子時鐘的功能要求第11章 單片機應用系統設計及舉例11.2.2 總體方案設計總體方案設計11.2.2 總體方案設計總體方案設計單片機電子時鐘方案選擇主要涉及兩個方面:計時方案和單片機電子時鐘方案選擇主要涉及兩個方面:計時方案和顯示方案。顯示方案。1計時方案第一種是通過單片機內部的定時器/計數器,采用軟件編程來實現時鐘計時,這種實現的時鐘一般稱為軟時鐘 第二種是采用專用的硬件時鐘芯片計時,這種實現的時鐘一般稱為硬時鐘。

6、 2顯示方案顯示通常采用兩種方式:LED數碼管顯示和LCD液晶顯示。 第11章 單片機應用系統設計及舉例51單片機時鐘電路復位電路LED按鍵51單片機時鐘電路復位電路LCD按鍵時鐘芯片軟件計時LED顯示時鐘總體框 硬件定時LCD顯示時鐘總體框 第11章 單片機應用系統設計及舉例11.2.3 軟件計時數碼管顯示時鐘硬件電路XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A9

7、22P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C51R35.1kR45.1kR55.1kVCCK2K1K0GNDX1CRYSTALC247uFC347uFC11nFR11k第11章 單片機應用系統設計及舉例11.2.4 軟件計時數碼管顯示時鐘軟件程序1主程序主程序先對顯示單元和定時器/計數器初始化

8、,然后重復調用數碼管顯示模塊和按鍵處理模塊,當有鍵按下時,則轉入相應的功能程序,流程如圖所示,2數碼管顯示模塊采用軟件譯碼動態顯示(見前面)第11章 單片機應用系統設計及舉例11.2.4 軟件計時數碼管顯示時鐘軟件程序3定時器/計數器T0中斷服務程序定時器/計數器T0產生時鐘。處理如下:定時器/計數器T0選擇方式1,重復定時,定時時間設為50ms,定時時間到則中斷,在中斷服務程序中用一個計數器對50ms計數,計20次則對秒單元加1,秒單元加到60則對分單元加1,同時秒單元清0;分單元加到60則對時單元加1,同時分單元清0;時單元加到24則對時單元清0,標志一天時間計滿,這樣就形成了時鐘關系。在

9、對各單元計數的同時,把它們的值放到存儲單元的指定位置。流程如圖所示。第11章 單片機應用系統設計及舉例13按鍵處理設置為:如沒有按鍵,則時鐘正常走時。當按K0鍵一次,時鐘暫停走動進入調小時狀態,再按K0鍵一次,進入調分狀態,再按K0鍵一次,回到正常走時;對于K1和K2按鍵,如果是正常走時,按K1和K2不起作用,如果進入調時或調分狀態,按K1可對時或分進行加1操作,小時加到24則回到0,分加到60則回到0;按K2可對時或分進行減1操作,小時減到負則回到23,分減到負則回到59。按鍵處理模塊流程如圖所示。4按鍵處理模塊按鍵處理模塊第11章 單片機應用系統設計及舉例程序見書程序見書第11章 單片機應

10、用系統設計及舉例11.2.5 硬件定時液晶顯示時鐘硬件電路P27P27P26P25P24P23P22P21P20P26P25P24P23P22P21P20P15P16P17P17P16P15XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3

11、.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LRST5SCLK7I/O6X12X23VCC18VCC21DS1302DS1302X1CRYSTALBAT13VX2CRYSTALC11nFC21nFC31nFR1200K0K1K2R210kR410kR310k第11章 單片機應用系統設計

12、及舉例1611.2.6 硬件定時液晶顯示時鐘軟件程序 軟件程序劃分為以下幾個部分:系統主程序、DS1302驅動程序、LCD驅動程序。在主程序中調用DS1302驅動程序和LCD驅動程序,另外在主程序中還包含按鍵處理。DS1302驅動程序和LCD驅動程序在前面已介紹,這里主要介紹主程序。主程序先是將LCD初始化,其次在LCD顯示日期和時間的提示信息,然后進入死循環,在循環中先判斷是否有鍵按下,如按下K0鍵,則功能單元加1;如按下K1鍵,則根據功能單元的內容把日期時間相應位加1;如按下K2鍵,則根據功能單元的內容把日期時間相應位減1;并把修改后的日期時間寫入1302(在這個過程中注意日期時間的數據格

13、式的轉換)。其次讀DS1302日歷時鐘寄存器,讀出的內容存入日期、時間緩沖區;最后把日期、時間緩沖區數轉化為ASCII碼放入LCD顯示緩沖區并調用LCD顯示程序顯示。流程圖如圖所示,第11章 單片機應用系統設計及舉例程序見書程序見書第11章 單片機應用系統設計及舉例11.3 多路數字電壓表的設計多路數字電壓表的設計11.3.1 多路數字電壓表的功能要求多路數字電壓表的功能要求如下:(1) 輸入電壓為8路。(2) 電壓值的范疇為05V。(3) 測量的最小分辨率為0.019V,測量誤差為0.02V。(4) 能通過顯示器顯示通道和通道電壓,有效位數為小數點后兩位第11章 單片機應用系統設計及舉例11

14、.3.2 多路數字電壓表的總體設計多路數字電壓表的總體設計多路數字電壓表處理過程如下:先用A/D轉換器對各路電壓值進行采樣,得到相應的數字量,再按數字量與模擬量成正比關系運算得到對應的模擬電壓值,然后把模擬值通過顯示器顯示出來,另外可以通過按鍵選擇通道。控制系統采用AT89C52單片機,A/D轉換器采用ADC0808(0809)。ADC0808(0809)是8位的A/D轉換器。當輸入電壓為5.00V時,輸出的數據值為255(0FFH),因此最大分辨率為0.0196V(5/255)。ADC0808(0809)具有8路模擬量輸入端口,通過3位地址輸入端能從8路中選擇一路進行轉換。如每隔一段時間依次

15、輪流改變3位地址輸入端的地址,就能依次對8路輸入電壓進行測量。顯示器采用LCD顯示器,顯示效果好。按鍵可只設定一個,用于選擇顯示的當前通道。 第11章 單片機應用系統設計及舉例51單片機時鐘電路復位電路LCD按鍵ADC0808總體結構如圖所示第11章 單片機應用系統設計及舉例11.3.3 多路數字電壓表硬件電路P17P16P15P17P16P15P07P07P06P05P04P03P02P01P00P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P27STP23P26P21P22P20P24P25ADDCADDBADDAADDAADDBADDCSTXT

16、AL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/

17、A1326P2.6/A1427U1AT89C52D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LR110k234567891RP1RESPACK-8OUT121ADD B24ADD A25ADD C23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE22U2ADC0808X1CRYSTALC11nFC21nFC31nFR420056%RV11

18、k50%RV21k第11章 單片機應用系統設計及舉例11.3.4 多路數字電壓表軟件程序1主程序主程序首先是對定時計數器和LCD初始化,在LCD上顯示提示信息,然后進入循環,在循環中依次為:調用A/D轉換子程序對8個通道轉換一次,判通道鍵是否按下,按下則當前通道地址加1,當前通道值轉換成電壓值,顯示當前通道。流程如圖所示。多路數字電壓表系統軟件程序由主程序、A/D轉換子程序和顯示驅動程序組成,這里只介紹主程序、A/D轉換子程序。第11章 單片機應用系統設計及舉例2A/D轉換子程序A/D轉換子程序用于對ADC0808的8路輸入模擬電壓進行一次A/D轉換,并將轉換的數值存入8個相應的存儲單元中,流

19、程圖如圖所示。程序見書第11章 單片機應用系統設計及舉例2411.4 多點溫度測量系統設計多點溫度測量系統設計11.4.1 多點溫度測量系統的功能要求多點溫度測量系統功能要求:(1) 能夠測量多點溫度值。(2) 精度0.1。(3) 能通過顯示器顯示測量點編號和溫度值。(4) 可輪流顯示各測量點或指定顯示某個測量點。第11章 單片機應用系統設計及舉例2511.4.2 多點溫度測量系統的總體設計多點溫度測量系統的總體設計 多路溫度測量系統包含以下幾個部分:51單片機、時鐘電路、復位電路組成的51單片機小系統;多個測溫模塊;顯示溫度值的顯示模塊和按鍵模塊。測溫模塊由溫度傳感器組成,溫度傳感器采用美國

20、DALLAS半導體公司推出的智能溫度傳感器DS18B20,溫度測量范圍為-55125,可編程為912位的A/D轉換精度,測溫分辨率可達0.0625,完全能夠滿足系統要求。顯示器可采用LCD液晶顯示器。總體結構如圖所示。第11章 單片機應用系統設計及舉例2611.4.3 多點溫度測量系統的硬件電路ERWRSRSRWED0D7D6D5D4D3D2D1D0D1D2D3D4D5D6D7XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD

21、732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C133PFC233PFC310uFX1CRYSTALR1300D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016L1

22、16.5DQ2VCC3GND1U3DS18B20-41.0DQ2VCC3GND1U2DS18B20104.9DQ2VCC3GND1U5DS18B20-42.7DQ2VCC3GND1U4DS18B20R25kK1K0#0#1#2#3第11章 單片機應用系統設計及舉例2711.4.4 多點溫度測量系統的軟件程序1主程序主程序 開始 LCD 初始化 調用讀選中 DS18B20 溫度程序 調用顯示溫度程序 判讀 ROM,還是讀溫度? 讀 ROM 讀溫度 調用讀 ROM 程序 調用顯示 ROM 程序 軟件程序主要由主程序、讀DS18B20模塊ROM地址程序、顯示DS18B20模塊ROM地址、讀DS18B

23、20模塊溫度值程序、顯示DS18B20模塊溫度值程序和LCD、DS18B20模塊驅動程序等組成。其主要程序流程如下:第11章 單片機應用系統設計及舉例282讀ROM地址程序 開始 計算存 ROM 的偏移量 DS18B20 初始化 返回 發讀 ROM 命令 讀 ROM 存到相應的存儲單元 讀ROM地址程序處理過程如下: 先計算存放當前DS18B20模塊ROM地址的存儲單元的偏移地址,然后依次DS18B20初始化、發讀ROM命令和讀ROM地址到存儲單元。 第11章 單片機應用系統設計及舉例293顯示顯示ROM地址程序地址程序 開始 第一行顯示提示信息及模塊號 計算存 18B20 的 ROM 地址偏移量 返回 依次取 ROM 地址顯示在第二行 顯示ROM地址程序實現依次從當前存放ROM地址的緩沖區中取出地址顯示,顯示ROM地址程序流程如圖所示。第11章 單片機應用系統設計及舉例30讀選中DS18B20模塊溫度值處理過程分三個步

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論