版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的太陽(yáng)能熱水器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的太陽(yáng)能熱水器控制的畢業(yè)設(shè)計(jì)
- 太陽(yáng)能熱水器控制畢業(yè)設(shè)計(jì)論文
- 太陽(yáng)能熱水器控制器畢業(yè)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--太陽(yáng)能熱水器控制器設(shè)計(jì)
- 太陽(yáng)能熱水器
- 太陽(yáng)能熱水器智能控制器-畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的全自動(dòng)太陽(yáng)能熱水器的控制
- 課程設(shè)計(jì)--基于單片機(jī)的太陽(yáng)能熱水器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于51單片機(jī)的太陽(yáng)能熱水器智能控制器的設(shè)計(jì)
- 《做個(gè)太陽(yáng)能熱水器》教學(xué)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--太陽(yáng)能熱水器智能控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)--太陽(yáng)能熱水器智能控制系統(tǒng)
- 太陽(yáng)能熱水器溫度控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 太陽(yáng)能熱水器溫度控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-太陽(yáng)能熱水器控制電路設(shè)計(jì)
- 太陽(yáng)能熱水器的智能控制器-畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---太陽(yáng)能熱水器智能控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)----太陽(yáng)能熱水器控制電路設(shè)計(jì)
- 太陽(yáng)能熱水器畢業(yè)論文
評(píng)論
0/150
提交評(píng)論