版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
河南科技學(xué)院2013屆本科畢業(yè)論文(設(shè)計(jì)) 論文題目:基于單片機(jī)的太陽能熱水器設(shè)計(jì)學(xué)生姓名:史利平所在院系:機(jī)電學(xué)院 所學(xué)專業(yè):應(yīng)用電子技術(shù)教育導(dǎo)師姓名:田熙燕完成時(shí)間:2013年5月20日摘要本文以89C52單片機(jī)為核心,設(shè)計(jì)了一種數(shù)字化且智能化的太陽能熱水器控制系統(tǒng)。重點(diǎn)研究了配合RC充放電式水位測量及其優(yōu)化,該系統(tǒng)與傳統(tǒng)的太陽能熱水器控制系統(tǒng)相比較,具有結(jié)構(gòu)簡單、使用方便、價(jià)格低廉、抗干擾能力強(qiáng)等特點(diǎn)。關(guān)鍵詞:太陽能熱水器,89C52,RC充放電,8255AAbstractThispaperwhichtakesthe89C52microcontrollerasthecore,designacontrolsystemofsolarwaterheaterwhichisdigitalandintelligent.FocusontheRCwiththecharginganddischargingtypewaterlevelmeasurementandoptimization,andcomparedtothesolarwaterheatercontrolsystemofthissystemwiththetraditional,ithasthecharacteristicsofsimplestructure,convenientuse,lowprice,strongantiinterferenceability.Keywords:Solarwaterheater,89C52,RCchargeanddischarge,8255A目錄1引言 21.1太陽能熱水器的發(fā)展現(xiàn)狀 21.2課題的研究內(nèi)容 22太陽能熱水器控制系統(tǒng)整體結(jié)構(gòu) 22.1太陽能熱水器整體結(jié)構(gòu) 22.2方案選擇 23電路硬件設(shè)計(jì) 43.1水位測量電路 43.2水溫測量電路 73.3水位、水溫測量電路的整體設(shè)計(jì) 83.4時(shí)鐘電路 83.4.1DS1302串行時(shí)鐘芯片 93.4.2DS1302與單片機(jī)的連接及時(shí)間讀取方法 103.5鍵盤和顯示電路 103.5.18255A芯片介紹 103.5.28255A在太陽能熱水器控制電路中的作用 123.5.3顯示電路工作原理 123.5.4鍵盤電路原理 143.6驅(qū)動(dòng)電路 143.7電源電路 144軟件設(shè)計(jì) 155結(jié)束語 16致謝 17參考文獻(xiàn) 17附錄系統(tǒng)整體電路圖 181引言1.1太陽能熱水器的發(fā)展現(xiàn)狀 隨著全球氣候變暖的加快,節(jié)能減排日趨嚴(yán)峻,世界各國都在尋求新的能源替代戰(zhàn)略,以求得可持續(xù)發(fā)展和在日后的發(fā)展中獲取優(yōu)勢地位。近年來各種環(huán)保、節(jié)能的熱水器紛紛涌入市場,但太陽能熱水器以節(jié)能、環(huán)保、安全、可資源再生、零資源消耗成為市場的主流產(chǎn)品。源于競爭,各大商家為了使自己的產(chǎn)品在市場上立足并長遠(yuǎn)發(fā)展,不斷提高太陽能熱水器的性能,其中太陽能熱水器控制器以其靈活、貼近客戶成為商家競爭的熱點(diǎn)。目前,各大商家紛紛提高太陽能熱水器的智能化程度來滿足消費(fèi)者的需求。1.2課題的研究內(nèi)容本課題以89C52單片機(jī)為核心配合傳感器、顯示器件、電磁閥、電加熱器、報(bào)警器等外圍器件,采集熱水器儲(chǔ)水箱中的水位、水溫信號(hào),通過控制電動(dòng)機(jī)的運(yùn)轉(zhuǎn)、電加熱器加熱來控制儲(chǔ)水器的水位、溫度,并完成水位、水溫顯示,時(shí)間顯示,水溢報(bào)警等功能。另外配有鍵盤,可以實(shí)現(xiàn)手動(dòng)上水、手動(dòng)電加熱、設(shè)置水位、設(shè)置溫度等功能。2太陽能熱水器控制系統(tǒng)整體結(jié)構(gòu)2.1太陽能熱水器整體結(jié)構(gòu)太陽能熱水器整體結(jié)構(gòu)大致可以分為四大部分:(1)水位、水溫測量電路。這部分用于采集水位、水溫信號(hào)給單片機(jī),是太陽能熱水器控制器最關(guān)鍵的部位。(2)時(shí)間、水位、溫度顯示和鍵盤電路。鍵盤部分用于系統(tǒng)和人的信息交互,通過鍵盤可使系統(tǒng)顯示所需要查看的信息。時(shí)間、水位、溫度信息通過數(shù)碼管顯示給用戶。(3)時(shí)鐘電路。給系統(tǒng)提供實(shí)時(shí)時(shí)間或參考時(shí)間,以便于對電加熱時(shí)間進(jìn)行調(diào)整。(4)驅(qū)動(dòng)電路。包括電加熱、上水電磁閥、報(bào)警電路,是整個(gè)系統(tǒng)的執(zhí)行部分。系統(tǒng)的整體結(jié)構(gòu)圖如圖1所示。2.2方案選擇水位測量和水溫測量:水位測量和水溫測量是太陽能熱水器控制系統(tǒng)的最重要部分,因此傳感器的選擇是本設(shè)計(jì)的關(guān)鍵。水位傳感器的選擇:位測量可以有多種方法,我們從性能和成本兩方面進(jìn)行考慮,選擇RC充放電式水位傳感器,而沒有選用大眾式的排阻分檔鍵盤式水位傳感器。因?yàn)镽C充放電式水位傳感器明顯優(yōu)于排阻分檔鍵盤式水位傳感器的地方有:(1)接線簡單,排阻分檔鍵盤式水位傳感器需要四根導(dǎo)線傳輸水位信號(hào),而RC充放電式水位傳感器僅需要兩根就能完成,這對于線路較長的太陽能熱水器傳輸信號(hào)電路來說能節(jié)省相當(dāng)多的導(dǎo)線資源。(2)給水溫測量電路設(shè)計(jì)帶來方便,RC充放電式水位傳感器的原理可以同樣運(yùn)用到熱電阻溫度測量電路中。(3)占用較少的I/O口,僅需兩個(gè)I/O口就能完成水位檢測任務(wù),極大地節(jié)約了單片機(jī)的I/O口資源。水位、水溫測量水溫、時(shí)間顯示89C52水位、水溫測量水溫、時(shí)間顯示89C528255A8255A鍵盤鍵盤時(shí)鐘時(shí)鐘電加熱電加熱水位指示燈水位指示燈上水上水報(bào)警報(bào)警圖1太陽能熱水器控制系統(tǒng)整體結(jié)構(gòu)圖溫度傳感器的選擇:溫度傳感器選用了NTC負(fù)溫度系數(shù)熱電阻溫度傳感器,因?yàn)樗哂徐`敏度高、穩(wěn)定性強(qiáng)、耐腐蝕、壽命長、安裝方便等優(yōu)點(diǎn)。此外水溫測量電路選用了RC充放電式熱電阻水溫傳感器測量電路。對于對溫度要求不算精確的太陽能熱水器系統(tǒng),完全可以滿足我們的需要。其優(yōu)勢還是十分突出的:(1)僅需2個(gè)I/O口就能完成對溫度的檢測,節(jié)約了單片機(jī)的I/O,有利于降低成本。(2)實(shí)現(xiàn)起來也十分簡單。時(shí)間、水位、溫度顯示和鍵盤電路:太陽能熱水器系統(tǒng)需要用數(shù)碼管顯示時(shí)間和溫度,時(shí)間精確到分,24或12小時(shí)制,這就需要4位顯示;而溫度顯示范圍為0—99度,這又需要2位顯示。對于六位顯示,采用占用I/O較少的動(dòng)態(tài)掃描方式,也需要六位位選碼數(shù)據(jù)線,八位段選碼數(shù)據(jù)線,共需14個(gè)I/O口。鍵盤采用復(fù)用方式,仍需要至少4個(gè)I/O口。鍵盤和顯示電路共需18個(gè)I/O口,89C52單片機(jī)共有4×8個(gè)I/O口,而又有8個(gè)口有特殊功能,也就是常用的共有3×8個(gè)I/O口,該系統(tǒng)的其他設(shè)置也還要占用大量I/O口,顯然這樣太浪費(fèi)資源。本設(shè)計(jì)采用可編程并行接口芯片8255A擴(kuò)展I/O口,這樣就比直接顯示鍵盤電路節(jié)省了7個(gè)I/O口。時(shí)鐘電路:太陽能熱水器雖然節(jié)能環(huán)保,但它也有自身的許多缺點(diǎn),例如受天氣狀況的影響太大,如果某天因陰雨天氣等原因日照不足,水溫偏低,使用者就無法正常使用熱水。為了解決這個(gè)問題需要為控制系統(tǒng)提供電加熱裝置。因此為了避免因加熱時(shí)間不足而造成水溫達(dá)不到所需的溫度或因加熱時(shí)間過長而浪費(fèi)大量電能等諸多問題,本設(shè)計(jì)采用了DS1302串行時(shí)鐘芯片對電加熱時(shí)間進(jìn)行控制。它與DS12B887的計(jì)時(shí)功能基本相同,它們的最大區(qū)別是DS1302時(shí)串行I/O方式,而DS12B887時(shí)并行I/O口方式,DS12B887編程實(shí)現(xiàn)要容易些,而DS1302要占用較少的I/O資源??梢娛褂肈S1302串行時(shí)鐘芯片能夠節(jié)省單片機(jī)的硬件資源,并能充分發(fā)揮單片機(jī)的軟件優(yōu)勢。驅(qū)動(dòng)電路:它主要包括上水、電加熱、報(bào)警電路,它們都屬于大功率電路。它們均采用Q9013三極管進(jìn)行放大驅(qū)動(dòng),需用開關(guān)控制外部電源的關(guān)斷。該電路主要是采用單片機(jī)為驅(qū)動(dòng)開關(guān)提供開關(guān)信號(hào),以控制電源的通斷,使得驅(qū)動(dòng)電路獲得電源,執(zhí)行相應(yīng)的功能。3電路硬件設(shè)計(jì)3.1水位測量電路太陽能熱水器的水位和水溫傳感器的基本形狀如圖2所示。圖2太陽能水位水溫傳感器外形圖從圖2中我們可以清楚的地看到傳感器外形非常簡單,一共只有4個(gè)端口,其中一個(gè)是防凍接口,沒有使用,使用的只有3個(gè)端口,在可用的三個(gè)端口上分別標(biāo)有公共、水位、水溫標(biāo)志,由此可知測量水位、水溫都各用了一個(gè)端口。觀察傳感器可知水位傳感器有5個(gè)與水接觸點(diǎn),我們從上到下依次命名它們?yōu)?—5觸點(diǎn)。我們分別測量了觸點(diǎn)不同接法時(shí)公共和水位兩端口之間的電阻,數(shù)據(jù)如表1所示。由上述測試結(jié)果的電阻值得出這樣的規(guī)律,那就是電阻的并聯(lián)短接,其原理如圖3所示。RC充放電測量水位的工作原理是:水面每接觸一個(gè)鋼針就會(huì)多并聯(lián)一個(gè)電阻,電阻隨水位變化而規(guī)律的變化。利用單片機(jī)的一個(gè)口周期性的給電容電路充放電,然后用單片機(jī)監(jiān)測電容兩端電壓的變化,因?yàn)殡娙蓦妷旱纳仙蛳陆禃r(shí)間T=RC,所以用單片機(jī)記錄這個(gè)時(shí)間就能判別電阻的變化,進(jìn)而轉(zhuǎn)化為水位的變化進(jìn)行顯示及其他動(dòng)作,原理圖如圖4。水位測量電路的具體設(shè)計(jì)及優(yōu)化:(1)直接接單片機(jī)I/O口檢測單片機(jī)中的定時(shí)器可以提供電壓變化時(shí)間的紀(jì)錄,接下來就是如何將電壓的變化傳遞給單片機(jī)。一種簡單的方案是:用P1.0口給RC電路周期性的充放電,然用P1.1口監(jiān)測電容的電平變化,完成計(jì)時(shí),這種方案看上去簡單易實(shí)現(xiàn),但實(shí)際則行不通。按剛才提到的方法接圖如圖5。圖3太陽能水位傳感器原理表1輸出電阻值短接方式無短接1、21、2、31、2、3、41、2、3、4、5輸出電阻值(kΩ)極大2512.58.66.3圖4RC充放電式水位傳感器測量電路原理圖圖5直接用I/O檢測電容電壓測量水位電路原理圖這樣做得到的結(jié)果是P1.1的電壓一直保持高電平,即電容電壓一直保持高點(diǎn)平。這與單片機(jī)內(nèi)部電路有關(guān)。從圖中可見,P1.1口只有高電平和低電平兩種狀態(tài),當(dāng)P1.1口為高電平時(shí),將電容端與P1.1連接,VCC會(huì)通過內(nèi)部上拉電阻持續(xù)給電容充電,所以監(jiān)測電容電壓一直為高電平。而當(dāng)將其置低電平時(shí),P1.1口相當(dāng)于接地,將會(huì)出現(xiàn)相反的情況,其通過地一直給電容放電,電容電壓一直低電平。(2)采取與I/O隔離并用中斷監(jiān)測電容電壓的電路這樣需要將電容電壓與單片機(jī)監(jiān)測端口隔離,采取如圖6所示電路。LM358電壓跟隨器的輸出電壓幅度為0至Vcc-1.5V,而要跟隨的電壓范圍為0—5V,所以應(yīng)選用大于+6.5V的電源供電,這里選用+12V單電源供電。LM393比較器設(shè)置+3V的參考電壓,將電容電壓的指數(shù)曲線變成矩形波,波形圖如圖7所示。將參考電壓接同相輸入端,比較電壓接反相輸入端,從而實(shí)現(xiàn)電容電壓在上升到參考電壓時(shí)比較器產(chǎn)生下降沿信號(hào),作為單片機(jī)的外部中斷信號(hào)。另外LM393的同相輸入端輸入和反相輸入端輸入之間有相互嵌位作用,+5V電源和分壓電阻提供的+3v參考電平對反相輸入端輸入有嵌位作用,如果不接LM358電壓跟隨器而與電容直接相連,顯然會(huì)影響電容電壓的變化,因此在這加了電壓跟隨器進(jìn)行隔離。圖6水位測量電路(3)充電時(shí)間的設(shè)定和電容的選擇電容充電時(shí)間的計(jì)算公式為:T=RC(1)T即位電容電壓上升時(shí)間。編程使P1.3口輸出周期性的方波,給電容充放電,方波半周期(充電或放電時(shí)間)為T′,應(yīng)使方波半周期大于電容電壓上升時(shí)間,即:T′≥T(2)如果使用單片機(jī)主程序一直循環(huán)給P1.3口輸出方波,方波的周期可以很大,超過幾秒甚至幾十秒,但是這樣主程序就只能干這一項(xiàng)工作,影響單片機(jī)的其他工作。所以要用定時(shí)器來實(shí)現(xiàn)方波輸出。這樣用定時(shí)器就可以用定時(shí)中斷使P1.3口輸出方波,又不影響單片機(jī)的其他工作。這樣方波的周期就受定時(shí)器定時(shí)時(shí)間的限制。89C52單片機(jī)定時(shí)器共有4種定時(shí)方式,其中定時(shí)時(shí)間最長的為定時(shí)方式1。當(dāng)定時(shí)器/計(jì)數(shù)器在方式1下做定時(shí)器用時(shí),其定時(shí)時(shí)間計(jì)算公式為:T=(N-計(jì)數(shù)初值)×晶振周期×12(3)如圖7,這里用INT0中斷來監(jiān)視記錄電容變化,內(nèi)部編程實(shí)現(xiàn)計(jì)時(shí)器對電容電壓上升時(shí)間的記錄,所以可以通過將計(jì)時(shí)器寄存器里的值顯示出來的方式直觀顯示水位結(jié)果,來確定合適的電容。以下是編程實(shí)現(xiàn)這一過程的結(jié)果。圖7電容電壓與比較器輸出信號(hào)(仿真和實(shí)測)表2不同電容大小時(shí)計(jì)數(shù)器寄存器中的值一水位二水位三水位四水位TH0TL0TH0TL0TH0TL0TH0TL02uFA0-B4——85-98——70-83——60-65——1uF64-70——49-50——38-40——32-34——0.22uF2——180-A3172-80164-72由表格數(shù)據(jù)可見當(dāng)選用2uF電容時(shí),應(yīng)需較大的充放電時(shí)間,充放電不夠充分,所以計(jì)數(shù)器寄存器中的值大而不準(zhǔn);而當(dāng)取0.22uF電容式計(jì)數(shù)寄存器TH0的值僅為1或2,非常不利用區(qū)分;當(dāng)取1uF電容時(shí),數(shù)據(jù)大小合適,分段明顯,所以應(yīng)選用1uF電容。另外,電容兩端的最高電壓為+5V,最低電壓為0V,所以所選電容的耐壓留有一定裕量為最大電壓的3倍,所以應(yīng)選取耐壓為15V以上的電容。3.2水溫測量電路RC充放電式熱電阻水溫傳感器測量電路的原理與前面提到的RC充放電式水位傳感器測量電路原理完全相同,只要把水位電阻換成熱電阻就可以了。其缺點(diǎn)是不夠精確,但成本很低,對于對溫度要求不算精確的太陽能熱水器系統(tǒng),完全可以滿足我們的需要。另外與A/D轉(zhuǎn)換式溫度傳感器相比,其優(yōu)勢還是十分突出的:僅需2個(gè)I/O口就能完成對溫度的檢測,節(jié)約了單片機(jī)的I/O,有利于降低成本;實(shí)現(xiàn)起來也十分簡單。水溫測量電路的設(shè)計(jì)及溫度計(jì)算方法:(1)水溫測量電路對太陽能熱水器中水的溫度進(jìn)行控制及顯示,需對熱水器水溫與出水溫度進(jìn)行檢測。對于熱水器來說溫度控制與顯示的精度要求并不高,因此本設(shè)計(jì)采用負(fù)溫度系數(shù)NTC熱敏電阻作為測溫元件,利用NTC熱敏電阻阻值隨溫度變化而改變的特性實(shí)現(xiàn)測溫。圖8水溫測量電路原理圖(2)水溫計(jì)算方法NTC熱敏電阻的阻值與溫度的準(zhǔn)確關(guān)系為:(4)因?yàn)?9C52單片機(jī)無法進(jìn)行直接的對數(shù)運(yùn)算,按公式計(jì)算溫度值將是十分困難的。在這里查表法是一種經(jīng)常采用的解決辦法,即事先計(jì)算出所有可能的計(jì)時(shí)結(jié)果所對應(yīng)的溫度值以表格形式寫入控制程序,每次轉(zhuǎn)換完畢后查表得出所對應(yīng)的溫度值。但此種方法需占用較多的程序儲(chǔ)存空間本設(shè)計(jì)采用一次線性插值法對溫度與A/D轉(zhuǎn)換結(jié)果之間的關(guān)系進(jìn)行分段線性化,以少量單片機(jī)能直接進(jìn)行的運(yùn)算的組合去逼近目標(biāo)函數(shù)。圖9為溫度T與計(jì)時(shí)器計(jì)時(shí)結(jié)果N之間的關(guān)系曲線。圖9計(jì)時(shí)寄存器值N與溫度T的關(guān)系曲線其中圓滑曲線為實(shí)際的T-N關(guān)系曲線設(shè)計(jì)中根據(jù)使用要求將曲線在0-90范圍內(nèi)分3段采用圖中的3段直線斷代替實(shí)際曲線。計(jì)算出的溫度值在0-20范圍內(nèi)誤差不超過2℃,在20-90范圍內(nèi)誤差不超過1℃。3.3水位、水溫測量電路的整體設(shè)計(jì)由上面的分析知道,兩者的電路原理一樣,都是用P1口給電容充電,用中斷檢測電容電壓變化。作為充電口P1口的作用相當(dāng)于電源(充電時(shí))或地(方電時(shí)),所以可以用同一個(gè)口為兩個(gè)沖放電回路充電,兩個(gè)回路是獨(dú)立的。LM393和LM358都是雙運(yùn)放、8腳DIP封裝,恰好用于水位和水溫檢測兩路。下面圖10是實(shí)際的水位和水溫測量電路圖,圖11是實(shí)際的水位指示電路。以P1.3口作為水位和水溫電路的公共充放電口,以INTO作為水位測量電路的中斷檢測口,以INT1作為水溫測量電路的中斷檢測口。圖10水位和水溫測量電路實(shí)際電路圖圖11水位指示電路3.4時(shí)鐘電路太陽能熱水器雖然節(jié)能環(huán)保,但它也有自身的許多缺點(diǎn),例如受天氣狀況的影響太大,如果某天因陰雨天氣等原因日照不足,水溫偏低,使用者就無法正常使用熱水。為了解決這個(gè)問題需要為控制系統(tǒng)提供電加熱裝置。本系統(tǒng)設(shè)計(jì)了一個(gè)利用時(shí)鐘芯片提供時(shí)間信號(hào)完成加熱功能的電加熱系統(tǒng)。下面對時(shí)鐘芯片電路的介紹。3.4.1DS1302串行時(shí)鐘芯片DS1302芯片的性能特點(diǎn):實(shí)時(shí)時(shí)鐘具有能計(jì)算2100年之前的秒、分、時(shí)、日、日期、星期、月、年的能力還有閏年調(diào)整的能力,318位暫存數(shù)據(jù)存儲(chǔ)RAM,串行I/O口方式使得管腳數(shù)量最少,寬范圍工作電壓2.0-5.5V,工作電流2.0V時(shí),小于300nA,讀/寫時(shí)鐘或RAM數(shù)據(jù)時(shí)有兩種傳送方式單字節(jié)傳送和多字節(jié)傳送字符組方式,8腳DIP封裝或可選的8腳SOIC封裝根據(jù)表面裝配,簡單3線接口,與TTL兼容Vcc=5V。圖12為DS1302管腳封裝管腳圖。圖12DS1302管腳封裝管腳圖管腳描述:X1、X232.768KHz晶振管腳;GND地;RST復(fù)位腳;I/O數(shù)據(jù)輸入/輸出引腳;SCLK串行時(shí)鐘;Vcc1,Vcc2電源供電管腳;3.4.2DS1302與單片機(jī)的連接及時(shí)間讀取方法DS1302的管腳按前面的說明進(jìn)行連接,SCLK同步時(shí)鐘口接P1.5口,I/O數(shù)據(jù)輸入輸出口接P1.6口,RST復(fù)位引腳接P1.7口,VCC2接+5V電源,VCC1接+5V備用電池,X1、X2接32.768KHZ晶振。單片機(jī)與DS1302的連接方式如圖13所示。讀取DS1302的時(shí)鐘時(shí)間:DS1302為串行時(shí)鐘芯片,每次傳送一位數(shù)據(jù),通過P1.5給DS1302發(fā)同步脈沖實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)耐健1.6口與DS1302I/O引腳相連,將要讀取值的控制字串行寫入到DS1302中,每寫一位,發(fā)送一個(gè)同步脈沖,控制字為8位,讀出的時(shí)、分?jǐn)?shù)據(jù)也是8位,寫完8位控制字,DS1302隨后就通過I/O引腳將該值送給單片機(jī)。I/O引腳上的數(shù)據(jù)在SCLK的上升沿串行輸入(寫數(shù)據(jù)到DS1302),在SCLK的下降沿串行輸出(讀數(shù)據(jù))。為了啟動(dòng)數(shù)據(jù)傳輸,引腳RST應(yīng)為高電平。DS1302有多種功能的控制字,其中讀時(shí)和分的控制字分別為0x85和0x83。3.5鍵盤和顯示電路鍵盤和顯示電路是太陽能熱水器水位控制系統(tǒng)與用戶的接口,用戶通過顯示來觀察水溫、水位、時(shí)間等狀態(tài)值,再根據(jù)觀察到的值,通過鍵盤對太陽能熱水器進(jìn)行控制。本章設(shè)計(jì)了較為合理的鍵盤和顯示電路完成這些功能。3.5.18255A芯片介紹Intel公司生產(chǎn)的可編程并行接口芯片8255A已廣泛應(yīng)用于實(shí)際工程中,例如8255A與A/D、D/A配合構(gòu)成數(shù)據(jù)采集系統(tǒng),通過8255A連接的兩個(gè)或多個(gè)系統(tǒng)構(gòu)成相互之間的通信,系統(tǒng)與外設(shè)之間通過8255A交換信息等等,所有這些系統(tǒng)都將8255A用作為并行接口。(1)8255A的引腳功能定義8255A的引腳定義如表2所示。8255A為一可編程的通用接口芯片。它有三個(gè)數(shù)據(jù)端口A、B、C,每個(gè)端口為8位,并均可設(shè)成輸入和輸出方式,但各個(gè)端口仍有差異:端口A(PA0~PA7):8位數(shù)據(jù)輸出鎖存/緩沖器,8位數(shù)據(jù)輸入鎖存器;圖13單片機(jī)與DS1302的連接圖端口B(PB0~PB7):8位數(shù)據(jù)I/O鎖存/緩沖器,8位數(shù)據(jù)輸入緩沖器;端口C(PC0~PC7):8位輸出鎖存/緩沖器,8位輸入緩沖器(輸入時(shí)沒有鎖存)。表38255A引腳定義引腳名功能連接去向D0-D7數(shù)據(jù)總線(雙向)CPURESET復(fù)位輸入CPU片選信號(hào)譯碼電路EQ讀信號(hào)CPU寫信號(hào)CPUA0,A1端口地址CPUPA0-PA7端口A外設(shè)PB0-PB7端口B外設(shè)PC0-PC7端口C外設(shè)VCC電源(+5V)/GND地/在模式控制下這個(gè)端口又可以分成兩個(gè)4位的端口,它們可單獨(dú)用作為輸出控制和狀態(tài)輸入。端口A、B、C又可組成兩組端口(12位):A組和B組。在每組中,端口A和端口B用作為數(shù)據(jù)端口,端口C用作為控制和狀態(tài)聯(lián)絡(luò)線。在8255A中,除了這三個(gè)端口外,還有一個(gè)控制寄存器,用于控制8255A的工作方式。因此8255A共有4個(gè)端口寄存器,分別用A0、A1指定:A1=0,A0=0,表示訪問端口A;A1=0,A0=1,表示訪問端口B;A1=1,A0=0,表示訪問端口C;A1=1,A0=1,表示訪問控制寄存器。(2)8255的工作方式8255A有三種基本工作方式:方式0:基本的輸入/輸出;方式1:有聯(lián)絡(luò)信號(hào)的輸入/輸出;方式2:雙向傳送。3.5.28255A在太陽能熱水器控制電路中的作用單片機(jī)與8255A的連接如圖14所示,如圖所示分別將8255A的讀、寫、復(fù)位端口與單片機(jī)的讀、寫、復(fù)位端口相連。A0、A1、為8255A的地址口,D0-D9為數(shù)據(jù)口。P2.5與A1相連,P2.6與A2相連,P2.7與相連,提供8255的端口地址信號(hào)。單片機(jī)的P0口為8255A提供數(shù)據(jù)輸出輸入。8255A共占用單片機(jī)11個(gè)常用I/O口,比直接顯示鍵盤電路節(jié)省了7個(gè)I/O口。3.5.3顯示電路工作原理8255A擴(kuò)展顯示及鍵盤電路如圖15所示。圖14單片機(jī)與8255A連接在顯示電路中用8255A的PA口輸出位選信號(hào),通過74F07接LED顯示器的片選引腳。7407是TTL門集成的六路輸出緩沖器/驅(qū)動(dòng)器,因?yàn)楸鞠到y(tǒng)采用的是共陰極LED顯示器,位選應(yīng)接低電平,可能有幾十毫安的電流輸出,而單片機(jī)的I/O口最大能承受幾毫安的灌電流,所以需用7407來接受較大的輸出電流。PB口輸出的段選信號(hào),通過74LS245芯片接LED段碼引腳,因?yàn)?255A的輸出電流一般是微安級(jí)的,而LED一般則要求5到幾十毫安的電流,不能直接驅(qū)動(dòng)LED,而74LS245的高電平輸出電流在15毫安左右,可以驅(qū)動(dòng)LED顯示。另外74LS245的輸出接上拉電阻,幫助驅(qū)動(dòng)顯示器。8255A的實(shí)現(xiàn)方法:8255A的PA、PB口作為輸出口驅(qū)動(dòng)數(shù)碼管顯示;PC口用作輸入口監(jiān)測鍵盤輸入,所以這里須用工作方式0——基本輸入輸出口工作方式,其方式控制字為10001001。8255A的RESET引腳與單片機(jī)的RESET引腳直接相連,當(dāng)單片機(jī)復(fù)位時(shí),8255A同時(shí)復(fù)位。單片機(jī)的P2.7口與8255A的片選信號(hào)相連,顯示期間一直輸出低電平,選中8255A。在P2.5、P2.6都輸出高電平時(shí),即A1=1,A2=1時(shí),=0,單片機(jī)輸出寫信號(hào),訪問控制寄存器,將方式控制字10001001通過單片機(jī)的P0口與8255A的D0-D7數(shù)據(jù)口送給8255的控制字寄存器。控制字寄存器地址為:0111111111111111,即0x7FFF,向該地址寫入控制字即可。當(dāng)P2.5、P2.6都輸出低電平時(shí),A1=0,A2=0時(shí),=0,單片機(jī)輸出寫信號(hào),訪問端口A,將位選碼送出,選中要顯示的位,即端口A地址為:0001111111111111=0x1FFF,向該地址寫入位選碼即可。然后將P2.5=0,P2.6=1,即A1=0,A2=1,=0,單片機(jī)輸出寫信號(hào),訪問端口B,將段選碼送出,保持幾毫秒的延時(shí),使LED顯示。即端口C地址為:0101111111111111=0x5FFF,向該地址寫入段選碼即可。圖158255A擴(kuò)展的鍵盤和顯示電路3.5.4鍵盤電路原理為使用戶使用界面盡量簡單,本文采用四個(gè)按鍵,通過按鍵復(fù)用來實(shí)現(xiàn)手動(dòng)上水、水位設(shè)置、溫度設(shè)置、電加熱多種功能。同時(shí)本文用8255來分別實(shí)現(xiàn)顯示和鍵盤。鍵盤與8255的連接如圖15所示。鍵盤的工作原理是P2.5=0,P2.6=1,即A1=0,A2=1,=0,單片機(jī)發(fā)出讀信號(hào),將8255A的PC口狀態(tài),通過8255A的D0-D9口送給單片機(jī)。然后單片機(jī)根據(jù)從8255A讀取的數(shù)據(jù)做出相應(yīng)的動(dòng)作。這是基本原理,在具體實(shí)現(xiàn)時(shí)還要考慮鍵盤的延時(shí)去抖,去抖的原理是,當(dāng)檢測到有鍵按下時(shí),單片機(jī)先不動(dòng)作,延時(shí)10毫秒以后,單片機(jī)再次檢測按鍵是否按下,如果還是按下,就說明此鍵確實(shí)是按下狀態(tài),單片機(jī)執(zhí)行相應(yīng)操作。其中S1為手動(dòng)上水鍵,S2為設(shè)置水位參數(shù)鍵,S3為電加熱鍵,S4為設(shè)置溫度鍵。S1、S3單獨(dú)功能鍵。而S2、S4為復(fù)用鍵。當(dāng)?shù)谝淮伟碨2鍵時(shí),進(jìn)入水位設(shè)置狀態(tài),然后每按一次S1為設(shè)置水位加一,循環(huán)工作。當(dāng)?shù)谝淮伟碨4鍵時(shí),進(jìn)入水溫設(shè)置狀態(tài),然后每按一次S4為設(shè)置水溫加一,循環(huán)工作。3.6驅(qū)動(dòng)電路驅(qū)動(dòng)電路的電路圖如下圖16,下面分別介紹:上水控制電路:由單片機(jī)P1.1口的輸出來控制上水電磁閥。單片機(jī)P1.1口通過一個(gè)2.2K的電阻接9013三極管的基極,9013的集電極通過一個(gè)單刀繼電器接正12V電源,9013射極接地。當(dāng)P1.1輸出低電平時(shí),三極管截至,幾乎沒有電流通過三極管的基極到射極、集電極到射極,即Ic≈0,Ib≈0,所以此時(shí)流過繼電器的電流幾乎為0,繼電器打開。當(dāng)P1.1口輸出高電平時(shí),三極管9013導(dǎo)通,有較大的飽和電流流過繼電器,使其吸合、關(guān)閉,從而開啟電磁閥。電加熱控制電路:電加熱的繼電器采用雙開關(guān)繼電器,一個(gè)開關(guān)控制電加熱器的火線,另一個(gè)控制零線。當(dāng)P1.0輸出低電平時(shí),三極管不導(dǎo)通,繼電器無電流通過,開關(guān)開啟,電加熱器不工作。當(dāng)P1.0輸出高電平時(shí),三極管導(dǎo)通,繼電器有較大電流通過,開關(guān)閉合,電加熱器開始工作。報(bào)警控制電路:報(bào)警輸出三極管的集電極接蜂鳴器,蜂鳴器的另一端接正5伏電源。有P1.2口控制報(bào)警電路,當(dāng)水位超標(biāo)時(shí)P1.2口輸出高電平報(bào)警,不報(bào)警時(shí)將P1.2口置低電平。水位顯示電路:水位顯示電路由P2.0-P2.4口來控制,其中P2.4口輸出高低電平控制水位的顯示與否,P2.0-P2.3口輸出高低電平控制二極管的亮滅來顯示水位。3.7電源電路對于太陽能用戶來講,最常用、最方便的電源當(dāng)然是220V的工頻交流電源,但太陽能容熱水器控制系統(tǒng)需要的是穩(wěn)定的+5V和+12V電源,所以要為控制系統(tǒng)設(shè)計(jì)直流電源電路。由于本設(shè)計(jì)由+5V和+12V兩個(gè)不同的電壓供電,并且+5V是主電源。變壓器分別采用220/8和220/15的變壓器,穩(wěn)壓電路分別采用集成穩(wěn)壓器件7805和7812進(jìn)行穩(wěn)壓。圖17為系統(tǒng)+5V直流電源的整體圖,+12V電源與它基本相同。圖16驅(qū)動(dòng)電路圖17系統(tǒng)直流電源總圖4軟件設(shè)計(jì)軟件的作用就是完成對硬件的控制,主程序設(shè)計(jì)思路:軟件設(shè)計(jì)采用各個(gè)模塊功能分開獨(dú)立設(shè)施的設(shè)計(jì)方式,將各個(gè)功能分成獨(dú)立模塊,有系統(tǒng)和監(jiān)控程序一起管理執(zhí)行。本設(shè)計(jì)的軟件包括主程序,鍵盤掃描子程序,顯示子程序,水位測量子程序以及水溫測量程序。由于水電阻的波動(dòng)性和電容的不穩(wěn)定性等原因,計(jì)數(shù)器中的數(shù)值會(huì)有一定的波動(dòng),所以需要對數(shù)據(jù)進(jìn)行相應(yīng)的處理顯示水位。在這里主要說了軟件實(shí)現(xiàn)水位處理,其中buf[1]為計(jì)數(shù)器0寄存器中的值。本設(shè)計(jì)的系統(tǒng)整體流程圖如圖18。圖18整體流程圖voi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 非織造布卷繞分切工沖突解決測試考核試卷含答案
- 平版制版員誠信品質(zhì)考核試卷含答案
- 電光源電路部件制造工安全實(shí)操水平考核試卷含答案
- 2025年環(huán)衛(wèi)清潔裝備項(xiàng)目發(fā)展計(jì)劃
- 2026年重生式消費(fèi)項(xiàng)目評估報(bào)告
- 供水業(yè)務(wù)知識(shí)題庫及答案
- 施工安全消防措施
- 導(dǎo)管滑脫應(yīng)急預(yù)案演練腳本
- 2025年AI自然語言處理技術(shù)培訓(xùn)專項(xiàng)試題及答案
- 2025年單位駕駛員年度工作總結(jié)
- 2026年重慶市江津區(qū)社區(qū)專職人員招聘(642人)筆試備考試題及答案解析
- 2026年思明區(qū)公開招聘社區(qū)工作者考試備考題庫及完整答案詳解1套
- 【四年級(jí)】【數(shù)學(xué)】【秋季上】期末家長會(huì):數(shù)海引航愛伴成長【課件】
- 小學(xué)音樂教師年度述職報(bào)告范本
- 2025年新版八年級(jí)上冊歷史期末考試模擬試卷試卷 3套(含答案)
- 2026福建廈門市校園招聘中小學(xué)幼兒園中職學(xué)校教師346人筆試參考題庫及答案解析
- 2025年合肥經(jīng)開投資促進(jìn)有限公司公開招聘11人筆試參考題庫及答案解析
- 儲(chǔ)能電站電力銷售協(xié)議2025
- 腫瘤科人文關(guān)懷護(hù)理
- GB/T 1048-2019管道元件公稱壓力的定義和選用
- 臨床見習(xí)帶教2課件
評論
0/150
提交評論