版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 機電工程系</b></p><p><b> 畢業(yè)設(shè)計論文</b></p><p> 基于單片機的數(shù)字溫度計設(shè)計</p><p><b> 摘 要</b></p><p> 本文設(shè)計了一款以單片機AT89S52作為控制器,用溫度傳感器
2、DS18B20作為溫度采集器,由LED數(shù)碼管作為顯示器件的數(shù)字溫度計,該數(shù)字溫度計能夠測出-55~+125℃之間的溫度,文中詳細(xì)介紹了AT89S52單片機和DS18B20數(shù)字溫度傳感器芯片的選取、單片機與溫度傳感器接口電路及單片機與LED數(shù)碼管接口電路的設(shè)計,采集和數(shù)據(jù)傳以及實現(xiàn)溫度信息輸?shù)能浖幊虒崿F(xiàn)的方法,通過調(diào)試運行,所設(shè)計的數(shù)字溫度計能達到相關(guān)設(shè)計要求。該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現(xiàn)場溫度測量,有廣泛的應(yīng)用
3、前景。</p><p> 關(guān)鍵詞 AT89S52單片機,數(shù)字溫度計,DS18B20傳感器芯片</p><p> DESIGN OF DIGITAL THERMOMETER</p><p> BASED ON AT89S52</p><p><b> ABSTRACT</b></p><p
4、> In this paper, A microcontroller AT89S52 is designed as a controller .as the temperature with a temperature sensor DS18B20 collector ,as the LED digital display digital thermometer , digital thermometer that can m
5、easure between -55~125℃ temperature .The paper details the AT89S52 microcontroller and DS18B20 digital temperature sensor chip select, the microcontroller and the temperature sensor interface circuit and microcontroller
6、and LED digital tube interface circuit design, and implement the t</p><p> KEYWORDS AT89S52Microcontroller, Temperature measurement system, DS18B20 sensor</p><p><b> 目 錄</b></p
7、><p><b> 第一章 緒 論1</b></p><p> 1.1 選題的背景和意義1</p><p> 1.2 數(shù)字溫度計的概述1</p><p> 1.3 設(shè)計思路2</p><p> 1.4 設(shè)計要求2</p><p> 1.5 系統(tǒng)說明及使用說
8、明2</p><p> 第二章 設(shè)計方案論證和系統(tǒng)的整體設(shè)計4</p><p> 2.1 設(shè)計方案論證4</p><p> 2.1.1 設(shè)計方案一4</p><p> 2.1.2 設(shè)計方案二4</p><p> 2.1.3 設(shè)計方案三4</p><p> 2.2 系統(tǒng)整體
9、設(shè)計方框圖5</p><p> 第三章 系統(tǒng)主要器件選擇6</p><p> 3.1 AT89S52單片機內(nèi)部結(jié)構(gòu)6</p><p> 3.2 溫度傳感器DSl8B20簡介9</p><p> 3.2.1 DSl8B20性能特點9</p><p> 3.2.2 引腳排列與功能10</p>
10、;<p> 3.2.3 DSl8B20溫度測量原理圖10</p><p> 3.2.4 運用——告警信號11</p><p> 3.2.5 單總線(single一bus)技術(shù)11</p><p> 3.2.6 DS18B20的特性12</p><p> 3.3 顯示器件LED數(shù)碼管12</p>
11、<p> 第四章 硬件設(shè)計13</p><p> 4.1 系統(tǒng)硬件設(shè)計13</p><p> 4.2 主板電路14</p><p> 4.3 顯示電路15</p><p> 4.4 DS18B20與單片機接口電路16</p><p> 4.5 總電路圖17</p><
12、;p> 第五章 系統(tǒng)軟件設(shè)計18</p><p> 5.1 主程序18</p><p> 5.2 讀出溫度子程序流程圖19</p><p> 5.3 溫度轉(zhuǎn)換命令子程序20</p><p> 5.4 計算溫度子程序20</p><p> 5.5 顯示數(shù)據(jù)刷新子程序21</p>
13、<p> 第六章 調(diào)試及性能分析23</p><p> 6.1 軟件調(diào)試23</p><p> 6.2 系統(tǒng)調(diào)試23</p><p> 6.3 數(shù)據(jù)檢測23</p><p> 6.4 性能分析24</p><p><b> 結(jié)束語25</b></p>
14、<p><b> 致 謝26</b></p><p><b> 參考文獻27</b></p><p><b> 附 錄28</b></p><p><b> 緒 論</b></p><p><b> 選題
15、的背景和意義</b></p><p> 隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活提供更好的更方便的設(shè)施就需要從單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。溫度測量在物理實驗、醫(yī)療衛(wèi)生、食品生產(chǎn)等領(lǐng)域,尤其在熱學(xué)試驗(如:物體的比熱容、汽化熱、熱功
16、當(dāng)量、壓強溫度系數(shù)等教學(xué)實驗)中,有特別重要的意義?,F(xiàn)在所使用的溫度計通常都是精度為1℃和0.1℃的水銀、煤油或酒精溫度計。這些溫度計的刻度間隔通常都很密,不容易準(zhǔn)確分辨,讀數(shù)困難,而且他們的熱容量還比較大,達到熱平衡所需的時間較長,因此很難讀準(zhǔn),并且使用非常不方便。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確等優(yōu)點,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實驗室使用。 目前
17、溫度計的發(fā)展很快,從原始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等,溫度計中傳感器是它的重要組成部分,它的精度、靈敏度基本決定了溫度計的精度、測量范圍、控制范</p><p><b> 數(shù)字溫度計的概述</b></p><p> 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn).能夠獨立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)
18、域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準(zhǔn)確度低,檢測系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計相比,這里設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點。選用AT89C2051型單片機作為主控制器件,DSl8B20作為測溫傳感器通過4位共陽極LED數(shù)碼管串口傳送數(shù)據(jù),實現(xiàn)溫度顯示。通過DSl8B20直接讀取被測溫度值,進行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化
19、學(xué)性能穩(wěn)定,線性度較好,在-55℃~+125℃最大線性偏差小于0.5℃。該器件可直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。另外,該溫度計還能直接采用測溫器件測量溫度,從而簡化數(shù)據(jù)傳輸與處理過程。</p><p><b> 設(shè)計思路</b></p><p> 大多單片機接口輸入的信號是數(shù)字信號,或有帶A/D轉(zhuǎn)換的高端單片機也可以輸入模擬信號。由單片機獲取非電信
20、號的溫度信息,必須通過溫度傳感器。傳統(tǒng)的溫度測量多以熱敏電阻作為溫度傳感器。但是,熱敏電阻的可靠性較差、測量溫度精度低,而且還需經(jīng)A/D轉(zhuǎn)換成數(shù)字信號后才能由單片機進行處理。因此,使用數(shù)字溫度傳感器可簡化硬件設(shè)計、方便單片機讀取數(shù)據(jù)、節(jié)約成本。</p><p> 設(shè)計單片機數(shù)字溫度計需要考慮以下3個方面:</p><p> 1)溫度傳感器芯片的選擇;</p><p&
21、gt; 2)單片機和溫度傳感器的接口電路設(shè)計;</p><p> 3)控制溫度傳感器實現(xiàn)溫度信息采集以及數(shù)據(jù)傳輸?shù)能浖?lt;/p><p><b> 設(shè)計要求</b></p><p> 本次設(shè)計的數(shù)字顯示溫度計,需滿足以下設(shè)計要求:</p><p> 1)用LED數(shù)碼管或LED顯示溫度值;</p>
22、<p> 2)溫度測量范圍:-55℃--+125℃;</p><p> 3)溫度精度:±0.5℃; </p><p> 4)溫度顯示分辨:0.1℃。</p><p><b> 系統(tǒng)說明及使用說明</b></p><p> 本裝置的功能是對溫度進行實時監(jiān)測與控制,有溫度傳感器DS18B20對溫
23、度進行采樣和轉(zhuǎn)換成數(shù)字信號送入單片機,并與設(shè)定的報警溫度上、下限值進行比較,信息通過LED顯示出來。如果實時溫度超過上下限值,一方面由LED顯示信息,并發(fā)出報警聲;另一方面自動控制繼電器接通或者斷開,從而控制加熱源的開與斷,達到對溫度進行實時控制的目的。</p><p> 在這次的設(shè)計中用的開發(fā)工具是PROTUES,由于該開發(fā)工具穩(wěn)定,而且操作方便,故選擇了此開發(fā)工具。</p><p>
24、 打開keil,輸入所編寫的源程序并對程序進行編譯,在軟件的幫助下檢查其中的錯誤并進行反復(fù)修改,直到編譯正確后運行,確保沒有錯誤以后對正確的源程序進行保存,保存時給其命名,以便將來載入程序時容易找到。</p><p> 本系統(tǒng)具有較強的實用價值,使用時,只要將其放在需要測量的地方接通電源就可以了,并且可以根據(jù)季節(jié)來設(shè)定不同的報警溫度,設(shè)置時可以通過按鍵來實現(xiàn):K1為設(shè)定值加減方式選擇鍵;K2為TH值設(shè)定鍵;K
25、3為TL值設(shè)定鍵;K4為確定鍵。當(dāng)超過報警最高的溫度時,會自動報警并接通散熱系統(tǒng),相反,當(dāng)?shù)陀谧畹蜏囟葧r,會接通加熱系統(tǒng)并報警。實時溫度可以在LED上顯示,使用時,可以將LED接在隨時都可以看見的地方,便于隨時掌握實時溫度。</p><p> 設(shè)計方案論證和系統(tǒng)的整體設(shè)計</p><p><b> 設(shè)計方案論證</b></p><p>&l
26、t;b> 設(shè)計方案一</b></p><p> 利用LM35溫度感應(yīng)器在溫度變化時轉(zhuǎn)化成電壓的等比例變換,然后通過數(shù)碼顯示管以數(shù)字的顯示顯示出來。此電路圖的核心元件是利用ICL7107來完成功能的轉(zhuǎn)換,ICL7107是一塊應(yīng)用非常廣泛的集成電路。它包含3 1/2位數(shù)字A/D轉(zhuǎn)換器,可直接驅(qū)動LED數(shù)碼管,內(nèi)部設(shè)有參考電壓、獨立模擬開關(guān)、邏輯控制、顯示驅(qū)動、自動調(diào)零功能等。制作時,數(shù)字顯示用的
27、數(shù)碼管為共陽型,2K可調(diào)電阻最好選用多圈電阻,分壓電阻選用誤差較小的金屬膜電阻,其它器件選用正品即可。該電路稍加改造,還可演變出很多電路,如數(shù)顯電流表、數(shù)顯溫度計等. 靜默電流溫度關(guān)系。硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高,精度不高,不適合在高精度場合使用。</p><p><b> 設(shè)計方案二</b></p><p> 利用集成溫度傳感器AD590設(shè)計并制作了
28、一款基于AT89C51的4位數(shù)碼管顯示的數(shù)字溫度計,其電路簡單,軟硬件結(jié)構(gòu)模塊化,易于實現(xiàn)。該數(shù)字溫度計利用AD590集成溫度傳感器及其接口電路完成溫度的測量并轉(zhuǎn)換成模擬電壓信號,經(jīng)由模數(shù)轉(zhuǎn)換器ADC0804轉(zhuǎn)換成單片機能夠處理的數(shù)字信號,然后送到單片機AT89C51中進行處理變換,最后將溫度值顯示在D4、D3、D2、D1共4位七段碼LED顯示器上。系統(tǒng)以AT89C51單片機為控制核心,加上AD590測溫電路、ADC模數(shù)轉(zhuǎn)換電路、4位溫
29、度數(shù)據(jù)顯示電路以及外圍電源、時鐘電路等組成。本設(shè)計和方案一一樣采用模數(shù)轉(zhuǎn)換。硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。故溫度計不穩(wěn)定精度不高,不適合在高精度場合使用。</p><p><b> 設(shè)計方案三</b></p><p> 在日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫
30、度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。本數(shù)字溫度計設(shè)計采用美國DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進型智能溫度傳感DS18B20作為檢測元件,溫度范圍為-55~125℃,最大分辨率在0.0625℃。DS18B20可以直接讀出溫度被測溫度值,而且采用三線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)由3個模塊組成:主控制器、測溫電路、顯示電路
31、。數(shù)字溫度計總體電路結(jié)控制器使用單片機AT89S52,溫度傳感器使用DS18B20,用4位共陽LED數(shù)碼管以動態(tài)掃描實現(xiàn)溫度顯示。此電路溫度分辨率高、電路簡單、可靠,可以再較高環(huán)境要求下準(zhǔn)確測溫,故采用此方案。</p><p><b> 系統(tǒng)整體設(shè)計方框圖</b></p><p> 溫度計電路設(shè)計總體設(shè)計方框圖如圖1-1所示.控制器采用單片機AT89S52.溫度傳
32、感器采用DSl8B20.用4位LED數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示。</p><p> 圖2-1.整體設(shè)計方框圖</p><p><b> 系統(tǒng)主要器件選擇</b></p><p> AT89S52單片機內(nèi)部結(jié)構(gòu)</p><p> AT89S52是MCS-52系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)
33、的講解。 AT89S52單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:其結(jié)構(gòu)如圖3-1</p><p><b> ·中央處理器:</b></p><p> 中央處理器(CPU)是整個
34、單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。</p><p> ·數(shù)據(jù)存儲器(RAM)</p><p> AT89S52內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)
35、據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。</p><p> 圖3-1 AT89S52單片機的結(jié)構(gòu)框圖</p><p> 程序存儲器(ROM):</p><p> AT89S52共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> ·定時/計
36、數(shù)器(ROM):</p><p> AT89S52有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> ·并行輸入輸出(I/O)口:</p><p> AT89S52共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。</p><p><b>
37、3;全雙工串行口:</b></p><p> AT89S52內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b> ·中斷系統(tǒng):</b></p><p> AT89S52具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一
38、個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p><b> ·時鐘電路:</b></p><p> AT89S52內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但AT89S52單片機需外置振蕩電容。</p><p> 單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形
39、式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。</p><p> AT89S52引腳說明:</p><p> MCS-52系列單片機中的8031、8051及8751均采用40
40、Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:如圖3-2所示</p><p> 圖3-2 AT89S52單片機引腳圖</p><p> Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)AT89S52通電,時鐘電路開始工作,在RESET引腳
41、上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),AT89S52的初始態(tài)。</p><p> AT89S52的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖3-3。
42、此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p><b> 圖3-3 時鐘電路</b></p><p> ·Pin30:ALE/PROG當(dāng)訪問外部存儲器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而當(dāng)訪問內(nèi)部存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號
43、可以用于識別單片機是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。</p><p> 如果單片機是EPROM,在編程其間,PROG將用于輸入編程脈沖。</p><p> ·Pin29:PESN當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CP
44、U讀入并執(zhí)行。</p><p> ·Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。</p><p> 溫度
45、傳感器DSl8B20簡介</p><p> DSl8820是美國達拉斯(Dallas)公司的單線數(shù)字溫度傳感器芯片,與傳統(tǒng)的熱敏電阻不同。DSl8B20可直接將被測溫度轉(zhuǎn)換為串行數(shù)字信號,供單片機處理。通過編程,DSl8B20可以實現(xiàn)9~12位的溫度讀數(shù),并可分別在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量。其測溫范圍一55℃一十125℃,最大分辨率為0.062 5℃,在一10℃—+85℃范圍內(nèi)其測溫
46、準(zhǔn)確度為±0.5℃。DSl8B20具有體積小、功耗低、抗干擾能力強、易與微處理器連結(jié)等特點.而且它無需任何外圍硬件即可方便地進行溫度測量,與單片機交換信息僅需要一根I/O口線,其讀寫及溫度轉(zhuǎn)換的功率也可來源于數(shù)據(jù)總線,而無需額外電源。另外,每片DSl8B20都設(shè)有唯一的產(chǎn)品序列號,存放在它的內(nèi)部ROM中,單片機通過簡單的協(xié)議就能識別這個序列號。因此,多個DSl8B20可以掛接于同一條單線總線上,特別適合構(gòu)成多點溫度測控系統(tǒng)。&
47、lt;/p><p> DSl8B20性能特點</p><p> 1)獨特的單線接口,僅需1個I/O口引腳即可通信,無需變換其它電路,直接輸出被測溫度值的數(shù)字信號;</p><p> 2)多點(multidrop)能力使分布式溫度檢測應(yīng)用得以簡化:</p><p> 3)不需要外部元件;</p><p> 4)既可
48、用數(shù)據(jù)線供電,也可采用外部電源供電; </p><p> 5)零待機功耗,不需備份電源; </p><p> 6)測量范圍為一55—+125℃,固有測溫分辨率為0.5℃;</p><p> 7)通過編程可實現(xiàn)9—12位的數(shù)字讀數(shù)方式;</p><p> 8)溫度數(shù)字量轉(zhuǎn)換時間200ms(典型值);</p><p&g
49、t; 9)用戶可定義非易失性的溫度告警設(shè)置;</p><p> 10)警告搜索命令能識別和尋址溫度在編定的極限之外的器件(溫度警告情況);</p><p> 11)應(yīng)用范圍包括恒溫控制、工業(yè)系統(tǒng)、消費類產(chǎn)品、溫度計或任何熱敏系統(tǒng).</p><p><b> 引腳排列與功能</b></p><p> DSl8B2
50、0采用3腳TO一92封裝或8腳SOIC封裝,其外部形狀及管腳圖如圖3-4所示。圖中①GND為地,②DQ為數(shù)據(jù)輸入輸出端,該腳為漏極開路輸出。常態(tài)下呈高電平,③可選用的VDD引腳,不用時應(yīng)接地。SOIC封裝的NC為空引腳。</p><p> 圖3-4引腳排列與功能</p><p> DSl8B20溫度測量原理圖 </p><p> DSl8B20測量溫度使用
51、了DALLAS特有的溫度測量技術(shù)。DSl8B20內(nèi)部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號fo,高溫度系數(shù)振蕩器則將被測溫度轉(zhuǎn)換成頻率信號fo當(dāng)計數(shù)門打開時,DSl8B20對毛計數(shù),計數(shù)門開通時間由高溫度系數(shù)振蕩器決定。芯片內(nèi)部還有斜率累加器,可對頻率的非線性予以補償。測量結(jié)果暫存于溫度寄存器中,用單片機可以方便地將其讀出來。如圖3-5所示</p><p> 圖3-5 測溫原理圖</p><
52、;p><b> 運用——告警信號</b></p><p> 在DSl8B20完成溫度變換之后,溫度值與儲存在TH和TL內(nèi)的告警觸發(fā)值進行比較。由于是8位寄存器,所以9~12位在比較時忽略。TH或TL的最高位直接對應(yīng)于16位溫度寄存器的符號位。如果溫度測量的結(jié)果高于TH或低于TL,那么器件內(nèi)告警標(biāo)志將置位,每次溫度測量都會更新此標(biāo)志。只要告警標(biāo)志置位,DSl8B20就將響應(yīng)告警搜索命
53、令,這也就允許單線上多個DSl8B20同時進行溫度測量,即使某處溫度越限,也可以識別出正在告警的器件。</p><p> 單總線(single一bus)技術(shù)</p><p> 目前,微機和外設(shè)之間數(shù)據(jù)傳輸?shù)拇锌偩€常用的有㎡C總線、SPI總線等。其中,㎡C總線采用同步串行兩線(一根時鐘線、一根數(shù)據(jù)線)方式,而SPI總線采用同步串行三線(一根時鐘線、一根輸入線、一根數(shù)據(jù)輸出線)方式。美國
54、達拉斯半導(dǎo)體公司推出了一項特有的單線(single—bus)技術(shù)。該技術(shù)與上述總線不同,它采用單根信號線,既可傳輸時鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的。這種單線技術(shù)具有線路簡單、便于擴展的優(yōu)點。單線技術(shù)適用于單主機系統(tǒng),單主機能夠控制一個或多個從機設(shè)備,它們之間的數(shù)據(jù)交換、控制都由這根線來完成。</p><p> 主機和從機之間的通信主要分為3個步驟:初始化單線器件、識別單線器件和單線數(shù)據(jù)傳輸。由于只有一根
55、線通信,所以它們必須是嚴(yán)格的主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答,主機訪問每個單線器件必須嚴(yán)格遵循單線命令序列,如果命令序列混亂,單線器件將不會響應(yīng)主機。</p><p> DS18B20的特性</p><p> DS18B20 是一種數(shù)字式的溫度傳感器, 在其內(nèi)部使用了在(On-Borad)專利技術(shù)。使其具有以下特性:</p><p> ·單
56、線接口, 只需一根口線與CPU 連接;</p><p> ·不需要外部元件, 不需要備份電源, 可用數(shù)據(jù)線供電;</p><p> ·支持多點組網(wǎng)功能, 多個DS18B20 可以并聯(lián)在唯一的三線上;</p><p> ·溫度測量范圍從- 50℃~ 125℃;</p><p> ·通過編程可實現(xiàn)1
57、ö 2~ 1ö16 的四級精度轉(zhuǎn)換;</p><p> ·在93. 75m s 和750m s 內(nèi)將溫度值轉(zhuǎn)化9 位和12 位的數(shù)字量;</p><p> ·用戶可自設(shè)定非易失性的報警上下限值;</p><p> ·報警搜索命令可以識別哪片DS18B20 溫度超限;</p><p>
58、·芯片本身帶有命令集和存儲器</p><p> 顯示器件LED數(shù)碼管</p><p> LED數(shù)碼管分共陽極與共陰極兩種,其工作特點是,當(dāng)筆段電極接低電平,公共陽極接高電平時,相應(yīng)筆段可以發(fā)光。共陰極LED數(shù)碼管則與之相反,它是將發(fā)光二極管的陰極(負(fù)極)短接后作為公共陰極。當(dāng)驅(qū)動信號為高電平、?端接低電平時,才能發(fā)光。</p><p> LED的輸出
59、光譜決定其發(fā)光顏色以及光輻射純度,也反映出半導(dǎo)體材料的特性。常見管芯材料有磷化鎵(GaP)、砷化鎵(GaAs)、磷砷化鎵(GaAsP)、氮化鎵(GaN)等,其中氮化鎵可發(fā)藍光。發(fā)光顏色不僅與管芯材料有關(guān),還與所摻雜質(zhì)有關(guān),因此用同一種管芯材料可以制成發(fā)出紅、橙、黃、綠等不同顏色的數(shù)碼管。其它顏色LED數(shù)碼管的光譜曲線形狀與之相似,僅入,值不同。LED數(shù)碼管的產(chǎn)品中,以發(fā)紅光、綠光的居多、這兩種顏色也比較醒目。</p>&l
60、t;p> LED數(shù)碼管等效于多只具有發(fā)光性能的PN結(jié)。當(dāng)PN結(jié)導(dǎo)通時,依靠少數(shù)載流子的注人及隨后的復(fù)合而輻射發(fā)光,其伏安特性與普通二極管相似。在正向?qū)ㄖ埃螂娏鹘朴诹?,筆段不發(fā)光。當(dāng)電壓超過開啟電壓時,電流就急劇上升,筆段發(fā)光。因此,LED數(shù)碼管屬于電流控制型器件,其發(fā)光亮度L(單位是cd/m2)與正向電流IF有關(guān),用公式表示:</p><p><b> L=KIF</b>
61、</p><p> 即亮度與正向電流成正比。LED的正向電壓U,則與正向電流以及管芯材料有關(guān)。使用LED數(shù)碼管時,工作電流一般選10mA左右/段,既保證亮度適中,又不會損壞器件。LED數(shù)碼管的引腳配置與兩種接法如圖3-6</p><p> 圖3-6 LED數(shù)碼管的引腳與接法 </p><p><b> 硬件設(shè)計</b></p>
62、<p><b> 系統(tǒng)硬件設(shè)計</b></p><p> 由AT89S52構(gòu)成的溫度計主要由三部分組成:DSl8820溫度傳感器、單片機AT89S52、由LED數(shù)碼管構(gòu)成的顯示模塊。其系統(tǒng)原理框圖如圖4-1所示。</p><p> DSl8820作為單片機AT89S52的外部信號源,把所采集到的溫度轉(zhuǎn)換為數(shù)字信號,通過I/O接口傳給C52,C52啟
63、動ROM內(nèi)的控制程序驅(qū)動LED數(shù)碼管,通過I/0接口和數(shù)據(jù)傳送給數(shù)碼管,將采集到的溫度顯示出來。溫度及原理框圖:</p><p> 圖4-1 溫度計原理框圖</p><p><b> 主板電路</b></p><p> 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路。溫度顯示電路。上下限報警調(diào)整電路,單片機主板電路等,如圖4-2所示。
64、 </p><p> 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。</p><p> 可以根據(jù)所屬程序設(shè)置溫度及上下限報警設(shè)置。蜂鳴器可以在被測溫度不在上下限范圍內(nèi)
65、時。發(fā)出報警嗚叫聲音,同時LED數(shù)碼管將沒有被測溫度值顯示,這時可以調(diào)整報警上下限。從而測出被測的溫度值。圖中復(fù)位電路為上電復(fù)位,設(shè)計簡單。</p><p> 圖4-2 單片機主板電路</p><p><b> 顯示電路</b></p><p> 顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點就是使用口資源比較少.只用p3門的RXD.和T
66、XD.串口的發(fā)送和接收,四只數(shù)碼管采用8個電阻代替74LS64右移寄存器驅(qū)動.</p><p> 圖4-3 溫度顯示電路</p><p> DS18B20與單片機接口電路 </p><p> DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電
67、源供電方式,如圖4-4 所示單片機端口接單線總線,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管來完成對總線的上拉。</p><p> 當(dāng)DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫
68、的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。</p><p> 圖4-4 DS18B20與單片機
69、的接口電路</p><p><b> 總電路圖</b></p><p> 基于AT89S51的溫度測量系統(tǒng)電路圖把溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補碼形式,占兩個字節(jié)),若采用帶屏蔽的雙絞電纜線,連線的長度可以達</p><p> 到150m,輸出腳I/O直接與單片機的P3.4相連,R。為上拉電阻,傳感器采用外部電源供電。AT89S5
70、2是整個系統(tǒng)的核心部分,內(nèi)含2 KB的FLASH RoM,用戶程序存放在這里。顯示器模塊由四位一體的共陽數(shù)碼管和四個9012組成。系統(tǒng)程序分傳感器控制程序和顯示器程序兩部分,傳感器控制程序是按照DSl8B20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。
71、 </p><p> 產(chǎn)品的主要技術(shù)指標(biāo):測量范圍:一55—+125℃,測量精度:0.5℃;反應(yīng)時間小于等于500ms。</p><p> 圖4-5 基于AT89S52單片機設(shè)計</p><p><b> 系統(tǒng)軟件設(shè)計</b></p><p><b> 主程序</b><
72、;/p><p> 主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20的測量溫度值,溫度測量每1s進行一次。其程序流程圖如圖5-1所示</p><p><b> N</b></p><p><b> Y </b></p><p><b> N</b></p&
73、gt;<p><b> Y</b></p><p> 圖5-1 主程序流程圖</p><p> 讀出溫度子程序流程圖</p><p> 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖5-2所示</p><p><b&
74、gt; Y</b></p><p><b> N</b></p><p> Y N</p><p><b> Y</b></p><p> 圖5-2 讀出子程序流程圖</p><p> 溫度轉(zhuǎn)換命令子程序 </
75、p><p> 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率,時轉(zhuǎn)換時間約為750ms。在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。其程序流程圖如圖5-3所示</p><p> 圖5-3 溫度轉(zhuǎn)換流程圖</p><p><b> 計算溫度子程序</b></p><p> 計算溫度子程序?qū)⒅凶x
76、取值進行碼的轉(zhuǎn)換運算,并進行溫度值正負(fù)的判定,其程序流程圖如圖5-4所示</p><p><b> N</b></p><p><b> Y</b></p><p> 圖5-4 計算溫度子程序流程圖</p><p><b> 顯示數(shù)據(jù)刷新子程序</b></p&g
77、t;<p> 顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當(dāng)最高顯示位為0時,將符號顯示位移入下一位。程序流程圖如圖5-5所示</p><p> 圖5-5 顯示數(shù)據(jù)刷新子程序流程圖</p><p><b> 調(diào)試及性能分析</b></p><p><b> 軟件調(diào)試</b><
78、/p><p> 本次設(shè)計系統(tǒng)的調(diào)試以程序的調(diào)試為主。</p><p> 先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序和顯示數(shù)據(jù)刷新子程序等的編程及調(diào)試。</p><p> 由于DS18B20與單片機采用串行數(shù)據(jù)傳送,因此,對DS18B20進行讀/寫編程時,必須嚴(yán)格的保證讀/寫時序,否則將無法讀取測量結(jié)
79、果。本程序采用單片機C語言編寫,用Keil C編譯器編程調(diào)試</p><p> 軟件調(diào)試到數(shù)碼管能顯示溫度值,而且在有溫度變化時(例如改變傳感器的溫度值)顯示溫度能改變。</p><p><b> 系統(tǒng)調(diào)試</b></p><p> 軟硬件分別調(diào)試完成以后,將程序下載入單片機中,電路板接上電源,電源指示燈亮,按下開關(guān)按鈕,數(shù)碼管顯示當(dāng)前溫
80、度。用手去碰觸溫度傳感器,溫度顯示值出現(xiàn)變化,顯示當(dāng)前手的溫度值。</p><p> 假如數(shù)碼管不工作,那么檢查溫度傳感器是否牢固的插入底座或者傳感器已損壞,如果不是傳感器的問題,那么需要檢查電源開關(guān)是否接錯,數(shù)碼管或者單片機是否已損壞。</p><p> 假如數(shù)碼管可以工作但是不能正常顯示,則要檢查數(shù)碼管的位選端和段選端是否與單片機的連接有誤,或是買錯數(shù)碼管的型號。</p>
81、;<p> 由于我們在用軟件仿真的時候,都是假設(shè)所有的元件為理想狀態(tài),但是在現(xiàn)實中,遠(yuǎn)遠(yuǎn)達不到理想狀態(tài),元器件總是或多或少的存在一些問題,所以我們的成品有可能與仿真出的結(jié)果有一些差距。但是只要能夠?qū)崿F(xiàn)正常顯示溫度值,那么本次設(shè)計基本成功。</p><p><b> 數(shù)據(jù)檢測</b></p><p> 設(shè)計完成以后,我們要對該數(shù)字溫度計進行數(shù)據(jù)檢測,
82、看其是否能夠達到預(yù)期的要求。</p><p> 將溫度傳感器與冰水混合物接觸,等待顯示穩(wěn)定以后讀出溫度值,并且記錄,看是否能夠顯示零度以下溫度。再把溫度傳感器放入沸水中,待顯示讀數(shù)穩(wěn)定后,記下所測溫度,該溫度計的量程為-55℃~125℃,讀數(shù)精度為0.1℃,實際使用一般在0℃~100℃。采用水銀溫度計作檢驗標(biāo)準(zhǔn),對設(shè)計的溫度計進行測試,其結(jié)果表明能達到該精度要求。</p><p><
83、;b> 性能分析</b></p><p> 性能測試可用制作的溫度計和已有的成品溫度計來測量比較。由于DS18B20的精度很高,所以誤差指標(biāo)可以限制在0.1℃以內(nèi),另外-55至+125℃的測量范圍使得該溫度完全適合一般的應(yīng)用場合,其低壓供電特性可作為用電池電子溫度計.</p><p><b> 結(jié)束語</b></p><p&
84、gt; 本設(shè)計所介紹的數(shù)字溫度計工作可靠、測量誤差小.與作者簡介傳統(tǒng)的溫度計相比,具有讀數(shù)方便、測溫范圍廣.采用數(shù)字顯示等特點,主要適用于科研實驗室等對測溫要求比較準(zhǔn)確的場所.本溫度計應(yīng)用AT89S52單片機對系統(tǒng)進行智能控制,采用溫度傳感器DSl8B20實現(xiàn)對外界溫度的測量,并通過串口通信將數(shù)據(jù)傳輸?shù)絾纹瑱C上進行處理和分析。同時采用C51程序設(shè)計語言對單片機的系統(tǒng)控制程序進行編寫。</p><p> 經(jīng)過從
85、選課題,找資料,寫任務(wù)書和開題報道等一些準(zhǔn)備工作的進行,和有關(guān)于數(shù)字溫度計的課程設(shè)計,使我對單片機的應(yīng)用有了更深的了解。在課程設(shè)計過程中,還是碰到了許多問題。比如,對于電圖不是很理解理解,對于第一次碰到的新的元器件的不熟悉,對于一些相關(guān)的應(yīng)用軟件沒能熟練的掌握。但是,通過不斷的思考,和詢問老師,以及參考網(wǎng)上的資料,最終還是把問題解決了。</p><p> 通過這次的課程設(shè)計,我最大的收獲就是自己的動手能力和獨立
86、解決問題的能力得到了很大的提高,也充分體會到了自己設(shè)計東西的樂趣、學(xué)會查資料和對別人的東西融會變通的重要性,也明白了很多知識光是靠在書本上學(xué)是學(xué)不到其中的精髓的,必須親自去試著實踐,親自去經(jīng)歷才能對它們正真的掌握,凡事都要自己去動手,去實踐,遇到困難永遠(yuǎn)不要沮傷氣餒。在動手的過程中,不僅能增強實踐能力,而且在理論上可以有更深的認(rèn)識;這次設(shè)計給我?guī)砹藰O大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過不斷的摸索和實踐來提高其他方面的知識。同時這
87、次設(shè)計也使我深刻體會到單片機技術(shù)應(yīng)用領(lǐng)域的廣泛,不僅使我對學(xué)過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產(chǎn)生了更大的興趣。</p><p> 在本次課程設(shè)計過程中,讓我認(rèn)真認(rèn)識到完整、嚴(yán)謹(jǐn)、科學(xué)分析問題、解決問題的思想是多么重要,只有擁有了科學(xué)的態(tài)度才能設(shè)計出有用的產(chǎn)品,;另外通過本次設(shè)計我學(xué)會了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計的各硬件的資源,其中包括:AT89S52單片機及其引腳說明、AT24C02引腳圖及其
88、引腳功能等,但是,我也認(rèn)識到自己理論知識的應(yīng)用能力有很大的缺陷,需要在以后的學(xué)習(xí)中進一步提高,在本次設(shè)計中我所學(xué)到的能力也為以后的進一步學(xué)習(xí)打下了堅實的基礎(chǔ)。</p><p><b> 致 謝</b></p><p> 首先我必須感謝我院領(lǐng)導(dǎo)對我們畢業(yè)生在畢業(yè)設(shè)計過程中的支持和關(guān)懷!</p><p> 其次我要特別感謝我的指導(dǎo)老師劉
89、姣月老師,不管在選擇課題階段,還是在設(shè)計階段,在制作階段,正是她給予我不斷的指導(dǎo)與鼓勵,不厭其煩的給我講解有關(guān)設(shè)計方面需要注意的要點,由于在劉老師耐心的指導(dǎo)下,我才能順利的完成我的畢業(yè)設(shè)計,完成我大學(xué)學(xué)業(yè)的最后一個課程。劉老師那種對待學(xué)生如同朋友一樣,對待工作一絲不茍的品質(zhì)和精神值得我們每一位同學(xué)學(xué)習(xí)。</p><p> 同時我還要感謝我的同學(xué)們,在設(shè)計過程中遇到困難時,他們都熱情耐心的幫助我克服困難,我畢業(yè)設(shè)
90、計的順利完成也離不開同學(xué)們不斷的幫助。</p><p> 除此之外,我在學(xué)校學(xué)習(xí)期間,受到了學(xué)校了很多老師的諄諄教誨。正是他們的辛勤的傳授和不悔的教誨,是我的知識結(jié)構(gòu)有了一個質(zhì)地的飛躍,所有的這一切對于我的畢業(yè)論文的完成都起到了至關(guān)重要的作用,為我最終完成不也設(shè)計打下了堅實的基礎(chǔ)。</p><p> 再次感謝劉嬌月老師在課題研究中給予我的指導(dǎo)和幫助,同時感謝我的同學(xué)們對我的關(guān)心和幫助。
91、</p><p> 最后感謝在百忙之中對我的論文進行評審并提出寶貴意見的老師們。</p><p><b> 參考文獻</b></p><p> [1] 張毅坤. 單片微型計算機原理及應(yīng)用. 西安:西安電子科技大學(xué)出版社,2001</p><p> [2] 余錫存. 單片機原理及接口技術(shù)[M]. 陜西:西安電子科技
92、大學(xué)出版社,2000</p><p> [3] 雷麗文. 微機原理與接口技術(shù)[M]. 北京:電子工業(yè)出版社, 1997</p><p> [4] 張迎新. 單片機中級教程. 北京:北京航空航天大學(xué)出版社,2003</p><p> [5] 丁元杰. 單片機原理與應(yīng)用. 北京:機械工業(yè)出版社,1999</p><p> [6] 孫育才.
93、 MCS-51系列單片微型計算機及其應(yīng)用. 東南大學(xué)出版社, 2000</p><p> [7] 李金利. 單片機原理及應(yīng)用技術(shù). 北京: 高等教育出版社,2004</p><p> [8] 張迎新. 單片機原理與應(yīng)用. 陜西: 電子工業(yè)出版社,2003</p><p> [9] 羅學(xué)恒. 單片機實用教程. 北京:高等教育出版社,2006</p>
94、<p> [10] 潘永雄. 新編單片機原理與應(yīng)用. 西安:西安電子科技大學(xué)出版社,2003</p><p> [11] 胡漢才. 單片機原理及接口技術(shù). 北京:高等教育出版社,2006</p><p> [12] 張宏潤. 單片機原理及其應(yīng)用. 北京:清華大學(xué)出版社,2003</p><p><b> 附 錄</b>
95、</p><p><b> 附錄1:元器件清單</b></p><p> 附錄2: 使用工具及儀表清單</p><p><b> 附錄3:源程序清單</b></p><p> TIMEL EQU 0E0H</p><p> TIMEH EQU 0B1H</p&
96、gt;<p> TEMPHEAD EQU 36H</p><p><b> 工作內(nèi)存定義</b></p><p> BITST DATA 20H</p><p> TIME1SOK BIT BITST.1</p><p> TEMPONEOK BIT BITST.2</p><
97、p> TEMPL DATA 26H</p><p> TEMPH DATA 27H</p><p> TEMPHC DATA 28H</p><p> TEMPLC DATA 29H</p><p><b> 引腳定義</b></p><p> TEMPDIN BIT P3.7&
98、lt;/p><p><b> 中斷向量區(qū)</b></p><p><b> ORG 0000H</b></p><p> LJMP START</p><p><b> ORG 000BH</b></p><p><b> LJMP TO
99、IT</b></p><p><b> 系統(tǒng)初始化</b></p><p><b> ORG 100H</b></p><p> START: MOV SP, #60H</p><p> CLSMEM: MOVR0, #20H</p><p> MOV
100、R1, #60H</p><p> CLSMEM1:MOV@R0,#00H</p><p><b> INC R0</b></p><p> DJNZ R1, CLSMEM1</p><p> MOV TMOD, #00100001B</p><p> MOV TH0, #TIMEL&l
101、t;/p><p> MOV TL0, #TIMEH</p><p><b> SJMP INIT</b></p><p> ERROR: NOP</p><p> LJMP START</p><p><b> NOP</b></p><p>&
102、lt;b> INTT: NOP</b></p><p><b> SETB ET0</b></p><p><b> SETB TR0</b></p><p><b> SETB EA</b></p><p> MOV PSW, #00H</p
103、><p> CLR TEMPONEOK</p><p><b> LJMP MAIN</b></p><p><b> 定時器0中斷程序</b></p><p> T0IT: PUSH PSW</p><p> MOV PSW, #10H</p><
104、p> MOV TH0, #TIMEH</p><p> MOV TL0, #TIMEL</p><p><b> INC R7</b></p><p> CJNE R7, #32H, T0IT1</p><p> MOV R7, #00H</p><p> SETB TIME1S
105、OK</p><p> TI0T1: POP PSW</p><p><b> RETI</b></p><p><b> 主程序</b></p><p> MAIN: LCALL DISP1</p><p> JNB TIME1SOK, MAIN</p>
106、;<p> CLR TIME1SOK</p><p> JNB TEMPONEOK, MAIN2</p><p> LCALL READTEMP1</p><p> LCALL CONVTEMP</p><p> LCALL DISPBCD</p><p> LCALL DISP1</p
107、><p> MAIN2: LCALL READTEMP</p><p> SETB TEMPONEOK</p><p><b> LJMP MAIN</b></p><p><b> 數(shù)值比較子程序</b></p><p> INITDS1820: SETB TEMPD
108、IN</p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLR TEMPDIN</p><p> MOV R6, #0A0H</p><p> DJNZ R6, $</p><p> MO
109、V R6, #0A0H</p><p> DJNZ R6, $</p><p> SETB TEMPDIN</p><p> MOV R6, #32H</p><p> DJNZ R6, $</p><p> MOV R6, #3CH</p><p> LOOP1820: MOV C
110、, TEMPDIN </p><p> JC INITOUT</p><p> DJNZ R6, LOOP1820</p><p> MOV R6, #64H</p><p> DJNZ R6, $</p><p> SJMP INITDS1820</p><p><b>
111、 RET</b></p><p> INITOUT: SETB TEMPDIN</p><p><b> RET</b></p><p> READDS1820: MOV R7, #08H</p><p> SETB TEMPDIN</p><p><b> NOP
112、 </b></p><p><b> NOP</b></p><p> READLOOP: CLR TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b>
113、 NOP</b></p><p> SETB TEMPDIN</p><p> MOV R6, #07H</p><p> DJNZ R6, $</p><p> MOV C, TEMPDIN</p><p> MOV R6, #3CH</p><p> DJNZ R6
114、, $</p><p><b> RRC A</b></p><p> SETB TEMPDIN</p><p> DJNZ R7, READLOOP</p><p> MOV R6, #3CH</p><p> DJNZ R6, $</p><p><b&
115、gt; RET</b></p><p> WRITEDS1820: MOV R7, #08H</p><p> SETB TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p> WRITEL
116、OOP: CLR TEMPDIN</p><p> MOV R6, #07H</p><p> DJNZ R6, $</p><p><b> RRC A</b></p><p> MOV TEMPDIN, C</p><p> MOV R6, #34H</p><p
117、> DJNZ R6, $</p><p> SETB TEMPDIN</p><p> DJNZ R7, WRITELOOP</p><p><b> RET</b></p><p> READTEMP: LCALL INITDS1820</p><p> MOV A, #0CC
118、H</p><p> LCALL WRITEDS1820</p><p> MOV R6, #34H</p><p> DJNZ R6, $</p><p><b> RET</b></p><p> READTEMP1: LCALL INITDS1820</p><
119、p> MOV A, #0CCH</p><p> LCALL WRITEDS1820</p><p> MOV R6,#34H</p><p> DJNZ R6, $</p><p> MOV A, #0BEH</p><p> LCALL WRITEDS1820</p><p&g
120、t; MOV R6, #34H</p><p> DJNZ R6, $</p><p> MOV R5, #09H</p><p> MOV R0, #TEMPHEAD</p><p> MOV B, #00H</p><p> READTEMP2: LCALL READDS1820</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機控制的數(shù)字溫度計----畢業(yè)設(shè)計
- 單片機的數(shù)字溫度計畢業(yè)設(shè)計
- 基于單片機的數(shù)字溫度計畢業(yè)設(shè)計論文
- 基于單片機數(shù)字溫度計畢業(yè)設(shè)計
- 基于單片機數(shù)字溫度計畢業(yè)設(shè)計
- 基于單片機數(shù)字溫度計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機的數(shù)字溫度計設(shè)計
- 畢業(yè)設(shè)計(論文)基于單片機的數(shù)字溫度計設(shè)計
- 畢業(yè)設(shè)計--基于單片機數(shù)字溫度計
- 畢業(yè)論文---單片機數(shù)字溫度計設(shè)計
- 基于單片機的數(shù)字溫度計畢業(yè)設(shè)計
- 基于單片機的數(shù)字溫度計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)基于單片機的數(shù)字語音溫度計
- 單片機畢業(yè)設(shè)計--單片機設(shè)計數(shù)字溫度計
- 畢業(yè)設(shè)計——基于單片機的數(shù)字溫度計設(shè)計
- 單片機的數(shù)字溫度計控制
- 基于單片機的數(shù)字溫度計設(shè)計 畢業(yè)設(shè)計
- 基于5單片機的數(shù)字溫度計畢業(yè)設(shè)計
- 基于51單片機的數(shù)字溫度計-畢業(yè)設(shè)計
- 論文--基于單片機的數(shù)字溫度計設(shè)計
評論
0/150
提交評論