版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 智能儀器課程設(shè)計(jì)報(bào)告</p><p><b> 數(shù)字溫度計(jì)</b></p><p><b> 目錄</b></p><p> 引言...................................................................................
2、.............................2</p><p> 摘要................................................................................................................4</p><p> 概述...........................
3、.....................................................................................5</p><p> 第二章硬件電路設(shè)計(jì).................................................................................. .6</p><p
4、> 硬件設(shè)計(jì)主電路圖........................................................................................6</p><p> 硬件的介紹與選擇選擇................................................................................6<
5、;/p><p> 第三章 軟件設(shè)計(jì)........................................................................................20</p><p> 概述............................................................................
6、....................................20</p><p> 各模塊子程序設(shè)計(jì)........................................................................................22</p><p> 編譯軟件介紹................................
7、................................................................25</p><p> 第四章 系統(tǒng)調(diào)試........................................................................................26</p><p> 心得體會(huì)和參考文獻(xiàn)
8、....................................................................................27</p><p> 附錄.............................................................................................................
9、...28</p><p><b> 引言</b></p><p> 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn).能夠獨(dú)立工作的溫度檢測(cè)和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測(cè)以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號(hào)處理電路,而且可靠性相對(duì)較差,測(cè)溫準(zhǔn)確度低,檢測(cè)系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計(jì)相比,這里設(shè)計(jì)的數(shù)字溫度計(jì)具有讀數(shù)方便,測(cè)溫
10、范圍廣,測(cè)溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn)。選用AT89C51型單片機(jī)作為主控制器件,DSl8B20作為測(cè)溫傳感器通過4位共陽極LED數(shù)碼管串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示。通過DSl8B20直接讀取被測(cè)溫度值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,在0℃~100℃最大線性偏差小于0.1℃。該器件可直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。另外,該溫度計(jì)還能直接采用測(cè)溫器件測(cè)量溫度,從而簡化數(shù)據(jù)傳輸與處理過程。</
11、p><p> 溫度計(jì)是測(cè)溫儀器的總稱。根據(jù)所用測(cè)溫物質(zhì)的不同和測(cè)溫范圍的不同,有煤油溫度計(jì)、酒精溫度計(jì)、水銀溫度計(jì)、氣體溫度計(jì)、電阻溫度計(jì)、溫差電偶溫度計(jì)、輻射溫度計(jì)和光測(cè)溫度計(jì)等。</p><p> 最早的溫度計(jì)是在1593年由意大利科學(xué)家伽利略(1564~1642)發(fā)明的。他的第一只溫度計(jì)是一根一端敞口的玻璃管,另一端帶有核桃大的玻璃泡。使用時(shí)先給玻璃泡加熱,然后把玻璃管插入水中。隨著
12、溫度的變化,玻璃管中的水面就會(huì)上下移動(dòng),根據(jù)移動(dòng)的多少就可以判定溫度的變化和溫度的高低。這種溫度計(jì),受外界大氣壓強(qiáng)等環(huán)境因素的影響較大,所以測(cè)量誤差大。</p><p> 后來伽利略的學(xué)生和其他科學(xué)家,在這個(gè)基礎(chǔ)上反復(fù)改進(jìn),如把玻璃管倒過來,把液體放在管內(nèi),把玻璃管封閉等。比較突出的是法國人布利奧在1659年制造的溫度計(jì),他把玻璃泡的體積縮小,并把測(cè)溫物質(zhì)改為水銀,這樣的溫度計(jì)已具備了現(xiàn)在溫度計(jì)的雛形。以后荷蘭
13、人華倫海特</p><p> 在1709年利用酒精,在1714年又利用水銀作為測(cè)量物質(zhì),制造了更精確的溫度計(jì)。他觀察了水的沸騰溫度、水和冰混合時(shí)的溫度、鹽水和冰混合時(shí)的溫度;經(jīng)過反復(fù)實(shí)驗(yàn)與核準(zhǔn),最后把一定濃度的鹽水凝固時(shí)的溫度定為0℉,把純水凝固時(shí)的溫度定為32℉,把標(biāo)準(zhǔn)大氣壓下水沸騰的溫度定為212℉,用℉代表華氏溫度,這就是華氏溫度計(jì)。</p><p> 在華氏溫度計(jì)出現(xiàn)的同時(shí),法
14、國人列繆爾(1683~1757)也設(shè)計(jì)制造了一種溫度計(jì)。他認(rèn)為水銀的膨脹系數(shù)太小,不宜做測(cè)溫物質(zhì)。他專心研究用酒精作為測(cè)溫物質(zhì)的優(yōu)點(diǎn)。他反復(fù)實(shí)踐發(fā)現(xiàn),含有1/5水的酒精,在水的結(jié)冰溫度和沸騰溫度之間,其體積的膨脹是從1000個(gè)體積單位增大到1080個(gè)體積單位。因此他把冰點(diǎn)和沸點(diǎn)之間分成80份,定為自己溫度計(jì)的溫度分度,這就是列氏溫度計(jì)。</p><p> 華氏溫度計(jì)制成后又經(jīng)過30多年,瑞典人攝爾修斯于1742
15、年改進(jìn)了華倫海特溫度計(jì)的刻度,他把水的沸點(diǎn)定為零度,把水的冰點(diǎn)定為100度。后來他的同事施勒默爾把兩個(gè)溫度點(diǎn)的數(shù)值又倒過來,就成了現(xiàn)在的百分溫度,即攝氏溫度,用℃表示。華氏溫度與攝氏溫度的關(guān)系為:℉=9/5℃+32,或℃=5/9(℉-32)。</p><p> 現(xiàn)在英、美國家多用華氏溫度,德國多用列氏溫度,而世界科技界和工農(nóng)業(yè)生產(chǎn)中,以及我國、法國等大多數(shù)國家則多用攝氏溫度。</p><p&
16、gt; 隨著科學(xué)技術(shù)的發(fā)展和現(xiàn)代工業(yè)技術(shù)的需要,測(cè)溫技術(shù)也不斷地改進(jìn)和提高。由于測(cè)溫范圍越來越廣,根據(jù)不同的要求,又制造出不同需要的測(cè)溫儀器。下面介紹幾種。</p><p> 氣體溫度計(jì)多用氫氣或氦氣作測(cè)溫物質(zhì),因?yàn)闅錃夂秃獾囊夯瘻囟群艿?,接近于絕對(duì)零度,故它的測(cè)溫范圍很廣。這種溫度計(jì)精確度很高,多用于精密測(cè)量。</p><p> 電阻溫度計(jì)分為金屬電阻溫度計(jì)和半導(dǎo)體電阻溫度計(jì),都
17、是根據(jù)電阻值隨溫度的變化這一特性制成的。金屬溫度計(jì)主要有用鉑、金、銅、鎳等純金屬的及銠鐵、磷青銅合金的;半導(dǎo)體溫度計(jì)主要用碳、鍺等。電阻溫度計(jì)使用方便可靠,已廣泛應(yīng)用。它的測(cè)量范圍為-260℃至600℃左右。</p><p> 溫差電偶溫度計(jì)是一種工業(yè)上廣泛應(yīng)用的測(cè)溫儀器。利用溫差電現(xiàn)象制成。兩種不同的金屬絲焊接在一起形成工作端,另兩端與測(cè)量儀表連接,形成電路。把工作端放在被測(cè)溫度處,工作端與自由端溫度不同時(shí),
18、就會(huì)出現(xiàn)電動(dòng)勢(shì),因而有電流通過回路。通過電學(xué)量的測(cè)量,利用已知處的溫度,就可以測(cè)定另一處的溫度。它適用于溫差較大的兩種物質(zhì)之間,多用于高溫和低濁測(cè)量。有的溫差電偶能測(cè)量高達(dá)3000℃的高溫,有的能測(cè)接近絕對(duì)零度的低溫。</p><p> 高溫溫度計(jì)是指專門用來測(cè)量500℃以上的溫度的溫度計(jì),有光測(cè)溫度計(jì)、比色溫度計(jì)和輻射溫度計(jì)。高溫溫度計(jì)的原理和構(gòu)造都比較復(fù)雜,這里不再討論。其測(cè)量范圍為500℃至3000℃以上
19、,不適用于測(cè)量低溫。</p><p><b> 摘要</b></p><p> DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖。</p>&
20、lt;p> 該系統(tǒng)由上位機(jī)和下位機(jī)兩大部分組成。下位機(jī)實(shí)現(xiàn)溫度的檢測(cè)并提供標(biāo)準(zhǔn)RS232通信接口,芯片使用了ATMEL公司的AT89C51單片機(jī)和DALLAS公司的DS18B20數(shù)字溫度傳感器。上位機(jī)部分使用了通用PC。該系統(tǒng)可應(yīng)用于倉庫測(cè)溫、樓宇空調(diào)控制和生產(chǎn)過程監(jiān)控等領(lǐng)域。</p><p> 關(guān)鍵字:溫度測(cè)量;單總線;數(shù)字溫度傳感器;單片機(jī)</p><p><b>
21、 Abstract</b></p><p> As a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1
22、-wire interface .This paper introduces the application of DS18B20 with single chip processor.</p><p> Thesystem is constituted by two parts the temperature measured part and displayed part. The temperature
23、 measured part has a RS232 interface. It used AT89C51 of ATMEL company and DS18B20 of DALLAS company .The displayed part uses PC .This system is applied in such domains as warehouse detecting temperature;air-conditioner
24、controlling system in building and supervisory productive process etc.</p><p> Key words:temperature measure;single bus;digital thermometer;single chip processor;</p><p><b> 概述</b>
25、</p><p><b> 1.1系統(tǒng)背景</b></p><p> 在工、農(nóng)業(yè)生產(chǎn)和日常生活中,對(duì)溫度的測(cè)量及控制占據(jù)著極其重要地位。首先讓我們了解一下多點(diǎn)溫度檢測(cè)系統(tǒng)在各個(gè)方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測(cè),電力、電訊設(shè)備之過熱故障預(yù)知檢測(cè),空調(diào)系統(tǒng)的溫度檢測(cè),各類運(yùn)輸工具之組件的過熱檢測(cè),保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測(cè)試,化工、機(jī)械…等設(shè)備
26、溫度過熱檢測(cè)。溫度檢測(cè)系統(tǒng)應(yīng)用十分廣闊。</p><p><b> 1.2 系統(tǒng)概述</b></p><p> 本設(shè)計(jì)運(yùn)用主從分布式思想,由單片機(jī)工作,實(shí)時(shí)顯示當(dāng)前各點(diǎn)的溫度值,對(duì)各點(diǎn)進(jìn)行控制。</p><p> 設(shè)計(jì)采用的是單片機(jī)基于數(shù)字溫度傳感器DS18B20的系統(tǒng)。DS18B20利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測(cè)量,輕松的組
27、建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量。本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常溫多點(diǎn)監(jiān)測(cè)場(chǎng)合。如糧食倉儲(chǔ)系統(tǒng)、樓宇自動(dòng)化系統(tǒng)、溫控制程生產(chǎn)線之溫度影像檢測(cè)、醫(yī)療與健診的溫度測(cè)試、空調(diào)系統(tǒng)的溫度檢測(cè)、石化、機(jī)械…等。</p><p><b> 1.3硬件設(shè)計(jì)</b></p><p> 硬件設(shè)計(jì)部分主要包括:(AT89C51
28、、A/D、時(shí)鐘芯片、LCD、外圍擴(kuò)展數(shù)據(jù)RAM)等芯片的選擇; 硬件主電路設(shè)計(jì)、數(shù)據(jù)采集、模數(shù)轉(zhuǎn)換電路設(shè)計(jì)、液晶顯示電路設(shè)計(jì)、外圍擴(kuò)充存儲(chǔ)器接口電路、時(shí)鐘電路、復(fù)位電路、鍵盤接口電路等功能模塊電路設(shè)計(jì)。</p><p> 1.4系統(tǒng)硬件設(shè)計(jì)方案</p><p> 根據(jù)系統(tǒng)功能要求,構(gòu)造圖1所示的系統(tǒng)原理結(jié)構(gòu)框圖。</p><p> 圖1 系統(tǒng)原理結(jié)構(gòu)框圖&l
29、t;/p><p><b> 硬件電路設(shè)計(jì)</b></p><p> 硬件設(shè)計(jì)主電路圖見附錄1</p><p> 硬件的介紹與選擇選擇</p><p> ?。?).單片機(jī)的介紹:</p><p> 單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一
30、個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。</p><p> 單片機(jī)也被稱為微控制器(Microcontroler),是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)
31、備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)提及要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。</p><p> 早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹唵慰煽慷阅懿诲e(cuò)獲得了很大的好評(píng)。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用
32、。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大的提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,
33、而普通的型號(hào)出廠價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。</p><p> 單片機(jī)比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實(shí)上單片機(jī)是世界上數(shù)量最多的計(jì)算機(jī)。現(xiàn)代人類生活中所用的幾乎每
34、件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。而個(gè)人電腦中也會(huì)有為數(shù)不少的單片機(jī)在工作。汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺(tái)單片機(jī)在同時(shí)工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī)和其他計(jì)算的綜合,甚至比人類的數(shù)量還要多。</p><p> 單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)
35、系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。</p><p> 單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲(chǔ)器件,不同的是它的這些部件性能都相對(duì)我們的家用電腦弱很多,不過價(jià)錢也是低的,一般不超過10元即可......用它來做一些控制電器一
36、類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動(dòng)滾筒洗衣機(jī)、排煙罩、VCD等等的家電里面都可以看到它的身影!它主要是作為控制部分的核心部件。 </p><p> 它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),在線式就是現(xiàn)場(chǎng)控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計(jì)算機(jī)的(比如家用PC)的主要區(qū)別。 </p><p> 單片機(jī)是靠程序的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是
37、特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板!但是如果要是用美國70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過你編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性! </p><p> 由于單片機(jī)對(duì)成本是敏感的,所以
38、目前占統(tǒng)治地位的軟件還是最低級(jí)匯編語言,它是除了二進(jìn)制機(jī)器碼以上最低級(jí)的語言了,既然這么低級(jí)為什么還要用呢?很多高級(jí)的語言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機(jī)沒有家用計(jì)算機(jī)那樣的CPU,也沒有像硬盤那樣的海量存儲(chǔ)設(shè)備。一個(gè)可視化高級(jí)語言編寫的小程序里面即使只有一個(gè)按鈕,也會(huì)達(dá)到幾十K的尺寸!對(duì)于家用PC的硬盤來講沒什么,可是對(duì)于單片機(jī)來講是不能接受的。 單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始
39、卻還是在大量使用。一樣的道理,如果把巨型計(jì)算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用PC上來運(yùn)行,家用PC的也是承受不了的。</p><p> 可以說,二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過,這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計(jì)算機(jī)的
40、最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了。現(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣機(jī)等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電
41、路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。</p><p> (2) 單片機(jī)的選擇:</p><p> ?、?本系統(tǒng)采用單片機(jī)為控制核心。單片機(jī)/MCU主要有51基本型和52增強(qiáng)型,而相比之下52型比51型功能更為強(qiáng)大,ROM和RAM存儲(chǔ)空間更大,52還兼容51指令系統(tǒng)?;诒鞠到y(tǒng)設(shè)計(jì)內(nèi)容的需要,綜合考慮后,我們選擇單片機(jī)ATME公
42、司的AT89C52為控制核心;主要基于考慮AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)、6個(gè)中斷源;時(shí)鐘頻率0-24MHz;器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),并兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),功能強(qiáng)大。</p><p> (2)AT89C52介紹</p><p>
43、 AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8K bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和256K bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器和FLASH存儲(chǔ)單元,功能強(qiáng)大,AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。</p><p>
44、<b> 主要性能參數(shù):</b></p><p> 與MCS-51產(chǎn)品指令和引腳完全兼容</p><p> 8K字節(jié)可重擦寫FLASH閃存存儲(chǔ)器</p><p> 1000次寫/擦循環(huán)</p><p> 時(shí)鐘頻率:0Hz—24MHz</p><p><b> 三級(jí)加密存儲(chǔ)器&
45、lt;/b></p><p> 256字節(jié)內(nèi)部RAM</p><p> 32個(gè)可編程I/O口線 </p><p> 3個(gè)16位定時(shí)/計(jì)數(shù)器 圖2.1 引腳圖</p><p><b> 6個(gè)中斷源</b></p><p> 可編程串行UA
46、RT通道</p><p> 低功耗的空閑和掉電模式</p><p> 片內(nèi)振蕩器和時(shí)鐘電路</p><p> AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,片內(nèi)振蕩器及時(shí)鐘電路,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。同時(shí),AT89C52
47、可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM</p><p> 中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)本.AT89C52有PDIP、PQFP/TQFP及PLCC等三種
48、封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> AT89C52引腳功能:</p><p><b> ·Vcc:電源電壓</b></p><p><b> ·GND:地</b></p><p> ·P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)
49、總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口</p><p> P0寫“1”時(shí),可作為高阻抗輸入端用。</p><p> 在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問器件激活內(nèi)部上拉電阻。</p><p> 在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)
50、時(shí),要求外接上拉電阻。</p><p> ·P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。</p><p> 與AT89C51不同之處是,P1.0和P1.
51、1還可分別作為定時(shí)/計(jì)數(shù)器2的外部</p><p> 計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表2-1。</p><p> Flash編程和程序校驗(yàn)期間,P1接收低8位地址。表2-1為 P1.0和P1.1的第二功能</p><p> 表P1.0和P1.1的第二功能</p><p> ·P2口:P2是一個(gè)帶
52、有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)</p><p> 動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,同時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。</p><p> 在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOV@DPTR指令)時(shí),P2口送
53、出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOV@RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。</p><p> Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。</p><p> ·P3口:P3口時(shí)一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸
54、入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。</p><p> P3口作為一般的I/O口線外,更重要的用途是它的第二功能,如表2-2所示:此外,P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。</p><p> ·RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平</p><p><b&g
55、t; 將使單片機(jī)復(fù)位。</b></p><p> ·ALE/ :當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。</p><p><b> 表P3口第二功
56、能</b></p><p> 對(duì)Flash存儲(chǔ)器編程器件,改引腳還用于輸入編程脈沖( )。</p><p> 如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位復(fù)位,可禁止ALE操作。該位置復(fù)位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。</p><p>
57、 · :程序儲(chǔ)存允許( )輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 有效,即輸出兩個(gè)脈沖。在次期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次 信號(hào)。</p><p> · /VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFH), 端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖
58、存 端狀態(tài)。</p><p> 如端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。</p><p> Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p><p> ·XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p>
59、183;XTAL2:振蕩器反相放大器的輸出端。</p><p> ?。?)單片機(jī)最小系統(tǒng)電路</p><p> AT89C51作為溫度測(cè)試系統(tǒng)設(shè)計(jì)的核心器件。該器件是INTEL公司生產(chǎn)的MCS一5l系列單片機(jī)中的基礎(chǔ)產(chǎn)品,采用了可靠的CMOS工藝制造技術(shù),具有高性能的8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS—51的CMOS產(chǎn)品。不僅結(jié)合了HMOS的高速和高密度技術(shù)及CHMOS的低功耗特征,而且繼承和
60、擴(kuò)展了MCS—48單片機(jī)的體系結(jié)構(gòu)和指令系統(tǒng)。單片機(jī)小系統(tǒng)的電路圖如圖2所示。</p><p> 圖2 單片機(jī)小系統(tǒng)電路</p><p> AT89C51單片機(jī)的主要特性:</p><p> (1)與MCS-51 兼容,4K字節(jié)可編程閃爍存儲(chǔ)器;</p><p> (2)靈活的在線系統(tǒng)編程,掉電標(biāo)識(shí)和快速編程特性;</p>
61、;<p> (3)壽命為1000次寫/擦周期,數(shù)據(jù)保留時(shí)間可10年以上;</p><p> (4)全靜態(tài)工作模式:0Hz-33Hz;</p><p> (5)三級(jí)程序存儲(chǔ)器鎖定;</p><p> (6)128*8位內(nèi)部RAM,32可編程I/O線;</p><p> (7)兩個(gè)16位定時(shí)器/計(jì)數(shù)器,6個(gè)中斷源;<
62、/p><p> (8)全雙工串行UART通道,低功耗的閑置和掉電模式;</p><p> (9)看門狗(WDT)及雙數(shù)據(jù)指針;</p><p> (9)片內(nèi)振蕩器和時(shí)鐘電路;</p><p> ?。?) 溫度傳感器介紹:</p><p> 美國Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持
63、 "一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。現(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟(jì)、更靈活。使你可以充分發(fā)揮“一線總線”的優(yōu)點(diǎn)。目前DS18B20批量采購價(jià)格僅10元左右。</p><p> 在傳統(tǒng)的模擬信號(hào)
64、遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問題、多點(diǎn)測(cè)量切換誤差問題和放大電路零點(diǎn)漂移誤差問題等技術(shù)問題,才能夠達(dá)到較高的測(cè)量精度。另外一般監(jiān)控現(xiàn)場(chǎng)的電磁環(huán)境都非常惡劣,各種干擾信號(hào)較強(qiáng),模擬溫度信號(hào)容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。因此,在溫度測(cè)量系統(tǒng)中,采用抗干擾能力強(qiáng)的新型數(shù)字溫度傳感器是解決這些問題的最有效方案,新型數(shù)字溫度傳感器DS18B20具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點(diǎn),在實(shí)際
65、應(yīng)用中取得了良好的測(cè)溫效果。新的"一線器件"DS18B20體積更小、適用電壓更寬、更經(jīng)濟(jì)。</p><p> DS18B20、DS1822的特性DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能
66、價(jià)格比也非常出色!DS1822與DS18B20軟件兼容,是DS18B20的簡化版本。省略了存儲(chǔ)用戶定義報(bào)警溫度、分辨率參數(shù)的EEPROM,精度降低為±2°C,適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。 繼"一線總線"的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20和DS1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)。DS18
67、B20、DS1822 "一線總線"數(shù)字化溫度傳感器同DS1820一樣,DS18B20也支持"一線總線"接口,測(cè)量溫度范圍為-55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為±2°C。現(xiàn)場(chǎng)溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡
68、劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境</p><p> 二、DS18B20的外形和內(nèi)部結(jié)構(gòu)</p><p> DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EPROM中,掉電后依然保存。</p><p> 溫度傳感器DS18B20引腳如圖3所示。
69、</p><p> 8引腳封裝 TO-92封裝</p><p><b> 圖3 溫度傳感器</b></p><p><b> 引腳功能說明:</b></p><p> NC :空引腳,懸空不使用;</p><p>
70、VDD :可選電源腳,電源電壓范圍3~5.5V。當(dāng)工作于寄生電源時(shí),此引腳必須接地。</p><p> DQ :數(shù)據(jù)輸入/輸出腳。漏極開路,常態(tài)下高電平。</p><p><b> GND :為電源地</b></p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存
71、器。</p><p> 光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。 </p>
72、<p> DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。 </p><p> 這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位
73、為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。 </p><p> DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 </p>
74、<p> 暫存存儲(chǔ)器包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測(cè)得的溫度信息,第一個(gè)字節(jié)的內(nèi)容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是TH、TL的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。 </p><p> 該字節(jié)各位的意義如下:</p><p> TM
75、 R1 R0 1 1 1 1 1</p><p> 低五位一直都是1 ,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0用來設(shè)置分辨率,如表1所示:(DS18B20出廠時(shí)被設(shè)置為12位) </p><p> 表1 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p> 根據(jù)DS18B2
76、0的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。</p><p> (4) 溫度傳感器與單片機(jī)
77、的連接:</p><p> 溫度傳感器的單總線(1-Wire)與單片機(jī)的P2.0連接,P2.0是單片機(jī)的高位地址線A8。P2端口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O,其輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)該端口寫“1”,可通過內(nèi)部上拉電阻將其端口拉至高電平,此時(shí)可作為輸入口使用,這是因?yàn)閮?nèi)部存在上拉電阻,某一引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)
78、器時(shí)。如執(zhí)行MOVX DPTR指令,則表示P2端口送出高8位的地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),可執(zhí)行MOVX RI指令,P2端口內(nèi)容即為特殊功能寄存器(SFR)區(qū)中R2寄存器內(nèi)容,整個(gè)訪問期間不改變。在Flash編程和程序校驗(yàn)時(shí),P2端口也接收高位地址和其他控制信號(hào)。圖4為DSl8820內(nèi)部結(jié)構(gòu)。圖5為DSl8820與單片機(jī)的接口電路。</p><p> 圖4 DS18B20內(nèi)部結(jié)構(gòu)圖 </
79、p><p> 圖5 DS18B20和單片機(jī)的接口連接</p><p> 1 復(fù)位信號(hào)及外部復(fù)位電路</p><p> 單片機(jī)的P1.6端口是MAX813看門狗電路中喂狗信號(hào)的輸入端,即單片機(jī)每執(zhí)行一次程序就設(shè)置一次喂狗信號(hào),清零看門狗器件。若程序出現(xiàn)異常,單片機(jī)引腳RST將出現(xiàn)兩個(gè)機(jī)器周期以上的高電平,使其復(fù)位。該復(fù)位信號(hào)高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩
80、脈沖周期即兩個(gè)機(jī)器周期以上。若使用頻率為12 MHz的晶體振蕩器,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過2μs才完成復(fù)位操作。</p><p> 2 單片機(jī)與報(bào)警電路</p><p> 系統(tǒng)中的報(bào)警電路是由發(fā)光二極管和限流電阻組成,并與單片機(jī)的P1.2端口連接。P1端口的作用和接法與P2端口相同,不同的是在Flash編程和程序校驗(yàn)期間,P1接收低8位地址數(shù)據(jù)。</p><p>
81、;<b> 3 電源電路</b></p><p> 由于該系統(tǒng)需要穩(wěn)定的5 V電源,因此設(shè)計(jì)時(shí)必須采用能滿足電壓、電流和穩(wěn)定性要求的電源。該電源采用三端集成穩(wěn)壓器LM7805。它僅有輸入端、輸出端及公共端3個(gè)引腳,其內(nèi)部設(shè)有過流保護(hù)、過熱保護(hù)及調(diào)整管安全保護(hù)電路.由于所需外接元件少,使用方便、可靠,因此可作為穩(wěn)壓電源。圖6為電源電路連接圖。</p><p> 圖
82、6 電源電路連接圖</p><p><b> 4 顯示電路</b></p><p> 采用技術(shù)成熟的74HCl64實(shí)現(xiàn)串并轉(zhuǎn)換。LED顯示分為靜態(tài)顯示和動(dòng)態(tài)顯示。這里采用靜態(tài)顯示,系統(tǒng)通過單片機(jī)的串行口來實(shí)現(xiàn)靜態(tài)顯示。串行口為方式零狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的1/12。當(dāng)器件執(zhí)行任何一條將SBUF作為目的寄存器的命令時(shí),數(shù)據(jù)便開始從RXD端
83、發(fā)送。在寫信號(hào)有效時(shí),相隔一個(gè)機(jī)器周期后發(fā)送控制端SEND有效,即允許RXD發(fā)送數(shù)據(jù),同時(shí)允許從TXD端輸出移位脈沖。圖7為顯示電路的連接圖。</p><p> 圖7 顯示電路的連接圖</p><p><b> 5 看門狗電路</b></p><p> 系統(tǒng)中把P1.6作為看門狗的“喂狗”信號(hào);將MAX813的RESET與單片機(jī)的復(fù)位
84、信號(hào)RST連接。由于單片機(jī)每執(zhí)行一次程序,就會(huì)給看門狗器件一個(gè)復(fù)位信號(hào),這樣也可以用手工方式實(shí)現(xiàn)復(fù)位。當(dāng)按鍵按下時(shí),SW—SPST就會(huì)在MAX813引腳產(chǎn)生一個(gè)超過200 ms的低電平,其實(shí)看門狗器件在1.6 s時(shí)間內(nèi)沒有復(fù)位,使7引腳輸出一個(gè)復(fù)位信號(hào)的作用是相同的,其連接圖如圖8所示。</p><p> 圖8 看門狗器件的MAX813的連接圖</p><p><b> 第
85、三章 軟件設(shè)計(jì)</b></p><p><b> 3.1 概述</b></p><p> 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測(cè)
86、量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。</p><p> 首先要根據(jù)系統(tǒng)的總體功能和鍵盤設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。</p><p> 主程序調(diào)用了4個(gè)子程序,分別是數(shù)碼管顯示
87、程序、鍵盤掃描以及按鍵處理程序、溫度測(cè)試程序、中斷控制程序、單片機(jī)與PC機(jī)串口通訊程序。</p><p> 鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識(shí)別及相關(guān)處理。</p><p> 溫度測(cè)試程序:對(duì)溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。</p><p> 數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。</p><p
88、> 中斷控制程序:實(shí)現(xiàn)循環(huán)顯示功能。</p><p> 串口通訊程序:實(shí)現(xiàn)PC機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給PC機(jī)。</p><p> 將各個(gè)功能程序以子程序的形式寫好,當(dāng)寫主程序的時(shí)候,只需要調(diào)用子程序,然后在寄存器的分配上作一下調(diào)整,消除寄存器沖突和I/O沖突即可。程序應(yīng)該盡可能多的使用調(diào)用指令代替跳轉(zhuǎn)指令。因?yàn)樘D(zhuǎn)指令使得程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。而調(diào)用指令則
89、不同,調(diào)用指令使得程序結(jié)構(gòu)清晰,無論是修改還是維護(hù)都比較方便。將功能程序段寫成子程序的形式,除了方便調(diào)用之外,還有一個(gè)好處那就是以后寫程序的時(shí)候如果要用到,就可以直接調(diào)用這個(gè)單元功能模塊。</p><p> 主程序流程圖如右圖:</p><p> 3.2各模塊子程序設(shè)計(jì)</p><p> 下面對(duì)主要幾個(gè)子程序的流程圖做介紹:</p><p&
90、gt; (1)溫度測(cè)試子程序設(shè)計(jì)</p><p> 見附錄一:溫度測(cè)試子程序流程圖</p><p> ?。?)中斷控制程序設(shè)計(jì)</p><p><b> 如右圖:</b></p><p> (3)串口通信程序設(shè)</p><p> 本次通訊中,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、處理和控制,上位機(jī)進(jìn)
91、行現(xiàn)場(chǎng)可視化檢測(cè),通信協(xié)議采用半雙工異步串行通信方式,通過RS232的RTS信號(hào)進(jìn)行收發(fā)轉(zhuǎn)換,傳輸數(shù)據(jù)采用二進(jìn)制數(shù)據(jù),上位機(jī)與下位機(jī)之間采用主從式通訊。本人采用的VB環(huán)境下PC機(jī)與單片機(jī)之間實(shí)現(xiàn)串行通訊的軟硬件方案。VB是Microsoft公司推出的Windows應(yīng)用程序開發(fā)工具,因其具有界面友好,編程簡便等優(yōu)點(diǎn)而受到廣泛的使用,而且Visual Basic 6.0 版本帶有專門實(shí)現(xiàn)串行通訊的MSCOMM控件。</p>&
92、lt;p> MSComm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC機(jī)可以利用串行口與其它設(shè)備實(shí)現(xiàn)輕松連接,簡單高效地實(shí)現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種處理方式。事件驅(qū)動(dòng)方式:由MSComm控件的OnComm事件捕獲并處理通訊錯(cuò)誤及事件;查詢方式:通過檢查CommEvent屬性的值來判斷事件和錯(cuò)誤。 </p><p> 1) MSComm控件的主要屬性和方法 </p>
93、<p> a. CommPort:設(shè)置或返回串行端口號(hào),其取值范圍為1—99,缺省為1 </p><p> b. Setting:設(shè)置或返回串行端口的波特率、奇偶校驗(yàn)位、數(shù)據(jù)位數(shù)、停止位。 </p><p> c. PortOpen:打開或關(guān)閉串行端口。 </p><p> d. RThreshold:該屬性為
94、一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個(gè)數(shù)達(dá)到或超過該值后就產(chǎn)生MSComml-OnComm事件。 </p><p> e. Input:從接收緩沖區(qū)移走一串字符。 </p><p> f. Output:向發(fā)送緩沖區(qū)傳送一字符串。 </p><p><b> 軟件流程圖如下:</b></p><p><b>
95、 單片機(jī)程序流程圖</b></p><p><b> PC通訊程序流程圖</b></p><p> 參數(shù)設(shè)定:通信端口選擇COM1,波特率設(shè)定為1200B/S</p><p> MSCOmm.CommPort=1</p><p> MSComm.Setting=“1200, n, 8, 1”。 &l
96、t;/p><p> START:MOVSP,#60H</p><p> MOVTMOD,#20H</p><p> MOVTH1,#0E6H</p><p> MOVTL1,#0E6H ;1200B/S,晶振為12MHZ</p><p> MOV PCON,#00H</p>
97、<p> MOVSCON,#50H</p><p><b> SETBTR1</b></p><p> 3.3 編譯軟件介紹</p><p><b> Keil軟件簡介:</b></p><p> 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃P
98、U可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連
99、接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。</p><p><b> 1. 系統(tǒng)概述</b></p><p> Keil C51是美國
100、Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯</p><p> 的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。</p><p> Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到K
101、eil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。</p><p> 2.Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)</p><p> C51工具包的整體結(jié)構(gòu),如圖4.1所示,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)
102、試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的</p><p> Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以
103、直接寫入程序存貯器如EPROM中。</p><p> 第四章 系統(tǒng)調(diào)試 </p><p><b> 4.1 分步調(diào)試</b></p><p><b> 1、測(cè)試環(huán)境及工具</b></p><p> 測(cè)試溫度:0~100攝氏度。(模擬多點(diǎn)不同溫度值環(huán)境)</p><p
104、> 測(cè)試儀器及軟件:數(shù)字萬用表,溫度計(jì)0~100攝氏度,串口調(diào)試助手。</p><p><b> 測(cè)試方法:目測(cè)。</b></p><p><b> 2、測(cè)試方法</b></p><p> 使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測(cè)是否正常(包括單片機(jī)最小系統(tǒng),鍵盤電路,顯示電路,溫度測(cè)試電路等)。系統(tǒng)自帶測(cè)試表格數(shù)據(jù),觀
105、察顯示數(shù)據(jù)是否相符合即可。</p><p> 采用溫度傳感器和溫度計(jì)同時(shí)測(cè)量多點(diǎn)水溫變化情況(取溫度值不同的多點(diǎn)),目測(cè)顯示電路是否正常。并記錄各點(diǎn)溫度值,與實(shí)際溫度值比較,得出系統(tǒng)的溫度指標(biāo)。</p><p> 使用串口調(diào)試助手與單片機(jī)通訊,觀察單片機(jī)與串口之間傳輸數(shù)據(jù)正確否。</p><p><b> 3、測(cè)試結(jié)果分析</b><
106、/p><p> 自檢正常,各點(diǎn)溫度顯示正常,串口傳輸數(shù)據(jù)正確。</p><p> 因?yàn)樾酒撬芰戏庋b,所以對(duì)溫度的感應(yīng)靈敏度不是相當(dāng)高,需要一個(gè)很短的時(shí)間才能達(dá)到穩(wěn)定。</p><p><b> 4.2 統(tǒng)一調(diào)試</b></p><p> 將硬件及軟件結(jié)合起來進(jìn)行系統(tǒng)的統(tǒng)一調(diào)試。實(shí)現(xiàn)PC機(jī)與單片機(jī)通訊,兩者可以實(shí)時(shí)
107、更新顯示各點(diǎn)溫度值。</p><p><b> 心得體會(huì)</b></p><p> 作為xxx的大二學(xué)生,我覺得做單片機(jī)課程設(shè)計(jì)是很有意義的,而且也是必要的。</p><p> 在此首先感謝我的導(dǎo)師xx老師給與我的無私的幫助。</p><p> 在做這次課程設(shè)計(jì)的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了
108、讓自己的設(shè)計(jì)更加完善,查閱這方面的實(shí)際資料是十分必要的,也是必不可少的。通過做這個(gè)課程設(shè)計(jì)我不但回顧了以前學(xué)習(xí)的知識(shí),如:電子CAD,匯編語言、模擬和數(shù)字電路知識(shí)等。在學(xué)習(xí)過程當(dāng)我再一次用到以前學(xué)過的東西時(shí),才發(fā)現(xiàn)這次的設(shè)計(jì)竟然可以讓以前不太懂的問題通過這次的任務(wù)而得到解決。</p><p> 在這次設(shè)計(jì)的過程中我發(fā)現(xiàn)要做好這次的設(shè)計(jì),首先要對(duì)單片機(jī)有足夠的了解,這是一門基于單片機(jī)的課程,里面用到了關(guān)于單片機(jī)和
109、c語言的許多知識(shí)。</p><p> 這不但讓我溫習(xí)了以前的知識(shí),更對(duì)知識(shí)的加深起到極大的作用,我深深體會(huì)到一個(gè)設(shè)計(jì)不是一次就可以完成的,它需要不停的修改,精益求精。在次過程中我們要踏踏實(shí)實(shí)的做,不能好高騖遠(yuǎn)。</p><p> 最后讓我在此由衷的感謝我的知道老師xx老師,他給與我的幫助是無法估量的。</p><p><b> 參考文獻(xiàn)</b&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字溫度計(jì)課程設(shè)計(jì)報(bào)告
- 數(shù)字溫度計(jì)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---數(shù)字溫度計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 課程設(shè)計(jì)---數(shù)字溫度計(jì)設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì) (2)
- 數(shù)字溫度計(jì)課程設(shè)計(jì) (2)
- 數(shù)字溫度計(jì)課程設(shè)計(jì) (2)
- 數(shù)字溫度計(jì)的課程設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì) (3)
- 課程設(shè)計(jì)之?dāng)?shù)字溫度計(jì)
- 數(shù)字溫度計(jì)的課程設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì) (2)
- 數(shù)字溫度計(jì)課程設(shè)計(jì) (2)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論