




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
摘要本文研究設(shè)計了一種用于公共場所具有檢測及超限報警功能的酒精濃度智能測試儀。其設(shè)計方案基于89C51單片機(jī),MQ3酒精濃度傳感器。系統(tǒng)將傳感器輸出信號通過A/D轉(zhuǎn)換電路調(diào)理后,經(jīng)由單片機(jī)進(jìn)行數(shù)據(jù)處理,最后由LCD顯示酒精濃度值。從而讓駕車的人知道自己該在什么情況下可以開車,這是一個在現(xiàn)代生活很實(shí)用。經(jīng)過大量的驗(yàn)證,基于單片機(jī)的酒精濃度監(jiān)測儀檢測儀比傳統(tǒng)的機(jī)械檢測儀或酒精計靈敏,監(jiān)測精度高,準(zhǔn)確方便,可靠性好,擴(kuò)展簡單,控制功能強(qiáng)大。對超出閥值進(jìn)行聲光報警,直觀準(zhǔn)確。所以基于單片機(jī)的酒精濃度監(jiān)測儀的研究具有一定的價值。關(guān)鍵詞:酒精濃度傳感器單片機(jī)數(shù)模轉(zhuǎn)換硬件設(shè)計數(shù)碼管顯示AbstractThispaperstudieshasbeendesignedforpublicinspectionandoverrunalarmfunctionwiththealcoholconcentrationintelligenttester.Itsdesignschemebasedon89C51,MQ3alcoholconcentrationsensor.SystemwillsensoroutputsignalthroughtheA/Dcircuitrecuperation,dataprocessingbyMCU,finallybyLCDdisplayalcoholchromavalue.Soletthepeopleknowwhatoneselfshoulddriveinwhatcircumstancescandrive,thisisaverypracticalinmodernlife.Afteragreatdealofverification,basedonSCMalcoholconcentrationmonitordetectorthantraditionalmechanicaldetectororalcoholplans,monitoringhighprecision,sensitivity,gooddependability,preciseconvenientextendedsimple,controlpowerfulfunctions.Beyondthevalueofacousto-opticalarm,intuitiveaccurate.SobasedonSCMalcoholconcentrationmonitorresearchhascertainvalue..Keywords:Alcoholconcentrationsensormicrocontrollerdigital-to-analogHardwaredesignDigitalpipedisplay畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已在文中作了明確的說明并表示了謝意。作者簽名:日期:指導(dǎo)教師簽名:日期:使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名:日期:
學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期:年月日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名: 日期:年月日導(dǎo)師簽名:日期:年月日
目錄TOC\o"1-4"\h\z\u第一章.緒論 1一.酒精濃度檢測儀的背景 1二.酒精濃度檢測儀現(xiàn)狀及發(fā)展趨勢 2三.本課題實(shí)現(xiàn)目標(biāo) 2四.本章小結(jié) 2第二章設(shè)計方案和元器件選擇 3一.設(shè)計方案 3二.元器件選擇 31.單片機(jī)的選擇 32.傳感器 53.數(shù)模轉(zhuǎn)換器 64.AT24C02存儲器 75.LCD顯示 8三.本章小結(jié) 9第三章硬件設(shè)計 10一.硬件設(shè)計原理 10二.硬件設(shè)計的外圍電路 111.晶振電路 112.復(fù)位電路 123.報警設(shè)計 134.電源電路 145.信號調(diào)制電路 156.A/D轉(zhuǎn)換設(shè)計 157.外圍擴(kuò)充存儲器電路 17三.本章小結(jié) 17第四章系統(tǒng)軟件的設(shè)計 19一.主程序 19二.A/D轉(zhuǎn)換模塊程序流程圖 20三.按鍵程序流程圖 21四.液晶顯示程序流程圖 22五.本章小結(jié) 23第五章本設(shè)計總結(jié)與展望 24參考文獻(xiàn) 25致謝 27附錄 281.主程序 282.液晶顯示程序 333.存儲程序 374.AD轉(zhuǎn)換程序 41長江師范學(xué)院本科畢業(yè)設(shè)計·基于單片機(jī)的酒精濃度檢測儀第47頁共43頁第一章.緒論檢測儀向更迅速更快捷發(fā)展,方便攜帶等要求發(fā)展。傳統(tǒng)的機(jī)械檢測儀或酒精計一般靈敏度和準(zhǔn)確度也比較低或者檢測方法難,同時單片機(jī)既有通用計算機(jī)的基本部件,又不同于計算機(jī)。有體積小,實(shí)時快速的對外部事件做出響應(yīng),迅速采集大量數(shù)據(jù),做出邏輯判斷與推理后實(shí)現(xiàn)被控對象的參數(shù)調(diào)整與控制,且能滿足檢測儀的設(shè)計要求,所以基于單片機(jī)的酒精濃度檢測儀的開發(fā)有很大意義。一.酒精濃度檢測儀的背景以對氣體中酒精含量進(jìn)行檢測的設(shè)備有五種基本類型,即:燃料電池型(電化學(xué))、半導(dǎo)體型、紅外線型、氣體色譜分析型、比色型。但由于價格和使用方便的原因,常用的只有燃料電池型(電化學(xué)型)和半導(dǎo)體型兩種。燃料電池可以直接把可燃?xì)怏w轉(zhuǎn)變成電能,而不產(chǎn)生污染,酒精傳感器只是燃料電池的一個分支。燃料電池酒精傳感器采用貴金屬白金作為電極,在燃燒室內(nèi)充滿特種催化劑,使進(jìn)入燃燒室內(nèi)的酒精充分燃燒轉(zhuǎn)變?yōu)殡娔?,也就是在兩個電極上產(chǎn)生電壓,電能消耗在外接負(fù)載上,此電壓與進(jìn)入燃燒室內(nèi)氣體的酒精濃度成正比。與半導(dǎo)體型相比,燃料電池型呼氣酒精測試儀具有穩(wěn)定性好,精度高,抗干擾性好的優(yōu)點(diǎn)。但是由于燃料電池酒精傳感器的結(jié)構(gòu)要求非常精密,制造難度相當(dāng)大。從傳感器技術(shù)發(fā)展的角度看,根據(jù)使用傳感器原理的不同,常見的氣體檢測儀器儀表各自有適用氣體及應(yīng)用領(lǐng)域,新技術(shù)新產(chǎn)品正在成為未來氣體檢測儀器儀表的主流,現(xiàn)在的酒精濃度檢測儀都是采用可替代吹管,酒精儀從傳統(tǒng)的機(jī)械檢測或酒精計到現(xiàn)在的利用傳感器和單片機(jī)位核心技術(shù)的酒精濃度檢測儀式在技術(shù)上是一大突破,大大提高了檢測酒精的精確度。二.酒精濃度檢測儀現(xiàn)狀及發(fā)展趨勢根據(jù)使用傳感器原理的不同,常見的氣體檢測儀器儀表各自有適用氣體及應(yīng)用領(lǐng)域,新技術(shù)新產(chǎn)品正在成為未來氣體檢測儀器儀表的主流,如今的酒精濃度檢測儀都是采用可替代吹管,酒精儀從傳統(tǒng)的機(jī)械檢測或酒精計到現(xiàn)在的利用傳感器和單片機(jī)位核心技術(shù)的酒精濃度檢測儀式在技術(shù)上是一大突破,大大提高了檢測酒精的精確度,更能滿足市場的需求。但是當(dāng)前大部分一般的酒精濃度檢測儀價格較低的靈敏度并不是很強(qiáng),準(zhǔn)確度高的一般售價也比較昂貴,并且大多只是對結(jié)果進(jìn)行預(yù)警、低報、高報三限報警點(diǎn)設(shè)置,所以在LED顯示酒精濃度數(shù)值上應(yīng)實(shí)現(xiàn)普及,得到準(zhǔn)確的濃度數(shù)值。同時很多其他氣體會可能會對其影響,從而影響準(zhǔn)確度。所以在傳感器的腐蝕性以及排除其他干擾的能力值得提升?,F(xiàn)在大多都是檢測氣體濃度或液體濃度的檢測,最好是能解決一個檢測儀同時檢測氣體和液體兩種不同狀態(tài)的酒精濃度。三.本課題實(shí)現(xiàn)目標(biāo)本論文主要完成酒精濃度檢測儀軟件設(shè)計,設(shè)計內(nèi)容包括:A/D轉(zhuǎn)換器程序、控制程序、超標(biāo)報警、鍵盤檢測、數(shù)據(jù)顯示等。系統(tǒng)采用單片機(jī)為控制核心,以實(shí)現(xiàn)便攜式酒精濃度檢測儀的基本控制功能。系統(tǒng)主要功能內(nèi)容包括:數(shù)據(jù)處理、超標(biāo)報警。本系統(tǒng)設(shè)計采用功能模塊化的設(shè)計思想,設(shè)計器件簡介和選擇;電路的設(shè)計和調(diào)試。硬件設(shè)計部分主要包括:MCU、A/D、LCD、外圍擴(kuò)展數(shù)據(jù)RAM等芯片的選擇。四.本章小結(jié)如今各個地方對安全意識增強(qiáng),對檢測的精度高,準(zhǔn)確度高,攜帶方便要求。再加上氣體傳感器的發(fā)展,單片機(jī)具有受集成限制,片內(nèi)儲存量較小,可靠性好,擴(kuò)展簡單,控制功能強(qiáng)等特點(diǎn),基于單片機(jī)的酒精濃度檢測儀的研究和開發(fā)生產(chǎn)具有十分廣泛的現(xiàn)實(shí)市場和潛在的市場需求。本章主要從單片機(jī)和傳感器以及基于單片機(jī)的酒精濃度監(jiān)測儀的研究背景,國內(nèi)外現(xiàn)狀及其發(fā)展趨勢,本設(shè)計所要實(shí)現(xiàn)的目標(biāo)三個方面作出的闡述。其中最重要的是本設(shè)計所要實(shí)現(xiàn)的目標(biāo),其次是基于單片機(jī)的酒精濃度檢測儀的發(fā)展趨勢。第二章設(shè)計方案和元器件選擇通過對單片機(jī)和傳感器的了解,在智能儀表上的優(yōu)勢有很多,耗能小、準(zhǔn)確度高、超強(qiáng)集成化、以及穩(wěn)定性能等等,注定了單片機(jī)在各個領(lǐng)域的應(yīng)用。所以在酒精濃度檢測的設(shè)計中也選擇了單片機(jī)作為控制核心。同時需要的部件包擴(kuò)酒精濃度傳感器、數(shù)模轉(zhuǎn)換器、、LED顯示器、鍵盤以及聲音報警。無需其他計算機(jī),用戶就可以進(jìn)行交互工作,完成數(shù)據(jù)的采集、儲存、計算、分析等過程。該儀器電路簡單,軟件功能完善,靈敏度高,工作性能好,并且具有尺寸小、方便攜帶、低功耗、低成本等優(yōu)點(diǎn)。一.設(shè)計方案由酒精濃度測試儀對待測氣體(液體)進(jìn)行檢測,氣體傳感器是將一種氣體體積分時轉(zhuǎn)化成對應(yīng)電信號的轉(zhuǎn)換器。探測頭通過氣體傳感器的對氣體樣品進(jìn)行處理,通常包括濾除雜質(zhì)和干燥氣體、干燥或制冷處理,樣品抽吸,甚至對樣品進(jìn)行化學(xué)處理,以便化學(xué)傳感器進(jìn)行更快的測量。轉(zhuǎn)換成輸出電壓信號。然后以單片機(jī)為核心的控制:定時進(jìn)行各個功能模塊的自診斷,并對外界的異常情況做出快速處理。對無法解決的問題,應(yīng)及時切換到后背裝置或報警。具有完善的輸入輸出通道和實(shí)時控制能力:對生產(chǎn)過程進(jìn)行檢測和控制,有多種信號需要傳送,因此要求系統(tǒng)配備完善的模擬量和數(shù)字量輸入輸出通道和完善的中斷系統(tǒng)和處理功能。信號采集處理、聲光報警電路以及顯示、鍵盤、PC接口電路。測試儀進(jìn)行氣體檢測的基本步驟是單片機(jī)采集酒精傳感器的響應(yīng)信號,并且進(jìn)行轉(zhuǎn)換,模數(shù)轉(zhuǎn)換就是用于快速,高精度的對輸入信號采樣編碼,然后轉(zhuǎn)化成數(shù)字量儲存在數(shù)據(jù)儲存器中,然后單片機(jī)通過特定的算法進(jìn)行氣體濃度的識別,同時和所設(shè)值進(jìn)行對比,超出則報警同時顯示濃度數(shù)值,沒超出只顯示濃度數(shù)。并且將結(jié)果輸出到LCD顯示屏幕上。二.元器件選擇1.單片機(jī)的選擇本系統(tǒng)采用單片機(jī)為控制核心。我們選擇單片機(jī)STC89C51為控制核心;主要基于考慮STC89C51是無法解密低功耗,超低價高速,高可靠強(qiáng)抗靜電,強(qiáng)抗干擾,功能強(qiáng)大的單片機(jī)。STC89C51有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,片內(nèi)振蕩器及時鐘電路,89C5X可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。同時STC89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)本。STC單片機(jī)有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。[1]STC89C51單片機(jī)單片機(jī)引腳功能(如圖2.1):?Vcc:電源電壓?GND:地圖2.1單片機(jī)引腳圖STC89C51是的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8Kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和256Kbytes的隨機(jī)存取數(shù)據(jù)存儲器,器件采用高密度,非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8051產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器和FLASH存儲單元,功能強(qiáng)大,STC89C51單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合[3]。主要性能參數(shù):?8K字節(jié)可重擦寫FLASH閃存存儲器?1000次寫/擦循環(huán)?時鐘頻率:0Hz—24MHz?三級加密存儲器?256字節(jié)內(nèi)部RAM?32個可編程I/O口線?3個16位定時/計數(shù)器?6個中斷源?可編程串行UART通道?低功耗的空閑和掉電模式?片內(nèi)振蕩器和時鐘電路2.傳感器氣體傳感器是氣體檢測系統(tǒng)的核心,通常安裝在探測頭內(nèi)。從本質(zhì)上講,氣體傳感器是一種將某種氣體體積分?jǐn)?shù)轉(zhuǎn)化成對應(yīng)電信號的轉(zhuǎn)換器。探測頭通過氣體傳感器對氣體樣品進(jìn)行調(diào)理,通常包括濾除雜質(zhì)和干擾氣體、干燥或制冷處理、樣品抽吸,甚至對樣品進(jìn)行化學(xué)處理,以便化學(xué)傳感器進(jìn)行更快速地測量[2]。在選擇傳感器的時候,一定要考慮到穩(wěn)定性、靈敏度、選擇性和抗腐蝕性,本系統(tǒng)選擇MQ3型酒精傳感器。MQ3酒精傳感器是氣敏傳感器,其具有很高的靈敏度、良好的選擇性、長期的使用壽命和可靠的穩(wěn)定性[4]。MQ3型氣敏傳感器由微型Al2O3、陶瓷管和SnO2敏感層、測量電極和加熱器構(gòu)成的敏感元件固定在塑料或者不銹鋼的腔體內(nèi),加熱器為氣敏元件的工作提供了必要的工作條件。傳感器的標(biāo)準(zhǔn)回路有兩部分組成:其一為加熱回路;其二為信號輸出回路,它可以準(zhǔn)確反映傳感器表面電阻的變化。傳感器表面電阻RS的變化,是通過與其串聯(lián)的負(fù)載電阻RL上的有效電壓信號VRL輸出面獲得的[6]。二者之間的關(guān)系表述為:RS/RL=(VC-VRL)/VRL,其中VC為回路電壓,10V。負(fù)載電阻RL可調(diào)為0.5~200K,加熱電壓Uh為5V。上述這些參數(shù)使得傳感器輸出電壓為0~5V。MQ3型氣敏傳感器的結(jié)構(gòu)和外形如圖所示,標(biāo)準(zhǔn)回路如圖所示。為了使測量的精度達(dá)到最高,誤差最小,需要找到合適的溫度,一般在測量前需要將傳感器預(yù)熱20s。圖2.2MQ3的結(jié)構(gòu)和外形圖2.3MQ3標(biāo)準(zhǔn)回路3.數(shù)模轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換的基本方法很多,有計數(shù)法、逐次逼近法、雙斜積分法和并行轉(zhuǎn)換法。由于逐次逼近式A/D轉(zhuǎn)換具有速度,分辨率高等優(yōu)點(diǎn),而且采用這種方法的ADC芯片成本低,所以我們采用逐次逼近式A/D轉(zhuǎn)換器。逐次逼近型ADC包括1個比較器、一個模數(shù)轉(zhuǎn)換器、1個逐次逼近寄存器(SAR)和1個邏輯控制單元[5]。逐次逼近型是將采樣信號和已知電壓不斷進(jìn)行比較,一個時鐘周期完成1位轉(zhuǎn)換,依次類推,轉(zhuǎn)換完成后,輸出二進(jìn)制數(shù)。這類型ADC的分辨率和采樣速率是相互牽制的。優(yōu)點(diǎn)是分辨率低于12位時,價格較低,采樣速率也很好。ADC0832模數(shù)轉(zhuǎn)換器具有8位分辨率、雙通道A/D轉(zhuǎn)換、輸入輸出電平與TTL/CMOS相兼容、5V電源供電時輸入電壓在0~5V之間、工作頻率為250KHZ、轉(zhuǎn)換時間為32微秒、一般功耗僅為15MW等優(yōu)點(diǎn),適合本系統(tǒng)的應(yīng)用,所以我們采用ADC0832為模數(shù)轉(zhuǎn)換器件。ADC0832具有以下特點(diǎn):?8位分辨率;?雙通道A/D轉(zhuǎn)換;?輸入輸出電平與TTL/CMOS相兼容;?5V電源供電時輸入電壓在0~5V之間;?工作頻率為250KHZ,轉(zhuǎn)換時間為32μS;?一般功耗僅為15mW;?8P、14P—DIP(雙列直插)、PICC多種封裝;?商用級芯片溫寬為0度to+70度,工業(yè)級芯片溫寬為?40度to+85度;芯片接口說明:?CS_片選使能,低電平芯片使能。?CH0模擬輸入通道0,或作為IN+/-使用。?CH1模擬輸入通道1,或作為IN+/-使用。?GND芯片參考0電位(地)。?DI數(shù)據(jù)信號輸入,選擇通道控制。?DO數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。?CLK芯片時鐘輸入。?Vcc/REF電源輸入及參考電壓輸入(復(fù)用)。4.AT24C02存儲器在本設(shè)計中使用的是24C02存儲芯片,是電可擦除的PROM,8個引腳功能及兩線串行接口。電壓允許范圍1.8V~5V。串行E2PROM是基于I2C-BUS的存儲器件,遵循二線制協(xié)議,由于其具有接口方便,體積小,數(shù)據(jù)掉電不丟失等特點(diǎn),在儀器儀表及工業(yè)自動化控制中得到大量的應(yīng)用。在一般單片機(jī)系統(tǒng)中,24C02數(shù)據(jù)受到干擾的情況是很少的,基本的讀寫功能外,還對地址功能以及WP引腳保護(hù)功能進(jìn)行了全面的檢測,發(fā)現(xiàn)一種ATMEL(激光印字)以及XICOR牌號的24C02具有全面的符合I2C總線協(xié)議的功能,而有些牌號24C02要么沒有WP引腳保護(hù)功能,要么沒有器件地址功能(即2片24C02不能共用一個I2C總線),有些甚至兩種功能均無。所以說一些同樣功能型號的電子器件在兼容性上往往會帶來意想不到的問題,值得引起注意。5.LCD顯示液晶顯示模塊與計算機(jī)的接口電路有兩種方式。它與單片機(jī)的接口方法分為直接訪問方式和間接控制方式。直接訪問方式是把液晶模塊作為存儲器或I/O設(shè)備直接接在單片機(jī)的總線上,單片機(jī)以訪問存儲器或I/O設(shè)備的方式操作液晶顯示模塊的工作。間接控制方式則不使用單片機(jī)的數(shù)據(jù)系統(tǒng),而是利用它的I/0口來實(shí)現(xiàn)與顯示模塊的聯(lián)系。即將液晶顯示模塊的數(shù)據(jù)線與單片機(jī)的P0口連接作為數(shù)據(jù)總線,另外三根時序控制信號線通常利用單片機(jī)的P2口中未被使用的I/O口來控制。這種訪問方式不占用存儲器空間,它的接口電路與時序無關(guān),其時序完全靠軟件編程實(shí)現(xiàn)[7]。LCD1602字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式LCD,目前常用16×1,16×2,20×2和40×2行等的液晶顯示模塊,模塊組件內(nèi)部主要由LCD顯示屏、控制器、列驅(qū)動器和偏壓產(chǎn)生電路構(gòu)成。1602液晶顯示屏采用標(biāo)準(zhǔn)的16腳接口,其中各接口的功能如下表(2-1)所示:引腳號引腳名電平輸入/輸出引腳說明1VSS電源地2VDD電源正極(+5V)3VL液晶顯示偏壓信號4RS0/1輸入數(shù)據(jù)/命令選擇端,0:輸入指令,1:輸入數(shù)據(jù)5R/W0/1輸入讀/寫選擇端,0:向LCD寫入指令或數(shù)據(jù),1:從LCD讀取信息6E1→0輸入使能信號,1時讀取信息,1→0(下降沿)執(zhí)行指令7D00/1輸入/輸出數(shù)據(jù)總線(最低位)8D10/1輸入/輸出數(shù)據(jù)總線9D20/1輸入/輸出數(shù)據(jù)總線10D30/1輸入/輸出數(shù)據(jù)總線11D40/1輸入/輸出數(shù)據(jù)總線12D50/1輸入/輸出數(shù)據(jù)總線13D60/1輸入/輸出數(shù)據(jù)總線14D70/1輸入/輸出數(shù)據(jù)總線(最高位)15BLA+VCCLCD背光電源正極16BLK接地LCD背光電源負(fù)極表2-1LCD1602的16管腳功能三.本章小結(jié)本章對本文設(shè)計的主要部件進(jìn)行介紹,了解了相關(guān)部件的組成以及基本結(jié)構(gòu)基本工作原理,讓我們對每個模塊清楚其工作方式,工作步驟,以及工作原理。各個元器件的作用功能后對本設(shè)計的分析,需要哪些元器件,具體到什么型號,下面是對各個元器件的選擇,在元器件選擇生起到指導(dǎo)作用,以及更好的發(fā)揮各個部件的功能作用。根據(jù)對元器件的選擇基本了解到本設(shè)計以單片機(jī)為核心,由酒精濃度測試儀對待測氣體(液體)進(jìn)行檢測,轉(zhuǎn)換成輸出電壓信號,以單片機(jī)STC89C51為核心的控制、信號采集處理、聲光報警電路以及顯示、鍵盤、PC接口電路。測試儀進(jìn)行氣體檢測的基本步驟是單片機(jī)采集酒精傳感器的響應(yīng)信號,并且進(jìn)行轉(zhuǎn)換,儲存在數(shù)據(jù)儲存器中,然后單片機(jī)通過特定的算法進(jìn)行氣體濃度的識別,并且將結(jié)果輸出到LCD顯示屏幕上。第三章硬件設(shè)計基于單片機(jī)酒精濃度檢測儀的硬件設(shè)計部分。首先,我們必須了解它的硬件設(shè)計原理。其次,需要弄清楚它的總體構(gòu)成及具體的外圍電路。最后,根據(jù)其原理框圖和具體的外圍電路得到完整的硬件總電路圖。一.硬件設(shè)計原理由酒精傳感器對待測氣體(液體)進(jìn)行檢測,轉(zhuǎn)換成輸出電壓信號,儀單片機(jī)為核心的控制、信號采集處理、聲光報警電路以及顯示、鍵盤、PC接口電路。測試儀進(jìn)行氣體檢測的基本步驟是單片機(jī)采集酒精傳感器的響應(yīng)信號,并且進(jìn)行轉(zhuǎn)換,儲存在數(shù)據(jù)儲存器中,然后單片機(jī)通過特定的算法進(jìn)行氣體濃度的識別,同時將分析的值與設(shè)定值進(jìn)行對比,對超出設(shè)定值進(jìn)行報警,并且將結(jié)果輸出到LED顯示屏幕上。本系統(tǒng)由酒精傳感器,數(shù)模轉(zhuǎn)換器,單片機(jī),鍵盤,聲音報警以及LCD顯示等部分組成,在這次的整體設(shè)計中詳細(xì)涉及下面幾個方面,其原理框圖如:圖3.1:傳感器傳感器信號調(diào)制A/D單片機(jī)外部存儲器液晶顯示器按鍵圖3.1單片機(jī)與LCD、鍵盤及聲音報警電路的電路連接圖二.硬件設(shè)計的外圍電路1.晶振電路單片機(jī)工作的過程中各指令的微操作在時間上有嚴(yán)格的次序,這種微操作的時間次序稱作時序,單片機(jī)的時鐘信號用來為單片機(jī)芯片內(nèi)部各種微操作提供時間基準(zhǔn),89c51的時鐘產(chǎn)生方式有兩種,一種是內(nèi)部時鐘方式,一種是外部時鐘方式。內(nèi)部時鐘方式即在單片機(jī)的外部接一個晶振電路與單片機(jī)里面的振蕩器組合作用產(chǎn)生時鐘脈沖信號,外部時鐘方式是把外部已有的時鐘信號引入到單片機(jī)內(nèi),此方式常用于多片89C51單片機(jī)同時工作,以便于各單片機(jī)的同步,一般要求外部信號高電平的持續(xù)時間大于20ns.且為頻率低于12MHz的方波。對于CHMOS工藝的單片機(jī),外部時鐘要由XTAL1端引入,而XTAL2端應(yīng)懸空[8]。本系統(tǒng)中為了盡量降低功耗的原則,采用了內(nèi)部時鐘方式。圖3.2晶振電路圖在89C51單片機(jī)的內(nèi)部有一個震蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振)就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時鐘脈沖信號,圖中電容器C1和C2穩(wěn)定頻率和快速起振,電容值在5—30pF,典型值是22pF,晶振CYS選擇的是12MHz。2.復(fù)位電路單片機(jī)開始工作的時候,必須處于一種確定的狀態(tài),否則,不知哪是第一條程序和如何開始運(yùn)行程序。端口線電平和輸入輸出狀態(tài)不確定可能使外圍設(shè)備誤動作,導(dǎo)致嚴(yán)重事故的發(fā)生;內(nèi)部一些控制寄存器(專用寄存器)內(nèi)容不確定可能導(dǎo)致定時器溢出、程序尚未開始就要中斷及串口亂傳向外設(shè)發(fā)送數(shù)據(jù)。因此,任何單片機(jī)在開始工作前,都必須進(jìn)行一次復(fù)位過程,使單片機(jī)處于一種確定的狀態(tài)[9]。當(dāng)在89C51單片機(jī)的RST引腳引入高電平并保持2個機(jī)器周期時,單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。實(shí)際應(yīng)用中,復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位,上電復(fù)位,要求接通電源后,單片機(jī)自動實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位,上電瞬間RST引腳獲得高電平,隨著電容C1的充電,RST引腳的高電平將逐漸下降。本設(shè)計中復(fù)位電路采用的是開關(guān)復(fù)位電路,開關(guān)S9未按下是上電復(fù)位電路,上電復(fù)位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導(dǎo)通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開關(guān)按下時是RST端有兩個機(jī)器周期以上的高電平從而使STC89C51內(nèi)部復(fù)位。開關(guān)按下時是按鍵手動復(fù)位電路,RST端通過電阻與VCC電源接通,通過電阻的分壓就可以實(shí)現(xiàn)單片機(jī)的復(fù)位。 圖3.3復(fù)位電路圖RST引腳的高電平只要能保持足夠的時間(2個機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。該電路典型的電阻和電容參數(shù)為:晶振為12MHz時,C1為10uF:R4為8.23.報警設(shè)計在單片機(jī)應(yīng)用系統(tǒng)中,一般的工作狀態(tài)可以通過指示燈或數(shù)碼顯示來指示,供操作人員參考,了解系統(tǒng)的工作狀況。但對于某些緊急狀態(tài),比如系統(tǒng)檢測到的錯誤狀態(tài)等,為了使操作人員不至于忽視,及時采取措施,往往還需要有某種更能引人注意,提起警覺的報警信號。這種報警信號通常有三種類型:一是閃光報警,因?yàn)殚W動的指示燈更能提醒人們注意;二是鳴音報警,發(fā)出特定的音響,作用于人的聽覺器官,易于引起和加強(qiáng)警覺;三是語音報警,不僅能起到報警作用,還能直接給出警報種類的信息。其中,前兩種報警裝置因硬件結(jié)構(gòu)簡單,軟件編程方便,常常在單片機(jī)應(yīng)用系統(tǒng)中使用;而語音報警雖然警報信息較直接,但硬件成本高,結(jié)構(gòu)較復(fù)雜,軟件量也增加。閃光報警實(shí)現(xiàn)單頻音報警的接口電路比較簡單,只要當(dāng)值高于警報值的時候給一個低電頻就能驅(qū)動二極管發(fā)光,簡單易懂。以下為報警電路接線圖見圖3.4圖3.4報警電路圖這一章比較具體的說明了系統(tǒng)硬件設(shè)計的內(nèi)容,通過模塊化的設(shè)計思想,把一個復(fù)雜的單片機(jī)系統(tǒng)按照功能劃分成一個個單獨(dú)的電路模型,分別進(jìn)行設(shè)計,最后在集成到一起。這種方法對于設(shè)計復(fù)雜的單片機(jī)系統(tǒng)很有效。大大提高系統(tǒng)設(shè)計的效率與質(zhì)量[11]。4.電源電路在本次設(shè)計中,需要一個比較大的電壓源和一個5V的單片機(jī)供電源,為了實(shí)現(xiàn)便攜式,設(shè)用一個9V的電壓源,一般6節(jié)電池和一個9V的電池都可以提供,因而需要一個電壓轉(zhuǎn)換吧9V轉(zhuǎn)換成5V。工作原理如圖4.11低壓層直流穩(wěn)壓電源電路原理圖。該電路是由基準(zhǔn)電壓、電壓放大和電流放大等3個環(huán)節(jié)組成。其中,基準(zhǔn)電壓產(chǎn)生,按圖中電路連接,當(dāng)通過R0的電流在0.5~10mA時可獲得穩(wěn)定的2.5V基準(zhǔn)輸出。圖3.5低壓層電路原理圖輸出電壓的具體數(shù)值由運(yùn)算放大器UA確定,采用同相放大器的優(yōu)越性在于其輸入阻抗極大,可很好地將TL431輸出的2.5V電壓與后級電路隔離,使其不受負(fù)載變化的影響;運(yùn)放與電阻R3和R2組成比例放大環(huán)節(jié),可對基準(zhǔn)電壓按要求進(jìn)行比例放大輸出,但輸出電壓最大不能超過運(yùn)放的電源電壓。5.信號調(diào)制電路圖3.6信號調(diào)制放大電路圖3.6是酒精傳感器電極信號調(diào)理電路采集到的信號都會很弱,首先將信號經(jīng)過二階有源濾波電路以后,經(jīng)過3級放大電路,同相和反相放大電路構(gòu)成一級和二級,互相抵消了零度漂移和失調(diào),后面的差動放大電路構(gòu)成第三極,將差分出入轉(zhuǎn)換為單端輸出。6.A/D轉(zhuǎn)換設(shè)計正常情況下ADC0832與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束[12]。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能.如圖3.73.7模數(shù)轉(zhuǎn)換電路圖 本系統(tǒng)應(yīng)用有人機(jī)對話功能,該功能即能隨時發(fā)出各種控制命令和數(shù)據(jù)輸入以及和LCD連接顯示運(yùn)行狀態(tài)和運(yùn)行結(jié)果。鍵盤分為:獨(dú)立式和矩陣式兩類,每一類按其編碼方法又可以分為編碼和非編碼兩種。由于本系統(tǒng)只有+、-、設(shè)置、確認(rèn)4個控制命令,所需按鍵較少,所以本系統(tǒng)選擇獨(dú)立式按鍵。電路圖見圖3.83.8按鍵電路圖獨(dú)立式按鍵是直接用I/O口線構(gòu)成的單個按鍵電路。每個獨(dú)立式按鍵占有一根I/O口線。各根I/O口線之間不會相互影響鍵盤抖動的消除:抖動的消除大致可以分為硬件削抖和軟件削抖[14]。①硬件削抖是采用硬件電路的方法對鍵盤的按下抖動及釋放抖動進(jìn)行削抖,經(jīng)過削抖電路后使按鍵的電平信號只有兩種穩(wěn)定狀態(tài)。②軟件削抖的基本原理是當(dāng)檢測出鍵盤閉合時,先執(zhí)行一個延時子程序產(chǎn)生數(shù)毫秒的延時,待接通時的前沿抖動消失后再判別是否有健按下。當(dāng)按鍵釋放時,也要經(jīng)過數(shù)毫秒延時,待后沿抖動消失后再判別鍵是否釋放。③由于應(yīng)用硬件削抖還需要外加器件,成本相對較高,所以本系統(tǒng)選擇軟件延時削抖的方法。7.外圍擴(kuò)充存儲器電路基于STC85C51單片機(jī)具有4KB的程序存儲器(ROM),256B的數(shù)據(jù)存儲器(RAM),由于考慮到本系統(tǒng)的數(shù)據(jù)處理與存儲所需的容量,現(xiàn)在需要擴(kuò)充存儲器的容量。在應(yīng)用中要保存一些參數(shù)和狀態(tài),據(jù)了解基于EEPROM的存儲芯片是一種很好的選擇[15]。我們選定了AT24C02存儲器。電路圖見圖3.9:圖3.9外圍擴(kuò)充存儲電路圖三.本章小結(jié)本章主要介紹了硬件設(shè)計的原理及具體外圍電路。二者緊密聯(lián)系,不可分割。我們只有了解了基于單片機(jī)的酒精濃度檢測儀原理之后,我們才可能聯(lián)想設(shè)計出它的原理框圖,從而確定它是由主控芯片、電源輸入部分、鍵盤輸入部分、復(fù)位部分、晶振部分、顯示部分、報警部分等組成大的。然后,設(shè)計各個具體部分的電路以實(shí)現(xiàn)其對應(yīng)的功能[16]。最后,將具體的外圍電路和STC89C51單片機(jī)的對應(yīng)引腳連接起來,以完成本設(shè)計3.10硬件設(shè)計部分第四章系統(tǒng)軟件的設(shè)計對于單片機(jī)的開發(fā)應(yīng)用中,逐漸引入了高級語言,C語言就是其中的一種。匯編語言的可控性較高級語言來說更具優(yōu)越性。程序編寫語言比較常見的有C語言、匯編語言。匯編語言的機(jī)器代碼生成效率高,控制性好,但就是移植性不高。C語言編寫的程序比用匯編編寫的程序更符合人們的思考習(xí)慣。還有很多處理器都支持C編譯器,這樣意味著處理器也能很快上手。且具有良好的模塊化、容易閱讀、維護(hù)等優(yōu)點(diǎn),且編寫的模塊程序易于移植?;贑語言和匯編語言的優(yōu)缺點(diǎn),本系統(tǒng)采用C語言編寫方法[17]。軟件編寫的主體思路是將系統(tǒng)按功能模塊化劃分,然后根據(jù)模塊要實(shí)現(xiàn)的功能寫各個子程序。整個軟件程序的編寫采用查詢式方式編寫的。程序編寫包括主程序,液晶顯示程序,存儲程序,AD轉(zhuǎn)換程序和時鐘程序。詳情見附錄一.主程序主程序?qū)崿F(xiàn)的功能:與硬件相結(jié)合實(shí)現(xiàn)便攜式酒精濃度檢測儀的各個功能。主要是檢測與顯示,數(shù)據(jù)存儲。功能子函數(shù)的調(diào)用。見圖4.1首先開啟啟動按鈕,啟動單片機(jī)和顯示器,同時對單片機(jī)內(nèi)部進(jìn)行初始化,緊接著初始化顯示屏,初始化完畢后顯示開機(jī)畫面顯示主菜單,然后對鍵盤的讀入。開始開始初始化CPU初始LCD屏顯示開機(jī)畫面顯示主菜單讀鍵結(jié)束圖4.1主程序流程圖二.A/D轉(zhuǎn)換模塊程序流程圖⑴模數(shù)轉(zhuǎn)換模塊的主要功能就是將經(jīng)放大器放大的模擬電壓信號轉(zhuǎn)化為MCU能夠處理的數(shù)字信號,并傳送給MCU。A/D芯片的數(shù)據(jù)CS口,連接51單片機(jī)的P3.1口,CLK接P3.2,D1和D0接P3.3口。工作時序如下所示:ADC0832有8只引腳,CH0和CH1為模擬輸入端,CS為片選引腳,只有CS置低才能對ADC0832進(jìn)行配置和啟動轉(zhuǎn)換。CLK為ADC0832的時鐘輸入端。CS在整個轉(zhuǎn)換過程中都必須為低,當(dāng)CS為低時,在數(shù)據(jù)輸入端DI(數(shù)據(jù)輸入端)加一個高電平,接著在CLK上加一個時鐘,DI上的邏輯1就會使ADC0832的DI脫離高阻態(tài),然后通道配置數(shù)據(jù)伴隨著時鐘通過DI端移入多路器,當(dāng)最后一位數(shù)據(jù)移入多路器時,,DI變?yōu)楦咦钁B(tài),在這以前DO(數(shù)據(jù)輸出端)都為高阻態(tài)。在經(jīng)過一個時鐘,DO脫離高阻態(tài),從而啟動轉(zhuǎn)換。接著從處理器接收時鐘信號,每經(jīng)過一個時鐘,轉(zhuǎn)換后的數(shù)據(jù)就會從高位到低位依次從DO移出,經(jīng)過8個時鐘后,數(shù)據(jù)又以從低位到高位的形式從DO移出(也是每個時鐘移一位)。當(dāng)最后一位數(shù)據(jù)移出時轉(zhuǎn)換完成。當(dāng)CS從低變?yōu)楦邥r,ADC0832內(nèi)部所有寄存器清零。如想要進(jìn)行下一次轉(zhuǎn)換,CS必須做一個從高到低的跳變,后跟著地此配置數(shù)據(jù)重復(fù)上面的過程。⑵ADC0832轉(zhuǎn)換的流程圖見下圖4.2開始開始使能芯片輸入通道控制字讀取2字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)校正送入指定寄存器結(jié)束圖4.2數(shù)轉(zhuǎn)換流程圖三.按鍵程序流程圖⑴按鍵時顯現(xiàn)人機(jī)對話的一個控制按鈕,通過按鍵的操作,對系統(tǒng)進(jìn)行發(fā)送操作指令,后經(jīng)與MCU串行通信,然后在液晶上顯示。⑵按鍵查詢式的流程圖見下圖(圖4.3):按鍵的四個鍵分別接P1.0,P1.1,P1.2,P1.3,由于P1口具有上拉電阻,所以不在需要加上拉電阻進(jìn)行電壓的放大。開始開始 結(jié)束圖4.3按鍵查詢式的流程圖結(jié)束四.液晶顯示程序流程圖LCD模塊在本系統(tǒng)中主要起著開界面漢字顯示,以及各控制效果的顯示。采用直接訪問方式。液晶顯示的操作流程圖見下圖4.4:開始開始結(jié)束結(jié)束圖4.4液晶顯示的操作流程圖在LCD1602液晶上顯示相應(yīng)的讀寫數(shù)據(jù)。在液晶上顯示的格式如下:C02ADDRESS:0X01WR:010READ:010五.本章小結(jié)本章主要介紹了軟件設(shè)計的主程序流程圖、A/D轉(zhuǎn)換模塊程序流程圖、按鍵程序流程圖。液晶顯示程序流程圖,我們只有充分理解了各個流程圖以后,才能運(yùn)用匯編語言完成本設(shè)計的軟件系統(tǒng)編程。最終,完成此次設(shè)計。第五章本設(shè)計總結(jié)與展望由于檢測儀向更迅速更快捷發(fā)展,方便攜帶等要求發(fā)展。傳統(tǒng)的機(jī)械檢測儀或酒精計一般靈敏度和準(zhǔn)確度也比較低或者檢測方法難。工廠企業(yè)到居民家庭,酒精泄露的檢測,食品加工,釀酒等需要監(jiān)控空氣中酒精濃度的場合監(jiān)控以及對酒后駕車的檢測,對居民的人身和財產(chǎn)安全都十分重要且必不可少的,現(xiàn)如今,由于人們安全意識增強(qiáng),對環(huán)境安全性和生活適性要求提高。人們對檢測的精度高,準(zhǔn)確度高,攜帶方便等等要求。再加上氣體傳感器向低功耗、多功能、集成化方向的發(fā)展,單片機(jī)具有受集成限制,片內(nèi)儲存量較小,可靠性好,擴(kuò)展簡單,控制功能強(qiáng)等特點(diǎn),因此,基于單片機(jī)的酒精濃度檢測儀的研究和開發(fā)生產(chǎn)具有十分廣泛的現(xiàn)實(shí)市場和潛在的市場需求。針對目前的現(xiàn)狀,該系統(tǒng)設(shè)計遵守體積小,質(zhì)量輕,性價比高的原則[19]。便攜式酒精濃度檢測儀的設(shè)計主要分為硬件設(shè)計和軟件設(shè)計。根據(jù)設(shè)計前對該系統(tǒng)所要實(shí)現(xiàn)功能的要求,綜合考慮我們采用STC89C51單片機(jī)為控制核心。首先要了解系統(tǒng)所要實(shí)現(xiàn)的功能;其次根據(jù)功能去選擇相應(yīng)的硬件資源;再次將一個大的系統(tǒng)進(jìn)行模塊化劃分,然后逐一去攻破。最后把所有模塊進(jìn)行優(yōu)化整合,便得到了一個完整的系統(tǒng)。基于這樣的思路,完成了便攜式酒精濃度檢測儀的基本設(shè)計[20]。軟件是用C語言相編寫的,具有很好的編寫語言的優(yōu)點(diǎn),具有很好的可控性、模塊化和移植性。編寫的思路就是模塊化的思想,將系統(tǒng)的各個功能進(jìn)行劃分,然后對各個模塊進(jìn)行設(shè)計。本系統(tǒng)的主要模塊為傳感檢測、A/D轉(zhuǎn)換、液晶顯示和時鐘設(shè)置。此本設(shè)計采用傳感器檢測酒精濃度時輸出的模擬信號,經(jīng)AD0832轉(zhuǎn)換輸入單片機(jī),從而從液晶顯示上顯示出來。通過對本次畢業(yè)設(shè)計[23],我學(xué)習(xí)了很多在大學(xué)遺漏的知識,讓我在以后的工作中,更加的得心應(yīng)手。參考文獻(xiàn)[1]何立民.單片機(jī)高級教程應(yīng)用與設(shè)計[M].北京:北京航空航天大學(xué)出版[2]鄭義,陳俊.用AT89C52和TLC1543實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)[J].電子世界,2004[3]鄭學(xué)堅.微型計算機(jī)原理及應(yīng)用.2006.[4]李維提.郭強(qiáng).《液晶顯示應(yīng)用技術(shù)》北京:電子工業(yè)出版社,2000.[5]王幸之.AT89系列單片機(jī)原理與接口技術(shù),2004.[6]何希才.傳感器及其應(yīng)用。北京:國防工業(yè)出版社,2001.[7]北京精電蓬遠(yuǎn)顯示技術(shù)有限公司.內(nèi)藏KS0108B/HD61202控制器圖形液晶顯示模塊使用手冊.[8]王幸之.AT89系列單片機(jī)原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.[9]華成英.童詩白.《模擬電子技術(shù)基礎(chǔ)第三版》北京:高等教育出版社,2004.[10]孫傳友.溫控系統(tǒng)原理與設(shè)計。北京:北京航空航天大學(xué)出版社,2002[11]林德杰.電氣測試技術(shù)。北京:機(jī)械工業(yè)出版社,1993.[12]紀(jì)宗南.單片機(jī)外圍器件使用手冊—輸入通道器件分冊[M].北京:北京航空航天大學(xué)出版社,2005.[13]賈伯年.傳感器技術(shù),南京:東南大學(xué)出版社,2000.[14]鄭學(xué)堅.周斌.微型計算機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2006.[15]徐愛鈞.彭愛華.《單片機(jī)高級語言C51應(yīng)用程序設(shè)計》〔M〕.北京工業(yè)出版社,1999.[16]馬忠梅等.《單片機(jī)的C語言應(yīng)用程序設(shè)計》北京:北京航空航天大學(xué)出版社,1997.[17]趙陽.電磁兼容工程入門教程[M].北京:機(jī)械工業(yè)出版社,2009.[18]盧麗君.基于TLC1543的單片機(jī)多路采樣監(jiān)測系統(tǒng)的設(shè)計[J].儀器儀表與分析監(jiān)測,2007.[19]ItalianConferenceonSensorsandMicrosystems
DiNatale,C.Proceedingsofthe7thItalianConference:sensorsandmicrosystems:Bologna,Italy,4-6February2002[M].Singapore[20]PowerIntegrationsTOPSwitch-HXProductApplicationGuide[J].2007,05,02.[21].LanJiChangC51completelystudymanualmicrocontroller[M].beijing:chemicalindustrypress,2009.[22]somefai,single-chipmicrocomputerprincipleandapplication,chemicalindustrypress,2010,8[23]ItalianConferenceonSensorsandMicrosystems
DiNatale,C.Proceedingsofthe7thItalianConference:sensorsandmicrosystems:Bologna,Italy,4-6February2002[M].致謝我的這篇畢業(yè)論文的完成,我首先要向在論文寫作中給予我悉心關(guān)懷、鼓勵和指導(dǎo)的老師致以深深的敬意和謝意.老師一絲不茍的鉆研精神,嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度,執(zhí)著忘我的工作作風(fēng),獨(dú)樹一幟的思維方式,使學(xué)生受益匪淺,并終身難忘.應(yīng)當(dāng)歸功于指導(dǎo)老師閔佳園。她無論是資料整理還是在論文的撰寫等各個方面都給予了大量的指導(dǎo)和幫助,令我不但完成了論文,也學(xué)到了許多書本上學(xué)不到的知識,受益匪淺,特致以深深的感謝。同時也要感各位同學(xué)的幫助。四年的大學(xué)生活不知不覺中就要結(jié)束了,在這段難忘的生活中,有我許多美好的回憶。我的心中,除了不舍,還是不舍,我想,有許多人是我要用一輩子去銘記的。.附錄1.主程序#include<reg52.h>#include<stdio.h>#include<LCD1602.h>#include<AT24c02.h>#include<ADC0832.h>#defineuintunsignedint#defineucharunsignedchar//鍵盤sbitk0=P1^0;sbitk1=P1^1;sbitk2=P1^2;sbitk3=P1^3;//變量bitflg=0;//數(shù)組ucharM_time[]={"Time"};//時間ucharM_Detect[]={"Detect"};//檢測ucharM_Storage[]={"Storage"};//存儲ucharstor[4];//以定義函數(shù)voidinitial_lcd1602(void);voiddelays1(uintn){ while(n--);}/***************子程序************************/voidchang_h(void){intg;if(k0==0){for(g=0;g<20;){delays1(100);g++;}if(k0==0){wr_data[4]=readtimeR[4]+1;if(wr_data[4]>0x23)wr_data[4]=0x00;}}if(k1==0){for(g=0;g<20;){delays1(100);g++;}if(k1==0){wr_data[4]=readtimeR[4]-1;if(readtimeR[4]==0x00)wr_data[4]=0x00;}} DS1302_init(); showdata(); Display_List_Char(1,0,lcd_time);}/***************************************/voidchang_m(void){intg;if(k0==0){for(g=0;g<20;){delays1(100);g++;}if(k0==0){wr_data[5]=readtimeR[5]+1;if(wr_data[5]>0x23)wr_data[5]=0x00;}}if(k1==0){for(g=0;g<20;){delays1(100);g++;}if(k1==0){wr_data[5]=readtimeR[5]-1;if(readtimeR[5]==0x00)wr_data[5]=0x00;}} DS1302_init(); showdata(); Display_List_Char(1,0,lcd_time);}/*************************************/voidchang_s(void){intg;if(k0==0){for(g=0;g<20;){delays1(100);g++;}if(k0==0){wr_data[6]=readtimeR[6]+1;if(wr_data[6]>0x23)wr_data[6]=0x00;}}if(k1==0){for(g=0;g<20;){delays1(100);g++;}if(k1==0){wr_data[6]=readtimeR[6]-1;if(readtimeR[6]==0x00)wr_data[6]=0x00;}} showdata(); Display_List_Char(1,0,lcd_time);}/**************************************************///主函數(shù)/**************************************************/voidmain(){uchari,dd; uintg;ucharshow[4];unsignedintdata_temp=0; initial_lcd1602(); delays1(100); Display_List_Char(0,0,LCD_Code2); for(g=0;g<100;){delays1(100);g++;} while(1){if(k0==0|k1==0|k2==0|k3==0) { write_lcd_command(0x01);//清屏for(g=0;g<100;){delays1(100);g++;}Display_List_Char(0,0,M_time);Display_List_Char(0,8,M_Detect);Display_List_Char(1,0,M_Storage);for(g=0;g<10;){delays1(100);g++;}/*************檢測*******************/if(k1==0){write_lcd_command(0x01);do{if(k3==0)flg=1;data_temp=ADconv();stor[0]=data_temp;xs_int(196*data_temp,1);}while(flg==0);flg=0;}/***************存儲****************/if(k2==0){write_lcd_command(0x01);//清屏do{if(k3==0)flg=1;for(i=0;i<3;){//i2c_write(0x00+i,0x63+i/*要存的數(shù)據(jù)*/);i2c_write(0x00+i,stor[0]/*要存的數(shù)據(jù)*/);i++;}_nop_();i=0;for(i=0;i<3;){dd=i2c_read(0x00+i);/*讀地址數(shù)據(jù)*/show[i]=dd;i++;}Display_List_Char(1,0,show);}while(flg==0);flg=0;for(g=0;g<500;){delays1(100);g++;}}/***************************************/ } }}2.液晶顯示程序#include<reg52.h>#include<stdio.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedint#defineLCDPORTP0sbitRS=P2^6; //RS數(shù)據(jù)命令選擇端,高電平數(shù)據(jù),低電平命令sbitRW=P2^7; //RW讀寫選擇端,高電平讀操作,低電平寫操作sbitEN=P2^0; //EN使能控制端,E高電平跳變?yōu)榈碗娖綍rLCD執(zhí)行命令ucharLCD_Code2[] ="Welcome:";ucharLCD_Code[] ="0123456789ABCDEF-.";/******************************LCD1602驅(qū)動程序*************************************/voidlcd_delay(uchardelaytime){ while(delaytime)delaytime--;}voidwrite_lcd_command(ucharwrite_command){ lcd_delay(40); RS=0; RW=0; LCDPORT=write_command; EN=1; EN=0;}voidwrite_lcd_data(ucharwrite_data){ lcd_delay(40); RS=1; RW=0; LCDPORT=write_data; EN=1; EN=0;}voidDisplay_One_Char(ucharx,uchary,uchardat)//x表示行,y表示列{ switch(x) { case0: write_lcd_command(0x80+y); break; case1: write_lcd_command(0xc0+y); break; } write_lcd_data(dat);}voidDisplay_List_Char(ucharx,uchary,uchar*str){ switch(x) { case0: write_lcd_command(0x80+y); break; case1: write_lcd_command(0xc0+y); break; } while(*str!='\0') { write_lcd_data(*str); str++; }}voidxs_int(unsignedintshuju,bitt)//顯示一個數(shù)字{unsignedcharhuancun[6]={0};unsignedcharbiaozhi=0,i;if(shuju<10)biaozhi=1;elseif(shuju<100)biaozhi=2;elseif(shuju<1000)biaozhi=3;elseif(shuju<10000)biaozhi=4;elseif(shuju<65535)biaozhi=5;switch(biaozhi){case5:huancun[5]=shuju/10000;case4:huancun[3]=shuju%10000/1000;case3:huancun[2]=shuju%1000/100;case2:huancun[1]=shuju%100/10;case1:huancun[0]=shuju%10;break;default:break;}for(i=6;i>1;i--){if(i==5)Display_One_Char(1,10,'.');elseDisplay_One_Char(t,15-i,0x30+huancun[i-1]);}Display_One_Char(t,15,'V');}voidinitial_lcd1602(void) //初始化LCD1602{ uchari; EN=0; for(i=200;i>0;i--) lcd_delay(248); write_lcd_command(0x38); //0x38命令,雙行顯示,顯示5x7的點(diǎn)陣字符 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x38); //再寫一次0x38命令,雙行顯示,顯示5x7的點(diǎn)陣字符 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x0c); //無光標(biāo),不閃爍 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x06); //光標(biāo)右移,文字不移動 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x01); //清屏 for(i=4;i>0;i--) lcd_delay(248);}3.存儲程序#include<reg52.h>#include<stdio.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedint#defineLCDPORTP0sbitRS=P2^6; //RS數(shù)據(jù)命令選擇端,高電平數(shù)據(jù),低電平命令sbitRW=P2^7; //RW讀寫選擇端,高電平讀操作,低電平寫操作sbitEN=P2^0; //EN使能控制端,E高電平跳變?yōu)榈碗娖綍rLCD執(zhí)行命令ucharLCD_Code2[] ="Welcome:";ucharLCD_Code[] ="0123456789ABCDEF-.";/******************************LCD1602驅(qū)動程序*************************************/voidlcd_delay(uchardelaytime){ while(delaytime)delaytime--;}voidwrite_lcd_command(ucharwrite_command){ lcd_delay(40); RS=0; RW=0; LCDPORT=write_command; EN=1; EN=0;}voidwrite_lcd_data(ucharwrite_data){ lcd_delay(40); RS=1; RW=0; LCDPORT=write_data; EN=1; EN=0;}voidDisplay_One_Char(ucharx,uchary,uchardat)//x表示行,y表示列{ switch(x) { case0: write_lcd_command(0x80+y); break; case1: write_lcd_command(0xc0+y); break; } write_lcd_data(dat);}voidDisplay_List_Char(ucharx,uchary,uchar*str){ switch(x) { case0: write_lcd_command(0x80+y); break; case1: write_lcd_command(0xc0+y); break; } while(*str!='\0') { write_lcd_data(*str); str++; }}voidxs_int(unsignedintshuju,bitt)//顯示一個數(shù)字{unsignedcharhuancun[6]={0};unsignedcharbiaozhi=0,i;if(shuju<10)biaozhi=1;elseif(shuju<100)biaozhi=2;elseif(shuju<1000)biaozhi=3;elseif(shuju<10000)biaozhi=4;elseif(shuju<65535)biaozhi=5;switch(biaozhi){case5:huancun[5]=shuju/10000;case4:huancun[3]=shuju%10000/1000;case3:huancun[2]=shuju%1000/100;case2:huancun[1]=shuju%100/10;case1:huancun[0]=shuju%10;break;default:break;}for(i=6;i>1;i--){if(i==5)Display_One_Char(1,10,'.');elseDisplay_One_Char(t,15-i,0x30+huancun[i-1]);}Display_One_Char(t,15,'V');}voidinitial_lcd1602(void) //初始化LCD1602{ uchari; EN=0; for(i=200;i>0;i--) lcd_delay(248); write_lcd_command(0x38); //0x38命令,雙行顯示,顯示5x7的點(diǎn)陣字符 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x38); //再寫一次0x38命令,雙行顯示,顯示5x7的點(diǎn)陣字符 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x0c); //無光標(biāo),不閃爍 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x06); //光標(biāo)右移,文字不移動 for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x01); //清屏 for(i=4;i>0;i--) lcd_delay(248);}4.AD轉(zhuǎn)換程序#include"reg52.h"#include<intrins.h>//******************adc0832****************************//sbitCS=P3^1;//使能。sbitCLK=P3^2;//時鐘sbitDo=P3^3;//數(shù)據(jù)輸出sbitDi=P3^3;//數(shù)據(jù)輸入unsignedcharCH=0x02;//通道的選擇:0x02就是單通道0;0x03就是單通道1;//0x00就是雙通道ch0=“+”;ch0=“-”//0x01就是雙通道ch0=“-”;ch0=“+”//*****************************************************//unsignedcharADconv(void){unsignedchari;unsignedintdata_f=0,data_c=0;Di=1;CS=1;_nop_();CS=0;Di=1;;//芯片使能之前的初始化。第一個下降沿CLK=1;_nop_();_nop_();/****************************************/CLK=0;//確定通道模式、第2個下降沿_nop_();_nop_();CLK=1;Di=(bit)(0x02&CH);//設(shè)定通道初始化_nop_();CLK=0;_nop_();_nop_();CLK=1;Di=(bit)(0x01&CH);//設(shè)定通道初始化.第3個下降沿_nop_();_nop_();CLK=0;//AD轉(zhuǎn)化的初始化完成。Di=1;CLK=1;_nop_();_nop_();CLK=0;_nop_();CLK=1;for(i=8;i>0;i--)//得到一個正常排序的8位數(shù)據(jù){data_f|=Do;data_f<<=1;CLK=1;_nop_();_nop_();CLK=0;_nop_();}for(i=8;i>0;i--)//得到一個反序排列的8位數(shù)據(jù){data_c<<=1;data_c|=Do;_nop_();CLK=1;_nop_();_nop_();CLK=0;_nop_();}CLK=0;_nop_();_nop_();CLK=1;_nop_();_nop_();CLK=0;_nop_();_nop_();CLK=1;_nop_();CS=1;_nop_();_nop_();returndata_f;}
畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆四川省綿陽市部分校中考生物對點(diǎn)突破模擬試卷含解析
- 農(nóng)戶鏟車出售合同范例
- 代理勞務(wù)派遣工合同范例
- 出租單價合同范例
- 第三單元 第1節(jié) 溫度 教學(xué)設(shè)計- 2024-2025學(xué)年人教版物理 八年級上冊
- 勞務(wù)總包合同范本
- 因材施教的個性化教育計劃
- 城建行業(yè)保安工作總結(jié)計劃
- 前臺文員的職業(yè)培訓(xùn)與發(fā)展路徑計劃
- 分析不同財務(wù)工具的適用場景計劃
- 國網(wǎng)工程項(xiàng)目管理制度
- 2025國家統(tǒng)計局桐廬調(diào)查隊(duì)公開招聘2人管理單位筆試遴選500模擬題附帶答案詳解
- 第28課 改革開放和社會主義現(xiàn)代化建設(shè)的巨大成就 教學(xué)設(shè)計(表格式)必修 中外歷史綱要(上)
- DB21-T 3943-2024 消防控制室管理
- 規(guī)劃課題申報范例:高校畢業(yè)生高質(zhì)量就業(yè)服務(wù)體系建設(shè)研究(附可修改技術(shù)路線圖)
- 2023年高考地理專題復(fù)習(xí)新題典題精練-大氣受熱過程(原卷版)
- 教師資格考試高級中學(xué)數(shù)學(xué)面試試題與參考答案(2024年)
- 高速公路改建拆除施工方案
- 護(hù)理不良事件相關(guān)知識考核試題及答案
- 安全文明施工標(biāo)準(zhǔn)化現(xiàn)場管理規(guī)定
- 循環(huán)流化床鍋爐改機(jī)械爐排爐項(xiàng)目可行性研究報告模板-立項(xiàng)備案
評論
0/150
提交評論