版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 2 設(shè)計總體方案2</p><p> 2.1 設(shè)計內(nèi)容2</p><p> 2.2 設(shè)計要求2</p><p> 3 硬件系統(tǒng)的方案設(shè)計3&
2、lt;/p><p> 3.1 單片機AT89C513</p><p> 3.2 1602LCD顯示屏3</p><p> 3.3 溫度傳感器DS18B204</p><p><b> 4 模塊設(shè)計6</b></p><p> 4.1 晶振電路與復(fù)位電路6</p>&
3、lt;p> 4.2 溫度采集電路7</p><p> 4.3 顯示電路8</p><p> 4.4 報警系統(tǒng)9</p><p> 5 軟件系統(tǒng)的方案設(shè)計10</p><p> 5.1 軟件設(shè)計總體思路及主程序流程圖10</p><p> 5.2 測溫模塊流程圖10</p>
4、<p> 5.2.1 溫度的采集11</p><p> 5.2.2 多點溫度的測量11</p><p> 5.3 顯示模塊流程圖12</p><p> 5.4 鍵盤掃描流程圖12</p><p><b> 6 總結(jié)14</b></p><p> 7 參考文獻1
5、5</p><p> 附錄1:電路圖16</p><p> 附錄2:源代碼17</p><p><b> 1 緒論</b></p><p> 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展,溫度顯示控制系統(tǒng)在工業(yè)、農(nóng)業(yè)及人們的日常生活中扮演著一個越來越重要的角色,它對人們的生活具有很大的影響,所以智能溫度顯示系統(tǒng)的設(shè)計與研究有
6、十分重要的意義。</p><p> 本次設(shè)計的目的在于學習基于51單片機的智能溫度顯示系統(tǒng)設(shè)計的基本流程。本設(shè)計采用單片機作為數(shù)據(jù)處理與控制單元,為了進行數(shù)據(jù)處理,單片機控制DS18B20的智能溫度傳感器,把溫度信號通過單總線從數(shù)字溫度傳感器傳遞到單片機上。單片機數(shù)據(jù)處理之后,發(fā)出控制信息改變報警和控制執(zhí)行模塊的狀態(tài),同時將當前溫度信息發(fā)送到LED進行顯示。</p><p> 我所采用
7、的控制芯片為AT89C51,此芯片功能較為強大,能夠滿足設(shè)計要求。通過對電路的設(shè)計,對芯片的外圍擴展,可達到對某一車間溫度的控制和調(diào)節(jié)功能。此外,重點介紹了DS18B20與單片機的接口設(shè)計以及數(shù)字溫度計的軟件的主程序、DS18B20讀寫程序和顯示程序,并給出了基于PROTEUS軟件的電路仿真圖。該儀表具有簡單、穩(wěn)定、實用、精度高等優(yōu)點。</p><p><b> 2 設(shè)計總體方案</b>
8、</p><p><b> 2.1 設(shè)計內(nèi)容</b></p><p> 根據(jù)系統(tǒng)的設(shè)計要求,當溫度傳感器DS18B20把所測得的溫度發(fā)送到AT89C51單片機上,經(jīng)AT89C51處理,將把溫度在顯示電路上顯示。當開機后,顯示屏和計時器進行初始化設(shè)置。同時,本系統(tǒng)能夠設(shè)置報警溫度,在到達報警時間后能夠通過LED發(fā)光二極管以及發(fā)音器提示報警。</p>&
9、lt;p> 利用AT89C51芯片控制溫度傳感器DS18B20進行實時溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度。</p><p><b> 系統(tǒng)框圖如下圖:</b></p><p><b> 圖1 系統(tǒng)框圖</b></p><p> 選擇DS18B20作為本系統(tǒng)的溫度傳感器,選擇單片機AT89C51為測控系統(tǒng)
10、的核心來完成數(shù)據(jù)采集、處理、顯示、報警等功能。選用數(shù)字溫度傳感器DS18B20,輸出信號全數(shù)字化。便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路,省卻了采樣/保持電路、運放、數(shù)/模轉(zhuǎn)換電路以及進行長距離傳輸時的串/并轉(zhuǎn)換電路,簡化了電路,縮短了系統(tǒng)的工作時間,降低了系統(tǒng)的硬件成本。</p><p> 當LCD液晶顯示器接收到來自AT89C51單片機傳送來的溫度信息后,分別顯示了當前的溫度。</p&
11、gt;<p><b> 2.2 設(shè)計要求</b></p><p> 設(shè)計的主要功能和指標如下:</p><p> (1)用液晶進行實際溫度值顯示。</p><p> ?。?)利用溫度傳感器(DS18B20)測量某一點環(huán)境溫度。</p><p> (3)測量范圍為-55℃~+110℃,精度為±
12、;0.5℃。</p><p> ?。?)提示開機,當按下開機鍵后,響起開機聲。</p><p> (5)當達到報警溫度后,能夠自動發(fā)出報警聲。</p><p> 3 硬件系統(tǒng)的方案設(shè)計</p><p> 3.1 單片機AT89C51</p><p> AT89C51作為溫度測試系統(tǒng)設(shè)計的核心器件。該器件是IN
13、TEL公司生產(chǎn)的MCS—5l系列單片機中的基礎(chǔ)產(chǎn)品,采用了可靠的CMOS工藝制造技術(shù)。具有高性能的8位單片機,屬于標準的MCS-51的CMOS產(chǎn)品。片內(nèi)含8Kbytes的可販毒擦寫的只讀程序存儲器(PEROM)和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件兼容標準的MCS-51指令系統(tǒng)。片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元。結(jié)合了HMOS的高速和高密度技術(shù)及CHMOS的低功耗特征。</p><
14、;p><b> 其具有如下性質(zhì):</b></p><p> ?。?)與MCS-51 產(chǎn)品指令系統(tǒng)完全兼容</p><p> ?。?)4K字節(jié)可重擦寫Flash閃爍存儲器。</p><p> ?。?)壽命:1000寫/擦循環(huán)。</p><p> ?。?)數(shù)據(jù)保留時間:10年。</p><p>
15、; ?。?)全靜態(tài)工作:0Hz-24Hz。</p><p> ?。?)三級程序存儲器鎖定。</p><p> ?。?)128*8位內(nèi)部RAM。</p><p> ?。?)32可編程I/O線。</p><p> ?。?)兩個16位定時器/計數(shù)器。</p><p> ?。?0)8個中斷源。</p><p
16、> ?。?1)可編程串行通道。</p><p> ?。?2)低功耗的閑置和掉電模式。</p><p> (13)片內(nèi)振蕩器和時鐘電路。</p><p> AT89C51單片機提供以下標準功能:4k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電
17、路。另外,AT89C51可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。</p><p> 3.2 1602LCD顯示屏</p><p> 由于設(shè)計中要求顯示測試溫度,因此顯示屏首先要能夠一次性容納這些字符。
18、工作電壓不能太高,與單片機的連接方式需要簡單,顯示準確。本設(shè)計中采用的是1602型LCD液晶屏能夠很好的滿足這些要求。</p><p> 此液晶屬于工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。LCD液晶顯示器是一種低壓、微功耗的顯示器件,只要2~3伏就可以工作,工作電流僅為幾微安,是任何顯示器無法比擬的,同時可以顯示大量信息,除數(shù)字外,還可以顯示文字、曲線,比傳統(tǒng)的數(shù)碼LED顯示器顯示的界面有了質(zhì)的提高
19、。在儀表和低功耗應(yīng)用系統(tǒng)中得到了廣泛的應(yīng)用。</p><p> 1602擁有很多出色的優(yōu)點:</p><p> (1) 顯示質(zhì)量高,由于液晶顯示器的每一個點收到信號后就一直保持那種色彩和亮度恒定發(fā)光,因此液晶顯示器的畫質(zhì)高而且不會閃爍。</p><p> (2) 數(shù)字式接口,液晶顯示器都是數(shù)字式的,和單片機的接口簡單操作也很方便。</p><
20、;p> (3) 功率消耗小,相比而言液晶顯示器的主要功耗在內(nèi)部電極和驅(qū)動IC上,因而耗電量比其他器件要小很多。</p><p> 3.3 溫度傳感器DS18B20</p><p> DS18B20是美國DALLAS公司繼DS1820之后推出的增強型單總線數(shù)字式溫度傳感器,它在轉(zhuǎn)換速度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較之前產(chǎn)品有了很大的改進,給用戶帶來了更方便、更令人滿意的效果
21、。DALLAS最新單線數(shù)字溫度傳感器DS18B20是一種新型的“一線器件”,其體積更小、更適用于多種場合、且適用電壓更寬、更經(jīng)濟。DALLAS半導體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測量范圍為-55~+125 攝氏度,可編程為9位~12位轉(zhuǎn)換精度,測溫分辨率可達0.0625攝氏度,分辨率設(shè)定參數(shù)以及用戶設(shè)定的報警溫度存儲在EEPROM中,掉電后依然保存。被測溫度用符號擴展的16位數(shù)字
22、量方式串行輸出;其工作電源既可以在遠端引入,也可以采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。</p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度
23、報警觸發(fā)器TH和TL、配置寄存器。DQ為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源;GND為地信號;VDD為可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。</p><p> 在硬件上,DS18B20與單片機的連接有兩種方法,一種是VCC接外部電源,GND接地,I/O與單片機的I/O線相連;另一種是用寄生電源供電,此時UDD、GND接地,I/O接單片機I/O。無論
24、是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻.</p><p> DS18B20 的性能特點如下:</p><p> 獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。</p><p> DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。
25、 </p><p> 圖2 DS18B20內(nèi)部結(jié)構(gòu)框圖</p><p> DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p><b> 其具有9條特點:</b></p><p> ?。?)適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可
26、由數(shù)據(jù)線供電。</p><p> (2)溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃。</p><p> ?。?)零待機功耗。</p><p> (4)可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。</p><p> ?。?)在9位分
27、辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。</p><p> ?。?)用戶可定義報警設(shè)置。</p><p> ?。?)報警搜索命令識別并標志超過程序限定溫度的器件。</p><p> (8)結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強
28、的抗干擾糾錯能力。</p><p> DS18B20作為新型的一線器件,能夠方便的和中心處理器進行連接,并具有很大的擴展空間。溫度范圍較廣,使得整體的測溫范圍能大幅度的上升,零待機消耗更是起到了節(jié)能的作用。利用用戶能自定義報警設(shè)置這一特點,能夠在實現(xiàn)報警功能上得到很大的便利,同時極強的抗干擾性能使得溫度的檢測更加準確,作為溫度計最基本的要求,準確必須滿足。這些好處使得DS18B20最終被選擇。</p>
29、;<p><b> 4 模塊設(shè)計</b></p><p> 4.1 晶振電路與復(fù)位電路</p><p> 晶振電路和復(fù)位電路與單片機連接構(gòu)成最小系統(tǒng)電路,如何選取合適的引腳,選取何種連接方式都至關(guān)重要。因此需要了解AT89C51的引腳特點。</p><p> 圖3 AT89C51單片機引腳圖</p>&l
30、t;p> 在晶振電路中,主要用到了XTAL1和XTAL2兩個引腳。</p><p> (1)XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> (2)XTAL2:來自反向振蕩器的輸出。</p><p> 在晶振電路中,AT89C51具有兩種晶振方式,一種是片內(nèi)時鐘振蕩方式,但需要在引腳外接石英晶體和振蕩電容,振蕩電容的值一般取
31、10-30pf。另一種是外部時鐘方式,即將XTAL1接外部時鐘,XTAL2腳懸空。本設(shè)計的晶振電路如圖4.2所示。</p><p><b> 圖4 晶振電路</b></p><p> 單片機的晶振頻率采用11.0592MHZ,外加兩個30pF電容。</p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出,外接石英晶體和振蕩電
32、容,構(gòu)成了片內(nèi)時鐘振蕩方式。而振蕩周期指的就是單片機外接石英晶體振蕩器的周期。當時鐘起振后,產(chǎn)生一定的頻率的時鐘信號,單片機的CPU在時鐘信號的控制下能一步一步完成自己的工作,同時與整個系統(tǒng)相關(guān)的周期還有振蕩周期、狀態(tài)周期、機器周期和指令周期。</p><p> 電容C1和C2主要用于校正波形,振蕩器的作用主要是產(chǎn)生時鐘振蕩。而整個電路的作用則是為了產(chǎn)生自激振蕩。</p><p> 對
33、于復(fù)位電路,AT89C51有兩種復(fù)位方式,分別是上點復(fù)位和按鍵復(fù)位。本設(shè)計采用的是按鍵復(fù)位,即利用一個復(fù)位電容和按鍵的組合使得復(fù)位變得更加直接和簡單。</p><p> 引腳RST作用是復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。在按下按鍵后,系統(tǒng)自動復(fù)位,十分方便。在復(fù)位電路中添加按鍵主要是為了能夠使得復(fù)位更加方便,電容主要是在復(fù)位后進行充電,而上拉電阻起到限流的作用,保護了電路。&
34、lt;/p><p><b> 圖5 復(fù)位電路</b></p><p> 4.2 溫度采集電路</p><p> 溫度控制電路主要運用到了DS18B20和AT89C51。如何使兩者連接實現(xiàn)功能是溫度控制電路的主要設(shè)計目的。</p><p> 圖6 DS18B20管腳圖</p><p> 在硬
35、件上,DS18B20與單片機的連接有兩種方法,一種是VCC接外部電源,GND接地,I/O與單片機的I/O線相連;另一種是用寄生電源供電,此時UDD、GND接地,I/O接單片機I/O。內(nèi)部寄生電源I/O口線要接5KΩ左右的上拉電阻。這里采用的是第一種連接方法,如圖4.5所示:</p><p> P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳電位被
36、內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時,P2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。</p><p><b> 圖7 溫度采集電路</b></p><p> 傳感器數(shù)據(jù)采集電路主要指DS18B20溫度傳感器與單片機的接口電路。DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。
37、另一種是寄生電源供電方式考慮到實際應(yīng)用中寄生電源供電方式適應(yīng)能力差且易損壞,此處采用電源供電方式,I/O口接單片機的P2.4口。</p><p><b> 4.3 顯示電路</b></p><p> 液晶顯示器是一種將液晶顯示器件,連接器件,集成電路,PCB線路板,背光源,結(jié)構(gòu)器件裝配在一起的組件。</p><p> 在顯示電路中,VSS
38、接地,VDD接5V正電源,VEE為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,為了獲得最佳對比度,VEE接地。</p><p> RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入
39、數(shù)據(jù)。E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p> RS和R/W選用不同的高低電平,將影響寄存器的選擇。</p><p> 表1 寄存器選擇控制表</p><p> 由于液晶顯示器的功能是顯示各字符,所以RS置高電平,R/W接地。8位雙向數(shù)據(jù)線D0-D7與雙向I/O口相連。</p><p> 圖8
40、液晶顯示電路圖</p><p><b> 4.4 報警系統(tǒng)</b></p><p> 利用有源蜂鳴器進行報警輸出,采用直流供電。當所測溫度超過獲高于所預(yù)設(shè)的溫度時,數(shù)據(jù)口相應(yīng)拉高電平,報警輸出。而兩個發(fā)光二極管直接和單片機的P3.6和P3.7相接,當溫度大于100度時D1發(fā)亮,蜂鳴器報警,反之黃燈D2發(fā)亮。</p><p> 至于報警電路
41、,連接方式如4.7所示。</p><p><b> 圖9 報警電路</b></p><p> 5 軟件系統(tǒng)的方案設(shè)計</p><p> 5.1 軟件設(shè)計總體思路及主程序流程圖</p><p> 本系統(tǒng)采用C語言編寫,主程序主要由四部分構(gòu)成,系統(tǒng)通電后首先初始化系統(tǒng),依次完成溫度采集、溫度處理、數(shù)據(jù)顯示、鍵盤處理
42、等四項功能。溫度采集部分主要完成4個溫度測試點的溫度數(shù)據(jù)采集任務(wù);溫度處理部分主要是將采集到的溫度數(shù)據(jù)與用戶設(shè)定的各點上下限溫度值進行比較處理,并判斷是否超出設(shè)定的上下限值,如果超出則蜂鳴器報警;數(shù)據(jù)顯示部分主要實現(xiàn)溫度數(shù)據(jù)的顯示,顯示方式根據(jù)設(shè)計要求支持1到4個溫度測試點的輪流循環(huán)顯示和固定顯示兩種方式;鍵盤處理部分主要實現(xiàn)用戶對系統(tǒng)參數(shù)的設(shè)置,結(jié)合顯示部分,實現(xiàn)用戶與系統(tǒng)之間的人機接口。系統(tǒng)軟件主流程如圖4-1所示: </p&
43、gt;<p> 圖10 系統(tǒng)軟件總流程圖</p><p> 5.2 測溫模塊流程圖</p><p> 圖11 DSl8B20操作流程圖</p><p> 5.2.1 溫度的采集</p><p> 每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM中,主機在進入操作程序前必須逐一接入DS
44、l8B20,用讀ROM(33H)命令將該DSl8B20的序列號讀出并登錄。當主機需要對眾多在線DSl8B20的某一個進行操作時首先要發(fā)出匹配ROM命令(55H),緊接著主機提供64位序列(包括該DSl8B20的48位序列號)之后的操作就是針對該DSl8B20的,而所謂跳過ROM命令即為之后的操作,是對所有DSl8B20的框圖中先有跳過ROM即是啟動所有DSl8B20進行溫度變換之后通過匹配ROM再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)在
45、DSl8B20組成的測溫系統(tǒng)中主機在發(fā)出跳過ROM命令之后再發(fā)出統(tǒng)一的溫度轉(zhuǎn)換啟動碼44H就可以實現(xiàn)所有DSl8B20的統(tǒng)一轉(zhuǎn)換再經(jīng)過1s后就可以用很少的時間去逐一讀取這種方式,使其T值往往小于傳統(tǒng)方式。</p><p> 5.2.2 多點溫度的測量</p><p> 單總線已經(jīng)掛接了4個DS18B20。DS18B20的ROM代碼并在AT89C51單片機內(nèi)部的中建立了測量位置點和傳感器
46、64位ROM代碼之間的關(guān)系表,對多個溫度的巡回測量的步驟:</p><p> (1)發(fā)跳過ROM命令CCH。</p><p> (2)發(fā)啟動所有在線的DS18B20進行溫度轉(zhuǎn)換命令44H。</p><p><b> (3)延遲1s。</b></p><p> (4)發(fā)匹配ROM命令55H。</p>
47、<p> (5)按照AT89C51中建立的關(guān)系表的順序取出64位ROM代碼發(fā)送到單總線。</p><p> (6)發(fā)讀溫度值命令BEH,讀取溫度值。</p><p> (7)進行CRC校驗和數(shù)據(jù)處理后送LCD顯示器顯示。</p><p> (8)重復(fù)第4步到第7步,直到所有的DS18B20測量處理完。</p><p> (
48、9)再重復(fù)第1步到第8步,進行下一輪的巡回測量。</p><p> 圖12 溫度測量流程圖</p><p> 5.3 顯示模塊流程圖</p><p> 圖13 LCD1602A操作流程圖</p><p> 5.4 鍵盤掃描流程圖</p><p> 按鍵處理程序通過掃描按鍵情況,讀取鍵值。主要完成各點溫度傳感器
49、上下限報警參數(shù)設(shè)置和顯示模式設(shè)置。</p><p> ?。?)通過掃描鍵盤讀取鍵值,流程圖如圖4-5所示:</p><p> 圖14 鍵盤掃描程序流程圖</p><p> ?。?)設(shè)置報警上、下限值</p><p> DS18B20設(shè)有溫度上下限報警功能。DSl8B20的存儲器由兩部分組成:一個是9字節(jié)的靜態(tài)RAM,其中第0和第1字節(jié)用于
50、存儲16位的溫度轉(zhuǎn)換值,第2(高溫限TH)和第3字節(jié)(低溫限TL)作為溫度報警限值或通用存儲器單元供用戶使用;另一個是非易失性的E²PROM。當靜態(tài)RAM作為溫度報警限值使用時,可以在系統(tǒng)安裝和工作前,用寫RAM命令4EH將高溫限TH和低溫限TL寫入第2和第3字節(jié)單元。由于靜態(tài)RAM掉電后信息即丟失,因此需要再通過拷貝RAM命令48H將第2和第3字節(jié)單元的溫度報警限值拷貝到E²PROM中。主程序只要在初始化部分使用重
51、調(diào)E²PROM命令B8H,就可以將E²PROM中的溫度報警限值重新拷貝到靜態(tài)RAM中。</p><p><b> 6 總結(jié)</b></p><p> 時光飛逝,一轉(zhuǎn)眼,兩周過去了,兩周的單片機課程設(shè)計完成了。 俗話說“好的開始是成功的一半”。說起課程設(shè)計,我認為最重要的就是做好設(shè)計的預(yù)習,選一個自己有興趣的題目;其次,老師對實驗的講解要一絲不
52、茍的去聽去想,因為只有都明白了,做起設(shè)計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。 </p><p> 硬件的設(shè)計跟焊接都要我們自己動手去操作,軟件的編程也要我們不斷的調(diào)試,最終一個能完成課程設(shè)計的勞動成果出來了。 </p><p> 當然,這其中也有很多問題,第一、不夠細心比如由
53、于粗心大意接錯了線,由于對課本理論的不熟悉導致編程出現(xiàn)錯誤。第二,是在學習態(tài)度上,這次課設(shè)是對我的學習態(tài)度的一次檢驗。對于這次課程實習,我的第一大心得體會就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴謹。我們這次實習所遇到的多半問題多數(shù)都是由于我們不夠嚴謹。第三,在做人上,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。 </p><p> 在
54、這次難得的課程設(shè)計過程中我鍛煉了自己的思考能力和動手能力。通過題目選擇和設(shè)計電路的過程中,加強了我思考問題的完整性和實際生活聯(lián)系的可行性。在方案設(shè)計選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機的能力,對單片機的各個管腳的功能也有了進一步的認識。還鍛煉我們個人的查閱技術(shù)資料的能力,動手能力,發(fā)現(xiàn)問題,解決問題的能力。并且我們熟練掌握了有關(guān)器件的性能及測試方法。 </p><p> 再次感謝x老師的輔導以及隊友、、
55、、同學的幫助,是他們讓我有了一個更好的認識,無論是學習還是生活,生活是實在的,要踏實走路。課程設(shè)計時間雖然很短,但我學習了很多的東西,使我眼界打開,感受頗深。</p><p><b> 7 參考文獻</b></p><p> 1. 劉迎春.傳感器原理.國防工業(yè)出版社.2004年 </p><p> 2. 袁希光.傳感器技術(shù)手冊.國防工業(yè)
56、出版社.1986年</p><p> 3. 鄭秀瑗.應(yīng)力應(yīng)變電測技術(shù).國防工業(yè)出版社.1985年</p><p> 4. 蔡春源.新編機械設(shè)計手冊.遼寧科學技術(shù)出版社.1993年</p><p> 5. 王森.儀表常用數(shù)據(jù)手冊.化學工業(yè)出版社.1998年</p><p> 6. 孫傳友.測控電路及裝置.北京航空航天大學出版社.2002
57、年</p><p> 7. 王俊杰.檢測技術(shù)與儀表.武漢理工大學出版社. 2002年</p><p> 8. 單成祥.傳感器理論設(shè)計基礎(chǔ)及其應(yīng)用.北京:國防工業(yè)出版社,1999年</p><p> 9. 李道華,李玲,朱艷.傳感器電路分析與設(shè)計.武漢大學出版社,2000年</p><p><b> 附錄1:電路圖</b
58、></p><p><b> 附錄2:源代碼</b></p><p> #include<reg52.h></p><p> #include"lcd1602.h"</p><p> #include"ds18b20.h"</p><p
59、> #include"ds18b20_2.h"</p><p> #include"ds18b20_3.h"</p><p> #include"ds18b20_4.h"</p><p> #define uchar unsigned char </p><p> #
60、define uint unsigned int</p><p> #define TIMER0_COUNT 0xEE11</p><p> sbit SPK=P3^5;</p><p> sbit LED1=P3^6;</p><p> sbit LED2=P3^7;</p><p><b> b
61、it flag;</b></p><p> uint wendu;</p><p> uint wendu1;</p><p> uint wendu2;</p><p> uint wendu3;</p><p> uchar count,timer0_tick,count=0;</p&g
62、t;<p> static void timer0_initialize(void) </p><p><b> {</b></p><p> EA=0; </p><p> timer0_tick=0;</p><p> TR0=0; &l
63、t;/p><p> TMOD=0X01; </p><p> TL0=(TIMER0_COUNT & 0X00FF); </p><p> TH0=(TIMER0_COUNT >> 8); </p><p> PT1=1; </p><p>
64、 ET0=1; </p><p> TR0=1; </p><p> EA=1; </p><p><b> }</b></p><p> void display_temp()</p><p><b> {<
65、/b></p><p> uchar A1,A2;</p><p> uchar A3,A4;</p><p> uchar A5,A6;</p><p> uchar A7,A8;</p><p> tmpchange(); </p><p> wendu=tmp();<
66、;/p><p> A1=wendu/10;</p><p> A2=wendu%10;</p><p> gotoxy(1,1);</p><p> display_data(A1);</p><p> display_string(".");</p><p> wr
67、ite_date(int_to_char[A2]); </p><p> tmpchange2();</p><p> wendu1=tmp2();</p><p> A3=wendu1/10;</p><p> A4=wendu1%10;</p><p> gotoxy(2,1);</p>&
68、lt;p> display_data(A3);</p><p> display_string(".");</p><p> write_date(int_to_char[A4]);</p><p> tmpchange3();</p><p> wendu2=tmp3();</p><
69、p> A5=wendu2/10;</p><p> A6=wendu2%10;</p><p> gotoxy(1,7);</p><p> display_data(A5);</p><p> display_string(".");</p><p> write_date(in
70、t_to_char[A6]);</p><p> tmpchange4(); </p><p> wendu3=tmp4();</p><p> A7=wendu3/10;</p><p> A8=wendu3%10;</p><p> gotoxy(2,7);</p><p> d
71、isplay_data(A7);</p><p> display_string(".");</p><p> write_date(int_to_char[A8]); </p><p><b> }</b></p><p> void timer0(void) interrupt 1<
72、/p><p><b> {</b></p><p><b> TR0=0;</b></p><p> TL0=(TIMER0_COUNT & 0X00FF);//設(shè)置Timer0低八位數(shù)值</p><p> TH0=(TIMER0_COUNT >> 8);//設(shè)置Timer0
73、高八位數(shù)值</p><p><b> TR0=1;</b></p><p><b> count++;</b></p><p> if(count==10) display_temp();</p><p><b> }</b></p><p>
74、 void main()</p><p><b> {</b></p><p> init_lcd();</p><p> timer0_initialize(); </p><p> gotoxy(1,1);</p><p> display_string("00.0C&qu
75、ot;);</p><p> gotoxy(2,1);</p><p> display_string("00.0C");</p><p><b> while(1) </b></p><p><b> {</b></p><p> if((we
76、ndu>500) || (wendu1>500) || (wendu2>500) || (wendu3>500))</p><p><b> {</b></p><p><b> SPK=~SPK;</b></p><p> LED1=~LED1;</p><p>
77、delay(30);</p><p><b> }</b></p><p> else if ((wendu<100) || (wendu1<100) || (wendu2<100) || (wendu3<100))</p><p><b> {</b></p><p&
78、gt;<b> SPK=~SPK;</b></p><p> delay(20);</p><p> LED2=~LED2;</p><p><b> }</b></p><p><b> }</b></p><p><b> }&
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計---單片機數(shù)字顯示溫度計
- 單片機課程設(shè)計---基于單片機的溫度控制智能電風扇
- 單片機溫度控制課程設(shè)計
- 遠程溫度控制課程設(shè)計--單片機的溫度遠程檢測與顯示設(shè)計
- 單片機課程設(shè)計---雞舍溫度控制設(shè)計
- 單片機課程設(shè)計---智能路燈控制
- 單片機課程設(shè)計---空調(diào)機溫度控制
- 單片機課程設(shè)計---智能路燈控制
- 單片機溫度控制系統(tǒng)課程設(shè)計
- 課程設(shè)計--單片機溫度控制系統(tǒng)
- 單片機課程設(shè)計--單片機控制的數(shù)字溫度計
- 單片機課程設(shè)計--顯示電路
- 單片機課程設(shè)計(溫度控制系統(tǒng))
- 單片機課程設(shè)計--溫度控制系統(tǒng)設(shè)計
- lcd顯示設(shè)計單片機課程設(shè)計
- 單片機課程設(shè)計---可調(diào)電子鐘溫度顯示系統(tǒng)
- 基于單片機的數(shù)字顯示溫度計課程設(shè)計
- 單片機課程設(shè)計--- 單片機動態(tài)掃描顯示
- 單片機控制的智能窗簾課程設(shè)計
- 單片機課程設(shè)計---智能路燈控制.doc
評論
0/150
提交評論