2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  畢 業(yè) 設(shè) 計(jì)(論 文)</p><p>  基于單片機(jī)的全自動(dòng)太陽(yáng)能熱水器的控制</p><p><b>  器的設(shè)計(jì)</b></p><p> 學(xué)生姓名:</p><p> 學(xué) 號(hào):</p><p> 所在系部:電氣信息系</p><p> 

2、專業(yè)班級(jí):電氣工程及其自動(dòng)化</p><p> 指導(dǎo)教師:xx 講師</p><p> 日 期:二○一二年五月</p><p><b>  摘 要</b></p><p>  隨著人們生活水平的不斷提高,全球人口和經(jīng)濟(jì)規(guī)模的不斷增長(zhǎng),單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中,能源

3、使用帶來的環(huán)境問題及其誘因逐漸為人們所認(rèn)識(shí),“低碳經(jīng)濟(jì)”這一概念開始進(jìn)入人們的視野。太陽(yáng)能具有儲(chǔ)量的“無限性”、存在的普遍性,并且?guī)缀醪划a(chǎn)生任何污染。鑒于此,人們?cè)诖罅Φ陌l(fā)展太陽(yáng)能產(chǎn)業(yè)。太陽(yáng)能熱水器順應(yīng)時(shí)代發(fā)展的要求,滿足人們對(duì)環(huán)保綠色產(chǎn)品的需求。在人類文明程度日益提高的今天,它是現(xiàn)代文明社會(huì)的最佳選擇。</p><p>  本文提出了一種新型的太陽(yáng)能熱水器控制系統(tǒng)設(shè)計(jì)方案。本設(shè)計(jì)采用MSC-51系列單片機(jī)AT8

4、9S52作為中央處理器,采用DS1302實(shí)時(shí)時(shí)鐘,12864點(diǎn)陣式液晶顯示屏等模塊,完成時(shí)間溫度水位的顯示,以及時(shí)間和溫度的設(shè)定等功能。</p><p>  關(guān)鍵字:太陽(yáng)能熱水器;單片機(jī);實(shí)時(shí)時(shí)鐘;液晶顯示屏</p><p><b>  Abstract</b></p><p>  With the continuous improvement

5、 of people's living standard, As the global population and economic growth, energy use of environmental problems and causes gradually recognized, "low-carbon economy," the concept became part of the people

6、of vision. Solar energy has reserves of the limitless ", the universality of existing, and almost does not produce any pollution. In view of this, people in the development of solar energy industry. Solar water heat

7、ers, in conformity with the requirements of the </p><p>  A new solar water heater control system design. This design incorporates MSC-51 MCU AT89S52 as central processors, a real-time clock using DS1302, 12

8、864, dot-matrix LCD module, completion time display of the temperature level, as well as the time and temperature setting. </p><p>  Keywords: Solar water heater chip clock LCD screen目 錄</p>&l

9、t;p><b>  摘 要i</b></p><p>  Abstractii</p><p><b>  1 引言1</b></p><p>  1.1太陽(yáng)能熱水器的研究現(xiàn)狀1</p><p>  1.2 太陽(yáng)能熱水器的發(fā)展概況及市場(chǎng)競(jìng)爭(zhēng)分析1</p><p&

10、gt;  1.3 太陽(yáng)能熱水器的應(yīng)用及意義2</p><p>  2太陽(yáng)能熱水器控制系統(tǒng)的總體設(shè)計(jì)4</p><p><b>  2.1方案論證4</b></p><p>  2.2 總體設(shè)計(jì)5</p><p>  2.2.1太陽(yáng)能熱水器的組成與工作原理5</p><p>  2.2.2

11、系統(tǒng)總體流程圖6</p><p>  3 太陽(yáng)能熱水器控制系統(tǒng)的硬件設(shè)計(jì)7</p><p>  3.1 主控芯片模塊7</p><p>  3.1.1 主控芯片模塊電路7</p><p>  3.1.2 主控芯片簡(jiǎn)介8</p><p>  3.2 實(shí)時(shí)時(shí)鐘模塊11</p><p> 

12、 3.2.1 實(shí)時(shí)時(shí)鐘模塊電路11</p><p>  3.2.2 實(shí)時(shí)時(shí)鐘簡(jiǎn)介12</p><p>  3.3 溫度傳感器模塊14</p><p>  3.3.1 溫度傳感器模塊電路14</p><p>  3.3.2 溫度傳感器簡(jiǎn)介15</p><p>  3.4 液晶顯示模塊17</p>

13、<p>  3.4.1 液晶顯示模塊電路17</p><p>  3.4.2 液晶顯示屏簡(jiǎn)介18</p><p>  3.5 鍵盤輸入模塊21</p><p>  4太陽(yáng)能熱水器控制系統(tǒng)軟件設(shè)計(jì). . . . . . . . . . . . . . . . . . .23</p><p>  4.1 KEIL uVISION

14、 3軟件環(huán)境23</p><p>  4.2 太陽(yáng)能熱水器控制系統(tǒng)軟件設(shè)計(jì)流程圖23</p><p>  4.3 太陽(yáng)能熱水器控制系統(tǒng)軟件功能的實(shí)施24</p><p>  4.3.1 初始化程序24</p><p>  4.3.2 按鍵檢測(cè)及處理程序25</p><p>  4.3.3 讀取溫度的程序28

15、</p><p>  5太陽(yáng)能熱水器控制系統(tǒng)整體調(diào)試30</p><p>  5.1 Proteus仿真環(huán)境30</p><p>  5.2 太陽(yáng)能熱水器控制系統(tǒng)調(diào)試過程31</p><p><b>  結(jié)論35</b></p><p><b>  參考文獻(xiàn)36</b&g

16、t;</p><p><b>  致謝37</b></p><p><b>  附錄38</b></p><p><b>  1 引言</b></p><p>  在我設(shè)計(jì)太陽(yáng)能熱水器的控制系統(tǒng)之前,首先了解一下太陽(yáng)能熱水器的組成與工作原理,了解一下太陽(yáng)能熱水器的基本構(gòu)架和

17、工作過程,以及太陽(yáng)能熱水器發(fā)展概況和深遠(yuǎn)利用價(jià)值。</p><p>  1.1太陽(yáng)能熱水器的研究現(xiàn)狀</p><p>  隨著全球人口和經(jīng)濟(jì)規(guī)模的不斷增長(zhǎng),能源使用帶來的環(huán)境問題及其誘因逐漸為人們所認(rèn)識(shí),“低碳經(jīng)濟(jì)”這一概念開始進(jìn)入人們的視野。人們?cè)诖罅Φ陌l(fā)展太陽(yáng)能產(chǎn)業(yè)。能源問題將更為突出:①?gòu)拈L(zhǎng)遠(yuǎn)來看,全球已探明的石油儲(chǔ)量只能用到2020 年,天然氣也只能延續(xù)到2040 年左右,即使儲(chǔ)量

18、豐富的煤炭資源也只能維持二三百年。②環(huán)境污染③溫室效應(yīng)引起全球氣候變化。因此,人類在解決上述能源問題,實(shí)現(xiàn)可持續(xù)發(fā)展,只能依靠科技進(jìn)步,大規(guī)模地開發(fā)利用可再生潔凈能源。</p><p>  太陽(yáng)能具有:①儲(chǔ)量的“無限性”太陽(yáng)每秒鐘放射的能量大約是1.6×10 的23 次方kW,一年內(nèi)到達(dá)地球表面的太陽(yáng)能總量折合標(biāo)準(zhǔn)煤共約1.892×10 的13 次方千億t。②太陽(yáng)能對(duì)于地球上絕大多數(shù)地區(qū)具有存

19、在的普遍性,可就地取用。 </p><p>  在世界范圍內(nèi),太陽(yáng)能熱水器技術(shù)已很成熟,并已形成行業(yè),正在以優(yōu)良的性能不斷地沖擊電熱水器市場(chǎng)和燃?xì)鉄崴魇袌?chǎng)。2000 年太陽(yáng)能熱水器取代47000 套家用電熱水器;2000 年日本太陽(yáng)能熱水器的擁有量將翻一番;以色列更是明文規(guī)定,所有新建房屋必須配備太陽(yáng)能熱水器。目前,我國(guó)是世界上太陽(yáng)能熱水器生產(chǎn)量和銷售量最大的國(guó)家。</p><p>

20、  然而,目前市場(chǎng)上太陽(yáng)能熱水器的控制系統(tǒng)大多存在功能單一、操作復(fù)雜、控制不方便等問題,很多控制器具有溫度和水位顯示功能,卻不具有溫度控制功能,致使熱水器陰天的時(shí)候不能方便使用。即使熱水器具有輔助加熱功能,也可能由于加熱時(shí)間不能控制而產(chǎn)生過燒,從而浪費(fèi)電能。</p><p>  1.2 太陽(yáng)能熱水器的發(fā)展概況及市場(chǎng)競(jìng)爭(zhēng)分析</p><p>  我國(guó)自78年引進(jìn)全玻璃真空集熱管的樣管以來,經(jīng)

21、過20多年的努力,攻克了熱壓封等許多技術(shù)難關(guān),已經(jīng)建立了擁有自主知識(shí)產(chǎn)權(quán)的現(xiàn)代化全玻璃真空集熱管產(chǎn)業(yè),用于生產(chǎn)集熱管的磁控濺射鍍膜機(jī)已有745臺(tái),產(chǎn)品質(zhì)量達(dá)到世界先進(jìn)水平,產(chǎn)量雄居世界首位。 </p><p>  1978年中國(guó)誕生第一臺(tái)太陽(yáng)能熱水器,到1986年臥式磁控濺射鍍膜機(jī)的設(shè)計(jì)制造,是在政策扶持下的研究開發(fā)階段。1987年,我國(guó)制造了第一支全玻璃真空集熱管。在之后的幾年里,全玻璃和熱管式真空管集熱器實(shí)現(xiàn)

22、了產(chǎn)業(yè)化,產(chǎn)業(yè)規(guī)模達(dá)到中試水平,為下一階段產(chǎn)業(yè)的規(guī)?;於肆己玫幕A(chǔ),成為產(chǎn)業(yè)的孕育發(fā)展階段。</p><p>  1993年太陽(yáng)能產(chǎn)業(yè)進(jìn)入初級(jí)發(fā)展階段:由于成果轉(zhuǎn)化需要很長(zhǎng)一段時(shí)間的磨合,特別是受技術(shù)人員缺乏的影響,此階段的產(chǎn)品質(zhì)量有待于進(jìn)一步提高,整體來講,發(fā)展速度較為緩慢。這時(shí)候以山東力諾集團(tuán)為主的真空管生產(chǎn)企業(yè)的產(chǎn)品占了真空管生產(chǎn)絕大部分市場(chǎng)。</p><p>  1997-20

23、01年太陽(yáng)能產(chǎn)業(yè)得到高速發(fā)展,逐漸形成北京、魯東、泰安、揚(yáng)州、海寧等5個(gè)產(chǎn)業(yè)基地,并以此向周圍不斷輻射,產(chǎn)能得以迅速提升。目前,我國(guó)是世界上太陽(yáng)能熱水器生產(chǎn)量和銷售量最大的國(guó)家。太陽(yáng)能熱水器是太陽(yáng)能利用中最常見的一種裝置,經(jīng)濟(jì)效益明顯,正在迅速的推廣應(yīng)用,太陽(yáng)能熱水器能夠?qū)⑻?yáng)輻射能轉(zhuǎn)換熱能,供生產(chǎn)和生活使用。</p><p>  當(dāng)今社會(huì)發(fā)展日新月異,人們衣食住行也在不斷的提高?,F(xiàn)有電熱型熱水器費(fèi)用昂貴及燃?xì)庑?/p>

24、熱水器的不安全性,且排放二氧化碳污染大氣,北方用煤氣取暖造成城市空氣環(huán)境污染,這些都是太陽(yáng)能熱水器良好的外部生存環(huán)境。太陽(yáng)能熱水器 克服了上述缺點(diǎn),他是綠色環(huán)保產(chǎn)品。它使用簡(jiǎn)單、方便。太陽(yáng)能熱水器順應(yīng)時(shí)代發(fā)展的要求,滿足人們對(duì)環(huán)保綠色產(chǎn)品的需求。</p><p>  1.3 太陽(yáng)能熱水器的應(yīng)用及意義</p><p>  資源是社會(huì)經(jīng)濟(jì)發(fā)展的物質(zhì)基礎(chǔ),經(jīng)濟(jì)愈發(fā)展,對(duì)資源的依賴性愈強(qiáng)。許多資源

25、(如煤、石油、天然氣等)是不可再生的,而且在利用過程中給人類生存環(huán)境帶來極大污染,人類繁衍生息的物質(zhì)和環(huán)境基礎(chǔ)受到嚴(yán)峻挑戰(zhàn)。加強(qiáng)清潔、可再生資源的開發(fā)利用,已引起全世界的普遍重視。太陽(yáng)能作為一種取之不盡、用之不竭的可再生資源,有節(jié)能、環(huán)保、安全和永續(xù)利用等優(yōu)點(diǎn),理應(yīng)成為開發(fā)利用的首選。其中太陽(yáng)能熱水器作為家庭生活用品,其開發(fā)利用在我國(guó)已走過了二十多年的歷程,生產(chǎn)技術(shù)成熟,具有明顯優(yōu)點(diǎn):</p><p> ?。ㄒ唬?/p>

26、從節(jié)能環(huán)保的角度講,使用太陽(yáng)能熱水器不會(huì)對(duì)環(huán)境造成污染,同時(shí)為國(guó)家節(jié)約了大量能源,社會(huì)效益明顯,是國(guó)家重點(diǎn)推廣項(xiàng)目,使用前景廣闊。</p><p> ?。ǘ┨?yáng)能熱水器的使用壽命較長(zhǎng),使用太陽(yáng)能熱水器經(jīng)濟(jì)實(shí)惠。若使用合理,其壽命可達(dá)15年甚至更長(zhǎng)。據(jù)測(cè)算,使用1平方米太陽(yáng)能熱水器,相當(dāng)于每年節(jié)約310度電。太陽(yáng)能熱水器的費(fèi)用只有燃?xì)鉄崴鞯钠叻种唬姛崴鞯牧种?。?gòu)置太陽(yáng)能熱水器一次性投資3000元左右,

27、使用5至6年就可實(shí)現(xiàn)與其熱水器的支出對(duì)比平衡。按照裝置壽命15年計(jì)算,其經(jīng)濟(jì)效益是十分明顯的。</p><p> ?。ㄈ┨?yáng)能熱水器集熱效果好,集熱時(shí)間更長(zhǎng)。只要陽(yáng)光能照射到的地方,就可以使用太陽(yáng)能熱水器,即使在高寒地區(qū)一年四季也可以正常使用。在我國(guó)浙江、江蘇、山東等地,太陽(yáng)能熱水器的研發(fā)和生產(chǎn)已形成規(guī)模,應(yīng)用太陽(yáng)能熱水器的場(chǎng)所也由家居使用擴(kuò)展到醫(yī)院、學(xué)校、賓館、飯店、游泳池、洗浴場(chǎng)所等。</p>

28、<p>  2 太陽(yáng)能熱水器控制系統(tǒng)的總體設(shè)計(jì)</p><p><b>  2.1 方案論證</b></p><p><b> ?。?)方案一</b></p><p>  在單片機(jī)學(xué)習(xí)課程中,就遇到過一種方案,稱其為方案一。它通過三極管的導(dǎo)通截止特性來判斷液位的位置,并且可以通過按鍵切換檢測(cè)壓力。但是在過程中只

29、能檢測(cè)三點(diǎn),雖然可以擴(kuò)展,但是占了太多的I/O口,容易造成資源的浪費(fèi)。而且僅顯示單元就占用了12個(gè)I/O口,同樣屬于資源浪費(fèi)。</p><p>  在電機(jī)電路設(shè)計(jì)方面,方案一采用的三極管的導(dǎo)通截止來控制點(diǎn)擊的正轉(zhuǎn)與反轉(zhuǎn),雖然設(shè)計(jì)簡(jiǎn)單,但是過多的使用三極管以及二極管類的元器件,也會(huì)使成本升高。而且,既然是太陽(yáng)能熱水器的自動(dòng)控制裝置,那么必不可少的就是溫度的檢測(cè),而方案一中卻忽略了這點(diǎn),造成了最大的殘缺。</p

30、><p><b> ?。?)方案二</b></p><p>  方案二主要解決了方案一中資源浪費(fèi)及過于使用分立元件的缺陷。</p><p>  在液位檢測(cè)方面,通過利用兩片CD4051芯片,它相當(dāng)于一個(gè)單刀八擲開關(guān),當(dāng)INH禁止端為低電平即“0”時(shí),開關(guān)接通哪一通道由輸入的3位地址碼ABC來決定。這樣就簡(jiǎn)單的解決了16個(gè)點(diǎn)檢測(cè)的問題,并且在最大程度

31、上減少了I/O口的使用。僅使用了8個(gè)I/O口即可控制16個(gè)點(diǎn)的檢測(cè),如果是方案一,則需要使用16個(gè)I/O口。</p><p>  而且在方案二中,使用目前比較流行51系列單片機(jī)AT89S52。AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系

32、統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中的優(yōu)勢(shì)明顯。</p><p>  在方案二中還解決了方案一種不能檢測(cè)溫度缺點(diǎn),使用了先進(jìn)的DS18B20芯片,DS18B20數(shù)字溫度傳感器是Dallas公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單、體積小的特點(diǎn)。因此用他組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在1根通信線可以掛很多這

33、樣的數(shù)字溫度傳感器,十分方便。</p><p><b> ?。?)方案選擇</b></p><p>  通過上述兩個(gè)方案的比較,便能發(fā)現(xiàn)方案二設(shè)計(jì)的電路比方案一的電路有極大的優(yōu)勢(shì),性能全面,使用方便,而且簡(jiǎn)單、穩(wěn)定。故選擇方案二。</p><p><b>  2.2 總體設(shè)計(jì)</b></p><p>

34、;  2.2.1太陽(yáng)能熱水器的組成與工作原理</p><p>  圖2.1 熱水器裝置簡(jiǎn)圖</p><p>  1-集熱器 2-下降水管3-循環(huán)水管4-補(bǔ)給水箱5-上升水管6-自來水管7-熱水出水管</p><p>  熱水器主要由集熱器、循環(huán)管道和水箱等組成,圖中為典型的熱水器裝置圖。圖中集熱器1按最佳傾角放置,下降水管2的一端與循環(huán)水箱3的下部相連,另一端與集熱

35、器1的下集管接通。上升水管5與循環(huán)水箱3上部相連,另一端與集熱器1的上集管相接。補(bǔ)給水箱4供給循環(huán)水箱3所需的冷水。</p><p>  集熱器吸收太陽(yáng)輻射后,集熱器內(nèi)溫度上升,水溫也隨之升高。水溫升高后,水的比重減輕,便經(jīng)上升水管進(jìn)入循環(huán)水箱上部。而循環(huán)水箱下部的冷水比重較大,就由水箱下流到集熱器下方,在集熱器內(nèi)受熱后又上升。這樣不斷對(duì)流循環(huán),水溫逐漸提高,直到集熱器吸收的熱量與散失的熱量相平衡時(shí),水溫不再升高

36、。這種熱水利用循環(huán)加熱的原理,因此又稱循環(huán)熱水器。</p><p>  集熱器是一種利用溫室效應(yīng),將太陽(yáng)能輻射轉(zhuǎn)換為熱能的裝置,該裝置與一般熱水交換器不一樣,熱交換器通常只是液體到液體,或是液體到氣體的熱交換過程,而平板行集熱器時(shí)直接將太陽(yáng)輻射傳給液體或氣體,是一個(gè)復(fù)雜的傳熱過程。平板型集熱器結(jié)構(gòu)形式很多,世界上已實(shí)用的集熱器就有直管式、瓦楞式、扁管式、鋁翼式等二十多種。</p><p>

37、  2.2.2系統(tǒng)總體流程圖</p><p>  圖2.2系統(tǒng)總體流程圖</p><p>  3 太陽(yáng)能熱水器控制系統(tǒng)的硬件設(shè)計(jì)</p><p>  3.1 主控芯片模塊 </p><p>  3.1.1 主控芯片模塊電路</p><p>  單片機(jī)系統(tǒng)由AT89S52和一定功能的外圍電路組成,包括為單片機(jī)提供復(fù)位電壓

38、的復(fù)位電路,提供系統(tǒng)頻率的晶振。這部分電路主要負(fù)責(zé)程序的存儲(chǔ)和運(yùn)行。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響振蕩器頻率的高低、諧振器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。晶體可在1.2MHz~12MHz之間任選,電容C1和C2的典型值在20pF~100pF之間選擇,但在60pF~70pF時(shí)振蕩器具有較高的頻率穩(wěn)定性。典型值通常選擇為30pF左右,但本電路采用30pF。AT89S52的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位電路通

39、常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。本設(shè)計(jì)中所用到的是上電按鈕復(fù)位,如圖3.1所示。</p><p>  圖3.1 單片機(jī)系統(tǒng)</p><p>  3.1.2 主控芯片簡(jiǎn)介</p><p>  AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用ATMEL公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指

40、令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜

41、態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8位微控制器8K字節(jié)在系統(tǒng)可編程Flash AT89S52。圖3.2為AT89S52的引腳圖</p><p>  圖3.2 AT89S52的引腳圖</p><p>  AT89

42、S52引腳功能說明如下:</p><p><b>  VCC:電源電壓</b></p><p><b>  GND:地</b></p><p>  P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和

43、數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0內(nèi)部上拉電阻被激活。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。</p><p>  P1 口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用

44、時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(TTL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX),具體如表3-1所示。在flash編程和校驗(yàn)P1口接收低8位地址字節(jié)。</p><p>  表3-1 P1口第二功能</p><p>  P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2

45、輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。 在flash編

46、程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。 </p><p>  表3-2 P3口的第二功能</p><p>  此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。</p><p>  RST——復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO

47、位(地址8EH)可打開或關(guān)閉該功能。DISRTO位缺省為RESET輸出高電平打開狀態(tài)。</p><p>  ALE/PROG——當(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脈沖。如有必要,可通過對(duì)特殊功能寄存器(SFR

48、)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。</p><p>  PSEN——程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將有兩次有效

49、的PSEN信號(hào)。</p><p>  EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p&

50、gt;<p>  XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  3.2 實(shí)時(shí)時(shí)鐘模塊</p><p>  3.2.1 實(shí)時(shí)時(shí)鐘模塊電路</p><p>  從古代的滴漏更鼓到近代的機(jī)械鐘,從電子表到目前的數(shù)字時(shí)鐘,為了準(zhǔn)確的測(cè)量和記錄時(shí)間,

51、人們一直在努力改進(jìn)計(jì)時(shí)工具。鐘表的數(shù)字化,大力推動(dòng)了計(jì)時(shí)的精確性和可靠性。在單片機(jī)構(gòu)成的裝置中,實(shí)時(shí)時(shí)鐘是必不可少的部件。</p><p>  目前常用的實(shí)時(shí)時(shí)鐘,很多采用單片機(jī)的中斷服務(wù)來實(shí)現(xiàn),這種方式一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測(cè)控系統(tǒng)可能不允許;有的則使用并行接口的時(shí)鐘芯片,如MC146818、DS12887等,它們雖然能滿足單片機(jī)系統(tǒng)對(duì)實(shí)

52、時(shí)時(shí)鐘的要求,但是這些芯片與單片機(jī)接口復(fù)雜,占用地址、數(shù)據(jù)總線多,芯片體積大,占用空間多,給其它設(shè)計(jì)帶來諸多不便。</p><p>  本設(shè)計(jì)選取串行接口時(shí)鐘芯片DS1302與單片機(jī)同步通信構(gòu)成數(shù)字時(shí)鐘電路,如圖3.3。其簡(jiǎn)單的三線接口能為單片機(jī)節(jié)省大量資源,DS1302的后背電源及對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力保證電路斷電后仍能保存時(shí)間和數(shù)據(jù)信息等。這些優(yōu)點(diǎn)解決了目前常用的實(shí)時(shí)時(shí)鐘所無法解決的問題。該時(shí)鐘電路

53、強(qiáng)大的功能和優(yōu)越的性能,在很多領(lǐng)域的應(yīng)用中,尤其是某些自動(dòng)化控制、長(zhǎng)時(shí)間無人看守的測(cè)控系統(tǒng)等對(duì)時(shí)鐘精確性和可靠性有較高要求的場(chǎng)合,具有很高的使用價(jià)值。</p><p>  圖3.3 DS1302與單片機(jī)接口電路</p><p>  3.2.2 實(shí)時(shí)時(shí)鐘簡(jiǎn)介</p><p>  DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以

54、對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償功能,工作電壓寬達(dá)2.5~5.5V。時(shí)鐘可工作在24小時(shí)格式或12小時(shí)(AM/PM)格式。DS1302與單片機(jī)的接口使用同步串行通信,僅用3條線與之相連接??刹捎靡淮蝹魉鸵粋€(gè)字節(jié)或突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源

55、雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行細(xì)電流充電的能力。</p><p>  DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)

56、位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK 為低電平時(shí),才能

57、將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK為時(shí)鐘輸入端。</p><p>  控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。</p>&l

58、t;p>  DS1302的復(fù)位引腳:通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送.RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中置RST為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,RST必須保持低電平。只

59、有在SCLK為低電平時(shí),才能將RST置為高電平。</p><p>  在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí)數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位至高位7。 </p><p>  DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形

60、式。其日歷、時(shí)間寄存器及其控制字見表3-3。</p><p>  表3-3 DS1302的日歷、時(shí)鐘寄存器及其控制字</p><p>  此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器的內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)

61、8位的字節(jié),其命令控制字為C0H--FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。</p><p>  3.3 溫度傳感器模塊</p><p>  3.3.1 溫度傳感器模塊電路</p><p>  基于DS18B20多點(diǎn)溫度測(cè)量系統(tǒng)以AT89C51為中

62、心器件,以KEIL為系統(tǒng)開發(fā)平臺(tái),用C語(yǔ)言進(jìn)行程序設(shè)計(jì),以PROTEUS作為仿真軟件設(shè)計(jì)而成的。</p><p>  DS18B20是智能溫度傳感器,它的輸入/輸出采用數(shù)字量,以單總線技術(shù),接收主機(jī)發(fā)送的命令,根據(jù)DS18B20內(nèi)部的協(xié)議進(jìn)行相應(yīng)的處理,將轉(zhuǎn)換的溫度以串口發(fā)送給主機(jī)。主機(jī)按照通信協(xié)議用一個(gè)IO口模擬DS18B20的時(shí)序,發(fā)送命令(初始化命令、ROM命令、功能命令)給DS18B20,并讀取溫度值,在

63、內(nèi)部進(jìn)行相應(yīng)的數(shù)值處理,用圖形液晶模塊顯示各點(diǎn)的溫度。在系統(tǒng)啟動(dòng)之時(shí),可以通過4×4鍵盤設(shè)置各點(diǎn)溫度的上限值,當(dāng)某點(diǎn)溫度超過設(shè)置值時(shí),報(bào)警器開始報(bào)警,從而實(shí)現(xiàn)了對(duì)各點(diǎn)溫度的實(shí)時(shí)監(jiān)控。</p><p>  每個(gè)DS18B20有自己的序列號(hào),因此本系統(tǒng)可以在一根總線上掛接了4個(gè)DS18B20,通過CRC校驗(yàn),對(duì)各個(gè)DS18B20的ROM進(jìn)行尋址,地址符合的DS18B20才作出響應(yīng),接收主機(jī)的命令,向主機(jī)發(fā)送

64、轉(zhuǎn)換的溫度。采用這種DS18B20尋址技術(shù),使系統(tǒng)硬件電路更加簡(jiǎn)單,圖3.4所示。</p><p>  圖3.4 18B20與單片機(jī)的連接電路</p><p>  3.3.2 溫度傳感器簡(jiǎn)介</p><p>  DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信

65、線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。</p><p>  DS18B20產(chǎn)品的特點(diǎn):</p><p>  只要求一個(gè)端口即可實(shí)現(xiàn)通信。</p><p>  在DS18B20中的每個(gè)器件上都有獨(dú)一無二的序列號(hào)。</p><p>  實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。</p><p>  測(cè)量溫度范圍在-5

66、5.C到+125.C之間。</p><p>  數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。</p><p>  內(nèi)部有溫度上、下限告警設(shè)置。</p><p>  其引腳功能描述見表3-4。</p><p>  表3-4 DS18B20詳細(xì)引腳功能描述</p><p>  64位ROM存儲(chǔ)器件獨(dú)一無二的序列號(hào)。暫存器

67、包含兩字節(jié)(0和1字節(jié))的溫度寄存器,用于存儲(chǔ)溫度傳感器的數(shù)字輸出。暫存器還提供一字節(jié)的上線警報(bào)觸發(fā)(TH)和下線警報(bào)觸發(fā)(TL)寄存器(2和3字節(jié)),和一字節(jié)的配置寄存器(4字節(jié)),使用者可以通過配置寄存器來設(shè)置溫度轉(zhuǎn)換的精度。暫存器的5、6和7字節(jié)器件內(nèi)部保留使用。第八字節(jié)含有循環(huán)冗余碼(CRC )。</p><p>  DS18B20加電后,處在空閑狀態(tài)。要啟動(dòng)溫度測(cè)量和模擬到數(shù)字的轉(zhuǎn)換,處理器須向其發(fā)出C

68、onvert T [44h] 命令;轉(zhuǎn)換完后,DS18B20回到空閑狀態(tài)。溫度數(shù)據(jù)是以帶符號(hào)位的16-bit補(bǔ)碼存儲(chǔ)在溫度寄存器中的。</p><p>  符號(hào)位說明溫度是正值還是負(fù)值,正值時(shí)S=0,負(fù)值時(shí)S=1。</p><p>  訪問DS18B20必須嚴(yán)格遵守這一命令序列,如果丟失任何一步或序列混亂,DS18B20都不會(huì)響應(yīng)主機(jī)(除了Search ROM 和Alarm Search這

69、兩個(gè)命令,在這兩個(gè)命令后,主機(jī)都必須返回到第一步)。</p><p><b>  a.初始化:</b></p><p>  DS18B20所有的數(shù)據(jù)交換都由一個(gè)初始化序列開始。由主機(jī)發(fā)出的復(fù)位脈沖和跟在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。當(dāng)DS18B20發(fā)出響應(yīng)主機(jī)的應(yīng)答脈沖時(shí),即向主機(jī)表明它已處在總線上并且準(zhǔn)備工作。</p><p>&

70、lt;b>  b. ROM命令:</b></p><p>  ROM命令通過每個(gè)器件64-bit的ROM碼,使主機(jī)指定某一特定器件(如果有多個(gè)器件掛在總線上)與之進(jìn)行通信。DS18B20的ROM如表3-5所示,每個(gè)ROM命令都是8 bit長(zhǎng)。</p><p>  表3-5 ROM命令</p><p>  3.4 液晶顯示模塊</p>

71、<p>  3.4.1 液晶顯示模塊電路</p><p>  液晶顯示模塊以其微功耗、體積小、顯示內(nèi)容豐富、模塊化、接口電路簡(jiǎn)單等諸多優(yōu)點(diǎn)得到廣泛應(yīng)用。液晶顯示模塊分字符型和點(diǎn)陣型兩種,前者只能顯示常用的字符,點(diǎn)陣型液晶顯示模塊除顯示字符外還能顯示各種圖形和漢字。</p><p>  如圖3.5所示,為液晶顯示屏與單片機(jī)的連接電路圖。</p><p>  

72、圖3.5 液晶顯示屏與單片機(jī)的連接電路</p><p>  3.4.2 液晶顯示屏簡(jiǎn)介</p><p>  12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集。該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全

73、中文人機(jī)交互圖形界面??梢燥@示8×4行16×16點(diǎn)陣的漢字??赏瓿蓤D形顯示。電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。</p><p>  圖3.6 LCD結(jié)構(gòu)尺寸</p><p><b>  基本特性:</b>&l

74、t;/p><p>  低電源電壓(VDD:+3.0--+5.5V)</p><p>  顯示分辨率:128×64點(diǎn)</p><p>  內(nèi)置漢字字庫(kù),提供8192個(gè)16×16點(diǎn)陣漢字(簡(jiǎn)繁體可選)</p><p>  內(nèi)置 128個(gè)16×8點(diǎn)陣字符</p><p><b>  2MH

75、Z時(shí)鐘頻率</b></p><p>  顯示方式:STN、半透、正顯</p><p>  驅(qū)動(dòng)方式:1/32DUTY,1/5BIAS</p><p><b>  視角方向:6點(diǎn)</b></p><p>  背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5—1/10</p><p&g

76、t;  通訊方式:串行、并口可選</p><p>  內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負(fù)壓</p><p>  無需片選信號(hào),簡(jiǎn)化軟件設(shè)計(jì)</p><p>  工作溫度: 0℃ - +55℃ ,存儲(chǔ)溫度: -20℃ - +60℃ </p><p>  控制器接口信號(hào)說明:如表3-6,3-7</p><p>  表3-

77、6 RS和R/W的配合選擇決定控制界面的4種模式</p><p><b>  表3-7 E信號(hào)</b></p><p>  忙標(biāo)志:BF。BF標(biāo)志提供內(nèi)部工作情況.BF=1表示模塊在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù).BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。</p><p>  利用STATUS RD 指令,可以將BF讀到

78、DB7總線,從而檢驗(yàn)?zāi)K之工作狀態(tài)。</p><p>  字型產(chǎn)生ROM(CGROM):字型產(chǎn)生ROM(CGROM)提供8192個(gè)此觸發(fā)器是用于模塊屏幕顯示開和關(guān)的控制。DFF=1為開顯示(DISPLAY ON),DDRAM 的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(DISPLAY OFF)。DFF 的狀態(tài)是指令DISPLAY ON/OFF和RST信號(hào)控制的。</p><p>  顯示數(shù)據(jù)

79、RAM(DDRAM):模塊內(nèi)部顯示數(shù)據(jù)RAM提供64×2個(gè)位元組的空間,最多可控制4行16字(64個(gè)字)的中文字型顯示,當(dāng)寫入顯示數(shù)據(jù)RAM時(shí),可分別顯示CGROM與CGRAM的字型;此模塊可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫入的編碼選擇,在0000H—0006H的編碼中(其代碼分別是0000、0002、0004、0006共4個(gè))將選擇CGRA

80、M的自定義字型,02H—7FH的編碼中將選擇半角英數(shù)字的字型,至于A1以上的編碼將自動(dòng)的結(jié)合下一個(gè)位元組,組成兩個(gè)位元組的編碼形成中文字型的編碼BIG5(A140—D75F),GB(A1A0-F7FFH)。 </p><p>  字型產(chǎn)生RAM(CGRAM):字型產(chǎn)生RAM提供圖象定義(造字)功能, 可以提供四組16×16點(diǎn)的自定義圖象空間,使用者可以將內(nèi)部字型沒有提供的圖象字型自行定義到CGRAM

81、中,便可和CGROM中的定義一樣地通過DDRAM顯示在屏幕中。</p><p>  地址計(jì)數(shù)器AC:地址計(jì)數(shù)器是用來貯存DDRAM/CGRAM之一的地址,它可由設(shè)定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時(shí),地址計(jì)數(shù)器的值就會(huì)自動(dòng)加一,當(dāng)RS為“0”時(shí)而R/W為“1”時(shí),地址計(jì)數(shù)器的值會(huì)被讀取到DB6——DB0中。</p><p>  光標(biāo)/閃爍控制電路:此模塊提供

82、硬體光標(biāo)及閃爍控制電路,由地址計(jì)數(shù)器的值來指定DDRAM中的光標(biāo)或閃爍位置。</p><p>  3.5 鍵盤輸入模塊</p><p>  一般具有人機(jī)對(duì)話的單片機(jī)系統(tǒng)少不了會(huì)有鍵盤。本設(shè)計(jì)采用三個(gè)按鍵,最佳的接口方案是獨(dú)立式接法,即每一個(gè)I/O口上只接一個(gè)按鍵,按鍵的另一端接地。</p><p>  獨(dú)立式鍵盤的實(shí)現(xiàn)方法是利用單片機(jī)I/O口讀取口的電平高低來判斷是

83、否有鍵按下。我們將按鍵的一端接地,另一端接一個(gè)I/O口,程序開始時(shí)將此I/O口置于高電平,平時(shí)無按鍵按下時(shí)I/O口保護(hù)高電平。當(dāng)有鍵按下時(shí),此I/O口與地短路迫使I/O口為低電平。按鍵釋放后,與單片機(jī)連接的上拉電阻使I/O口仍然保持高電平。本設(shè)計(jì)所要做的就是在程序中查詢此I/O口的電平狀態(tài)就可以了解是否有按鍵動(dòng)作了。</p><p>  值得注意的是,本設(shè)計(jì)在用單片機(jī)對(duì)鍵盤處理的時(shí)候涉及到了一個(gè)重要的過程,那就是

84、鍵盤的去抖動(dòng)。這里說的抖動(dòng)是機(jī)械的抖動(dòng),是當(dāng)鍵盤在未按到按下的臨界區(qū)產(chǎn)生的電平不穩(wěn)定正常現(xiàn)象,并不是我們?cè)诎存I時(shí)通過注意可以避免的。這種抖動(dòng)一般在10~200毫秒之間,這種不穩(wěn)定電平的抖動(dòng)時(shí)間對(duì)于人來說太快了,而對(duì)于時(shí)鐘是微秒級(jí)的單片機(jī)而言則是漫長(zhǎng)的。為了提高系統(tǒng)的穩(wěn)定性,必須去除或避開它。此處我采用軟件去抖動(dòng),實(shí)現(xiàn)方法是先查詢按鍵當(dāng)有低電平出現(xiàn)時(shí)立即延時(shí)10~200毫秒以避開抖動(dòng),延時(shí)結(jié)束再讀一次I/O口的值。</p>

85、<p>  按鍵分工,從左至右依次為1、2、3號(hào)按鍵,一號(hào)鍵模式鍵,二號(hào)三號(hào)鍵為加減鍵。</p><p>  圖3.7 鍵盤接口電路</p><p>  4 太陽(yáng)能熱水器控制系統(tǒng)軟件設(shè)計(jì)</p><p>  4.1 KEIL uVISION 3軟件環(huán)境</p><p>  單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,本系統(tǒng)的軟件編程

86、設(shè)計(jì)是在Keil軟件環(huán)境中完成的。我們寫的C語(yǔ)言、匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣

87、布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果使用C語(yǔ)言編程,那么Keil幾乎就是不二之選。即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令人事半功倍。</p><p>

88、;  Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語(yǔ)言后再使用C來開發(fā),體會(huì)更加深刻。 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成

89、的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。</p><p>  4.2 太陽(yáng)能熱水器控制系統(tǒng)軟件設(shè)計(jì)流程圖</p><p>  本課題設(shè)計(jì)的太陽(yáng)能熱水器控制系統(tǒng)的軟件程序設(shè)計(jì)主要由(1)初始化程序,(2)掃描按鍵程序,(3)按鍵處理子程序,(4)讀取水位信息、水箱溫度和時(shí)間程序,(6)調(diào)用顯示子程序,六個(gè)部分組成。系統(tǒng)總體流程圖如圖3.1所示。</p>

90、<p>  圖4.1 系統(tǒng)總體流程圖</p><p>  4.3 太陽(yáng)能熱水器控制系統(tǒng)軟件功能的實(shí)施</p><p>  4.3.1 初始化程序</p><p>  太陽(yáng)能熱水器控制系統(tǒng)在接通電源后,首先要對(duì)系統(tǒng)進(jìn)行初始化。初始化的過程包括啟動(dòng)DS1302,啟動(dòng)12864,對(duì)12864進(jìn)行清屏。初始化流程圖如下:</p><p>

91、;  void start(void) //初始化函數(shù)</p><p><b>  {</b></p><p>  unsigned char i;</p><p>  set_time(0x8e,0x00); //取消寫保護(hù)</p><p>  set_time(0x80,0x00);

92、 //啟動(dòng)時(shí)鐘</p><p>  set_time(0x84,0x00); //設(shè)置24小時(shí)模式</p><p>  set_time(0x90,0xa5); //時(shí)鐘時(shí)鐘充電模式</p><p>  set_time(0x8e,0x80); //啟動(dòng)寫保護(hù)</p><p><b

93、>  RES1=0;</b></p><p><b>  RES1=1;</b></p><p>  dis_write_cmd(0xaf); //啟動(dòng)12864</p><p>  clean(); //清屏</p><p>  4.3.2 按鍵檢測(cè)及處理程序&l

94、t;/p><p>  在太陽(yáng)能熱水器初始化完成之后,系統(tǒng)便會(huì)進(jìn)入鍵盤掃描狀態(tài),此狀態(tài)下,主控芯片AT89S52會(huì)不斷掃描是否有鍵按下,即等待用戶輸入。在檢測(cè)到有鍵按下后,根據(jù)按下的次數(shù)(按一下設(shè)置“分”,按兩下設(shè)置“時(shí)”,三下設(shè)置“星期”,以此類推),在運(yùn)用“加”“減”分別設(shè)置。</p><p>  按鍵檢測(cè)及處理流程圖如圖所示:(以按下“一下”為例)</p><p>

95、  圖4.3 按鍵檢測(cè)及處理程序流程圖</p><p>  按鍵檢測(cè)及處理程序清單如下:</p><p>  while(1) //總循環(huán)</p><p><b>  {</b></p><p>  while(state_button==0) //狀態(tài)0循環(huán)

96、</p><p><b>  {</b></p><p>  … //無鍵按下的處理程序</p><p><b>  …</b></p><p><b>  }</b></p><p>  whil

97、e(state_button!=0) //狀態(tài)非0循環(huán)</p><p><b>  {</b></p><p>  set_time(0x80,0x80); //啟動(dòng)時(shí)鐘 </p><p>  set_time(0x8e,0x00); //啟動(dòng)保護(hù)位</p><p&g

98、t;  if(state_button==1) //狀態(tài)1設(shè)置分</p><p><b>  {</b></p><p>  if(time_jia==1) //判斷按鈕加是否按下過</p><p><b>  {</b></p><p>  

99、minute0++; //分操作 下面所有的加減同理</p><p>  if(minute0>9) // minute0最大為9,minute1最大為5</p><p><b>  {</b></p><p>  minute1++;</p><p>  min

100、ute0=0;</p><p>  if(minute1>5)</p><p><b>  {</b></p><p>  minute1=0;</p><p><b>  }</b></p><p><b>  }</b></p>

101、<p>  time_jia=0; //按鍵清零 表示已經(jīng)執(zhí)行完</p><p><b>  }</b></p><p>  if(time_jian==1)</p><p><b>  {</b></p><p>  minute0--;</p>

102、<p>  if(minute0<0)</p><p><b>  {</b></p><p>  minute1--;</p><p>  minute0=9;</p><p>  if(minute1<0)</p><p><b>  {</b>

103、</p><p>  minute1=5;</p><p><b>  }</b></p><p><b>  }</b></p><p>  time_jian=0;</p><p><b>  }</b></p><p>&l

104、t;b>  }</b></p><p>  4.3.3 讀取溫度的程序</p><p>  本設(shè)計(jì)采用while循環(huán),在沒有鍵按下時(shí),跳出while循環(huán),進(jìn)行下邊的語(yǔ)句,即讀取溫度,并將其顯示在12864上。在讀取的過程中,要注意溫度的正負(fù)。</p><p>  讀取溫度的流程圖如圖3.4所示:</p><p>  圖4.4

105、 讀取溫度流程圖</p><p><b>  讀取溫度程序清單:</b></p><p>  wendu_reset(); //溫度復(fù)位</p><p>  wendu_write(0xcc); //跳過ROM搜索命令</p><p>  wendu_write(0x44);

106、//啟動(dòng)一次轉(zhuǎn)換</p><p>  wendu_reset(); //復(fù)位</p><p>  wendu_write(0xcc); //跳過ROM搜索命令</p><p>  wendu_write(0xbe); //發(fā)送讀命令</p><p>  a=wendu_read();

107、 //讀高字節(jié)8位</p><p>  b=wendu_read(); //讀低字節(jié)8位</p><p>  pn=b&0x80; //判斷溫度正負(fù)</p><p>  if(pn==0) //如果溫度為正</p><p><b>  {<

108、;/b></p><p>  t=((b*256)+a)/16; //直接轉(zhuǎn)化為十進(jìn)制數(shù)</p><p><b>  }</b></p><p>  if(pn==0x80) //如果溫度為負(fù)</p><p><b>  {</b></p>&

109、lt;p>  a=~a; //將數(shù)據(jù)取反</p><p><b>  b=~b;</b></p><p>  c=a+1; //低位加1</p><p>  if(c==0x00) //當(dāng)?shù)臀粸?55時(shí),加1后為0,這時(shí)需進(jìn)位</p>

110、<p>  {b++;} //向高位進(jìn)1</p><p>  t=((b*256)+c)/16; //再進(jìn)行轉(zhuǎn)換十進(jìn)制</p><p>  5太陽(yáng)能熱水器控制系統(tǒng)整體調(diào)試</p><p>  5.1 Proteus仿真環(huán)境</p><p>  本系統(tǒng)的硬件設(shè)計(jì)首先是在Proteus軟件環(huán)

111、境中仿真實(shí)現(xiàn)的。Proteus軟件是來自英國(guó)Labcenter electronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了具有和其它EDA工具一樣的原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是互動(dòng)的。針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試。如果有顯示及輸出,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,還能看到運(yùn)

112、行后輸入輸出的效果。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。 Proteus建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境,尤其重要的是Proteus Lite可以完全免費(fèi),也可以花微不足道的費(fèi)用注冊(cè)達(dá)到更好的效果。</p><p>  Proteus7.1是目前最好的模擬單片機(jī)外圍器件的工具。可以仿真51系列、AVR、PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,

113、馬達(dá),LED,AD/DA,部分SPI器件,部分IIC器件,...)。 其實(shí)Proteus 與 multisim比較類似,只不過它可以仿真MCU! 當(dāng)然,軟件仿真精度有限,而且不可能所有的器件都找得到相應(yīng)的仿真模型,用開發(fā)板和仿真器當(dāng)然是最好選擇,可是初學(xué)者擁有它們的可能性比較小。 使用51系列單片機(jī),不管是用匯編語(yǔ)言還是用C語(yǔ)言編程都要用到keil軟件。 使用keil c51 v7.50 + proteus 7.1 可以像使用仿真器一樣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論