綜合實(shí)例多功能數(shù)字溫度計_第1頁
綜合實(shí)例多功能數(shù)字溫度計_第2頁
綜合實(shí)例多功能數(shù)字溫度計_第3頁
綜合實(shí)例多功能數(shù)字溫度計_第4頁
綜合實(shí)例多功能數(shù)字溫度計_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

綜合實(shí)例多功能數(shù)字溫度計第一頁,共五十二頁,編輯于2023年,星期一11.1系統(tǒng)結(jié)構(gòu)與分析本章介紹的多功能數(shù)字溫度計具備溫度計和時鐘的功能,該系統(tǒng)由以下幾個部分組成:單片機(jī)、溫度傳感器、顯示設(shè)備、鍵盤輸入幾部分組成。第二頁,共五十二頁,編輯于2023年,星期一11.1.1多功能數(shù)字溫度計功能分析在本章設(shè)計的多功能溫度計,需要具備以下的功能。溫度測量:能夠?qū)崟r顯示當(dāng)前的環(huán)境溫度;時鐘功能:能夠作為時鐘使用,顯示當(dāng)前時間;鬧鈴功能:能夠在設(shè)定時間時候,作為鬧鈴發(fā)聲;時鐘設(shè)置功能:能夠設(shè)定時鐘,修改當(dāng)前時間;電池或者直流穩(wěn)壓電源9V供電;第三頁,共五十二頁,編輯于2023年,星期一11.1.2多功能數(shù)字溫度計系統(tǒng)分析多功能數(shù)字溫度計的原理十分簡單,即通過溫度傳感器測量溫度,通過單片機(jī)采集后在LED數(shù)碼管上顯示出來,同時,該溫度計還兼有時鐘的功能。第四頁,共五十二頁,編輯于2023年,星期一11.2DS1620溫度傳感器電路DS1620是Maxim-Dallas公司生產(chǎn)的一款高性能、寬測溫范圍的串行數(shù)字接口溫度傳感器。下面詳細(xì)介紹DS1620溫度傳感器的使用。第五頁,共五十二頁,編輯于2023年,星期一11.2.1DS1620的性能指標(biāo)DS1620溫度傳感器的主要性能指標(biāo)如下。供電電壓:2.7V~5.5V;測量溫度范圍:-55°C~+125°C;測量溫度精度:0.5°C;轉(zhuǎn)換時間:50ms;接口:三線串行接口;可設(shè)定報警限值;9Bit溫度數(shù)據(jù)格式。第六頁,共五十二頁,編輯于2023年,星期一11.2.2DS1620的引腳定義DS1620具有8-Pin的SOIC封裝和DIP雙列直插封裝,其引腳分布如圖所示。第七頁,共五十二頁,編輯于2023年,星期一11.2.3DS1620的溫度格式DS1620采用的9位的溫度數(shù)據(jù)格式,負(fù)溫度數(shù)據(jù)用補(bǔ)碼表示,最低位表示0.5℃,因此需要兩個8位寄存器存儲溫度值,如圖所示為溫度為-25°C的數(shù)據(jù)值。第八頁,共五十二頁,編輯于2023年,星期一11.2.4DS1620的三線數(shù)據(jù)串行接口DS1620的三線數(shù)據(jù)串行接口由一下三個信號線組成。RST(復(fù)位);CLK(時鐘);DQ(數(shù)據(jù))。第九頁,共五十二頁,編輯于2023年,星期一11.2.5DS1620的控制寄存器DS1620具有一個8位的控制寄存器,用于控制溫度傳感器的所有操作,其寄存器各位分布如圖所示。第十頁,共五十二頁,編輯于2023年,星期一11.2.6DS1620的操作字要對DS1620進(jìn)行需要的操作,就需要執(zhí)行DS1620的操作字,如圖11.8時序圖中的Protocol部分就是操作字的代碼,跟隨Protocol后的是操作字的參數(shù)或者讀取值。DS1620共有如下的9個不同的操作字,通過不同的操作字可以實(shí)現(xiàn)開始轉(zhuǎn)換溫度、對DS1620的寄存器進(jìn)行讀寫、讀取溫度數(shù)據(jù)、設(shè)置TH和TL等操作。AAH:讀取轉(zhuǎn)換好的溫度數(shù)據(jù),從指令輸入后的第9個時鐘脈沖開始,將輸出溫度寄存器中的數(shù)據(jù);01H:給高溫臨界寄存器寫入TH數(shù)據(jù);02H:給低溫臨界寄存器寫入TL數(shù)據(jù);A1H:讀高溫臨界寄存器中的TH數(shù)據(jù);A2H:讀低溫臨界寄存器中的TL數(shù)據(jù);EEH:開始轉(zhuǎn)換溫度數(shù)據(jù);22H:停止轉(zhuǎn)換溫度數(shù)據(jù);0CH:寫控制寄存器;ACH:讀控制寄存器。第十一頁,共五十二頁,編輯于2023年,星期一11.2.7DS1620的單獨(dú)工作模式DS1620可以工作在無單片機(jī)控制的系統(tǒng)中,稱為DS1620的單獨(dú)工作模式,在這種工作模式下,主要是依靠DS1620的三個溫度限制輸出引腳進(jìn)行控制,作為熱繼電器使用。使用該工作模式必須寫入控制寄存器操作模式和TH、TL寄存器的溫度設(shè)定值,使用CLK/~CONV用作轉(zhuǎn)換開始控制端。這種工作模式下,控制寄存器的CPU標(biāo)志位必須設(shè)為“0”。第十二頁,共五十二頁,編輯于2023年,星期一11.2.8DS1620的單片機(jī)接口電路當(dāng)使用AT89S51控制DS1620進(jìn)行溫度測量時,只需要使用AT89S51的三個引腳和DS1620的串行接口按照通訊協(xié)議進(jìn)行通訊即可,其電路如圖所示。第十三頁,共五十二頁,編輯于2023年,星期一11.3MAX7219數(shù)碼管驅(qū)動電路MAX7219是Maxim公司生產(chǎn)的一款高性能8位共陰極數(shù)碼管驅(qū)動芯片,通過MAX7219可以使用單片機(jī)極少的引腳實(shí)現(xiàn)多個數(shù)碼管的顯示驅(qū)動。第十四頁,共五十二頁,編輯于2023年,星期一11.3.1MAX7219的性能指標(biāo)MAX7219的主要性能指標(biāo)如下。10Mhz的串行接口;獨(dú)立的LED數(shù)碼管段控制;可以使用內(nèi)部BCD數(shù)碼管解碼;150uA的Shut-Down電流;可以調(diào)節(jié)數(shù)碼管發(fā)光強(qiáng)度;工作溫度范圍:-40°C~85°C;第十五頁,共五十二頁,編輯于2023年,星期一11.3.2MAX7219的引腳定義如圖所示,MAX7219具有24引腳的SO貼片與DIP雙列直插兩種不同的封裝。第十六頁,共五十二頁,編輯于2023年,星期一11.3.3MAX7219的串行數(shù)據(jù)通訊單片機(jī)需要通過D0~D15的16位串行通訊對MAX7219進(jìn)行控制,第十七頁,共五十二頁,編輯于2023年,星期一11.3.4MAX7219的內(nèi)部寄存器地址要實(shí)現(xiàn)數(shù)碼管的不同模式、不同形式下的驅(qū)動,就需要對MAX7219的內(nèi)部寄存器進(jìn)行操作,寄存器的地址為數(shù)據(jù)D8~D11位,如圖所示。第十八頁,共五十二頁,編輯于2023年,星期一11.3.5MAX7219的數(shù)字位寄存器數(shù)字位寄存器的地址為01H~08H,其對應(yīng)了每個數(shù)碼管的現(xiàn)實(shí)內(nèi)容,在沒有進(jìn)行使用解碼模式時,其存儲數(shù)據(jù)與數(shù)碼管顯示的對應(yīng)方式如圖所示。第十九頁,共五十二頁,編輯于2023年,星期一11.3.6MAX7219的停機(jī)寄存器停機(jī)寄存器用于關(guān)閉MAX7219,如圖所示,當(dāng)D0=0時,MAX721處于停機(jī)狀態(tài);當(dāng)D0=1時,處于正常工作狀態(tài)。第二十頁,共五十二頁,編輯于2023年,星期一11.3.7MAX7219的測試寄存器測試寄存器用于測試數(shù)碼管和MAX7219十分正常工作,如圖所示,當(dāng)D0=0時,MAX7219按設(shè)定模式正常工作;當(dāng)D0=1時,處于測試狀態(tài)。在測試狀態(tài)下,無論MAX7219處于什么模式,全部LED將按最大亮度顯示。第二十一頁,共五十二頁,編輯于2023年,星期一11.3.8MAX7219的亮度寄存器數(shù)碼管的現(xiàn)實(shí)亮度可以用硬件和軟件兩種方法調(diào)節(jié),亮度寄存器中的D0~D3位可以控制LED顯示器的亮度,如圖所示,通過改變亮度寄存器的值,可以調(diào)整MAX7210驅(qū)動數(shù)碼管的有效循環(huán)時間,從而改變數(shù)碼管顯示的亮度。第二十二頁,共五十二頁,編輯于2023年,星期一11.3.9MAX7219的掃描界限寄存器MAX7219的掃描界限寄存器用于限定MAX7219的掃描數(shù)碼管的個數(shù),這個主要是用于當(dāng)MAX7219被用于驅(qū)動不到8個數(shù)碼管的情況下,例如本章的數(shù)碼溫度計只使用了6個數(shù)碼管,就可以限制掃描數(shù)碼管的個數(shù)為6。如圖所示,該寄存器中D0~D3位數(shù)據(jù)設(shè)定值為0~7H,設(shè)定值表示顯示器動態(tài)掃描個數(shù)為1~8。第二十三頁,共五十二頁,編輯于2023年,星期一11.3.10MAX7219的譯碼寄存器該寄存器的8位二進(jìn)制數(shù)的各位分別控制8個LED顯示器的譯碼方式。當(dāng)高電平時,選擇BCD-B譯碼模式,當(dāng)?shù)碗娖綍r選擇不譯碼模式,而使用送來數(shù)據(jù)為字型碼,其具體對應(yīng)的實(shí)例如圖所示。第二十四頁,共五十二頁,編輯于2023年,星期一11.3.11MAX7219驅(qū)動電路設(shè)計如圖所示為官方推薦的MAX7219常用驅(qū)動電路連接圖,圖中ISET引腳連接的是硬件調(diào)節(jié)數(shù)碼管亮度的電阻,可以通過更改外接電阻值改變數(shù)碼管的亮度。DIG0~DIG7引腳分別與8位數(shù)碼管的共陰極相連,SEGA~G及其DP引腳分別與每個數(shù)碼管的A~G與GP段相連,A~G以及DP各段的定義請參考圖第二十五頁,共五十二頁,編輯于2023年,星期一11.4其他硬件電路設(shè)計除了溫度傳感器電路和數(shù)碼管驅(qū)動電路,在本節(jié)中繼續(xù)介紹多功能溫度計其余的硬件電路設(shè)計,包括單片機(jī)最小系統(tǒng)、電源系統(tǒng)、按鍵輸入等部分。第二十六頁,共五十二頁,編輯于2023年,星期一11.4.1AT89S51單片機(jī)最小系統(tǒng)電路在該設(shè)計中采用了AT89S51單片機(jī)作為核心處理器,因此在電路中首先需要設(shè)計的是AT89S51的最小系統(tǒng)。AT89S51單片機(jī)的最小系統(tǒng)電路包含以下幾個部分:單片機(jī)供電電路:AT89S51需要具有可靠的5V供電,在電路圖中的VCC和GND為供電網(wǎng)絡(luò)標(biāo)識符;振蕩電路:AT89S51需要一個穩(wěn)定的振蕩電路才能夠正常工作,在該電路采用了24Mhz的晶振作為AT89S51的時鐘源;復(fù)位電路:復(fù)位電路是單片機(jī)正常運(yùn)行的一個必要部分,復(fù)位電路應(yīng)該保證單片機(jī)在上電的瞬間進(jìn)行一次有效的復(fù)位,在單片機(jī)正常工作時將RST引腳置低。此外通過一個按鍵進(jìn)行手動復(fù)位,在單片機(jī)運(yùn)行不正常時使用。第二十七頁,共五十二頁,編輯于2023年,星期一11.4.2鍵盤輸入電路由于多功能數(shù)字溫度計具備時鐘的功能,因此需要具有設(shè)置時鐘的按鍵輸入設(shè)備,在本章案例中采用了4個上拉的按鍵作為輸入設(shè)備,與AT89S51的P1_0~P1_3相連,其電路如圖所示。鍵盤輸入的具體設(shè)計細(xì)節(jié)請參考本書第7章。第二十八頁,共五十二頁,編輯于2023年,星期一11.4.3電源電路為了降低成本,該多功能數(shù)字溫度計采用了MC7805作為電源芯片,MC7805是使用最為廣泛的一種電源穩(wěn)壓芯片,各大芯片公司都有生產(chǎn)或具有兼容產(chǎn)品。從芯片的手冊上可知,MC7805能夠?qū)?~30V的輸入電壓穩(wěn)壓至5V輸出,但是由于MC7805不是開關(guān)電源,而是線性穩(wěn)壓電源,因此多余的電壓都將轉(zhuǎn)換為熱能被消耗,導(dǎo)致芯片發(fā)熱,因此MC7805的輸入電壓不宜太高。采用MC7805作為電源的電路,其中BAT是電池電源輸入端,一般為9V。第二十九頁,共五十二頁,編輯于2023年,星期一11.4.4多功能數(shù)字溫度計的硬件電路通過11.2.1~11.2.5小節(jié)的設(shè)計分析,可以得到該多功能數(shù)字溫度計的硬件電路圖如圖所示,其中P2為電源輸入接口,蜂鳴器使用P2_7引腳驅(qū)動。第三十頁,共五十二頁,編輯于2023年,星期一11.5多功能數(shù)字溫度計軟件設(shè)計本節(jié)講解多功能溫度計的軟件設(shè)計,軟件要實(shí)現(xiàn)的功能包括實(shí)時溫度測量顯示、時鐘顯示、時鐘設(shè)置、鬧鈴設(shè)置、鬧鈴等功能。下面詳細(xì)講解軟件的設(shè)計過程。第三十一頁,共五十二頁,編輯于2023年,星期一11.5.1軟件結(jié)構(gòu)分析一個嵌入式系統(tǒng)軟件總是由復(fù)雜的程序構(gòu)成的,一般來說,一個完整的嵌入式程序分為兩個主要的層次,功能軟件和底層驅(qū)動。第三十二頁,共五十二頁,編輯于2023年,星期一11.5.2DS1620驅(qū)動程序設(shè)計DS1620的驅(qū)動程序由以下幾部分組成。DS1620寫字節(jié)函數(shù);DS1620讀字節(jié)函數(shù);DS1620寫控制寄存器函數(shù);DS1620讀控制寄存器函數(shù);DS1620讀取溫度值函數(shù);DS1620啟動轉(zhuǎn)換函數(shù);DS1620初始化函數(shù);11.5.2.1宏定義11.5.2.2DS1620寫字節(jié)函數(shù)11.5.2.3DS1620讀字節(jié)函數(shù)11.5.2.4DS1620寫控制寄存器函數(shù)11.5.2.5DS1620讀控制寄存器函數(shù)11.5.2.6DS1620讀溫度值函數(shù)11.5.2.7DS1620啟動溫度轉(zhuǎn)換函數(shù)11.5.2.8DS1620初始化函數(shù)第三十三頁,共五十二頁,編輯于2023年,星期一11.5.3MAX7219驅(qū)動程序設(shè)計MAX7219的驅(qū)動程序由以下幾部分組成。MAX7219寫控制函數(shù);MAX7219初始化函數(shù);11.5.3.1宏定義11.5.3.2MAX7219寫控制函數(shù)11.5.3.3MAX7219初始化函數(shù)第三十四頁,共五十二頁,編輯于2023年,星期一11.5.4鍵盤接口程序設(shè)計鍵盤接口程序的功能是對按下的按鍵進(jìn)行識別,為程序提供按鍵碼,為執(zhí)行下一步程序提供來自用戶的反饋。鍵盤接口程序比較簡單,就是使用P1口讀取按鍵的值,然后返回按鍵值,具體的按鍵輸入程序過程請讀者參考本書第七章。11.5.4.1宏定義11.5.4.2鍵盤接口程序第三十五頁,共五十二頁,編輯于2023年,星期一11.5.5蜂鳴器驅(qū)動程序設(shè)計驅(qū)動蜂鳴器就是靠AT89S51的P2_7引腳,驅(qū)動蜂鳴器就是通過P2_7輸出一個低電平,將三極管導(dǎo)通,從而驅(qū)動蜂鳴器發(fā)聲。11.5.5.1宏定義11.5.5.2蜂鳴器驅(qū)動第三十六頁,共五十二頁,編輯于2023年,星期一11.5.6定時器時鐘基準(zhǔn)設(shè)計定時器時鐘基準(zhǔn)的目的是產(chǎn)生以一秒為周期的時鐘基準(zhǔn),這樣就可作為時鐘的驅(qū)動基準(zhǔn)。利用定時器T0可以產(chǎn)生2ms的中斷脈沖,500個2ms技術(shù)即為1s。在使用24MHz晶振時,產(chǎn)生2ms需要的計數(shù)器初值為:#defineTH0_VALUE0x06#defineTL0_VALUE0x0011.5.6.1定時器時鐘中斷11.5.6.2定時器初始化函數(shù)11.5.6.3定時器啟動函數(shù)第三十七頁,共五十二頁,編輯于2023年,星期一11.5.7時鐘顯示程序設(shè)計時鐘顯示程序的功能是每隔一分鐘更新一次顯示的時鐘值,時鐘值按照24小時的格式進(jìn)行顯示,具體函數(shù)代碼如下。第三十八頁,共五十二頁,編輯于2023年,星期一11.5.8鬧鈴程序設(shè)計鬧鈴程序?qū)崿F(xiàn)的功能是,當(dāng)當(dāng)前時間和鬧鈴時間一致時,鬧鈴開始發(fā)聲報警,第三十九頁,共五十二頁,編輯于2023年,星期一11.5.9按鍵操作程序設(shè)計用戶要通過鍵盤操作進(jìn)行鬧鈴和時鐘的設(shè)置,因此按鍵操作函數(shù)比較復(fù)雜,在函數(shù)中調(diào)用了鍵盤接口函數(shù),第四十頁,共五十二頁,編輯于2023年,星期一11.5.10顯示溫度程序設(shè)計顯示溫度程序的功能是在溫度計上實(shí)時顯示當(dāng)前所測量的溫度值,程序調(diào)用了DS1620讀溫度函數(shù),具體代碼如下。第四十一頁,共五十二頁,編輯于2023年,星期一11.5.11主程序在所有函數(shù)和分支程序都設(shè)計完成后,主程序的設(shè)計變得十分簡單,主程序的工作是初始化各個部件,并在無限循環(huán)內(nèi)不斷運(yùn)行各個子分支程序,第四十二頁,共五十二頁,編輯于2023年,星期一11.6多功能數(shù)字溫度計工程文件與之前章節(jié)介紹的小程序不同,在本章的案例中,對于這樣一個較大的工程,為了使得所有的函數(shù)和分支程序能夠統(tǒng)一編譯,需要在KeilC51里統(tǒng)一建立一個工程文件,進(jìn)行統(tǒng)一的編譯與調(diào)試。第四十三頁,共五十二頁,編輯于2023年,星期一11.6.1主函數(shù)Main.C為整個工程的主體文件,包含了工程的入口函數(shù)main()。(具體內(nèi)容請參照本書)第四十四頁,共五十二頁,編輯于2023年,星期一11.6.2溫度傳感器DS1620函數(shù)庫DS1620.C包含了所有對溫度傳感器DS1620的操作函數(shù),具體代碼如下所示。(具體內(nèi)容請參照本書)第四十五頁,共五十二頁,編輯于2023年,星期一11.6.3DS16

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論