智能儀器課程設(shè)計報告---數(shù)字溫度計_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  智能儀器課程設(shè)計報告</p><p><b>  數(shù)字溫度計</b></p><p><b>  目錄</b></p><p>  引言...................................................................................

2、.............................2</p><p>  摘要................................................................................................................4</p><p>  概述...........................

3、.....................................................................................5</p><p>  第二章硬件電路設(shè)計.................................................................................. .6</p><p

4、>  硬件設(shè)計主電路圖........................................................................................6</p><p>  硬件的介紹與選擇選擇................................................................................6<

5、;/p><p>  第三章 軟件設(shè)計........................................................................................20</p><p>  概述............................................................................

6、....................................20</p><p>  各模塊子程序設(shè)計........................................................................................22</p><p>  編譯軟件介紹................................

7、................................................................25</p><p>  第四章 系統(tǒng)調(diào)試........................................................................................26</p><p>  心得體會和參考文獻(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ú)立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準(zhǔn)確度低,檢測系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計相比,這里設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫

10、范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn)。選用AT89C51型單片機(jī)作為主控制器件,DSl8B20作為測溫傳感器通過4位共陽極LED數(shù)碼管串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示。通過DSl8B20直接讀取被測溫度值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,在0℃~100℃最大線性偏差小于0.1℃。該器件可直接向單片機(jī)傳輸數(shù)字信號,便于單片機(jī)處理及控制。另外,該溫度計還能直接采用測溫器件測量溫度,從而簡化數(shù)據(jù)傳輸與處理過程。</

11、p><p>  溫度計是測溫儀器的總稱。根據(jù)所用測溫物質(zhì)的不同和測溫范圍的不同,有煤油溫度計、酒精溫度計、水銀溫度計、氣體溫度計、電阻溫度計、溫差電偶溫度計、輻射溫度計和光測溫度計等。</p><p>  最早的溫度計是在1593年由意大利科學(xué)家伽利略(1564~1642)發(fā)明的。他的第一只溫度計是一根一端敞口的玻璃管,另一端帶有核桃大的玻璃泡。使用時先給玻璃泡加熱,然后把玻璃管插入水中。隨著

12、溫度的變化,玻璃管中的水面就會上下移動,根據(jù)移動的多少就可以判定溫度的變化和溫度的高低。這種溫度計,受外界大氣壓強(qiáng)等環(huán)境因素的影響較大,所以測量誤差大。</p><p>  后來伽利略的學(xué)生和其他科學(xué)家,在這個基礎(chǔ)上反復(fù)改進(jìn),如把玻璃管倒過來,把液體放在管內(nèi),把玻璃管封閉等。比較突出的是法國人布利奧在1659年制造的溫度計,他把玻璃泡的體積縮小,并把測溫物質(zhì)改為水銀,這樣的溫度計已具備了現(xiàn)在溫度計的雛形。以后荷蘭

13、人華倫海特</p><p>  在1709年利用酒精,在1714年又利用水銀作為測量物質(zhì),制造了更精確的溫度計。他觀察了水的沸騰溫度、水和冰混合時的溫度、鹽水和冰混合時的溫度;經(jīng)過反復(fù)實(shí)驗(yàn)與核準(zhǔn),最后把一定濃度的鹽水凝固時的溫度定為0℉,把純水凝固時的溫度定為32℉,把標(biāo)準(zhǔn)大氣壓下水沸騰的溫度定為212℉,用℉代表華氏溫度,這就是華氏溫度計。</p><p>  在華氏溫度計出現(xiàn)的同時,法

14、國人列繆爾(1683~1757)也設(shè)計制造了一種溫度計。他認(rèn)為水銀的膨脹系數(shù)太小,不宜做測溫物質(zhì)。他專心研究用酒精作為測溫物質(zhì)的優(yōu)點(diǎn)。他反復(fù)實(shí)踐發(fā)現(xiàn),含有1/5水的酒精,在水的結(jié)冰溫度和沸騰溫度之間,其體積的膨脹是從1000個體積單位增大到1080個體積單位。因此他把冰點(diǎn)和沸點(diǎn)之間分成80份,定為自己溫度計的溫度分度,這就是列氏溫度計。</p><p>  華氏溫度計制成后又經(jīng)過30多年,瑞典人攝爾修斯于1742

15、年改進(jìn)了華倫海特溫度計的刻度,他把水的沸點(diǎn)定為零度,把水的冰點(diǎn)定為100度。后來他的同事施勒默爾把兩個溫度點(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ù)的需要,測溫技術(shù)也不斷地改進(jìn)和提高。由于測溫范圍越來越廣,根據(jù)不同的要求,又制造出不同需要的測溫儀器。下面介紹幾種。</p><p>  氣體溫度計多用氫氣或氦氣作測溫物質(zhì),因?yàn)闅錃夂秃獾囊夯瘻囟群艿?,接近于絕對零度,故它的測溫范圍很廣。這種溫度計精確度很高,多用于精密測量。</p><p>  電阻溫度計分為金屬電阻溫度計和半導(dǎo)體電阻溫度計,都

17、是根據(jù)電阻值隨溫度的變化這一特性制成的。金屬溫度計主要有用鉑、金、銅、鎳等純金屬的及銠鐵、磷青銅合金的;半導(dǎo)體溫度計主要用碳、鍺等。電阻溫度計使用方便可靠,已廣泛應(yīng)用。它的測量范圍為-260℃至600℃左右。</p><p>  溫差電偶溫度計是一種工業(yè)上廣泛應(yīng)用的測溫儀器。利用溫差電現(xiàn)象制成。兩種不同的金屬絲焊接在一起形成工作端,另兩端與測量儀表連接,形成電路。把工作端放在被測溫度處,工作端與自由端溫度不同時,

18、就會出現(xiàn)電動勢,因而有電流通過回路。通過電學(xué)量的測量,利用已知處的溫度,就可以測定另一處的溫度。它適用于溫差較大的兩種物質(zhì)之間,多用于高溫和低濁測量。有的溫差電偶能測量高達(dá)3000℃的高溫,有的能測接近絕對零度的低溫。</p><p>  高溫溫度計是指專門用來測量500℃以上的溫度的溫度計,有光測溫度計、比色溫度計和輻射溫度計。高溫溫度計的原理和構(gòu)造都比較復(fù)雜,這里不再討論。其測量范圍為500℃至3000℃以上

19、,不適用于測量低溫。</p><p><b>  摘要</b></p><p>  DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖。</p>&

20、lt;p>  該系統(tǒng)由上位機(jī)和下位機(jī)兩大部分組成。下位機(jī)實(shí)現(xiàn)溫度的檢測并提供標(biāo)準(zhǔn)RS232通信接口,芯片使用了ATMEL公司的AT89C51單片機(jī)和DALLAS公司的DS18B20數(shù)字溫度傳感器。上位機(jī)部分使用了通用PC。該系統(tǒng)可應(yīng)用于倉庫測溫、樓宇空調(diào)控制和生產(chǎn)過程監(jiān)控等領(lǐng)域。</p><p>  關(guān)鍵字:溫度測量;單總線;數(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)和日常生活中,對溫度的測量及控制占據(jù)著極其重要地位。首先讓我們了解一下多點(diǎn)溫度檢測系統(tǒng)在各個方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測,電力、電訊設(shè)備之過熱故障預(yù)知檢測,空調(diào)系統(tǒng)的溫度檢測,各類運(yùn)輸工具之組件的過熱檢測,保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測試,化工、機(jī)械…等設(shè)備

26、溫度過熱檢測。溫度檢測系統(tǒng)應(yīng)用十分廣闊。</p><p><b>  1.2 系統(tǒng)概述</b></p><p>  本設(shè)計運(yùn)用主從分布式思想,由單片機(jī)工作,實(shí)時顯示當(dāng)前各點(diǎn)的溫度值,對各點(diǎn)進(jìn)行控制。</p><p>  設(shè)計采用的是單片機(jī)基于數(shù)字溫度傳感器DS18B20的系統(tǒng)。DS18B20利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測量,輕松的組

27、建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場溫度測量。本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常溫多點(diǎn)監(jiān)測場合。如糧食倉儲系統(tǒng)、樓宇自動化系統(tǒng)、溫控制程生產(chǎn)線之溫度影像檢測、醫(yī)療與健診的溫度測試、空調(diào)系統(tǒng)的溫度檢測、石化、機(jī)械…等。</p><p><b>  1.3硬件設(shè)計</b></p><p>  硬件設(shè)計部分主要包括:(AT89C51

28、、A/D、時鐘芯片、LCD、外圍擴(kuò)展數(shù)據(jù)RAM)等芯片的選擇; 硬件主電路設(shè)計、數(shù)據(jù)采集、模數(shù)轉(zhuǎn)換電路設(shè)計、液晶顯示電路設(shè)計、外圍擴(kuò)充存儲器接口電路、時鐘電路、復(fù)位電路、鍵盤接口電路等功能模塊電路設(shè)計。</p><p>  1.4系統(tǒng)硬件設(shè)計方案</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è)計</b></p><p>  硬件設(shè)計主電路圖見附錄1</p><p>  硬件的介紹與選擇選擇</p><p>  (1).單片機(jī)的介紹:</p><p>  單片機(jī)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一

30、個完整計算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實(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è)計理念是通過將大量外圍設(shè)

31、備和CPU集成在一個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對提及要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。</p><p>  早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹唵慰煽慷阅懿诲e獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用

32、。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大的提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,

33、而普通的型號出廠價格跌落至1美元,最高端的型號也只有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ī)?,F(xiàn)代人類生活中所用的幾乎每

34、件電子和機(jī)械產(chǎn)品中都會集成有單片機(jī)。手機(jī)、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。而個人電腦中也會有為數(shù)不少的單片機(jī)在工作。汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機(jī)在同時工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī)和其他計算的綜合,甚至比人類的數(shù)量還要多。</p><p>  單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)

35、系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。</p><p>  單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可......用它來做一些控制電器一

36、類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動滾筒洗衣機(jī)、排煙罩、VCD等等的家電里面都可以看到它的身影!它主要是作為控制部分的核心部件。 </p><p>  它是一種在線式實(shí)時控制計算機(jī),在線式就是現(xiàn)場控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計算機(jī)的(比如家用PC)的主要區(qū)別。 </p><p>  單片機(jī)是靠程序的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是

37、特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復(fù)雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板!但是如果要是用美國70年代成功投放市場的系列單片機(jī),結(jié)果就會有天壤之別!只因?yàn)閱纹瑱C(jī)的通過你編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性! </p><p>  由于單片機(jī)對成本是敏感的,所以

38、目前占統(tǒng)治地位的軟件還是最低級匯編語言,它是除了二進(jìn)制機(jī)器碼以上最低級的語言了,既然這么低級為什么還要用呢?很多高級的語言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機(jī)沒有家用計算機(jī)那樣的CPU,也沒有像硬盤那樣的海量存儲設(shè)備。一個可視化高級語言編寫的小程序里面即使只有一個按鈕,也會達(dá)到幾十K的尺寸!對于家用PC的硬盤來講沒什么,可是對于單片機(jī)來講是不能接受的。 單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始

39、卻還是在大量使用。一樣的道理,如果把巨型計算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用PC上來運(yùn)行,家用PC的也是承受不了的。</p><p>  可以說,二十世紀(jì)跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進(jìn)入的電腦時代。不過,這種電腦,通常是指個人計算機(jī),簡稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計算機(jī),大多數(shù)人卻不怎么熟悉。這種計算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計算機(jī)的

40、最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣機(jī)等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電

41、路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。</p><p> ?。?) 單片機(jī)的選擇:</p><p> ?、?本系統(tǒng)采用單片機(jī)為控制核心。單片機(jī)/MCU主要有51基本型和52增強(qiáng)型,而相比之下52型比51型功能更為強(qiáng)大,ROM和RAM存儲空間更大,52還兼容51指令系統(tǒng)。基于本系統(tǒng)設(shè)計內(nèi)容的需要,綜合考慮后,我們選擇單片機(jī)ATME公

42、司的AT89C52為控制核心;主要基于考慮AT89C52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM)、6個中斷源;時鐘頻率0-24MHz;器件采用高密度、非易失性存儲技術(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ù)擦寫的只讀程序存儲器(PEROM)和256K bytes的隨機(jī)存取數(shù)據(jù)存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器和FLASH存儲單元,功能強(qiáng)大,AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合。</p><p>

44、<b>  主要性能參數(shù):</b></p><p>  與MCS-51產(chǎn)品指令和引腳完全兼容</p><p>  8K字節(jié)可重擦寫FLASH閃存存儲器</p><p>  1000次寫/擦循環(huán)</p><p>  時鐘頻率:0Hz—24MHz</p><p><b>  三級加密存儲器&

45、lt;/b></p><p>  256字節(jié)內(nèi)部RAM</p><p>  32個可編程I/O口線 </p><p>  3個16位定時/計數(shù)器 圖2.1 引腳圖</p><p><b>  6個中斷源</b></p><p>  可編程串行UA

46、RT通道</p><p>  低功耗的空閑和掉電模式</p><p>  片內(nèi)振蕩器和時鐘電路</p><p>  AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,片內(nèi)振蕩器及時鐘電路,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。同時,AT89C52

47、可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM</p><p>  中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(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ù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口</p><p>  P0寫“1”時,可作為高阻抗輸入端用。</p><p>  在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問器件激活內(nèi)部上拉電阻。</p><p>  在Flash編程時,P0口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)

50、時,要求外接上拉電阻。</p><p>  ·P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><p>  與AT89C51不同之處是,P1.0和P1.

51、1還可分別作為定時/計數(shù)器2的外部</p><p>  計數(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是一個帶

52、有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)</p><p>  動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,同時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><p>  在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOV@DPTR指令)時,P2口送

53、出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOV@RI指令)時,P2口輸出P2鎖存器的內(nèi)容。</p><p>  Flash編程或校驗(yàn)時,P2亦接收高位地址和一些控制信號。</p><p>  ·P3口:P3口時一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸

54、入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。</p><p>  P3口作為一般的I/O口線外,更重要的用途是它的第二功能,如表2-2所示:此外,P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號。</p><p>  ·RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平</p><p><b&g

55、t;  將使單片機(jī)復(fù)位。</b></p><p>  ·ALE/ :當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。</p><p><b>  表P3口第二功

56、能</b></p><p>  對Flash存儲器編程器件,改引腳還用于輸入編程脈沖( )。</p><p>  如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位復(fù)位,可禁止ALE操作。該位置復(fù)位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。</p><p>

57、  · :程序儲存允許( )輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次 有效,即輸出兩個脈沖。在次期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次 信號。</p><p>  · /VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFH), 端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖

58、存 端狀態(tài)。</p><p>  如端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。</p><p>  Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p><p>  ·XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。</p><p>  &#

59、183;XTAL2:振蕩器反相放大器的輸出端。</p><p> ?。?)單片機(jī)最小系統(tǒng)電路</p><p>  AT89C51作為溫度測試系統(tǒng)設(shè)計的核心器件。該器件是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é)可編程閃爍存儲器;</p><p>  (2)靈活的在線系統(tǒng)編程,掉電標(biāo)識和快速編程特性;</p>

61、;<p>  (3)壽命為1000次寫/擦周期,數(shù)據(jù)保留時間可10年以上;</p><p>  (4)全靜態(tài)工作模式:0Hz-33Hz;</p><p>  (5)三級程序存儲器鎖定;</p><p>  (6)128*8位內(nèi)部RAM,32可編程I/O線;</p><p>  (7)兩個16位定時器/計數(shù)器,6個中斷源;<

62、/p><p>  (8)全雙工串行UART通道,低功耗的閑置和掉電模式;</p><p>  (9)看門狗(WDT)及雙數(shù)據(jù)指針;</p><p>  (9)片內(nèi)振蕩器和時鐘電路;</p><p>  (3) 溫度傳感器介紹:</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ò),為測量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟(jì)、更靈活。使你可以充分發(fā)揮“一線總線”的優(yōu)點(diǎn)。目前DS18B20批量采購價格僅10元左右。</p><p>  在傳統(tǒng)的模擬信號

64、遠(yuǎn)距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問題、多點(diǎn)測量切換誤差問題和放大電路零點(diǎn)漂移誤差問題等技術(shù)問題,才能夠達(dá)到較高的測量精度。另外一般監(jiān)控現(xiàn)場的電磁環(huán)境都非常惡劣,各種干擾信號較強(qiáng),模擬溫度信號容易受到干擾而產(chǎn)生測量誤差,影響測量精度。因此,在溫度測量系統(tǒng)中,采用抗干擾能力強(qiáng)的新型數(shù)字溫度傳感器是解決這些問題的最有效方案,新型數(shù)字溫度傳感器DS18B20具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點(diǎn),在實(shí)際

65、應(yīng)用中取得了良好的測溫效果。新的"一線器件"DS18B20體積更小、適用電壓更寬、更經(jīng)濟(jì)。</p><p>  DS18B20、DS1822的特性DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能

66、價格比也非常出色!DS1822與DS18B20軟件兼容,是DS18B20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的EEPROM,精度降低為±2°C,適用于對性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。 繼"一線總線"的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20和DS1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測溫系統(tǒng)。DS18

67、B20、DS1822 "一線總線"數(shù)字化溫度傳感器同DS1820一樣,DS18B20也支持"一線總線"接口,測量溫度范圍為-55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為±2°C。現(xiàn)場溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡

68、劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境</p><p>  二、DS18B20的外形和內(nèi)部結(jié)構(gòu)</p><p>  DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在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)工作于寄生電源時,此引腳必須接地。</p><p>  DQ :數(shù)據(jù)輸入/輸出腳。漏極開路,常態(tài)下高電平。</p><p><b>  GND :為電源地</b></p><p>  DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存

71、器。</p><p>  光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個DS18B20的目的。 </p>

72、<p>  DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號位。 </p><p>  這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位

73、為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。 </p><p>  DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 </p>

74、<p>  暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗(yàn)字節(jié)。 </p><p>  該字節(jié)各位的意義如下:</p><p>  TM

75、 R1 R0 1 1 1 1 1</p><p>  低五位一直都是1 ,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,如表1所示:(DS18B20出廠時被設(shè)置為12位) </p><p>  表1 DS18B20溫度轉(zhuǎn)換時間表</p><p>  根據(jù)DS18B2

76、0的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。</p><p> ?。?) 溫度傳感器與單片機(jī)

77、的連接:</p><p>  溫度傳感器的單總線(1-Wire)與單片機(jī)的P2.0連接,P2.0是單片機(jī)的高位地址線A8。P2端口是一個帶內(nèi)部上拉電阻的8位雙向I/O,其輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對該端口寫“1”,可通過內(nèi)部上拉電阻將其端口拉至高電平,此時可作為輸入口使用,這是因?yàn)閮?nèi)部存在上拉電阻,某一引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲

78、器時。如執(zhí)行MOVX DPTR指令,則表示P2端口送出高8位的地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,可執(zhí)行MOVX RI指令,P2端口內(nèi)容即為特殊功能寄存器(SFR)區(qū)中R2寄存器內(nèi)容,整個訪問期間不改變。在Flash編程和程序校驗(yàn)時,P2端口也接收高位地址和其他控制信號。圖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ù)位信號及外部復(fù)位電路</p><p>  單片機(jī)的P1.6端口是MAX813看門狗電路中喂狗信號的輸入端,即單片機(jī)每執(zhí)行一次程序就設(shè)置一次喂狗信號,清零看門狗器件。若程序出現(xiàn)異常,單片機(jī)引腳RST將出現(xiàn)兩個機(jī)器周期以上的高電平,使其復(fù)位。該復(fù)位信號高電平有效,其有效時間應(yīng)持續(xù)24個振蕩

80、脈沖周期即兩個機(jī)器周期以上。若使用頻率為12 MHz的晶體振蕩器,則復(fù)位信號持續(xù)時間應(yīng)超過2μs才完成復(fù)位操作。</p><p>  2 單片機(jī)與報警電路</p><p>  系統(tǒng)中的報警電路是由發(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è)計時必須采用能滿足電壓、電流和穩(wěn)定性要求的電源。該電源采用三端集成穩(wěn)壓器LM7805。它僅有輸入端、輸出端及公共端3個引腳,其內(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)顯示和動態(tài)顯示。這里采用靜態(tài)顯示,系統(tǒng)通過單片機(jī)的串行口來實(shí)現(xiàn)靜態(tài)顯示。串行口為方式零狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的1/12。當(dāng)器件執(zhí)行任何一條將SBUF作為目的寄存器的命令時,數(shù)據(jù)便開始從RXD端

83、發(fā)送。在寫信號有效時,相隔一個機(jī)器周期后發(fā)送控制端SEND有效,即允許RXD發(fā)送數(shù)據(jù),同時允許從TXD端輸出移位脈沖。圖7為顯示電路的連接圖。</p><p>  圖7 顯示電路的連接圖</p><p><b>  5 看門狗電路</b></p><p>  系統(tǒng)中把P1.6作為看門狗的“喂狗”信號;將MAX813的RESET與單片機(jī)的復(fù)位

84、信號RST連接。由于單片機(jī)每執(zhí)行一次程序,就會給看門狗器件一個復(fù)位信號,這樣也可以用手工方式實(shí)現(xiàn)復(fù)位。當(dāng)按鍵按下時,SW—SPST就會在MAX813引腳產(chǎn)生一個超過200 ms的低電平,其實(shí)看門狗器件在1.6 s時間內(nèi)沒有復(fù)位,使7引腳輸出一個復(fù)位信號的作用是相同的,其連接圖如圖8所示。</p><p>  圖8 看門狗器件的MAX813的連接圖</p><p><b>  第

85、三章 軟件設(shè)計</b></p><p><b>  3.1 概述</b></p><p>  整個系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測

86、量、計算、顯示、通訊等。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。</p><p>  首先要根據(jù)系統(tǒng)的總體功能和鍵盤設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。</p><p>  主程序調(diào)用了4個子程序,分別是數(shù)碼管顯示

87、程序、鍵盤掃描以及按鍵處理程序、溫度測試程序、中斷控制程序、單片機(jī)與PC機(jī)串口通訊程序。</p><p>  鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識別及相關(guān)處理。</p><p>  溫度測試程序:對溫度芯片送過來的數(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>  將各個功能程序以子程序的形式寫好,當(dāng)寫主程序的時候,只需要調(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)用之外,還有一個好處那就是以后寫程序的時候如果要用到,就可以直接調(diào)用這個單元功能模塊。</p><p>  主程序流程圖如右圖:</p><p>  3.2各模塊子程序設(shè)計</p><p>  下面對主要幾個子程序的流程圖做介紹:</p><p&

90、gt; ?。?)溫度測試子程序設(shè)計</p><p>  見附錄一:溫度測試子程序流程圖</p><p>  (2)中斷控制程序設(shè)計</p><p><b>  如右圖:</b></p><p> ?。?)串口通信程序設(shè)</p><p>  本次通訊中,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、處理和控制,上位機(jī)進(jìn)

91、行現(xiàn)場可視化檢測,通信協(xié)議采用半雙工異步串行通信方式,通過RS232的RTS信號進(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ū)動方式:由MSComm控件的OnComm事件捕獲并處理通訊錯誤及事件;查詢方式:通過檢查CommEvent屬性的值來判斷事件和錯誤。 </p><p>  1) MSComm控件的主要屬性和方法 </p>

93、<p>  a. CommPort:設(shè)置或返回串行端口號,其取值范圍為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é)個數(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ā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連

99、接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(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)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。</p><p>  Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到K

101、eil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</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、試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的</p><p>  Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(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、測試環(huán)境及工具</b></p><p>  測試溫度:0~100攝氏度。(模擬多點(diǎn)不同溫度值環(huán)境)</p><p

104、>  測試儀器及軟件:數(shù)字萬用表,溫度計0~100攝氏度,串口調(diào)試助手。</p><p><b>  測試方法:目測。</b></p><p><b>  2、測試方法</b></p><p>  使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測是否正常(包括單片機(jī)最小系統(tǒng),鍵盤電路,顯示電路,溫度測試電路等)。系統(tǒng)自帶測試表格數(shù)據(jù),觀

105、察顯示數(shù)據(jù)是否相符合即可。</p><p>  采用溫度傳感器和溫度計同時測量多點(diǎn)水溫變化情況(取溫度值不同的多點(diǎn)),目測顯示電路是否正常。并記錄各點(diǎn)溫度值,與實(shí)際溫度值比較,得出系統(tǒng)的溫度指標(biāo)。</p><p>  使用串口調(diào)試助手與單片機(jī)通訊,觀察單片機(jī)與串口之間傳輸數(shù)據(jù)正確否。</p><p><b>  3、測試結(jié)果分析</b><

106、/p><p>  自檢正常,各點(diǎn)溫度顯示正常,串口傳輸數(shù)據(jù)正確。</p><p>  因?yàn)樾酒撬芰戏庋b,所以對溫度的感應(yīng)靈敏度不是相當(dāng)高,需要一個很短的時間才能達(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í)時

107、更新顯示各點(diǎn)溫度值。</p><p><b>  心得體會</b></p><p>  作為xxx的大二學(xué)生,我覺得做單片機(jī)課程設(shè)計是很有意義的,而且也是必要的。</p><p>  在此首先感謝我的導(dǎo)師xx老師給與我的無私的幫助。</p><p>  在做這次課程設(shè)計的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計資料了。為了

108、讓自己的設(shè)計更加完善,查閱這方面的實(shí)際資料是十分必要的,也是必不可少的。通過做這個課程設(shè)計我不但回顧了以前學(xué)習(xí)的知識,如:電子CAD,匯編語言、模擬和數(shù)字電路知識等。在學(xué)習(xí)過程當(dāng)我再一次用到以前學(xué)過的東西時,才發(fā)現(xiàn)這次的設(shè)計竟然可以讓以前不太懂的問題通過這次的任務(wù)而得到解決。</p><p>  在這次設(shè)計的過程中我發(fā)現(xiàn)要做好這次的設(shè)計,首先要對單片機(jī)有足夠的了解,這是一門基于單片機(jī)的課程,里面用到了關(guān)于單片機(jī)和

109、c語言的許多知識。</p><p>  這不但讓我溫習(xí)了以前的知識,更對知識的加深起到極大的作用,我深深體會到一個設(shè)計不是一次就可以完成的,它需要不停的修改,精益求精。在次過程中我們要踏踏實(shí)實(shí)的做,不能好高騖遠(yuǎn)。</p><p>  最后讓我在此由衷的感謝我的知道老師xx老師,他給與我的幫助是無法估量的。</p><p><b>  參考文獻(xiàn)</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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論