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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘要</b></p><p>  本文提出了一種以MCS—51系列單片機(jī)8051為主要控制芯片,輔之以其他功能芯片對(duì)太陽(yáng)能熱水器進(jìn)行控制的設(shè)計(jì)方案,使太陽(yáng)能熱水器使用起來(lái)更加方便、安全。</p><p>  本設(shè)計(jì)采用的是8051單片機(jī),其內(nèi)部ROM容量為256B,對(duì)于本設(shè)計(jì),無(wú)須外部擴(kuò)展存儲(chǔ)器。除了8051,本設(shè)計(jì)還用到一些重要的外部功

2、能器件,如采用AD轉(zhuǎn)換器0809來(lái)實(shí)現(xiàn)溫度和水位信號(hào)的模數(shù)轉(zhuǎn)換,還有可編程輸入輸出接口8255來(lái)實(shí)現(xiàn)鍵盤(pán)和顯示器接口。鍵盤(pán)由四個(gè)按鍵來(lái)設(shè)置水溫或水位,用六位LED顯示器分別顯示水溫和水位。本設(shè)計(jì)充分利用8051單片機(jī)系統(tǒng)的三總線(xiàn)控制,即數(shù)據(jù)總線(xiàn)、地址總線(xiàn)、控制總線(xiàn)的設(shè)計(jì)方式,為應(yīng)用系統(tǒng)功能的實(shí)現(xiàn)奠定了基礎(chǔ)。通過(guò)對(duì)8051單片機(jī)的外部功能擴(kuò)展使系統(tǒng)具有自動(dòng)上水與保溫的功能,還能自動(dòng)驅(qū)動(dòng)加熱及上水裝置來(lái)滿(mǎn)足系統(tǒng)的設(shè)置,使用起來(lái)安全可靠。此外

3、,設(shè)計(jì)方案中還考慮了一些抗干擾措施,例如采用光電隔離器4N25使輸入輸出有效隔離,采用硬件去抖動(dòng)措施解決按鍵抖動(dòng)的問(wèn)題等等。</p><p>  本文闡述了此應(yīng)用系統(tǒng)的工作原理,并給出部分硬件及軟件框圖。</p><p>  關(guān)鍵字: 單片機(jī),溫度控制,水位控制</p><p><b>  目 錄</b></p><p&g

4、t;  前言……………………………………………………………………………………1</p><p>  第一章 系統(tǒng)總體方案設(shè)計(jì)…………………………………………………………3</p><p>  1.1設(shè)計(jì)思路…………………………………………………………………3</p><p>  1.2設(shè)計(jì)總框圖………………………………………………………………4</p>

5、<p>  第二章 系統(tǒng)硬件部分設(shè)計(jì)…………………………………………………………5</p><p>  2.1數(shù)據(jù)采集…………………………………………………………………5</p><p>  2.1.1溫度傳感器AD590………………………………………………5</p><p>  2.1.2水位傳感器………………………………………………………6</

6、p><p>  2.1.3采樣保持器………………………………………………………9</p><p>  2.2 數(shù)據(jù)轉(zhuǎn)換………………………………………………………………10</p><p>  2.2.1AD轉(zhuǎn)換概述 ……………………………………………………10</p><p>  2.2.2ADC0809………………………………………………………

7、…11</p><p>  2.3 MCS-51系列單片機(jī)8051……………………………………………13</p><p>  2.3.1單片機(jī)概述…………………………………………………… 13</p><p>  2.3.2單片機(jī)8051………………………………………………………14</p><p>  2.4LED數(shù)碼顯示與鍵盤(pán)……………

8、……………………………………16</p><p>  2.4.1可編程并行接口8255……………………………………………17</p><p>  2.4.2 6位LED數(shù)碼顯示與鍵盤(pán)………………………………………18</p><p>  2.5輸出驅(qū)動(dòng)與執(zhí)行機(jī)構(gòu)…………………………………………………19</p><p>  2.5.1加熱器的

9、電路連接與分析………………………………………19</p><p>  2.5.2達(dá)林頓管的原理及應(yīng)用…………………………………………20</p><p>  2.5.3上水閥的驅(qū)動(dòng)電路分析…………………………………………21</p><p>  2.6 系統(tǒng)的硬件抗干擾設(shè)計(jì)………………………………………………21</p><p>  2.6.

10、1按鍵消抖措施……………………………………………………21</p><p>  2.6.2光電隔離的應(yīng)用…………………………………………………23</p><p>  第三章系統(tǒng)軟件部分設(shè)計(jì)…………………………………………………………24</p><p>  3.1主程序流程圖…………………………………………………………24</p><p>

11、  3.2 部分中斷服務(wù)程序與子程序…………………………………………25</p><p>  3.2.1 8255初始化……………………………………………………25</p><p>  3.2.2 AD轉(zhuǎn)換程序……………………………………………………26</p><p>  3.2.3 LED數(shù)碼顯示程序………………………………………………28</

12、p><p>  3.2.4 鍵盤(pán)掃描子程序…………………………………………………28</p><p>  結(jié)論…………………………………………………………………………………31</p><p>  致謝…………………………………………………………………………………32</p><p>  參考文獻(xiàn)………………………………………………………………

13、……………33</p><p><b>  附錄</b></p><p><b>  前言</b></p><p>  目前,單片機(jī)已進(jìn)入人類(lèi)生活的各個(gè)領(lǐng)域,如家用電器的冰箱、洗衣機(jī)、空調(diào)等,由于配上了單片機(jī),增加了功能,實(shí)現(xiàn)了智能化,使人類(lèi)生活更加方便。近幾年來(lái),MCS—51系列單片機(jī)的開(kāi)發(fā)應(yīng)用深受各個(gè)應(yīng)用領(lǐng)域的關(guān)注和重

14、視,應(yīng)用十分廣泛,發(fā)展極快,特別是8051,在國(guó)內(nèi)是應(yīng)用最多、影響最大的單片機(jī)。本設(shè)計(jì)就是以8051單片機(jī)為主要控制芯片,輔之以其他外設(shè)及功能部件,對(duì)太陽(yáng)能熱水器工作進(jìn)行控制。</p><p>  目前,太陽(yáng)能熱水器以其安全、節(jié)能、無(wú)污染等優(yōu)點(diǎn)受到越來(lái)越多的消費(fèi)者的歡迎。但太陽(yáng)能熱水器也存在一些缺點(diǎn),如陰雨天無(wú)法使用,不能顯示水溫水位,無(wú)法自動(dòng)上水,不能根據(jù)用戶(hù)的要求設(shè)置水溫水位等,通常須采用太陽(yáng)能加熱和電加熱相

15、結(jié)合的方式來(lái)解決陰雨天的使用問(wèn)題。這就需要設(shè)計(jì)一套控制系統(tǒng)來(lái)實(shí)現(xiàn)自動(dòng)電加熱,同時(shí)用這套系統(tǒng)實(shí)現(xiàn)自動(dòng)上水、保溫和水溫水位的檢測(cè)和顯示。本設(shè)計(jì)的目的是設(shè)計(jì)適于日常應(yīng)用的能自動(dòng)上水的太陽(yáng)能熱水器,要求能自動(dòng)檢測(cè)水的溫度和水位;當(dāng)水位低于30L自動(dòng)上水;水溫未達(dá)到設(shè)定值而又長(zhǎng)時(shí)間無(wú)變化,系統(tǒng)自動(dòng)啟動(dòng)電加熱器將水加熱到設(shè)定溫度,當(dāng)用戶(hù)按下加熱鍵時(shí)系統(tǒng)也可啟動(dòng)電加熱器將水加熱到設(shè)定溫度,水溫達(dá)到設(shè)定值后系統(tǒng)自動(dòng)進(jìn)入保溫狀態(tài)。本設(shè)計(jì)的技術(shù)要求是利用L

16、ED顯示水溫水位;四個(gè)按鍵設(shè)置水溫/水位;A/D轉(zhuǎn)換模塊;上水裝置,電加熱裝置;要求本系統(tǒng)具有較高的抗干擾性、實(shí)時(shí)性、能根據(jù)檢測(cè)數(shù)據(jù)迅速做出處理,本設(shè)計(jì)要采用的是MCS—51系列單片機(jī)8051,其內(nèi)部ROM為4KB,內(nèi)部RAM為256B(包括特殊功能寄存器),要接A/D轉(zhuǎn)換器,以實(shí)現(xiàn)溫度和水位信號(hào)的模數(shù)轉(zhuǎn)換。另外,由于本設(shè)計(jì)要用到6位LED</p><p>  本系統(tǒng)充分利用了8051單片機(jī)的各種資源,使系統(tǒng)使用

17、方便,安全可靠,克服了太陽(yáng)能熱水器的一些缺點(diǎn),實(shí)現(xiàn)了其運(yùn)行的自動(dòng)化。</p><p>  第一章 系統(tǒng)總體設(shè)計(jì)方案</p><p><b>  1.1 設(shè)計(jì)思路</b></p><p>  本次設(shè)計(jì)的目的是設(shè)計(jì)一個(gè)太陽(yáng)能熱水器單片機(jī)控制系統(tǒng)。現(xiàn)在一般的太陽(yáng)能熱水器雖然有著不少優(yōu)點(diǎn),如節(jié)能、無(wú)污染、安全方便等,但在實(shí)際應(yīng)用中也存在著一些缺點(diǎn),

18、如陰雨天無(wú)法使用、無(wú)自動(dòng)上水功能、不顯示水溫水位等等。為了解決上述存在的問(wèn)題,比較理想的方案就是采用單片機(jī)作為應(yīng)用系統(tǒng)的主控芯片,利用其強(qiáng)大的控制能力和豐富的資源,通過(guò)連接各種功能外設(shè),使系統(tǒng)能正確、有效地完成服務(wù)。</p><p>  在此,我將系統(tǒng)的設(shè)計(jì)分為兩大部分,即硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分。在硬件部分中,主要解決系統(tǒng)的硬件連接與各功能的分配,各部分的地址分配也被分到硬件部分里。在軟件部分中,則具體分析系

19、統(tǒng)的工作流程,編出部分子程序和中斷服務(wù)程序。</p><p>  1.2 設(shè)計(jì)總框圖</p><p>  系統(tǒng)總體設(shè)計(jì)框圖如下:</p><p>  圖1-1 系統(tǒng)總體框圖</p><p>  由圖可知,本系統(tǒng)采用MCS-51系列單片機(jī)8051作為系統(tǒng)的主要控制芯片。根據(jù)本應(yīng)用系統(tǒng)的設(shè)計(jì)任務(wù),輸入通道部分需由傳感器采樣溫度和水位信號(hào),經(jīng)A

20、/D轉(zhuǎn)換器轉(zhuǎn)換,將模擬量信號(hào)轉(zhuǎn)換為數(shù)字量信號(hào)后送入8051,再由8051外接的8255送LED數(shù)碼管顯示。鍵盤(pán)有四個(gè)按鍵來(lái)設(shè)置水溫和水位,當(dāng)8051掃描到有按鍵按下時(shí),就輸出控制信號(hào)驅(qū)動(dòng)相應(yīng)的執(zhí)行機(jī)構(gòu),或控制加熱器改變水溫,或控制上水閥改變水位。系統(tǒng)相應(yīng)的功能由編程來(lái)具體實(shí)現(xiàn)。</p><p>  第二章 系統(tǒng)硬件部分設(shè)計(jì)</p><p><b>  2.1 數(shù)據(jù)采集<

21、/b></p><p>  2.1.1 溫度傳感器AD590</p><p>  1.溫度傳感器AD590的工作原理</p><p>  AD590集成溫度傳感器,內(nèi)部含有放大電路,是一種兩端器件。其工作電壓為+4~+30V,測(cè)溫范圍是-55~150攝氏度,對(duì)應(yīng)于熱力學(xué)溫度T每變化1K,輸出電流就變化1μA。在298.15K(對(duì)應(yīng)于25.15攝氏度)時(shí)輸出電

22、流恰好等于298.15μA。這表明,其輸出電流I(μA)與熱力學(xué)溫度T(K)嚴(yán)格成正比。</p><p>  AD590的電路符號(hào)為:</p><p>  AD590作為一種高阻電流源,不存在反饋線(xiàn)上的電壓信號(hào)損失和噪聲干擾問(wèn)題,其等效于一個(gè)高阻抗的恒流源,其輸出阻抗大于10MΩ,能大大減小因電源電壓波動(dòng)而產(chǎn)生的測(cè)溫誤差。例如,當(dāng)電源電壓從5V變化到10V時(shí),所引起的電流最大變化量?jī)H為1μ

23、A,等價(jià)于1攝氏度的測(cè)溫誤差。</p><p>  2.AD590在本系統(tǒng)設(shè)計(jì)中的應(yīng)用</p><p>  由AD590構(gòu)成的溫度檢測(cè)電路如圖2-1所示:</p><p>  從圖中可知,由MC1403型帶隙基準(zhǔn)電壓源輸出的+2.5V基準(zhǔn)電壓,經(jīng)可調(diào)電阻R1接AD590的正極,并且還經(jīng)過(guò)CD4051型八選一模擬開(kāi)關(guān)接LM324型四運(yùn)放中的一個(gè)運(yùn)算放大器反向輸入端。A

24、D590的負(fù)極接-5V電源。設(shè)通過(guò)R1、R2的電流分別為I0、I1,則AD590的電流表達(dá)式為</p><p>  IO=I0+I1 (2-1)</p><p>  因?yàn)長(zhǎng)M324的電壓增益AVO>>1,所以圖2-1中的M點(diǎn)為虛地,即UM為零伏。只要在0℃以下調(diào)整R1,使I0等于AD590在該溫度下的工作電流值(此時(shí)I1=0,IO=I

25、0),I0即為恒定值,在測(cè)溫過(guò)程中I1僅隨IO變化。顯然,溫度上升t℃時(shí),</p><p>  I1必須增加到t·1μA,使LM324的輸出電壓UO(V)為</p><p><b>  (2-2)</b></p><p>  由于與被測(cè)溫度t成正比,從而實(shí)現(xiàn)了t/U轉(zhuǎn)換,這就是利用AD590測(cè)量攝氏溫度的原理。分別用于校準(zhǔn)0℃和100

26、℃。硅二極管VD(1N4001)可防止LM324進(jìn)入飽和狀態(tài)。多路模擬開(kāi)關(guān)CD4051的通斷狀態(tài)受單片微機(jī)的控制。</p><p>  2.1.2 水位傳感器</p><p>  1.壓差式液位傳感器的工作原理</p><p>  壓差式液位傳感器是根據(jù)液面的高度與液壓成比例的原理制成的。如果液體的密度恒定,則液體加在測(cè)量基準(zhǔn)面上的壓力與液面到基準(zhǔn)面的高度成正比,

27、因此通過(guò)壓力的測(cè)定便可得知液面的高度。</p><p>  如圖2-2所示,其基準(zhǔn)面上的壓力由下式確定,即</p><p><b> ?。?-3)</b></p><p>  式2-3中,為測(cè)量基準(zhǔn)面的壓力;為液體的密度;為液面距測(cè)量基準(zhǔn)面的高度;為所控最高液面與最小液面之間的高度;為最小液面距測(cè)量基準(zhǔn)面的高度。</p><

28、p>  由于需要測(cè)定的是高度,因此移動(dòng)壓力傳感器的零點(diǎn),把零點(diǎn)提高,就可以得到壓力與液面高度成比例的輸出。</p><p>  當(dāng)儲(chǔ)液罐為密封型時(shí)(見(jiàn)圖2-3)</p><p>  壓差、液位高度及零點(diǎn)的移動(dòng)關(guān)系如下:</p><p><b>  高壓側(cè)的壓力為</b></p><p><b>  (2-

29、4)</b></p><p><b>  低壓側(cè)的壓力為</b></p><p><b> ?。?-5)</b></p><p><b>  壓力差為</b></p><p><b>  (2-6)</b></p><p&g

30、t;  式2-4至2-6中,為液體的密度;為所控最高液面與最低液面之間的高度;為最小控制液面距測(cè)量基準(zhǔn)面的高度;為填充液體密度;為罐內(nèi)壓力;為填充液面距最小液位的高度。</p><p>  同樣,只要移動(dòng)壓差式傳感器的零點(diǎn),就可以得到壓差與液面高度成比例的輸出。</p><p>  圖2-4是壓差式液位傳感器的結(jié)構(gòu)原理圖。它由壓差傳感器和電路兩部分組成。壓差傳感器實(shí)際上是一個(gè)差動(dòng)電容式壓力

31、傳感器,它由動(dòng)電極感壓膜片、固定電極隔液膜片等組成。當(dāng)被測(cè)的壓力差加在高壓側(cè)和低壓側(cè)的輸入口時(shí),該壓力差經(jīng)隔液膜片的傳遞作用于感壓膜片上,感壓膜片便產(chǎn)生位移,從而使動(dòng)電極與固定電極之間的電容量發(fā)生變化。用電路將這種變化進(jìn)行轉(zhuǎn)換及放大,便可獲得與壓力差成比例的直流電壓輸出。</p><p>  這種傳感器具有可靠性高、性能穩(wěn)定、體積小和重量輕等特點(diǎn),因此,廣泛應(yīng)用于液面測(cè)量和液面自動(dòng)控制。</p>&

32、lt;p>  2.液位變送器CB900</p><p>  本系統(tǒng)采用液位變送器CB900作為采樣水位信號(hào)的傳感器,現(xiàn)簡(jiǎn)單介紹一下CB900。</p><p>  CB900系列液位變送器是采用高性能擴(kuò)散硅膜片差壓傳感技術(shù),將液位壓差轉(zhuǎn)換為4~20mA或1~5V標(biāo)準(zhǔn)直流信號(hào),可作液位傳感器。其工作電壓為12V。</p><p>  CB900的工作原理:加于變

33、送器的壓力(或差壓)使變送器內(nèi)膜片變形,從變形的擴(kuò)散硅膜片上檢出與差壓或成線(xiàn)形變化的電信號(hào),并轉(zhuǎn)換為標(biāo)準(zhǔn)信號(hào)輸出。具體工作原理見(jiàn)上一節(jié),這里不再累述。</p><p>  2.1.3 采樣保持器</p><p>  在對(duì)模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換時(shí),從啟動(dòng)變換到變換結(jié)束,需要一定的時(shí)間,即AD轉(zhuǎn)換器的孔徑時(shí)間。當(dāng)輸入信號(hào)頻率較高時(shí),由于孔徑時(shí)間的存在,會(huì)造成較大的孔徑誤差。要防止這種誤差的產(chǎn)

34、生,必須在A/D轉(zhuǎn)換開(kāi)始時(shí)將信號(hào)電平保持不變,而在A/D轉(zhuǎn)換結(jié)束后又能跟蹤輸入信號(hào)的變化,即輸入信號(hào)處于取樣狀態(tài) 。能完成上述功能的器件稱(chēng)為取樣保持器。由上述分析可知,取樣保持器在保持階段相當(dāng)于一個(gè)“模擬信號(hào)存儲(chǔ)器”。在A/D轉(zhuǎn)換過(guò)程中,取樣保持對(duì)保證A/D轉(zhuǎn)換的精確度具有重要作用。</p><p>  取樣保持電路的基本原理如圖2-1所示。主要由保持電容C,輸入、輸出緩沖放大器以及控制開(kāi)關(guān)S組成。圖中,兩個(gè)放大

35、器均接成跟隨形式,取樣期間,開(kāi)關(guān)閉合,輸入跟隨器的輸出給電容器C快速充電;保持期間,開(kāi)關(guān)斷開(kāi),由于輸出緩沖放大器的輸入阻抗極高,電容器上存儲(chǔ)的電荷基本維持不變,保持充電時(shí)的最終值供A/D轉(zhuǎn)換。</p><p>  取樣保持器工作狀態(tài)由外部控制信號(hào)控制,由于開(kāi)關(guān)狀態(tài)的切換需要一定的時(shí)間,因此實(shí)際保持的信號(hào)電壓會(huì)存在一定的誤差,這個(gè)誤差必須遠(yuǎn)小于A/D的轉(zhuǎn)換時(shí)間,同時(shí)也必須遠(yuǎn)小于信號(hào)的變化時(shí)間。</p>

36、<p><b>  2.2 數(shù)據(jù)轉(zhuǎn)換</b></p><p>  2.2.1 AD轉(zhuǎn)換器概述</p><p>  由于單片微機(jī)面向測(cè)控領(lǐng)域的應(yīng)用,常需將連續(xù)變化的模擬量轉(zhuǎn)換成離散的數(shù)字量,才能送計(jì)算機(jī)進(jìn)行數(shù)值處理。反之,由計(jì)算機(jī)數(shù)值處理的數(shù)字量也必須經(jīng)轉(zhuǎn)換成模擬量,以實(shí)現(xiàn)連續(xù)變化的模擬量控制。前者稱(chēng)為模/數(shù)轉(zhuǎn)換(簡(jiǎn)稱(chēng)A/D),后者稱(chēng)為數(shù)/模轉(zhuǎn)換(簡(jiǎn)稱(chēng)D

37、/A)。本系統(tǒng)僅用A/D轉(zhuǎn)換器。</p><p>  A/D轉(zhuǎn)換器按其轉(zhuǎn)換的原理,可分為四種:計(jì)數(shù)式、雙積分式、逐次逼近式和并行式。目前最常用的是雙積分式和逐次逼近式。雙積分式A/D轉(zhuǎn)換器的主要優(yōu)點(diǎn)是,抗干擾能力強(qiáng),價(jià)格便宜。逐次逼近式A/D轉(zhuǎn)換器的優(yōu)點(diǎn)是,速度高,其轉(zhuǎn)換時(shí)間在幾微秒到幾百微秒之間。常用的逐次逼近式A/D轉(zhuǎn)換器主要有:美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的ADC0801~ADC0805,ADC0808/0809

38、,精度都是8位,轉(zhuǎn)換時(shí)間約為100μs。其中,ADC0808/0809增加了8路模擬開(kāi)關(guān),可對(duì)8路模擬信號(hào)進(jìn)行分時(shí)采樣。本設(shè)計(jì)需分別采樣溫度與水位信號(hào),故采用ADC0809作為轉(zhuǎn)換器來(lái)實(shí)現(xiàn)模數(shù)轉(zhuǎn)換。</p><p>  2.2.2 ADC0809</p><p>  1.ADC0809的主要特性</p><p><b>  分辨率為8位;</b&g

39、t;</p><p>  轉(zhuǎn)換時(shí)間為100μs;</p><p>  無(wú)零度和滿(mǎn)刻度調(diào)整;</p><p>  單一+5V供電,模擬輸入電壓為0~5V,正負(fù)5V,正負(fù)10V;</p><p>  8路通道轉(zhuǎn)換,帶鎖存控制邏輯;</p><p>  具有鎖存的三態(tài)輸出,輸出與TTL兼容;</p><p

40、><b>  功耗為15mW。</b></p><p>  2.ADC0809的工作原理</p><p>  ADC0809是最常用的8位A/D轉(zhuǎn)換器,屬CMOS工藝逐次逼近型。ADC0809由單一+5V電源供電,片內(nèi)帶有鎖存功能的8路模擬電子開(kāi)關(guān),可對(duì)0~5V8路的輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,完成一次轉(zhuǎn)換約需100μs,輸出具有TTL三態(tài)鎖存緩沖器,可直接與

41、MCS-51數(shù)據(jù)總線(xiàn)相接,通過(guò)適當(dāng)?shù)耐饨与娐罚€可對(duì)0~5V的雙極性模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換。</p><p>  ADC0809的工作時(shí)鐘為10kHz~1.2MHz。在進(jìn)行A/D轉(zhuǎn)換時(shí),路地址先送到A~C地址輸入端。然后在ALE輸入端加一個(gè)正跳變脈沖,將路地址鎖存到ADC0809內(nèi)部的路地址寄存器中。這樣,對(duì)應(yīng)路的模擬電壓就和內(nèi)部變換電路接通。為了啟動(dòng)變換工作序列,必須在START端加一個(gè)負(fù)跳變信號(hào)。此時(shí)變換工作

42、開(kāi)始進(jìn)行,標(biāo)志ADC0809正在工作的狀態(tài)信號(hào)是EOC由高電平(閑狀態(tài))變成為低電平(工作狀態(tài))。一旦變換結(jié)束,EOC信號(hào)就又由低電平變成高電平。此時(shí),只要在OE端加一高電平,即可打開(kāi)數(shù)據(jù)線(xiàn)的三態(tài)緩沖器從D0~D7數(shù)據(jù)線(xiàn)讀得一次變換后的數(shù)據(jù)。</p><p>  3.ADC0809的外特性</p><p>  ADC0809片內(nèi)集成了8路模擬多路開(kāi)關(guān)、地址鎖存與譯碼、8位A/D轉(zhuǎn)換器以及8

43、位三態(tài)輸出鎖存器四部分組成。了解芯片的外特性是設(shè)計(jì)系統(tǒng)的基礎(chǔ),ADC0809各引腳的功能含義如下:</p><p>  D0~D7:8位二進(jìn)制數(shù)字量輸出端口。</p><p>  N0~IN7:8路模擬量開(kāi)關(guān)輸入端口。</p><p>  Vcc:+5V工作電源。</p><p><b>  GND:接地端。</b>&l

44、t;/p><p>  VREF(+)、VREF(-):參考電壓(+)、(-)連接端。</p><p>  START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端口,高電平有效。</p><p>  ALE:地址鎖存允許信號(hào)輸入端口,ALE的下降沿將地址輸入鎖存器。</p><p>  EOC:A/D轉(zhuǎn)換結(jié)束信號(hào)輸出端口,開(kāi)始轉(zhuǎn)換時(shí)為低電平,一旦轉(zhuǎn)換結(jié)束時(shí)輸出高電平

45、。</p><p>  OE:完成轉(zhuǎn)換后數(shù)字量輸出允許控制信號(hào)輸入端口,高電平有效,用以打開(kāi)三態(tài)數(shù)據(jù)鎖存器的輸出。</p><p>  CLK:時(shí)鐘信號(hào)輸入端。</p><p>  A、B、C:地址輸入端口。用三位編碼組成3:8譯碼輸出,選通8路模擬電子開(kāi)關(guān),實(shí)現(xiàn)IN0~IN78路選1。A、B、C三位地址的輸入與8路通道的對(duì)應(yīng)關(guān)系如下:</p><

46、;p>  4.ADC0809在系統(tǒng)設(shè)計(jì)方案中的應(yīng)用</p><p>  AD轉(zhuǎn)換硬件原理圖如下:</p><p>  根據(jù)對(duì)ADC0809的轉(zhuǎn)換結(jié)束信號(hào)EOC的不同處理方法,8051(將在下一節(jié)介紹)配置ADC0809可分為:查詢(xún)方式和中斷方式。本系統(tǒng)采用的是中斷方式,由系統(tǒng)的硬件電路圖可知,當(dāng)ADC0809的轉(zhuǎn)換工作結(jié)束時(shí),EOC送出高電平,經(jīng)一非門(mén)后成低電平,送入8051的INT

47、0引腳,提出中斷請(qǐng)求,8051響應(yīng)該中斷讀入轉(zhuǎn)換后的數(shù)據(jù),完成一次A/D轉(zhuǎn)換。</p><p>  ADC0809需要外接變換時(shí)鐘和參考電壓,在實(shí)際應(yīng)用中變換時(shí)鐘常將MCS-51單片機(jī)的時(shí)鐘經(jīng)分頻得到。而參考電壓常用現(xiàn)成的由廠家提供的高精度電源集成塊。在本設(shè)計(jì)中,借用主機(jī)8051的ALE作為ADC0809的CLK。</p><p>  本設(shè)計(jì)中有兩個(gè)模擬輸入信號(hào):水溫信號(hào)和水位信號(hào),所以需

48、要兩路模數(shù)轉(zhuǎn)換,故采用IN0和IN1來(lái)分別作為水位和水溫模擬量的輸入通道,由A~C地址譯碼選通。利用8051的低三位地址線(xiàn)A0~A2輸出路地址,分別與地址輸入端口A~C連接。采用地址線(xiàn)選方式,用8051的P2.6引腳與讀、寫(xiě)信號(hào)組合作為ADC0809的START、ALE和OE信號(hào)。即P2.6低電平有效。所以,在軟件編程時(shí)ADC0809的地址為:P2.6即A14=0,由A0~A2給出通道(IN0~IN7)的選通地址碼,由此可知,ADC08

49、09的口地址為0B000H。AD轉(zhuǎn)換硬件原理圖如下:</p><p>  2.3 MCS-51系列單片機(jī)8051</p><p>  2.3.1單片機(jī)概述</p><p>  隨著大規(guī)模集成技術(shù)的進(jìn)一步發(fā)展,為滿(mǎn)足實(shí)時(shí)應(yīng)用領(lǐng)域的急切需要,要求進(jìn)一步縮小體積和降低成本,實(shí)現(xiàn)了把組成計(jì)算機(jī)的五大部分集成在一塊芯片上,既在一塊芯片上集成了:CPU、振蕩器電路、ROM和R

50、AM存儲(chǔ)器、定時(shí)/計(jì)數(shù)器和并行/串行接口等,一塊芯片就構(gòu)成一臺(tái)具有一定功能的計(jì)算機(jī),稱(chēng)為單片微型計(jì)算機(jī)。</p><p>  單片機(jī)是在一塊大規(guī)模集成電路(LSI)或大規(guī)模集成電路(VLSI)芯片上集成的一臺(tái)微型計(jì)算機(jī),它具有許多獨(dú)特優(yōu)點(diǎn),體積小、低功耗、低電壓、低成本、面向控制、可以滿(mǎn)足工業(yè)控制的不同要求,已進(jìn)入人類(lèi)生活的各個(gè)領(lǐng)域,如家用電器中的冰箱、彩電等,由于是用單片機(jī)控制系統(tǒng),使系統(tǒng)功能更多,使用更方便,

51、更加智能化。單片微機(jī)的應(yīng)用特點(diǎn)是“面向測(cè)控”。因此,它總是以其強(qiáng)有力的信息處理、檢測(cè)、控制以及指揮中心,成為整個(gè)應(yīng)用系統(tǒng)的首腦,從而對(duì)單片微機(jī)的功能要求、規(guī)模大小和復(fù)雜程度等隨應(yīng)用系統(tǒng)的不同而不同。MCS-51單片微機(jī)正是以其外部功能擴(kuò)展簡(jiǎn)單、靈活、方便的特點(diǎn),滿(mǎn)足了廣泛的各種不同應(yīng)用系統(tǒng)的要求,成為應(yīng)用最廣的單片機(jī)系列,既可構(gòu)成最簡(jiǎn)單系統(tǒng),也可設(shè)計(jì)成相當(dāng)復(fù)雜的系統(tǒng)。8位單片機(jī)是目前廣泛應(yīng)用的主要機(jī)型。[3]</p>&l

52、t;p>  2.3.2 MCS-51系列單片機(jī)8051</p><p>  1.8051內(nèi)部的功能部件</p><p><b>  8位CPU;</b></p><p><b>  振蕩器和時(shí)鐘電路;</b></p><p>  4K字節(jié)的程序存儲(chǔ)器ROM;</p><p

53、>  128數(shù)據(jù)存儲(chǔ)器RAM;</p><p>  可尋址外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各64K字節(jié);</p><p>  20多個(gè)特殊功能寄存器;</p><p>  32線(xiàn)并行I/O口;</p><p>  1個(gè)全雙工串行I/O口;</p><p>  2個(gè)16位定時(shí)/計(jì)數(shù)器;</p><p&

54、gt;  5個(gè)中斷源,有2個(gè)優(yōu)先級(jí),同級(jí)中斷則按優(yōu)先順序查詢(xún);</p><p>  具有較強(qiáng)功能的位處理(布爾)能力。</p><p>  2.8051的主要外部功能引腳說(shuō)明</p><p>  Vss:電路低電平;</p><p>  Vcc:正常運(yùn)行時(shí)為+5V電源;</p><p>  RST:復(fù)位信號(hào)輸入端;&l

55、t;/p><p>  ALE:允許地址鎖存信號(hào)輸出。當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),ALE信號(hào)的負(fù)跳變將P0口上的低8位地址送入鎖存器。在非訪(fǎng)問(wèn)外部存儲(chǔ)器期間,ALE仍以1/6振蕩頻率固定不變的速率輸出,因而它能作外部時(shí)鐘或定時(shí)信號(hào)用。當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將以1/12振蕩頻率輸出。</p><p>  PSEN:訪(fǎng)問(wèn)外部程序存儲(chǔ)器選通信號(hào),低電平有效;</p><p>  EA

56、:訪(fǎng)問(wèn)內(nèi)部或外部程序存儲(chǔ)器選擇信號(hào)。高電平為訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器,低電平只訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器;</p><p>  P0口:8位漏極開(kāi)路雙向并行I/O端口,當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),它是地址總線(xiàn)(低8位)和數(shù)據(jù)總線(xiàn)復(fù)用,外部不擴(kuò)展而單片應(yīng)用時(shí),則作雙向I/O口用 ;</p><p>  P1口:8位準(zhǔn)雙向并行I/O端口;</p><p>  P2口:8位準(zhǔn)雙向并行I/O端口

57、,當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí)作高8位地址用,不做外部功能擴(kuò)展(單片應(yīng)用)時(shí),則作準(zhǔn)雙向I/O口用;</p><p>  P3口:具有內(nèi)部上拉電路的8位準(zhǔn)雙向并行I/O端口,它還提供特殊的第二功能,它的每一位均可獨(dú)立定義為第一功能的I/O口和第二特殊功能,其具體含義為如下</p><p>  P3.0——RXD,串行數(shù)據(jù)接收端</p><p>  P3.1——TXD,串行數(shù)據(jù)

58、發(fā)送端</p><p>  P3.2——INT0,外部中斷0請(qǐng)求端,低電平有效</p><p>  P3.3——INT1,外部中斷1請(qǐng)求端,低電平有效</p><p>  P3.4——T0,定時(shí)/計(jì)數(shù)器0外部事件計(jì)數(shù)輸入端</p><p>  P3.5——T1,定時(shí)/計(jì)數(shù)器1外部事件計(jì)數(shù)輸入端</p><p>  P3

59、.6——WR,外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通,低電平有效</p><p>  P3.7——RD,外部數(shù)據(jù)存儲(chǔ)器讀選通,低電平有效</p><p>  3.8051的具體應(yīng)用</p><p>  8051作為系統(tǒng)的主要控制芯片起著指揮中心的作用,是系統(tǒng)輸入部分和輸出部分建立聯(lián)系的橋梁。</p><p>  由于本設(shè)計(jì)是小型應(yīng)用系統(tǒng),8051內(nèi)部的程序存儲(chǔ)

60、器和數(shù)據(jù)存儲(chǔ)器已夠用,所以不需要外擴(kuò)ROM和RAM。</p><p>  關(guān)于8051與ADC0809的硬件接口設(shè)計(jì)思路已經(jīng)在上一節(jié)介紹過(guò)了,在這里就不再重復(fù)。如圖2-7,8051控制著整個(gè)系統(tǒng)的運(yùn)行。在運(yùn)行過(guò)程中,8051不斷輸出信號(hào)控制溫度傳感器AD590和水位傳感器CB900,使它們自動(dòng)檢測(cè)水溫、水位,采集信號(hào),當(dāng)8051啟動(dòng)ADC0809實(shí)行轉(zhuǎn)換時(shí),傳感器的信號(hào)經(jīng)處理后送入ADC0809,轉(zhuǎn)換后的數(shù)據(jù)經(jīng)8

61、051讀入處理后送LED顯示。同時(shí),根據(jù)事先編好的程序,如果溫度或水位沒(méi)有達(dá)到要求(如本系統(tǒng)要求水位不可低于30L,水溫如果未達(dá)到設(shè)定值而又長(zhǎng)時(shí)間無(wú)變化就自動(dòng)加熱,達(dá)到設(shè)定值后自動(dòng)保溫)則8051就驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)進(jìn)行相應(yīng)的操作,直到系統(tǒng)滿(mǎn)足設(shè)定的條件,達(dá)到自控的目的。當(dāng)8051掃描到有按鍵按下時(shí),便轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù),即調(diào)節(jié)水溫或者水位,在調(diào)整LED數(shù)碼顯示的同時(shí)去驅(qū)動(dòng)相應(yīng)的執(zhí)行機(jī)構(gòu)來(lái)加熱或者上水來(lái)實(shí)現(xiàn)使用者的設(shè)置。</p>

62、;<p>  2.4 LED數(shù)碼顯示和鍵盤(pán)</p><p>  2.4.1 可編程并行接口8255</p><p>  由于主機(jī)的I/O口數(shù)量有限,在大多數(shù)應(yīng)用系統(tǒng)中均需外擴(kuò)I/O接口部件。Intel配套外圍接口器件的種類(lèi)齊全,并與MCS-51單片微機(jī)外部接口配置邏輯電路極為簡(jiǎn)單、方便,這也是MCS-51單片微機(jī)應(yīng)用廣泛的原因之一。8255是Intel公司生產(chǎn)的可編程并行

63、I/O接口芯片,它具有3個(gè)8位的并行I/O口,分別成為PA、PB、PC口,其中PC口又分為高4位口和低4位口兩部分。它們都可通過(guò)軟件編程來(lái)設(shè)置各I/O口的工作方式。8255I/O口多功能強(qiáng),與8051配置接口設(shè)計(jì)簡(jiǎn)單。如果全用單片機(jī)本身的并行口作鍵盤(pán)和顯示器接口,會(huì)占用過(guò)多的端口而影響其他控制任務(wù)的實(shí)現(xiàn),因此本系統(tǒng)采用8255作為L(zhǎng)ED數(shù)碼顯示和鍵盤(pán)的并行接口。</p><p>  1.8255的外特性</

64、p><p>  D0~D7:雙向數(shù)據(jù)總線(xiàn);</p><p>  CS:片選信號(hào)端,低電平有效;</p><p>  RD/WR:讀/寫(xiě)選通信號(hào)端,低電平有效;</p><p>  A0、A1:通道選擇信號(hào),它與CS、WR、RD的信號(hào)端組合,用來(lái)控制PA、PB、PC三個(gè)通道口和控制字端口及其功能選擇。它通常與地址總線(xiàn)的最低位A1A2相連;</

65、p><p>  RESET:復(fù)位信號(hào)輸入端,高電平有效,復(fù)位后全部?jī)?nèi)部寄存器,包括控制字寄存器均清“0”,所有通道均置為輸入方式,24條I/O引腳均呈高阻狀態(tài);</p><p>  PA口(PA0~7):一個(gè)8位數(shù)據(jù)輸出鎖存/緩沖而輸入鎖存功能的輸入/輸出通道口;</p><p>  PB口(PB0~7):一個(gè)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能的輸入/輸出通道口;&l

66、t;/p><p>  PC口(PC0~7):一個(gè)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能的輸入/輸出通道口;</p><p>  Vcc:+5V電源;</p><p><b>  GND:接地端。</b></p><p><b>  2.8255的應(yīng)用</b></p><p>  8

67、255有三種工作方式,其操作方式是通過(guò)軟件編程將方式控制字寫(xiě)入8255的控制字寄存器進(jìn)行選擇的。因此在使用8255之前必須要先對(duì)其初始化編程。</p><p>  由系統(tǒng)的硬件設(shè)計(jì)圖可知,8255的CS與8051的P2.7相連,即P2.7=0,由此可知,分配給8255的地址空間為7FFC~7FFFH,其中,PA口地址為7FFCH,PB口地址為7FFDH,PC口地址為7FFEH,控制口地址為7FFFH。</p

68、><p>  在本設(shè)計(jì)中,鍵盤(pán)由8255的A端口PA0和PA1作列掃描,由C端口的PC0和PC1作行輸入口。顯示器為6位LED數(shù)碼顯示,共陰極接法。數(shù)位的掃描信號(hào)也由8255的A端口PA0~PA5提供,字段信號(hào)由8255的B端口PB0~PB7輸出。采用7406和7407進(jìn)行驅(qū)動(dòng)。8255的端口A和端口B均作為輸出口,控制字PA位和PB位均為1,端口C作輸入口,控制字PC2,PC1為0,其他位不用為0,控制字為3H。8

69、051輸出的數(shù)據(jù)是通過(guò)鎖存器74LS373送入8255的, 74LS373的作用是暫存8051輸出的8位數(shù)據(jù)。</p><p>  2.4.2 6位LED數(shù)碼顯示和鍵盤(pán)</p><p>  本設(shè)計(jì)根據(jù)系統(tǒng)的設(shè)計(jì)要求,用了6位LED數(shù)碼管,其中,3位顯示溫度,其它三位顯示水位,顯示值精確到個(gè)位。且根據(jù)程序的編寫(xiě)來(lái)分時(shí)顯示設(shè)定值以及實(shí)際值。當(dāng)使用者有按鍵要求時(shí),6位數(shù)碼管顯示使用者設(shè)定的溫度

70、和水位,設(shè)定結(jié)束后及其它工作時(shí)間,6位LED顯示熱水器當(dāng)前的實(shí)際溫度和水位值。用四個(gè)2*2按鍵作為熱水器的功能鍵,即1號(hào)按鍵:水位設(shè)定鍵(按一下加1L水),2號(hào)按鍵:開(kāi)始加水鍵,3號(hào)按鍵:水溫設(shè)定鍵(按一下升1攝氏度,在0攝氏度與100攝氏度之間循環(huán)),以及4號(hào)按鍵:開(kāi)始加熱鍵。按1號(hào)鍵對(duì)水位進(jìn)行設(shè)置,設(shè)置結(jié)束后按2號(hào)鍵即啟動(dòng)進(jìn)水裝置;按3號(hào)鍵可對(duì)水溫進(jìn)行設(shè)置,設(shè)定結(jié)束后按4號(hào)鍵即啟動(dòng)加熱裝置。</p><p>

71、  2.5 輸出驅(qū)動(dòng)與執(zhí)行機(jī)構(gòu)</p><p>  2.5.1加熱器的電路連接與分析</p><p>  電熱型功率接口通常用繼電器或可控硅控制,本設(shè)計(jì)采用的是雙向可控硅控制的電熱型功率接口。電路圖見(jiàn)圖2-9。</p><p>  電熱器件由雙向可控硅KS控制,KS由光電耦合器4N25和晶體管9013觸發(fā)采用直流脈沖觸發(fā),觸發(fā)電壓由變壓器的其中一個(gè)繞組L2提供,經(jīng)

72、整流濾波后,產(chǎn)生觸發(fā)電流。</p><p>  單片機(jī)8051的P1.7端輸出的觸發(fā)信號(hào),經(jīng)7407后,送到光電耦合器4N25。P1.7端輸出高電平時(shí),4N25沒(méi)有電流輸入,晶體管T截止,雙向晶閘管KS關(guān),電熱器不加熱。當(dāng)P1.7輸出低電平時(shí),7404輸出低電平,4N25輸出的電流經(jīng)晶體管9013放大后流向雙向可控硅門(mén)極,雙向可控硅導(dǎo)通,電熱器加熱。</p><p>  過(guò)零檢測(cè)電路由變壓

73、器B的其中一個(gè)繞組L3和電容器C2組成。L3產(chǎn)生2.5V的交流電壓,通過(guò)C2交連到T0和T1端。T0是過(guò)零檢測(cè)端,它可對(duì)過(guò)零的上升信號(hào)檢測(cè)而發(fā)生中斷;T1也是過(guò)零檢測(cè)端,它可對(duì)過(guò)零的下降信號(hào)檢測(cè)而發(fā)生中斷。把T0和T1產(chǎn)生的中斷綜合處理,即可得到電源電壓過(guò)零的時(shí)刻。其中,T0和T1采用溢出中斷方式。</p><p>  2.5.2 達(dá)林頓管的原理與應(yīng)用</p><p>  由8051輸出

74、的控制信號(hào)要經(jīng)過(guò)光電隔離后去控制上水閥進(jìn)行工作,但由于控制信號(hào)太小,需要接驅(qū)動(dòng)電路將信號(hào)適當(dāng)放大,在這里,我采用的是達(dá)林頓管。達(dá)林頓管采用復(fù)合連接方式,將兩只或更多只晶體管的集電極連在一起,而將第一只晶體管的發(fā)射極直接耦合到第二只晶體管的基極,依次級(jí)連而成。達(dá)林頓管具有增益高、開(kāi)關(guān)速度快、能簡(jiǎn)化設(shè)計(jì)電路等優(yōu)點(diǎn)。本系統(tǒng)采用的是由兩只NPN型晶體管構(gòu)成的達(dá)林頓管,其基本電路如下所示:</p><p>  圖2-10

75、 達(dá)林頓管基本電路</p><p>  2.5.3 上水閥的驅(qū)動(dòng)電路及分析</p><p>  單片機(jī)8051的P1.6利用OC門(mén)與光電耦合器4N25相連,4N25的輸出接達(dá)林頓管作為上水閥的驅(qū)動(dòng)電路。P1.6為低電平時(shí),4N25有電流流入,達(dá)林頓管驅(qū)動(dòng)上水閥打開(kāi),向熱水器充水。</p><p>  2.6 系統(tǒng)的硬件抗干擾設(shè)計(jì)</p><

76、p>  2.6.1 按鍵消抖</p><p><b>  1.鍵盤(pán)輸入的特點(diǎn)</b></p><p>  鍵盤(pán)實(shí)質(zhì)上是一組按鍵開(kāi)關(guān)的集合。通常,按鍵所用開(kāi)關(guān)為機(jī)械彈性開(kāi)關(guān),均利用了機(jī)械觸電的合、斷。由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開(kāi)時(shí)也不會(huì)一下斷開(kāi)。因而,在閉合和斷開(kāi)的瞬間均伴隨著一連串的抖動(dòng),抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性

77、決定,一般為5~10ms。按鍵的穩(wěn)定閉合時(shí)間由操作人員的按鍵動(dòng)作持續(xù)時(shí)間決定,一般為十分之幾秒到幾秒時(shí)間。</p><p>  按鍵的閉合與否,反映在電壓上就是出現(xiàn)高電平或低電平,所以通過(guò)電平的高低狀態(tài)的檢測(cè),便可確認(rèn)按鍵按下沒(méi)有。為了確保按鍵的狀態(tài),必須消除按鍵抖動(dòng)的影響,這也是按鍵抗干擾的主要的一個(gè)方面,同時(shí),由于按鍵一般與系統(tǒng)是通過(guò)傳輸線(xiàn)相連的,傳輸線(xiàn)很容易受到電磁干擾的影響,因此鍵盤(pán)傳輸線(xiàn)的抗干擾問(wèn)題也是

78、按鍵接口電路應(yīng)該解決的問(wèn)題。</p><p>  2.按鍵接口電路的消抖措施</p><p>  消除按鍵抖動(dòng)影響通常有硬件、軟件兩種方法,本系統(tǒng)采用的是硬件方法:雙穩(wěn)態(tài)消抖。其電路原理如圖2-1所示:</p><p>  設(shè)按鍵首先處于a位置,此時(shí)RS觸發(fā)器的與非門(mén)輸出端OUT1為高電平1,與非門(mén)2的輸出端OUT2為0,此輸出引入到與非門(mén)1的一個(gè)輸入端,會(huì)把與非門(mén)

79、1鎖住,使其固定輸出為1。如果此時(shí)按下此鍵,即使按鍵在a位置因彈性而產(chǎn)生瞬間抖動(dòng),形成一連串的抖動(dòng)波形,即與非門(mén)1輸入端出現(xiàn)了一連串的高和低電平,由于與非門(mén)2的輸入端在按鍵沒(méi)有到達(dá)b位置時(shí)始終是0,所以無(wú)論與非門(mén)1輸入端的信號(hào)電平怎么變化,與非門(mén)1輸出端OUT1的輸出恒為1。當(dāng)按鍵到達(dá)b時(shí),一旦與非門(mén)2的輸入端呈現(xiàn)低電平時(shí),RS觸發(fā)器將出現(xiàn)狀態(tài)的翻轉(zhuǎn),此時(shí),OUT2端輸出為1,OUT1端輸出為0 。</p><p&g

80、t;  圖2-12 雙穩(wěn)態(tài)消抖電路</p><p>  OUT1又引回與非門(mén)2的一個(gè)輸入端,鎖住與非門(mén)2,保證其輸出恒為1,這樣即使按鍵出現(xiàn)抖動(dòng),也不會(huì)影響OUT2的輸出,因此OUT1的輸出也恒為0。同樣,在松開(kāi)按鍵的過(guò)程中,只要接通a,輸出為1,在接通a的過(guò)程中,即使產(chǎn)生了彈性抖動(dòng),只要按鍵不與按鍵b發(fā)生接觸,RS觸發(fā)器的輸出將保持不變。由以上分析可知,如果在按鍵信號(hào)輸入端加上一個(gè)RS觸發(fā)器就可以消除按鍵抖

81、動(dòng)產(chǎn)生的干擾。</p><p>  2.6.2 光電隔離</p><p>  光電隔離器主要用于電信號(hào)的隔離和傳輸,它通常把發(fā)光器件和受光器件置于同一殼體內(nèi),在發(fā)光器件端口加入控制電信號(hào),使得發(fā)光器件發(fā)光,受光器件受光,產(chǎn)生光電效應(yīng),輸出電信號(hào),從而可以實(shí)現(xiàn)電—光—電的信號(hào)傳輸和控制。</p><p>  本設(shè)計(jì)采用的光電隔離器是4N25。</p>

82、<p>  4N25由發(fā)光二極管和光敏三極管組成。當(dāng)發(fā)光二極管流有一定電流時(shí),發(fā)光二極管就發(fā)光,發(fā)出的光照射到光敏三極管上,就會(huì)產(chǎn)生一定的基極電流,使光敏三極管導(dǎo)通。若沒(méi)有電流(或電流非常?。┝鬟^(guò)發(fā)光二極管,則其不發(fā)光,光敏三極管就處于截止?fàn)顟B(tài)。</p><p>  圖2-13 光電隔離器4N25第三章 系統(tǒng)軟件部分設(shè)計(jì)</p><p>  3.1 主程序流程圖</p

83、><p>  本設(shè)計(jì)屬于小型應(yīng)用系統(tǒng),系統(tǒng)并不復(fù)雜,但要求一定的可靠性和抗干擾性。單片機(jī)的主頻為12kHz,顯示部分由定時(shí)器中斷控制??偟膩?lái)說(shuō),軟件的實(shí)現(xiàn)沒(méi)有高難度的算法,在這里省略了詳細(xì)的程序。下圖為主程序流程圖:</p><p><b>  Y</b></p><p><b>  N</b></p><

84、p><b>  Y</b></p><p>  N </p><p><b>  N</b></p><p><b>  N</b></p><p><b>  Y</b></p><p>  圖3-1 主程

85、序流程圖</p><p>  3.2 部分中斷服務(wù)程序</p><p><b>  8255初始化</b></p><p>  8255的初始化程序?yàn)椋?lt;/p><p>  PI8255:MOV DPTR,#7FFFH ;8255控制寄存器地址送A</p><p>  M

86、OV A,#3H ;控制字送A</p><p>  MOVX @DPTR,A ;方式控制寫(xiě)入8255控制寄存器</p><p>  3.2.2 A/D轉(zhuǎn)換程序</p><p>  1.A/D轉(zhuǎn)換中斷子程序流程圖</p><p>  圖3-2 AD轉(zhuǎn)換中斷服務(wù)程序流程圖<

87、;/p><p><b>  2.A/D轉(zhuǎn)換程序</b></p><p>  在主程序中要對(duì)INT0外部中斷進(jìn)行預(yù)置,然后啟動(dòng)ADC0809進(jìn)行A/D轉(zhuǎn)換。設(shè)由IN0路開(kāi)始,IN0和IN1輪流輸入。轉(zhuǎn)換結(jié)束后,轉(zhuǎn)入中斷服務(wù)子程序,把轉(zhuǎn)換結(jié)果讀入8051的累加器,并存入相應(yīng)緩沖存儲(chǔ)單元50H~51H,再由主程序?qū)@些數(shù)據(jù)進(jìn)行處理。轉(zhuǎn)換程序如下:</p><

88、p>  預(yù)置外部中斷0 </p><p>  SETB IT0 ;置INT0為下降沿觸發(fā)</p><p>  SETB EA ;總中斷開(kāi)放</p><p>  SETR EX0 ;開(kāi)放INT0中斷</p>

89、<p><b>  啟動(dòng)ADC0809</b></p><p>  MOV DPTR,#0D000H ;ADC0809口地址</p><p>  MOV R0,#50 ;R0作存數(shù)緩沖器指針</p><p>  MOV R1,#00H ;R

90、1作通道數(shù)指針</p><p>  MOV A,R1 ;從IN0開(kāi)始</p><p>  MOVX @DPTR,A ;啟動(dòng)轉(zhuǎn)換</p><p>  …… ;繼續(xù)主程序,等待中斷</p><p><b>  中

91、斷子程序</b></p><p>  ORG 0003H ; INT0中斷向量地址</p><p>  AJMP RDDAT ;轉(zhuǎn)移至讀入數(shù)據(jù)處</p><p>  RDDAT: MOVX A,@DPTR ;讀入數(shù)據(jù)</p><

92、p>  MOV @R0,A ;存入緩沖器</p><p>  INC R0 ;增量緩沖器指針</p><p>  INC R1 ;指向下一通道</p><p>  REP: MOV A,R1

93、 </p><p>  MOVX @DPTR,A ;啟動(dòng)對(duì)下一路的轉(zhuǎn)換</p><p>  CJNE A,#01H,RMP0 ;兩路都轉(zhuǎn)換過(guò)了嗎?</p><p>  MOV R1,#00H ;是,重新從IN0開(kāi)始</p><p><b>

94、;  SJMP REP</b></p><p>  RMP0: RETI ;否,返回主程序等待 </p><p>  3.2.3 LED數(shù)碼顯示程序</p><p>  設(shè)顯示緩沖區(qū)為58H~5FH共8個(gè)存儲(chǔ)單元,顯示子程序從地址0400H開(kāi)始。顯示子程序如下:</p><

95、p>  ORG 0400H</p><p>  DSPY: MOV R0,#58H ;R0為顯示緩沖區(qū)指針</p><p>  MOV R1,#01H ;R1為顯示器數(shù)位指針</p><p>  LOOP: MOV A,R1 ;掃描模式送A</p

96、><p>  MOV DPTR,#7FFCH ;DPTR指向8255的PA口</p><p>  MOVX @DPTR,A ;掃描一位LED</p><p>  INC DPTR ;DPTR指向PB口</p><p>  MOV A,@R0

97、 ; 取要顯示的數(shù)</p><p>  ADD A,#12H ;加上到字形表的偏移量</p><p>  MOVC A,@A+PC ;取字形碼,查表</p><p>  MOVX @DPTR,A ;字形送到PB口</p><p>  MOV R7,

98、#02H ;延遲1ms以充分顯示</p><p>  DL0: MOV R6,#0FFH</p><p>  DL1: DJNZ R6,DL1 </p><p>  DLNZ R7,DL0</p><p>  INC R0

99、 ;R0指向下一位緩沖單元</p><p>  MOV A,R1 ;R1指向下一位LED</p><p><b>  RL A</b></p><p>  MOV R1,A </p><p>  JNB ACC.0,LOOP

100、 ;所有位都掃描過(guò)了嗎?</p><p>  RET ; 是,返回</p><p>  3.2.4 鍵盤(pán)掃描子程序</p><p>  調(diào)用顯示子程序作為延遲以消除按鍵抖動(dòng),掃描子程序如下:</p><p>  ORG 0440H

101、 ;鍵盤(pán)掃描子程序</p><p>  RDKB: ACALL DSPY ;調(diào)用顯示子程序</p><p>  MOV A,#00H </p><p>  ACALL SCAN ;掃描全鍵盤(pán)</p><p>  JZ

102、RDKB ;有鍵按下?否,返回等待</p><p>  ACALL DSPY ;是,顯示延遲12ms</p><p>  ACALL DSPY ;消抖</p><p>  MOV R3,#00H ;R3作列值寄存器

103、</p><p>  MOV R4,#00H ;R4作行初值寄存器</p><p>  MOV R2,#0FEH ;R2作列掃描寄存器</p><p>  RK1: MOV A,R2 ;先掃描最右一列</p><p>  AC

104、ALL SCAN ;本列有鍵按下嗎?</p><p>  JNZ RK2 ;有,測(cè)鍵值</p><p>  INC R3 ;否,列值加1</p><p>  MOV A,R2 ;準(zhǔn)備掃下一

105、列</p><p>  JNB ACC.7,TRDKB ;所有列都掃過(guò)了嗎?</p><p>  RL A ;是,重新開(kāi)始</p><p><b>  MOV R2,A</b></p><p>  SJMP RK1

106、 ;否,繼續(xù)掃下一列</p><p>  RK2: RRC,A ;找出哪一行有鍵按下</p><p>  JC KEYD ;此行有鍵按下?</p><p>  PUSH ACC ;是,去計(jì)

107、算鍵值</p><p>  MOV A,R4 ;否,測(cè)下一行</p><p>  ADD A,#08H ;行初值加8</p><p><b>  MOV R4,A</b></p><p><b>  POP ACC<

108、/b></p><p><b>  SJMP RK2</b></p><p>  KEYD: ACALL DSPY ;找到了按下的鍵</p><p>  MOV A,#00H ;等待鍵釋放</p><p>  ACALL S

109、CAN ;消抖</p><p><b>  JNZ KEYD</b></p><p>  MOV A,R4 ;計(jì)算鍵值=行值+列值</p><p><b>  ADD A,R3</b></p><p><

110、b>  RET</b></p><p>  SCAN: MOV DPTR,#07FFCH ;8255的PA口地址 </p><p>  MOVX @DPTR,A ;列掃描從PA口輸出</p><p>  MOV DPTR,#07FFEH ;8255的PC口地址&l

111、t;/p><p>  MOVX A,@DPTR ;行信號(hào)從PC口輸入</p><p>  CPL A ;變反碼</p><p>  ANL A,#07H ;屏蔽掉無(wú)用位</p><p><b>  RET</

112、b></p><p><b>  結(jié) 論</b></p><p>  至此,關(guān)于太陽(yáng)能熱水器彈片機(jī)控制系統(tǒng)的設(shè)計(jì)已經(jīng)結(jié)束。本系統(tǒng)充分利用了單片機(jī)的各種資源,且輔之以其它各種外設(shè),系統(tǒng)設(shè)計(jì)簡(jiǎn)單、性能優(yōu)良、工作可靠且成本較低,克服了一般太陽(yáng)能熱水器陰雨天無(wú)法使用、無(wú)水溫水位顯示、無(wú)法自動(dòng)上水等缺點(diǎn),實(shí)現(xiàn)了太陽(yáng)能熱水器運(yùn)行的自動(dòng)化。通過(guò)完成本次設(shè)計(jì)任務(wù),使我對(duì)由單片

113、機(jī)控制的應(yīng)用系統(tǒng)有了更深層次的認(rèn)識(shí),作為應(yīng)用系統(tǒng)的指揮中心,單片機(jī)發(fā)揮著不可替代的作用。在查閱書(shū)籍和資料的過(guò)程中,我學(xué)到了不少新知識(shí),如達(dá)林頓管驅(qū)動(dòng)、光電隔離的作用、電熱功率接口電路、按鍵消抖軟件和硬件措施等等。在補(bǔ)充新知識(shí)的同時(shí),也將以前學(xué)過(guò)的8051、8255、ADC0809、74LS373等知識(shí)進(jìn)行了擴(kuò)充。</p><p>  此外,本次設(shè)計(jì)先總體設(shè)計(jì)后分硬件和軟件設(shè)計(jì)的設(shè)計(jì)思路,是今后解決類(lèi)似問(wèn)題可以借鑒

114、的經(jīng)驗(yàn)。通過(guò)完成設(shè)計(jì)任務(wù),我感覺(jué)最大的收獲是自學(xué)能力得到了很大程度的提高,收獲了獨(dú)立解決問(wèn)題的自信!</p><p><b>  致 謝</b></p><p>  在畢業(yè)設(shè)計(jì)的整個(gè)過(guò)程中,*老師為我提供了部分參考書(shū)籍和資料,悉心解答,及時(shí)指出設(shè)計(jì)方案中的不足,在此,我要再次感謝老師們的悉心指導(dǎo)。自動(dòng)化的其他老師和同學(xué)們也提供了大量的幫助,在此,表示對(duì)學(xué)校、老師和同

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論