版權(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> 題 目: 多回路智能溫控儀 </p><p> 院 系: 電氣與電子工程學(xué)院 </p><p> 姓 名: </p><p> 指導(dǎo)教師
2、: </p><p> 系 主 任: </p><p> 2014年 6 月 19 日</p><p><b> 多回路智能溫控儀</b></p><p><b> 摘 要
3、</b></p><p> 隨著單片機(jī)技術(shù)的飛速發(fā)展,單片機(jī)在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。本設(shè)計(jì)的多回路溫控儀是應(yīng)用于對(duì)糧庫的溫度控制,糧食是人類生存的必需品,而溫度是保存好糧食的先決條件。糧庫一般較大,測(cè)量點(diǎn)會(huì)很多。因此需要對(duì)多點(diǎn)的溫度進(jìn)行巡回檢測(cè),鑒于此目的,本論文針對(duì)糧倉設(shè)計(jì)了多回路溫控儀。</p><p> 本設(shè)計(jì)采用AT89C51為主控制芯片,以AD590為溫度傳感
4、器,通過ADC0809采集了各個(gè)溫度點(diǎn)的溫度,利用LCD1602液晶顯示器形象直觀的顯示出測(cè)量的溫度值,再通過單片機(jī)對(duì)于電機(jī)及加熱絲的控制將糧倉溫度控制在保存糧食最佳的溫度5到15℃,以實(shí)現(xiàn)多路溫度顯示、報(bào)警、控制等功能。本文在確定法設(shè)計(jì)方案基礎(chǔ)上,著重論述了系統(tǒng)的軟硬件設(shè)計(jì),并且描述了系統(tǒng)電路設(shè)計(jì)、硬件設(shè)計(jì)框圖及所使用各種芯片功能和特性且通過PROTEUS軟件仿真出了該系統(tǒng),本設(shè)計(jì)設(shè)計(jì)簡(jiǎn)單,抗干擾能力強(qiáng),可廣泛的應(yīng)用于各種溫度控制系統(tǒng)
5、。</p><p> 關(guān)鍵詞: AT89C51; AD590; ADC0809; 溫度控制 </p><p> Based On 51 Single-Chip Multi-loop Temperature Controller</p><p><b> Abstract</b></p><p> With the
6、 rapid development of chip technology, the microcontroller in various fields has been widely used. The design of the multi-loop temperature controller is used in temperature control applications for grain storage, food i
7、s a necessity for human survival, and the temperature is a prerequisite for saving good food. Grain generally larger, measuring a number of points will be. Hence the need for multi-point temperature tour detection, in vi
8、ew of this, the thesis granary multi-loop temperatur</p><p> This design uses AT89C51 main control chip to AD590 temperature sensor, temperature collected by ADC0809 each temperature point, the use of visua
9、l image LCD1602 LCD display shows the measured temperature, and then through the microcontroller for motor control of the heating wire Granary optimum temperature control in stored grain temperature , in order to achieve
10、 multi-channel temperature display, alarm and control functions. In this paper, the design is determined on the basis of law, focuses o</p><p> Keywords: AT89C51; AD590; ADC0809; temperature control</p&g
11、t;<p><b> 目錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 第一章 緒論1</b></p><p> 1.1 課題背景1</p><p>
12、 1.2 設(shè)計(jì)的目的和意義1</p><p> 第二章 系統(tǒng)硬件設(shè)計(jì)3</p><p> 2.1 設(shè)計(jì)要求3</p><p> 2.2 方案設(shè)計(jì)3</p><p> 2.3 溫度采集模塊設(shè)計(jì)3</p><p> 2.3.1 溫度傳感器的選擇3</p><p> 2.3.
13、2 AD590簡(jiǎn)介4</p><p> 2.4 AD轉(zhuǎn)換模塊設(shè)計(jì)5</p><p> 2.4.1 A/D模數(shù)轉(zhuǎn)換電路芯的選擇5</p><p> 2.4.2 ADC0809簡(jiǎn)介5</p><p> 2.5 單片機(jī)部分設(shè)計(jì)7</p><p> 2.5.1 單片機(jī)AT89C51簡(jiǎn)介7</p>
14、;<p> 2.5.2 單片機(jī)最小系統(tǒng)10</p><p> 2.6 顯示電路設(shè)計(jì)12</p><p> 2.6.1 LCD1602簡(jiǎn)介12</p><p> 2.6.2 顯示按鍵電路設(shè)計(jì)14</p><p> 2.7 報(bào)警模塊硬件設(shè)計(jì)15</p><p> 2.8 控制單元設(shè)計(jì)1
15、5</p><p> 2.9 串行口上位機(jī)通信模塊設(shè)計(jì)16</p><p> 2.9.1 RS-232C標(biāo)準(zhǔn)16</p><p> 2.9.2 通過MAX232芯片與電腦串行口連接17</p><p> 第三章 系統(tǒng)軟件設(shè)計(jì)19</p><p> 3.1 AD轉(zhuǎn)換模塊軟件設(shè)計(jì)20</p>
16、<p> 3.2 單片機(jī)軟件設(shè)計(jì)21</p><p> 3.3 顯示模塊軟件設(shè)計(jì)21</p><p><b> 第四章 仿真24</b></p><p> 4.1 仿真軟件簡(jiǎn)介25</p><p> 4.1.1 Keil軟件簡(jiǎn)介25</p><p> 4.1.2
17、 PROTEUS軟件簡(jiǎn)介25</p><p> 4.2 Keil與PROTEUS聯(lián)合仿真26</p><p><b> 結(jié)論28</b></p><p><b> 致謝29</b></p><p><b> 參考文獻(xiàn)30</b></p><
18、p><b> 附錄A31</b></p><p> 附錄B.................................................................................................................32</p><p> 附錄C.....................
19、............................................................................................40</p><p> 附錄D....................................................................................................
20、.............53</p><p><b> 第一章 緒論</b></p><p><b> 1.1課題背景</b></p><p> 溫度的測(cè)量和控制在日常生活和工業(yè)領(lǐng)域中具有廣泛的應(yīng)用,隨著人們生活水平的大幅提高,對(duì)溫度測(cè)量控制的精度和范圍也有著更高的要求。傳統(tǒng)的測(cè)溫方法是針對(duì)單個(gè)溫度點(diǎn)的單點(diǎn)檢測(cè)、單
21、點(diǎn)控制。如果需要對(duì)多個(gè)點(diǎn)進(jìn)行檢測(cè)和控制,一般的方法是在每一個(gè)測(cè)溫點(diǎn)安放一個(gè)溫度敏感元件,如鉑電阻(或者是采用集成溫度傳感器如AD590)和相應(yīng)的外圍電路,最后通過A /D轉(zhuǎn)換器將采集到的溫度值送入單片機(jī)等控制單元,經(jīng)過運(yùn)算后再通過電機(jī)改變現(xiàn)場(chǎng)的溫度,近年來,越來越多的場(chǎng)合需要對(duì)多點(diǎn)的溫度進(jìn)行巡回檢測(cè)和控制。</p><p> 1.2 設(shè)計(jì)的目的和意義</p><p> 溫度控制系統(tǒng)在國
22、內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進(jìn)國家相比有著較大差距。目前,我國在這方面總體技術(shù)水平處于20世紀(jì)80年代中后期水平,成熟產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主。它只能適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后、復(fù)雜、時(shí)變溫度系統(tǒng)控制。而適應(yīng)于較高控制場(chǎng)合的智能化、自適應(yīng)控制儀表,國內(nèi)技術(shù)還不十分成熟,形成商品化并在儀表控制參數(shù)的自整定方面,國外已有較多的成熟產(chǎn)品。
23、但由于國外技術(shù)保密及我國開發(fā)工作的滯后,還沒有開發(fā)出性能可靠的自整定軟件??刂茀?shù)大多靠人工經(jīng)驗(yàn)及現(xiàn)場(chǎng)調(diào)試確定。</p><p> 國外溫度控制系統(tǒng)發(fā)展迅速,并在智能化、自適應(yīng)、參數(shù)自整定等方面取得成果。日本、美國、德國、瑞典等技術(shù)領(lǐng)先,都生產(chǎn)出了一批商品化的、性能優(yōu)異的溫度控制器及儀器儀表,并在各行業(yè)廣泛應(yīng)用。它們主要具有如下的特點(diǎn):一是適應(yīng)于大慣性、大滯后等復(fù)雜溫度控制系統(tǒng)的控制;二是能夠適應(yīng)于受控系統(tǒng)數(shù)學(xué)
24、模型難以建立的溫度控制系統(tǒng)的控制;三是能夠適應(yīng)于受控系統(tǒng)過程復(fù)雜、參數(shù)時(shí)變的溫度控制系統(tǒng)的控制;四是溫度控制系統(tǒng)普遍采用自適應(yīng)控制、自校正控制、模糊控制、人工智能等理論及計(jì)算機(jī)技術(shù),運(yùn)用先進(jìn)的算法,適應(yīng)的范圍廣泛;五是溫控器普遍具有參數(shù)自整定功能。借助計(jì)算機(jī)軟件技術(shù),溫控器具有對(duì)控制對(duì)象控制參數(shù)及特性進(jìn)行自動(dòng)整定的功能。有的還具有自學(xué)習(xí)功能,能夠根據(jù)歷史經(jīng)驗(yàn)及控制對(duì)象的變化情況,自動(dòng)調(diào)整相關(guān)控制參數(shù),以保證控制效果的最優(yōu)化;六是具有控制
25、精度高、抗干擾力強(qiáng)、魯棒性好的特點(diǎn)。</p><p> 目前,國內(nèi)外溫度控制系統(tǒng)及儀表正朝著高精度、智能化、小型化等方面快速發(fā)展。本課題設(shè)計(jì)的系統(tǒng)符合當(dāng)代科學(xué)發(fā)展的趨勢(shì),能夠滿足現(xiàn)代生產(chǎn)生活的需要,其測(cè)溫效率高,具有較強(qiáng)的穩(wěn)定性和靈活性。方便快捷的實(shí)現(xiàn)了多路溫度采集并顯示,該系統(tǒng)用液晶顯示器節(jié)省了空間且顯示效果好,報(bào)警電路同時(shí)包含了蜂鳴器和提示燈,能更好的引起操作者的警覺,在實(shí)際生產(chǎn)中能夠降低由于溫度超過額定范
26、圍引發(fā)的事故,有良好的實(shí)用性,在國內(nèi)外都具備良好的應(yīng)用前景。</p><p> 第二章 系統(tǒng)硬件設(shè)計(jì)</p><p><b> 2.1 設(shè)計(jì)要求</b></p><p> 由以上背景和研究目的,總結(jié)出以下設(shè)計(jì)內(nèi)容:</p><p> 1. 能夠?qū)崟r(shí)的測(cè)量溫度并顯示;</p><p> 2
27、. 溫度控制范圍5-15℃;</p><p> 3. 測(cè)溫精度±0.5℃;</p><p> 4. 精確地控制電機(jī)和加熱絲控制溫度。</p><p><b> 2.2 方案設(shè)計(jì)</b></p><p> 方案:該方案由單片機(jī)、模擬溫度傳感器AD590、運(yùn)算放大器、AD轉(zhuǎn)換器ADC0808、LCD顯示電路
28、、報(bào)警器、控制電路組成。該方案采用模擬溫度傳感器AD590作為測(cè)溫元件,傳感器測(cè)量的溫度變化轉(zhuǎn)換成電流的變化,再通過電路轉(zhuǎn)換成電壓的變化,使用運(yùn)算放大器交給信號(hào)進(jìn)行適當(dāng)?shù)姆糯螅ㄓ捎赑ROTEUS中沒有AD590,本設(shè)計(jì)中用滑動(dòng)變阻器模擬AD590和放大器),最后通過模數(shù)轉(zhuǎn)換器將模擬模擬信號(hào)轉(zhuǎn)換成數(shù)據(jù)信號(hào),傳給單片機(jī),單片機(jī)將溫度值進(jìn)行處理之后用LCD顯示,當(dāng)溫度值超過設(shè)定值時(shí)開始報(bào)警,再通過單片機(jī)對(duì)溫度控制系統(tǒng)進(jìn)行控制是溫度控制在規(guī)定的
29、范圍。</p><p> 系統(tǒng)框圖如下圖2-1:</p><p> 圖2-1 系統(tǒng)總體框圖</p><p> 2.3 溫度采集模塊設(shè)計(jì)</p><p> 2.3.1 溫度傳感器的選擇</p><p> 要進(jìn)行一個(gè)具體的測(cè)量工作,首先要考慮用何種原理的傳感器,這需要分析多方面的因素之后才能確定。因?yàn)?,即使是測(cè)量
30、同一物理量,也有多種原理的傳感器可以選用,哪一種原理的傳感器更為適合,則需要根據(jù)被測(cè)量的特點(diǎn)和傳感器的使用條件考慮以下具體問題:量程的大小,被測(cè)位置對(duì)傳感器體積的要求,測(cè)量方式是接觸式的還是非接觸式的,信號(hào)的引出方法,傳感器的來源,國產(chǎn)還是進(jìn)口,價(jià)格是否能承受。</p><p> 在考慮上述問題之后就能確定選用何種類型的傳感器,然后再考慮傳感器的具體性能指標(biāo)。傳感器的具體指標(biāo)有靈敏度,頻率響應(yīng)特性,線性范圍,穩(wěn)
31、定性,精度等。這些參數(shù)并不是要求越高越好,因?yàn)橐笤礁卟粌H會(huì)帶來成本的提高,也會(huì)帶來信號(hào)處理的難度,噪音等問題。在滿足檢測(cè)系統(tǒng)要求的前提下我們一般選擇價(jià)格便宜和簡(jiǎn)單的傳感器。</p><p> 由于DS18B20在價(jià)格上較AD590較貴,本設(shè)計(jì)要用到八個(gè)所以在性價(jià)比上不高且本設(shè)計(jì)較簡(jiǎn)單(AD590須被用于150℃以下的溫度傳感應(yīng)用中,這是目前常規(guī)電子溫度傳感器的工作范圍。單片集成電路的天生低成本,加上無需外圍支
32、持電路,使得AD590成為許多溫度測(cè)量場(chǎng)合最具吸引力的選擇方案)且線性電路,熱阻測(cè)量電路以及冷接點(diǎn)補(bǔ)償?shù)鹊?,在AD590應(yīng)用中都不再需要?! 〕藴囟葴y(cè)量以外,AD590的應(yīng)用還包括溫度補(bǔ)償﹑分立器件校正﹑恒定誤差的絕對(duì)溫度比例﹑流速測(cè)量﹑液體水平檢測(cè)和風(fēng)速測(cè)定。AD590提供可選的芯片封裝,適用于混合電路以及受保護(hù)環(huán)境中的快速溫度測(cè)量?! D590在遙感應(yīng)用中尤其有效。因其高阻抗電流輸出,器件對(duì)遠(yuǎn)程傳輸?shù)膲航挡⒉幻舾?。任何良好絕
33、緣的雙絞線都足以應(yīng)付距離接收電路數(shù)百英尺以外的操作。AD590的輸出特性也讓其輕松實(shí)現(xiàn)復(fù)用:電流可由CMOS多路復(fù)用器選擇,而供壓則可被邏輯門輸出任意切換,所以我們選擇AD590做溫度傳感器。</p><p> 2.3.2 AD590簡(jiǎn)介</p><p> AD590溫度傳感器是一種已經(jīng)IC化的溫度傳感器,它會(huì)將溫度轉(zhuǎn)換為電流。其規(guī)格介紹如下:溫度每增加1℃,它會(huì)增加1μA輸出電流???/p>
34、量測(cè)范圍-55℃至150℃。 供應(yīng)電壓范圍+4V至30V[1]。</p><p> AD590的輸出電流值說明如下:其輸出電流是以絕對(duì)溫度零度(-273℃)為基準(zhǔn),每增加1℃,它會(huì)增加1μA輸出電流,因此在室溫25℃時(shí),其輸出電流Io=(273+25)=298μA[1]。</p><p> 由于PROTEUS中沒有AD590,故在仿真時(shí)用滑動(dòng)變阻器模擬AD590和放大器。</p
35、><p> 由于AD590輸出的電流過小,因此需要放大電路對(duì)電壓進(jìn)行放大,還需在放大電路與AD590間添加電壓跟隨器起緩沖、隔離、提高帶載能力的作用。</p><p> 溫度采集模塊電路連接圖如下圖2-2:</p><p> 圖2-2 溫度采集電路</p><p> 2.4 AD轉(zhuǎn)換模塊設(shè)計(jì)</p><p> 2
36、.4.1 AD模數(shù)轉(zhuǎn)換電路芯的選擇</p><p> 盡管ADC芯片的品種、型號(hào)很多,其內(nèi)部功能強(qiáng)弱、轉(zhuǎn)換速度快慢、轉(zhuǎn)換精度高低有很大差別,但從用戶最關(guān)心的外特性看,無論哪種芯片,都必不可少地要包括以下四種基本信號(hào)引腳端:模擬信號(hào)輸入端(單極性或雙極性);數(shù)字量輸出端(并行或串行);轉(zhuǎn)換啟動(dòng)信號(hào)輸入端;轉(zhuǎn)換結(jié)束信號(hào)輸出端。本次課程設(shè)計(jì)選用的是ADC0808或ADC0809芯片。</p><p
37、> ADC0808和ADC0809除精度略有差別外(前者精度為8位、后者精度為7位),其余各方面完全相同。它們都是CMOS器件,不僅包括一個(gè)8位的逐次逼近型的ADC部分,而且還提供一個(gè)8通道的模擬多路開關(guān)和通道尋址邏輯,因而有理由把它作為簡(jiǎn)單的“數(shù)據(jù)采集系統(tǒng)” 。利用它可直接輸入8個(gè)單端的模擬信號(hào)分時(shí)進(jìn)行A/D轉(zhuǎn)換,在多點(diǎn)巡回檢測(cè)和過程控制、運(yùn)動(dòng)控制中應(yīng)用十分廣泛。</p><p> 2.4.2 ADC
38、0809簡(jiǎn)介</p><p> ADC0809外部引腳圖如下圖2-3所示:</p><p> 外部引腳定義分述如下:</p><p> 1. IN0~I(xiàn)N7——8路模擬輸入,通過3根地址譯碼線ADDA、ADDB、ADDC來選通一路。</p><p> 2. D7~D0——A/D轉(zhuǎn)換后的數(shù)據(jù)輸出端,為三態(tài)可控輸出,故可直接和微處理器
39、數(shù)據(jù)線連接。8位排列順序是D7為最高位,D0為最低位。</p><p> 圖2-3 ADC0809引腳</p><p> 3. ADDA、ADDB、ADDC——模擬通道選擇地址信號(hào),ADDA為低位,ADDC為高位。</p><p> 4. VR(+)、VR(-)——正、負(fù)參考電壓輸入端,用于提供片內(nèi)DAC電阻網(wǎng)絡(luò)的基準(zhǔn)電壓。在單極性輸入時(shí),VR(+)=5V,
40、VR(-)=0V;雙極性輸入時(shí),VR(+)、VR(-)分別接正、負(fù)極性的參考電壓。</p><p> 5. ALE——地址鎖存允許信號(hào),高電平有效。當(dāng)此信號(hào)有效時(shí),A、B、C三位地址信號(hào)被鎖存,譯碼選通對(duì)應(yīng)模擬通道。在使用時(shí),該信號(hào)常和START信號(hào)連在一起,以便同時(shí)鎖存通道地址和啟動(dòng)A/D轉(zhuǎn)換。</p><p> 6. START——A/D轉(zhuǎn)換啟動(dòng)信號(hào),正脈沖有效。加于該端的脈沖的上
41、升沿使逐次逼近寄存器清零,下降沿開始A/D轉(zhuǎn)換。如正在進(jìn)行轉(zhuǎn)換時(shí)又接到新的啟動(dòng)脈沖,則原來的轉(zhuǎn)換進(jìn)程被中止,重新從頭開始轉(zhuǎn)換。</p><p> 7. EOC——轉(zhuǎn)換結(jié)束信號(hào),高電平有效。該信號(hào)在A/D轉(zhuǎn)換過程中為低電平,其余時(shí)間為高電平。該信號(hào)可作為被CPU查詢的狀態(tài)信號(hào),也可作為對(duì)CPU的中斷請(qǐng)求信號(hào)。在需要對(duì)某個(gè)模擬量不斷采樣、轉(zhuǎn)換的情況下,EOC也可作為啟動(dòng)信號(hào)反饋接到START端,但在剛加電時(shí)需由外電
42、路第一次啟動(dòng)。</p><p> 8. OE——輸出允許信號(hào),高電平有效。當(dāng)微處理器送出該信號(hào)時(shí),ADC0808/0809的輸出三態(tài)門被打開,使轉(zhuǎn)換結(jié)果通過數(shù)據(jù)總線被讀走。在中斷工作方式下,該信號(hào)往往是CPU發(fā)出的中斷請(qǐng)求響應(yīng)信號(hào)[2]。</p><p> ADC0809與單片機(jī)接口電路如圖2-4所示。</p><p> 圖2-4 ADC0809與單片機(jī)接口
43、電路</p><p> 2.5 單片機(jī)部分設(shè)計(jì)</p><p> 2.5.1 單片機(jī)AT89C51簡(jiǎn)介</p><p> AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片,內(nèi)含4Kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),
44、兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域,該芯片外形結(jié)構(gòu)及引腳如圖2-5所示[4]。</p><p> AT89C51提供4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。
45、同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。</p><p> 圖2-5 AT89C51外部引腳</p><p> AT89C51單片機(jī)主要性能參數(shù)為:</p>&
46、lt;p> 1. 與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;</p><p> 2. 4K字節(jié)可重擦寫Flash閃速存儲(chǔ)器;</p><p> 3. 1000次擦寫周期;</p><p> 4. 全靜態(tài)操作:0Hz — 24Hz;</p><p> 2. 三級(jí)加密程序存儲(chǔ)器;</p><p> 6. 128
47、×8字節(jié)內(nèi)部RAM;</p><p> 7. 32個(gè)可編程I/O口</p><p> 8. 2個(gè)16位定時(shí)/計(jì)數(shù)器;</p><p><b> 9. 6個(gè)中斷源;</b></p><p> 10. 可編程串行UART通道;</p><p> 11. 低功耗空閑和掉電模式。<
48、;/p><p> AT9C51外部引腳說明:</p><p> 1.Vcc:電源電壓。</p><p><b> 2.GND:地。</b></p><p> 3.P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為
49、高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問</p><p> 期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p> 4.P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口
50、寫“1”,通過內(nèi)部的上拉電阻把端口拉倒高電平,此時(shí)可做輸入口。做輸入口輸入時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流IIL。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。</p><p> 5.P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路,對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉倒高電平,此時(shí)可做輸入口,做輸入口使
51、用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸入一個(gè)電流IIL。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8為地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@R1指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器SFR區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。Flash編程或校驗(yàn)時(shí),P2亦接受高位地址和其它控制信號(hào)。</p><p>
52、6.P3口:P3口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流IIL。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下表2-1所示。</p><p> 7.RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將
53、使單片機(jī)復(fù)位。</p><p> 8.ALE:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖可用于鎖存地址的低八位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8E
54、H單元的D0位置位,可禁止ALE操作。該位置置位后,只有一條MOVX和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無效。</p><p> 9.PSEN:程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)不出現(xiàn)。</p>
55、<p> 表2-1 P3口第二功能</p><p> 10.EA/VPP:外部訪問允許。欲使CPU僅訪問外部數(shù)據(jù)存儲(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)然這必須是該器件使
56、用12V編程電壓Vpp。</p><p> 11.XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p> 12.XTAL2:振蕩器反相放大器的輸入端[5]。</p><p> 2.5.2 單片機(jī)最小系統(tǒng)</p><p> AT89C51是一種低損耗、高性能、CMOS八位微處理器,片內(nèi)有4K字節(jié)的在線可重復(fù)編程快擦寫程
57、序存儲(chǔ)器,能重復(fù)寫入/擦除100次,數(shù)據(jù)保存時(shí)間為十年。它與MCS-51系列單片機(jī)在引腳和指令系統(tǒng)上完全兼容,不僅可以完全代替MCS-51系列單片機(jī),而且能使系統(tǒng)具備許多MCS-51系列產(chǎn)品沒有的功能。</p><p> AT89C51可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低了系統(tǒng)成本。只要程序長度小于4K,四個(gè)I/O口全部提供給用戶??捎?V電壓編程,而且擦寫時(shí)間僅需10 ms,僅
58、為8751/87C51的擦除時(shí)間的百分之一,與8751/87C51的12V電壓擦寫相比,不易損壞器件,沒有兩種電源的要求,改寫時(shí)不必拔下芯片,適合許多嵌入式控制領(lǐng)域。工作電壓范圍寬(2.7V-6V),全靜態(tài)工作,工作頻率寬,在0Hz-24Hz內(nèi),工作頻率比8751/87C51等51系列的6MHz-12MHz更具靈活性,系統(tǒng)能快能慢。AT89C51提供三級(jí)程序存儲(chǔ)器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。&l
59、t;/p><p> 51系列單片機(jī)片內(nèi)含有一個(gè)的反向放大器,通過XTAL1、XTAL2外接反饋元件的晶體便成為自激振蕩器,晶體成感性,與C1、C2構(gòu)成并聯(lián)震蕩電路,振蕩器的振蕩頻率主要取決于晶體;電容的值則是微調(diào)作用,通常取30pF左右。</p><p> 振蕩器輸出的震蕩脈沖經(jīng)2分頻成為內(nèi)部時(shí)鐘信號(hào),用作單片機(jī)內(nèi)部各功能不見按時(shí)序協(xié)調(diào)工作的控制信號(hào)。其周期也成為時(shí)鐘周期(或則狀態(tài)周期)。
60、6個(gè)時(shí)鐘周期構(gòu)成一個(gè)機(jī)器周期。指令周期以機(jī)器周期為單位。若采用6MHz晶振,則單指令周期和雙指令周期執(zhí)行時(shí)間分別為2μs和4μs,ALE引腳輸出的脈沖周期為1μs。</p><p> 為確保系統(tǒng)中電路穩(wěn)定可靠的運(yùn)行,復(fù)位電路是必不可少的一部分。復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路工作需要供電電源為5V±5%,即4.75-5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電
61、時(shí),只有當(dāng)VCC超過4.75V以及晶休振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)撤除,微機(jī)電路開始工作。微機(jī)電路在運(yùn)行中受到干擾后,容易出現(xiàn)CPU程序“跑飛”盲目運(yùn)行甚至出現(xiàn)死機(jī)現(xiàn)象。此時(shí)復(fù)位信號(hào)有效,使微機(jī)系統(tǒng)重新恢復(fù)正常運(yùn)行。這種監(jiān)視CPU運(yùn)行的電路稱為Watchdog電路。</p><p> 51系列單片機(jī)的復(fù)位(RST)引腳只要出現(xiàn)10ms以上的高電平,單片機(jī)就會(huì)實(shí)現(xiàn)復(fù)位,復(fù)位后程序的入口地址為0000H,單片機(jī)工作在
62、寄存器0組,堆棧在片內(nèi)RAM的08H單元建立,P0~P3口輸出全為1,中斷系統(tǒng)禁止工作。</p><p> 51系列單片機(jī)系統(tǒng)常常有上電復(fù)位和操作復(fù)位兩種方法。所謂上電復(fù)位,是指計(jì)算機(jī)上電瞬間,要在RST引腳上出現(xiàn)寬度大于10ms三萬正脈沖,使計(jì)算機(jī)進(jìn)入復(fù)位狀態(tài),復(fù)位靠外部電路實(shí)現(xiàn),上電時(shí)+5V電源經(jīng)R對(duì)C3充電,C3上電壓建立的過程就是負(fù)脈沖的寬度,經(jīng)倒相后,RST上出現(xiàn)正脈沖使單片機(jī)實(shí)現(xiàn)上電復(fù)位。按鈕按下同
63、樣使RST實(shí)現(xiàn)高電平,實(shí)現(xiàn)了操作復(fù)位。</p><p> 對(duì)MCS-51系列的單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路、復(fù)位電路等,最小系統(tǒng)是保證單片機(jī)正常運(yùn)行所必須的外圍電路設(shè)計(jì),如果沒有這部分電路,單片機(jī)則不能正常工作。晶振電路為單片機(jī)提供最基本的基準(zhǔn)時(shí)序。時(shí)鐘又是時(shí)序的基礎(chǔ),時(shí)鐘可以由兩種方式產(chǎn)生,即內(nèi)部方式和外部方式。本系統(tǒng)采用內(nèi)部方式。MCS-51系列單片機(jī)允許的振蕩頻率可在1.2—24MH
64、z之間選擇,一般選為11.0592MHz。電容C1、C2的取值對(duì)振蕩頻率的穩(wěn)定性、大小及振蕩電路的起振速度有一定的影響,可在20—100pF之間選擇,電容的典型值30pF。MCS-51系列單片機(jī)通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。通常因?yàn)橄到y(tǒng)運(yùn)行的需要,常常需要人工復(fù)位,只需要將一個(gè)常開按鈕并聯(lián)于上電復(fù)位電路。當(dāng)晶體振蕩頻率為12MHz時(shí),RC的典型值為C=10μF,R=8.2kΩ。最小系統(tǒng)電路如下圖2-6所示[6]。</p&
65、gt;<p> 圖2-6 單片機(jī)最小系統(tǒng)</p><p><b> 2.6顯示電路設(shè)計(jì)</b></p><p> 顯示電路本設(shè)計(jì)采用LCD1602作為顯示器件,與采用數(shù)碼管相比,硬件連接和軟件調(diào)試上都由優(yōu)勢(shì),只要把要顯示的內(nèi)容放進(jìn)液晶模塊的顯示存儲(chǔ)器里面就可以直觀的顯示出指定的內(nèi)容,操作方便,且本設(shè)計(jì)是要做八回路若應(yīng)用數(shù)碼管LED顯示的話數(shù)量要求過
66、大,成本過高,故綜合以上因素我們選擇LCD作為顯示器件。</p><p> 2.6.1 LCD1602簡(jiǎn)介</p><p> 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16×1,16×2,20×2和40×2行等的模塊。</p><p> LCD1602主要技術(shù)參數(shù):</p>
67、<p> 顯示容量為16×2個(gè)字符;</p><p> 芯片工作電壓為4.5~5.5V;</p><p> 工作電流為2.0mA(5.0V);</p><p> 模塊最佳工作電壓為5.0V;</p><p> LCD1602各引腳接口說明如下表所示:</p><p> 表2-2 LC
68、D1602引腳說明</p><p> 1. VSS為地電源。</p><p> 2. VDD接5V正電源。</p><p> 3. VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10k的電位器調(diào)整對(duì)比度。</p><p> 4. RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄
69、存器、低電平時(shí)選擇指令寄存器。</p><p> 5. R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。</p><p> 6. E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。</p><p>
70、 7. D0~D7為8位雙向數(shù)據(jù)線。</p><p> 8. 第15引腳為背光源正極。</p><p> 9. 第16引腳為背光源負(fù)極[8]。</p><p> LCD1602與單片機(jī)的連接圖,如下圖2-7所示:</p><p> 圖2-7 LCD1602與單片機(jī)連接圖</p><p> 2.6.2 顯示
71、按鍵電路設(shè)計(jì)</p><p> 本設(shè)計(jì)的按鍵電路設(shè)計(jì)比較簡(jiǎn)單,由于是對(duì)糧倉的溫度進(jìn)行控制,報(bào)警的溫度和溫度上下限是確定的,故沒有設(shè)計(jì)過于復(fù)雜的電路,只設(shè)計(jì)了一個(gè)LCD顯示啟動(dòng)電路。如下圖2-8所示在單片機(jī)的P1.1口接了一個(gè)開關(guān)控制LCD顯示的啟停。</p><p> 圖2-8 LCD啟停電路</p><p> 2.7 報(bào)警模塊硬件設(shè)計(jì)</p>
72、<p> 本系統(tǒng)在報(bào)警電路中分別安裝了紅色發(fā)光二極管和蜂鳴器,分別設(shè)置溫度上限為+15℃,溫度下限為0℃。當(dāng)系統(tǒng)正常運(yùn)行時(shí),八路溫度都在限定溫度范圍之內(nèi),連接發(fā)光二極管和蜂鳴器的兩端口同時(shí)輸出低電平,由于在發(fā)光二極管和蜂鳴器的另一端都接地,所以發(fā)光二極管處于熄滅狀態(tài),蜂鳴器不鳴響;當(dāng)八路溫度有一路或幾路超過上限或者下限時(shí),連接發(fā)光二極管和蜂鳴器的兩個(gè)端口同時(shí)由低電平向高電平跳變,后又由高電平跳到低電平,并循環(huán)此動(dòng)作,來發(fā)出
73、一個(gè)高低電平循環(huán)跳變的脈沖波,使紅色發(fā)光二極管閃爍并且蜂鳴器發(fā)出聲音。當(dāng)控制八路溫度都回到限定范圍內(nèi)時(shí),發(fā)光二極管熄滅且蜂鳴器停止響聲。二級(jí)管采用紅色,色澤鮮明,更加容易引起人員注意,加上蜂鳴器的響聲,警示作用更加明顯。其硬件連接如下圖2-9所示[9]。</p><p> 圖2-9 報(bào)警電路</p><p> 2.8 控制單元設(shè)計(jì)</p><p> 本設(shè)計(jì)用
74、單片機(jī)的P3.2和P3.4口控制兩個(gè)光電隔離的輸出口,當(dāng)單片機(jī)輸出低電平時(shí)發(fā)光二極管發(fā)光,三極管導(dǎo)通,然后驅(qū)動(dòng)下一個(gè)三極管使之導(dǎo)通,線圈導(dǎo)通后繼電器觸點(diǎn)接通從而接通通風(fēng)機(jī)或電熱爐。電路圖如圖2-10所示。</p><p><b> 圖2-10控制電路</b></p><p> 2.9 串行口上位機(jī)通信模塊設(shè)計(jì)</p><p> 串行通信是
75、指通信的發(fā)送方和接收方之間數(shù)據(jù)信息的傳輸是在單根數(shù)據(jù)線上,以每次一個(gè)二進(jìn)制位移動(dòng)的它的優(yōu)點(diǎn)是只需一對(duì)傳輸線進(jìn)行傳送信息,因此其成本低,適用于遠(yuǎn)距離通信,它的缺點(diǎn)是傳送速度低。</p><p> 串行通信有異步通信和同步通信兩種基本通信方式。同步通信適用于傳送速度高的情況,其硬件復(fù)雜而異步通信應(yīng)用于傳送速度在50到19200波特之間,是比較常用的傳送方式在異步通信中,數(shù)據(jù)是一幀一幀傳送的,每一串行幀的數(shù)據(jù)格式由一
76、位起始位,5~8位的數(shù)據(jù)位,一位奇偶校驗(yàn)位(可省略)和一位停止位四部分組成,在串行通信前,發(fā)送方和接收方要約定具體的數(shù)據(jù)格式和波特率(通信協(xié)議)。</p><p> PC機(jī)采用可編程串行異步通信控制器8250來實(shí)現(xiàn)異步串行通信。通過對(duì)8250 的初始化編程,可以控制串行數(shù)據(jù)傳送格式和速度。RS-232C串行接口COM1和COM2是PC機(jī)中的兩個(gè)標(biāo)準(zhǔn),51系列單片機(jī)片內(nèi)含有一個(gè)全雙工的串行接口,通過編程也可實(shí)現(xiàn)串
77、行通信功能[10]。</p><p> 2.9.1 RS-232C標(biāo)準(zhǔn)</p><p> RS-232C是美國電子工業(yè)協(xié)會(huì)(EIA)正式公布的,在異步串行通信中應(yīng)用最廣的標(biāo)準(zhǔn)總線。該標(biāo)準(zhǔn)適用于DCE和DTE間的串行二進(jìn)制通信,最高數(shù)據(jù)傳送速率可達(dá)19. 2kbps,最長傳送電纜可達(dá)15米。RS - 232C標(biāo)準(zhǔn)定義了25根引線,對(duì)于一般的雙向通信,只需使用串行輸入RXD,串行輸出TXD
78、 和地線GND。在電氣性能方面,RS-232C標(biāo)準(zhǔn)的電平采用負(fù)邏輯,規(guī)定+ 5V~+15V之間的任意電平為邏輯“0”電平,-5 V~-15V之間的任意電平為邏輯“1”電平,它要求RS-232C接收器必須能識(shí)別低到+3V的信號(hào)作為邏輯“0”,識(shí)別-3V的信號(hào)作為邏輯“1”,即有2V的噪聲容限。RS - 232C是是位串行方式,這是微機(jī)系統(tǒng)中最通用的格式。7位ASCII碼數(shù)據(jù)的連續(xù)傳送由最低有效數(shù)字開始,以奇偶校驗(yàn)位結(jié)束(RS-232C標(biāo)準(zhǔn)
79、接口并不限于ASCII數(shù)據(jù),還可用5到8個(gè)數(shù)據(jù)加一奇偶校驗(yàn)位的方式)。RS-232C標(biāo)準(zhǔn)接口上的信號(hào)線基本上可分為四類:數(shù)據(jù)信號(hào)(4根)、控制信號(hào)(12根)、定時(shí)信號(hào)(3根)和地(2根)。</p><p> 1.數(shù)據(jù)信號(hào),“發(fā)送數(shù)據(jù)TXD”和“接收數(shù)據(jù)RXD”信號(hào)線是一對(duì)數(shù)據(jù)傳輸線,用于傳輸串行的位數(shù)據(jù)信息。對(duì)于異步通信,傳輸?shù)拇形粩?shù)據(jù)信息的單位是字符。發(fā)送數(shù)據(jù)信號(hào)由數(shù)據(jù)終端設(shè)備DTE產(chǎn)生,送往數(shù)據(jù)通信設(shè)備D
80、CE。在發(fā)送數(shù)據(jù)信息的間隔期間或無數(shù)據(jù)信息發(fā)送時(shí),數(shù)據(jù)終端設(shè)備DTE保持該信號(hào)為“1”。接收數(shù)據(jù)信號(hào)由數(shù)據(jù)通信設(shè)備DCE發(fā)出,送往數(shù)據(jù)終端設(shè)備DTE。同樣,在接收數(shù)據(jù)信息的間隔期間或無信息傳輸時(shí),該信號(hào)應(yīng)為“1”。</p><p> 2.控制信號(hào),數(shù)據(jù)終端設(shè)備DTE發(fā)出請(qǐng)求發(fā)送RTS信號(hào)到數(shù)據(jù)通信設(shè)備,要求數(shù)據(jù)通信設(shè)備發(fā)送數(shù)據(jù)。在雙工系統(tǒng)中,該信號(hào)的置位條件保持?jǐn)?shù)據(jù)通信的設(shè)備處于發(fā)送方式。在半雙工系統(tǒng)中,該信號(hào)
81、的置位條件維持?jǐn)?shù)據(jù)通信設(shè)備處于發(fā)送狀態(tài),并且禁止接收;該信號(hào)復(fù)位后,才允許數(shù)據(jù)通信設(shè)備轉(zhuǎn)為接收方式。在數(shù)據(jù)通信設(shè)備復(fù)位清除發(fā)送信號(hào)之前,請(qǐng)求信號(hào)不能重新發(fā)生。</p><p> 3.定時(shí)信號(hào),數(shù)據(jù)終端設(shè)備使用發(fā)送信號(hào)定時(shí)信號(hào)指示發(fā)送數(shù)據(jù)線上的每個(gè)二進(jìn)位數(shù)據(jù)中心位置,而數(shù)據(jù)通信設(shè)備使用接收信號(hào)定時(shí)信號(hào)指示接收數(shù)據(jù)線上的每個(gè)二進(jìn)位制的中心位置。</p><p> 4.地信號(hào),保護(hù)地即屏蔽地
82、;信號(hào)地是RS-232C所有信號(hào)公共參考點(diǎn)的地。在接口電路和計(jì)算機(jī)接口芯片中大都為TTL或CMOS電平,所以在通信時(shí),必須進(jìn)行電平轉(zhuǎn)換,以便與RS-232標(biāo)準(zhǔn)的電平匹配。MAX232芯片可以完成電平轉(zhuǎn)換[11]。</p><p> 2.9.2 通過MAX232芯片與電腦串行口連接</p><p> 電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電
83、路,我們采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但還是用專用芯片更簡(jiǎn)單可靠。</p><p> MAX232芯片是MAXIM公司生產(chǎn)的低功耗、單電源、雙RS232發(fā)送/接收器。適用于各種EIA-232E 和V.28/ V.24的通信接口。</p><p> MAX232芯片內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的+5V電源變換RS-232C輸出電平所需
84、177;10V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5V電源就可以了。</p><p> MAX232外圍需要4個(gè)電解電容C1、C2、C3、C4,是內(nèi)部電源轉(zhuǎn)換所需電容,其取值均為1μF/25V,宜選用鉭電容并且應(yīng)盡量靠近芯片,C5為0.1μF的電容。T1IN、T2IN、R1OUT、R2OUT接TTL/CMOS電平的引腳,引腳T1OUT、T2OUT、R1IN、R2IN為接RS-232C電平的引腳,因
85、此TTL/ CMOS電平的T1IN、T2IN 引腳應(yīng)接AT89C51的串行發(fā)送引腳TXD;R1OUT、R2OUT 應(yīng)接MCS-51的串行接收引腳RXD;與之對(duì)應(yīng)的RS -232C電平的T1OUT、T2OUT應(yīng)接PC機(jī)的接收端RD;R1IN、R2IN應(yīng)接PC機(jī)的發(fā)送端TD[12]。</p><p> 為提高本系統(tǒng)的可操作性和控制的靈活性和實(shí)時(shí)性,需要進(jìn)行上位機(jī)通信,即通過串行口將數(shù)據(jù)送到PC機(jī)進(jìn)行顯示,同時(shí)PC也
86、可以將數(shù)據(jù)和指令等傳送到單片機(jī),使單片機(jī)對(duì)溫度進(jìn)行處理。在單片機(jī)與上位機(jī)進(jìn)行通信時(shí),根據(jù)上文介紹,決定采用MAX232對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,其硬件連接如下圖2-11所示。</p><p> 圖2-11 串行通信電路第三章 系統(tǒng)軟件設(shè)計(jì)</p><p> 硬件部分設(shè)計(jì)制作完成后,關(guān)鍵是程序的編寫。該系統(tǒng)程序的編寫才用模塊化程序設(shè)計(jì),采用模塊化程序設(shè)計(jì)的優(yōu)點(diǎn)在于:每個(gè)模塊都可以分配給不同的程序
87、員完成,從而縮短開發(fā)周。各個(gè)模塊高聚合、模塊之間低耦合,只要模塊之間確定了參數(shù)遞的接口,不管那個(gè)模塊內(nèi)部的改動(dòng),均不會(huì)影響其他模塊,從而使件產(chǎn)品的生產(chǎn)更加靈活。系統(tǒng)細(xì)化到模塊,條理清晰,系統(tǒng)更加容易理解和實(shí)現(xiàn)且容易維護(hù)、系統(tǒng)可靠。</p><p> 系統(tǒng)程序總流程如圖3-1:</p><p> 圖3-1 系統(tǒng)總流程圖</p><p> 3.1 AD轉(zhuǎn)換模塊軟件
88、設(shè)計(jì)</p><p> ADC0809工作時(shí)序與使用說明:</p><p> ADC0808/0809的工作時(shí)序如圖下圖3-2所示,當(dāng)通道選擇地址有效時(shí),ALE信號(hào)一出現(xiàn),地址便馬上被鎖存,這時(shí)轉(zhuǎn)換啟動(dòng)信號(hào)緊隨ALE之后(或與ALE同時(shí))出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復(fù)位,在該上升沿之后的2μs加8個(gè)時(shí)鐘周期內(nèi)(不定),EOC信號(hào)將變低電平,以指示轉(zhuǎn)換操作正在進(jìn)行中,直
89、到轉(zhuǎn)換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號(hào)后,便立即送出OE信號(hào),打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。</p><p> 圖3-2 ADC0809工作時(shí)序圖</p><p> 模擬輸入通道的選擇可以相對(duì)于轉(zhuǎn)換開始操作獨(dú)立地進(jìn)行,然而通常是把通道選擇和啟動(dòng)轉(zhuǎn)換結(jié)合起來完成。這樣可以用一條寫指令既選擇模擬通道又啟動(dòng)轉(zhuǎn)換。在與微機(jī)接口時(shí),輸入通道的選擇可有兩種方法,一種是通過地址
90、總線選擇,一種是通過數(shù)據(jù)總線選擇。</p><p> 如用EOC信號(hào)去產(chǎn)生中斷請(qǐng)求,要特別注意EOC的變低相對(duì)于啟動(dòng)信號(hào)有2μs+8個(gè)時(shí)鐘周期的延遲,要設(shè)法使它不致產(chǎn)生虛假的中斷請(qǐng)求。最好利用EOC上升沿產(chǎn)生中斷請(qǐng)求,不是靠高電平產(chǎn)生中斷請(qǐng)求。根據(jù)ADC0809的時(shí)序編寫ADC0809的初始化子程序,AD轉(zhuǎn)換子程序。軟件流程圖如3-3所示。</p><p> 圖3-3 AD轉(zhuǎn)換流程圖&
91、lt;/p><p> 3.2 單片機(jī)軟件設(shè)計(jì)</p><p> 編程前,須設(shè)置好地址、數(shù)據(jù)及控制信號(hào),編程單元的地址加在P1口和P2口的P2.0~P2.3(11位地址范圍為,數(shù)據(jù)從0000H~0FFFFH)P0輸入,引腳P2.6、P2.7、P3.6、P3.7的電平設(shè)置見表4-1,PSEN為低電平,RST保持高電平,EA/VPP引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳
92、輸入編程脈沖(負(fù)脈沖)。編程時(shí),可采用4—20MHz的時(shí)鐘振蕩器,AT89C51編成方法如下:</p><p> 1.在地址線上加上要編程單元的地址;</p><p> 2.在數(shù)據(jù)線上要寫入數(shù)據(jù)的字節(jié);</p><p> 3.激活相應(yīng)的控制信號(hào);</p><p> 4.在高電壓編程時(shí),將EA/VPP端加上+12V編程電壓;</p
93、><p> 5.每對(duì)Flash存儲(chǔ)陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加上一個(gè)ALE/PROG編程脈沖[10]。</p><p> 單片機(jī)方面需要編寫主程序?qū)DC809的轉(zhuǎn)換后的數(shù)字量進(jìn)行處理和通過定時(shí)器定時(shí)顯示8路(一次分別顯示4路)的程序與對(duì)各子程序的調(diào)用,以及對(duì)預(yù)設(shè)溫度與測(cè)量溫度的比較后報(bào)警和對(duì)電機(jī)等的控制程序。(詳見附錄)</p><p> 3.3
94、顯示模塊軟件設(shè)計(jì)</p><p> LCD字符型顯示器模塊有兩種寄存器:指令寄存器和數(shù)據(jù)寄存器。單片機(jī)等主控制系統(tǒng)對(duì)LCM(LCD顯示器模塊)的指令寄存器寫操作,可以將“清屏”等控制指令發(fā)送給LCM。對(duì)指令寄存器讀操作,可得到的數(shù)據(jù)的最高位是LCM的狀態(tài)(空閑狀態(tài)或忙狀態(tài))標(biāo)志位,低7位是地址計(jì)數(shù)器的信息。對(duì)LCM的數(shù)據(jù)存儲(chǔ)器寫操作,可以修改當(dāng)前地址中顯示字符。讀操作可以得到當(dāng)前顯示地址中的現(xiàn)實(shí)數(shù)據(jù)。LCD字符
95、型顯示器模塊的詳細(xì)指令如表3-1所示[11]。</p><p> 顯示方面需編寫對(duì)LCD的初始化子程序和對(duì)指令寄存器的讀寫子程序和對(duì)數(shù)據(jù)寄存器的讀寫子程序,最后還需要根據(jù)LCD的字符集編寫顯示程序。軟件流程圖如圖3-4所示。(LCD顯示程序見附錄)</p><p> 圖3-4 LCD顯示流程圖</p><p> I/D:顯示地址計(jì)數(shù)器模式選擇。I/D=1,選擇
96、加1模式;I/D=0,選擇減1模式。</p><p> D:顯示器開關(guān)控制位。D=1,顯示器ON;D=0,顯示器OFF。</p><p> C:光標(biāo)開關(guān)控制位。C=1,光標(biāo)ON;C=0,光標(biāo)OFF。</p><p> B:光標(biāo)閃爍開關(guān)控制位。B=1,光標(biāo)閃爍ON;B=0,光標(biāo)閃爍OFF。</p><p> S/C:顯示器或光標(biāo)移位選擇
97、。S/C=1,選擇顯示器移位;S/C=0,選擇光標(biāo)移位。</p><p> R/L:移位方向選擇。R/L=1,向右移動(dòng);R/L=0,向左移動(dòng)。</p><p> R/L:移位方向選擇。R/L=1,向右移動(dòng);R/L=0,向左移動(dòng)。</p><p> 表3-1 LCD字符型顯示器模塊的指令集</p><p> DL:傳輸數(shù)據(jù)的有效位長度選
98、擇。DL=1,有效位為8位;DL=0,有效位為4位。</p><p> N:顯示器行數(shù)選擇位。N=1,選擇使用4行顯示器;N=0,選擇使用兩行顯示器。</p><p> F:字符顯示塊的點(diǎn)陣選擇。F=1,選擇5×10點(diǎn)陣;F=0,選擇5×7點(diǎn)陣。</p><p> BF:忙標(biāo)志位。BF=1,LCM處于忙狀態(tài);BF=0,LCM處于空閑狀態(tài)。&
99、lt;/p><p> CGRAM:字符發(fā)生器RAM。用戶自編成的字符或圖形存儲(chǔ)器。</p><p> CDRAM:顯示數(shù)據(jù)RAM[12]。</p><p><b> 第四章 仿真</b></p><p> 4.1 仿真軟件簡(jiǎn)介</p><p> 4.1.1 Keil軟件簡(jiǎn)介</p>
100、;<p> 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(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系列單片
101、機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。</p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易
102、學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。</p><p> Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)[13]。</p><p> 4.1.2 PRO
103、TEUS軟件簡(jiǎn)介</p><p> Proteus軟件是來自英國Labcenter electronics 公司的EDA 工具軟件,Proteus 軟件有近20年的歷史,在全球廣泛使用。它除了具有和其它EDA 工具一樣的原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是交互的,可視化的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯
104、示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,可以測(cè)量仿真的波形及記錄仿真數(shù)據(jù)。在不需要硬件設(shè)備投入的情況下,Proteus 軟件可以建立完整的電子學(xué)習(xí)設(shè)計(jì)開發(fā)環(huán)境,縮短研發(fā)周期,并且降低開發(fā)成本[14]。</p><p> 4.2 Keil與PROTEUS聯(lián)合仿真</p><p> 打開Keil4,選擇Project| New Project命
105、令,在彈出的Create New Project對(duì)話框中選擇目標(biāo)保存路徑,在“文件名”編輯框輸入工程名稱。單擊“保存”,在彈出的Select Device for Target ‘Target 1’對(duì)話框中雙擊Data base框中的Atmel選項(xiàng),選擇AT89C51單片機(jī),按“確定”后,在隨后彈出的μ Vision4的對(duì)話框中選擇“是”。選擇File | New命令,新建一個(gè)文檔,然后保存。本設(shè)計(jì)采用C語言編寫程序,故輸入擴(kuò)展名為“.
106、c”。保存文件后,Keil4會(huì)自動(dòng)識(shí)別C語言程序中的關(guān)鍵字,并以不同的顏色顯示。在Keil的編輯器里編寫源代碼,其源程序見附錄。</p><p> 編寫程序完成后,雙擊Keil4左邊的Project Workspace窗口中的Target 1,然后右鍵單擊Source Group 1文件夾,在快捷菜單中選擇Add Files to Group ‘Source Group 1’,在彈出的Add Files to
107、Group ‘Source Group 1’對(duì)話框中選擇文件類型為C Source File類型,將編完的C語言程序文件添加到Source Group 1中。在Keil4中是以工程的方式對(duì)文件進(jìn)行管理,為此需要將相關(guān)的目標(biāo)文件加入到工程之中。右鍵單擊Project Workspace窗口中的Target 1文件夾,在快捷菜單中選擇Options for Target ‘Target 1’選項(xiàng)。在彈出的Options for Target
108、 ‘Target 1’對(duì)話框中選擇Output選項(xiàng)卡,選中Create HEX File復(fù)選框以生成Proteus所需的十六進(jìn)制文件,然后單擊“OK”按鈕。在Keil中選擇Project|Build target命令,以產(chǎn)生目標(biāo)程序和HEX文件。</p><p> 首先打開Proteus ISIS,完成系統(tǒng)電路原理圖的繪制,電路原理圖見附錄。雙擊U1即AT89C51,在彈出的Edit Component對(duì)話框P
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的智能溫控風(fēng)扇設(shè)計(jì)-畢業(yè)論文
- 基于單片機(jī)的溫控風(fēng)扇設(shè)計(jì)畢業(yè)論文
- 風(fēng)扇畢業(yè)論文--基于51單片機(jī)的智能溫控風(fēng)扇
- 基于STC單片機(jī)的多路銀針溫控儀的研制.pdf
- 應(yīng)用物理畢業(yè)論文基于單片機(jī)的智能風(fēng)扇溫控系統(tǒng)設(shè)計(jì)
- 應(yīng)用物理畢業(yè)論文基于單片機(jī)的智能風(fēng)扇溫控系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文--基于單片機(jī)的溫控風(fēng)扇的設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的溫控風(fēng)扇的設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的溫控風(fēng)扇的設(shè)計(jì)
- 基于單片機(jī)的智能溫控風(fēng)扇設(shè)計(jì)論文
- 基于單片機(jī)的智能溫控風(fēng)扇設(shè)計(jì)論文
- 基于單片機(jī)的智能溫控風(fēng)扇設(shè)計(jì)論文
- 畢業(yè)論文---基于單片機(jī)的智能血壓設(shè)計(jì)
- 基于單片機(jī)的稱重儀的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的智能小車設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的智能窗簾設(shè)計(jì)-智能電網(wǎng)畢業(yè)論文
- 基于單片機(jī)的智能小車的設(shè)計(jì) 畢業(yè)論文
- 基于單片機(jī)的智能小車的設(shè)計(jì)-畢業(yè)論文
- 【畢業(yè)論文】基于單片機(jī)控制智能窗簾設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于at89c52的智能溫控儀設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論