基于單片機的甲醛超標(biāo)檢測儀設(shè)計與實現(xiàn)_第1頁
基于單片機的甲醛超標(biāo)檢測儀設(shè)計與實現(xiàn)_第2頁
基于單片機的甲醛超標(biāo)檢測儀設(shè)計與實現(xiàn)_第3頁
基于單片機的甲醛超標(biāo)檢測儀設(shè)計與實現(xiàn)_第4頁
基于單片機的甲醛超標(biāo)檢測儀設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的甲醛超標(biāo)檢測儀設(shè)計與實現(xiàn)摘要為了適應(yīng)當(dāng)前甲醛檢測儀的市場需求,達(dá)到對室內(nèi)甲醛的快速檢測的目的,按照課題要求,自主研制一款甲醛檢測儀,要求其能夠檢測出空氣中的甲醛含量,且具有超標(biāo)報警的功能。ZE08-CH2O甲醛傳感器是近代以來具有精密檢測技術(shù)的氣體模組,其良好的選擇性和穩(wěn)定性是甲醛檢測儀傳感器組成的首選,因為在里面配置了有溫度傳感器,所以可以對所處環(huán)境氣溫溫度進(jìn)行補償;輸出方式也分為模擬電壓輸出以及數(shù)字輸出,便于進(jìn)行靈活運用。本課題設(shè)計采用ZE08-CH20甲醛傳感器,根據(jù)其檢測原理對空氣中的甲醛含量進(jìn)行快速檢測,并且通過單片機的芯片對檢測出來的甲醛濃度數(shù)據(jù)進(jìn)行分析處理,并把處理結(jié)果傳輸?shù)斤@示屏上進(jìn)行顯示。它的特點便是對空氣中的甲醛濃度進(jìn)行精準(zhǔn)、快速、有效的檢測,且在甲醛濃度超過既定值時進(jìn)行報警提醒。設(shè)計出的作品還具有輸出方式穩(wěn)定、抗干擾能力強、小型方便攜帶等特點。關(guān)鍵詞:單片機;ZE08-CH2O甲醛傳感器;甲醛超標(biāo)檢測

AbstractInordertofitinwiththeneedsofthemarketdemandofformaldehydedetectorandachievethepurposeofrapiddetectionofindoorformaldehyde,aformaldehydedetectorisindependentlydevelopedaccordingtotherequirementsoftheproject,whichisrequiredtodetecttheformaldehydecontentintheairandhavethefunctionofexceedingthestandardalarm.ZE08-CH2oformaldehydesensorisagasmodulewithprecisiondetectiontechnologysincemoderntimes.Itsgoodselectivityandstabilityarethefirstchoiceforthesensorcompositionofformaldehydedetector.Becausethereisatemperaturesensorinit,itcancompensatetheambienttemperature;Theoutputmodeisalsodividedintoanalogvoltageoutputanddigitaloutput,whichisconvenientforflexibleapplication.ThedesignofthissubjectadoptsZE8-CH20formaldehydesensortoquicklydetecttheformaldehydecontentintheairaccordingtoitsdetectionprinciple,andanalyzesandprocessesthedetectedformaldehydeconcentrationdatathroughthechipofsinglechipmicrocomputer,andtransmitstheprocessingresultstothedisplayscreenfordisplay.Itischaracterizedbyaccurate,rapidandeffectivedetectionofformaldehydeconcentrationintheair,andalarmwhentheformaldehydeconcentrationexceedsthesetvalue.Thedesignedworksalsohavethecharacteristicsofstableoutputmode,stronganti-interferenceability,smallandeasytocarry.Keywords:singlechip;ZE08-CH2Osensor;Formaldehydeoverstandarddetection

目錄TOC\o"1-3"\h\u1引言 系統(tǒng)硬件設(shè)計整體方案設(shè)計系統(tǒng)概述通過方案選擇,以單片作為本次設(shè)計的核心單元,具體型號上根據(jù)整體方案考慮,在各類型號上進(jìn)行比對后決定使用STC89C52這一款單片機。它與一個10K電阻、2個30pF獨石電容、1個10uF電解電容、1個11.0592M晶體振蕩器以及1片10K排阻共同構(gòu)成本次設(shè)計的最小系統(tǒng),而其中電解電容和電阻組合成最小系統(tǒng)中的復(fù)位電路部分,晶體振蕩器和獨石電容組成最小系統(tǒng)中的晶振電路部分;采用LCD1602液晶顯示作為信息顯示屏,它與一個10K電位器相連組成液晶顯示部分;采用ZE08-CH2O甲醛模組的甲醛傳感器模塊,該傳感器通過串口和單片機進(jìn)行數(shù)據(jù)傳輸。報警模塊是由蜂鳴器模塊和LED燈模塊組成的聲光報警系統(tǒng),蜂鳴器模塊由一個S8550三極管和一個1K的電阻組成,LED燈模塊由2個1K的電阻分別連接1個紅LED燈和1個綠LED燈;還有2個按鍵組成按鍵模塊,以兩個按鍵操作輸入設(shè)備;電源模塊則是由一個電源插座和一個電源開關(guān)組成,供電采用USB接口進(jìn)行5V供電。最小系統(tǒng)模塊STC89C52簡介(1)概述STC89C52單片機屬于STC89系列單片機中的一種,STC89系列單片機購買成本低、加密型強、功耗低,且具有高速、高可靠、強抗靜電的特點,且能夠在線編程。STC89C52有ESD保護,所以具有高抗靜電性;能夠輕松過2KV/4KV的快速脈沖干擾;寬電壓不怕電源抖動;寬溫度范圍,范圍在-40℃~85℃之間;掉電模式下功耗小于0.1μA,正常工作模式下功耗在4mA-7mA之間,屬于低功耗產(chǎn)品。(2)主要功能特性STC89C52單片機在5V條件下最高時鐘頻率在0到80MHz之間,它有8K的Flash存儲器,RAM字節(jié)為512字節(jié),具備降低EMI功能、看門狗和雙倍速功能。具有P4口、ISP和IAP,E2PROM字節(jié)為2K+。它還有2個數(shù)據(jù)指針,8個中斷源,3個定時器,優(yōu)先級可設(shè)為4級,串口UART為1ch,即一個通信通道。具有多個特殊功能寄存器(3)STC89C52單片機的引腳功能STC89C52單片機具有40個引腳,圖3-1為STC89C52的引腳原理圖。圖3-1STC89C52引腳圖其中,各引腳的功能為:1~8腳P10~P17為雙向I/O口中的P1口,輸入需要先置1,無高阻態(tài),只能是輸入或者輸出,能夠驅(qū)動4個TTL負(fù)載。9腳RESET與復(fù)位電路相連接,當(dāng)復(fù)位電路中的5V電壓經(jīng)過該腳時,程序代碼重頭開始執(zhí)行。10~17腳為雙向I/O口中的P3口,與P1口相同,但是無論是輸入和輸出都需要置1,具有很多復(fù)用功能。當(dāng)它用作第二功能使用時,每一位都有特定用途,其特殊用途如下:10腳P30/RXD,接受數(shù)據(jù)。11腳P31/TXD,發(fā)送數(shù)據(jù)。12腳P32/INT0,外部中斷0。13腳P33/INT1,外部中斷1。14腳P34/T0,輸入定時器/計數(shù)器外部信號0。15腳P35/T1,輸入定時器/計數(shù)器外部信號1。16腳P36/WR,寫選通信號。17腳P37/RD,讀選通信號。18腳是XTAL2,與19XTAL1外接屬于外接時鐘引腳,為片內(nèi)振蕩電路的輸出,本設(shè)計與晶體振蕩器其中一端相連。19腳是XTAL1,與18XTAL2外接屬于外接時鐘引腳,為片內(nèi)振蕩電路的輸入,本設(shè)計與晶體振蕩器其中一端相連,不與18腳同接晶體振蕩器的一端。20腳GND接地。21~28腳為雙向I/O口中的P2口,與P1口一樣,當(dāng)有片外存儲器時,當(dāng)作地址線,尋址片外數(shù)據(jù)存儲器??梢则?qū)動4個TTL負(fù)載。29腳PSEN其信號為擴展程序存儲器的讀選通信號,低電平有效。30腳是ALE功能是在訪問外部存儲器時,ALE信號用于鎖存P0口中的信息。ALE=1為高電平,則P0口為低8位地址;ALE=0為低電平時,P0口為指令或數(shù)據(jù)。31腳是EA一般接VCC。EA腳低電平動作,EA=0為低電平時,系統(tǒng)取用外部程序代碼,否則則取用內(nèi)部程序代碼運行。32~39腳P07~P00為雙向I/O口中P0口,是真正的雙向口,具有輸入緩沖、輸出緩沖功能,輸入前需要先置1。輸出為漏極開路,一般需要上拉電阻;輸入為高阻態(tài),可驅(qū)動8個TTL負(fù)載。當(dāng)有片外存儲器時,可以作為數(shù)據(jù)線使用。40腳VCC為電源腳,接+5V電源電壓。最小系統(tǒng)STC89C52的最小系統(tǒng)如圖3-2所示,最小系統(tǒng)主要由排阻、電源、晶振電路部分與復(fù)位電路部分組成。一個11.0592M晶體振蕩器和2個30pF獨石電容組成本設(shè)計中最小系統(tǒng)的晶振電路部分,晶振用來產(chǎn)生正弦波,11.0592M表示一秒產(chǎn)生11059200個正弦波,單片機收到12個正弦波執(zhí)行一個指令;2個獨石電容對晶振起到起振的作用,簡單來說,如果沒有這兩個電容,晶振可能無法振蕩起來產(chǎn)生達(dá)到要求的正弦波,因為其充電放電的功能,能夠幫助晶振產(chǎn)生穩(wěn)定的正弦波。本設(shè)計用一個10uF的電解電容和一個10K的電阻串聯(lián)組成復(fù)位電路。復(fù)位電路連到單片機復(fù)位腳9腳RESET,9腳RESET為5V時,單片機無法執(zhí)行復(fù)位代碼,當(dāng)它從5V降為0V或者1.5V,即電壓從高降到低時,代碼會從頭開始執(zhí)行。復(fù)位電路剛上電時,電容是導(dǎo)通的,所以9腳RESET處于高電壓狀態(tài),延時一段時間,單片機供電穩(wěn)定后,電容斷開,9腳REST無法得到供電則電壓變低,經(jīng)過這一個過程后,代碼從開始重新執(zhí)行。電源部分是5V電源供電,除了固定電源供電外,也可以采用充電寶等這一類移動式電源供電。排阻顧名思義是將一排電阻組合放在一起進(jìn)行封裝的器件,因為4個I/O雙向口中的P1口、P2口、P3口都可以正常穩(wěn)定輸出0V和5V電壓,而P0口輸出高電平時處于高阻態(tài)狀態(tài),無法接受單片機內(nèi)部電壓,所以只有P0口只能輸出0V電壓,不能輸出5V電壓,因此在P0口串聯(lián)一個排阻與VCC接通才能夠輸出5V電壓。31腳是EA亦需要接一個VCC,才能夠讀取單片機內(nèi)部程序代碼。圖3-2最小系統(tǒng)電路圖液晶顯示器1602液晶顯示器介紹因LCD1602接受信號后能一直保持亮度與色彩,恒定發(fā)光不閃爍。這種低功耗、能夠顯示大量信息、顯示質(zhì)量高且使用壽命長的產(chǎn)品以及受到廣大群眾的歡迎并被廣泛使用。本設(shè)計采用LCD1602液晶顯示模塊,可顯示2行16個字符,能夠顯示符號、數(shù)字、英文字母大小寫等,通過自定義還可顯示簡單的漢字。LCD1602價格便宜,功能齊全,是本設(shè)計首選的液晶顯示屏。它顯示2*16個字符,在各類自動化設(shè)計中被廣泛應(yīng)用,主要使用ASCII碼顯示字符。還可以手動添加漢字庫內(nèi)沒有的漢子以供自行使用。圖3-3為1602液晶顯示器實物圖。(a)(b)圖3-31602液晶顯示屏實物圖片(a)實物正面(b)實物反面1602LCD液晶顯示器的主要參數(shù):它能夠顯示2行16個,共32個字符;芯片的工作電壓為4.5V~5.5V;5V電壓電源條件下,其工作電流為2mA;字符尺寸為2.95*4.35(WXH)mm;采用數(shù)字式接口;最小允許時間周期為1000ns;最大允許上升和下降時間為25ns;地址建立時間為140ns;地址保持時間為10ns;數(shù)據(jù)建立時間為195ns;數(shù)據(jù)保持時間為10ns;高電平狀態(tài)下最小允許脈沖寬度為450ns。1602液晶顯示屏引腳說明1602液晶顯示屏引腳功能說明如下:1腳VSS為電源地。2腳VDD表示電源正極。3腳VL為液晶顯示偏壓信號。4腳RS為數(shù)據(jù)/命令選擇端。5腳R/W為讀/寫信號端。6腳E為使能信號。7至14腳D0-D7為數(shù)據(jù)口。15腳BLA為背光源正極。16腳BLK背光源負(fù)極。指令說明表3-11602LCD總體指令功能表指令編碼功能執(zhí)行速度RSR/WD7D6D5D4D3D2D1D00000000001清屏1.64ms000000000X光標(biāo)歸位1.64ms00000001I/DS模式設(shè)置40μs0000001DCB顯示開關(guān)設(shè)置40μs000001S/CR/LXX屏幕或光標(biāo)移動方向設(shè)置40μs00001DLNFXX功能設(shè)置40μs0001AC5AC4AC3AC2AC1AC0設(shè)置CGRAM地址40μs001AC6AC5AC4AC3AC2AC1AC0設(shè)置DDRAM地址40μs01BFAC6AC5AC4AC3AC2AC1AC0讀取忙信號或AC地址40μs10/1D7D6D5D4D3D2D1D0向DDRAM或CGRAM寫/讀數(shù)據(jù)40μs(1)清屏①將顯示屏上的顯示內(nèi)容清除,就是所謂的“格式化”,保留需要顯示的內(nèi)容提醒,但把內(nèi)容刪除;②重置光標(biāo)所處的位置,使其回到初始位置;③進(jìn)入這個指令需要一定的時間。(2)光標(biāo)歸位①光標(biāo)回到最初位置;②地址計數(shù)器數(shù)值被設(shè)為零;③數(shù)據(jù)地址內(nèi)容不變;(3)進(jìn)入模式設(shè)置指令可以規(guī)定光標(biāo)移動方向,且設(shè)置每寫一個字符光標(biāo)是否移動;I/D=0則光標(biāo)左移,同時根據(jù)程序設(shè)定地址增加1;I/D=1則光標(biāo)右移,同時根據(jù)程序設(shè)定地址增加1;(4)顯示開關(guān)對顯示器、光標(biāo)、光標(biāo)顯示進(jìn)行開啟或關(guān)閉。當(dāng)相對應(yīng)的編碼為高電平時,那么為開啟、閃爍狀態(tài);當(dāng)響應(yīng)的編碼為低電平時,那么為關(guān)閉、停閃狀態(tài)(5)光標(biāo)移動控制S/C=0,R/L=0,當(dāng)前光標(biāo)所處位置左移一個位置并且退去1位;S/C=0,R/L=1,當(dāng)前光標(biāo)所處位置右移一個位置并且退去1位;S/C=1,R/L=0,字符內(nèi)容左移一個位置;S/C=1,R/L=1,字符內(nèi)容右移一個位置。(6)功能設(shè)定DL=0數(shù)據(jù)總線為4,DL=1數(shù)據(jù)總線為8;N=0則整個液晶顯示屏只顯示一行,N=1則整個液晶顯示屏顯示兩行內(nèi)容;F=0則每個字符占用5*7點陣,F(xiàn)=1時則每個字符占用5*10點陣。(7)設(shè)定CGRAM地址事先設(shè)置好下一次傳輸時需要輸入數(shù)據(jù)的時鐘發(fā)生器隨機存取存儲器地址;字符號為DB5,DB4,DB3(000-111),即將顯示的字符所用到的地址,可同時定義八個字符;行號為DB2,DB1,DB0(000-111),數(shù)據(jù)所處行數(shù),八行。芯片內(nèi)事先將192個常用字符字模保存在時鐘發(fā)生器隨機存取存儲器中,有8個允許用戶自定義字符的RAM,即CGRAM,具體描述見圖3-4。圖3-4CGROM中字符碼與字字符字模關(guān)系對照表假設(shè)自定義的一個漢子或圖形放在第六個時鐘發(fā)生器隨機存取存儲器中,所以可以確定字符碼就為101(字符碼范圍為000-111),所以DB5、DB4、DB3=101,因此CGRAM的地址設(shè)置為01101XXX;XXX則為對應(yīng)的行號(行號000-111)。圖3-5為輸入字符“5”的圖示。圖3-5輸入字符5示例如果要輸入字符5,輸入字符5的過程如下所示:011010000x07(第一行)011010010x10(第二行)011010100x10(第三行)011010110x07(第四行)011011000x01(第五行)011011010x01(第六行)011011100x07(第七行)011011110x00(第八行)以此類推,可輸入其他字符到定義的時鐘發(fā)生器隨機存取存儲器地址中。(8)設(shè)置顯示數(shù)據(jù)存儲器地址事先設(shè)置好下一次傳輸時需要輸入數(shù)據(jù)的顯示數(shù)據(jù)存儲器地址。(9)讀取忙或AC地址指令液晶顯示屏在進(jìn)行顯示時,BF置1,液晶暫時不接收被單片機送出的數(shù)據(jù)或指令。液晶顯示屏沒有顯示內(nèi)容顯示時,BF置0,液晶此時能夠進(jìn)行接受數(shù)據(jù)或指令操作。(10)向顯示數(shù)據(jù)存儲器或者時鐘發(fā)生器隨機存取存儲器寫/讀數(shù)據(jù)或指令①RS=1,R/W=0時,向顯示數(shù)據(jù)存儲器或者時鐘發(fā)生器隨機存取存儲器寫入數(shù)據(jù)或指令;寫指令:RS=L,RW=L,E=下降沿脈沖,DB0-DB7=指令碼;寫數(shù)據(jù):RS=H,RW=L,E=下降沿脈沖,DB0-DB7=數(shù)據(jù);②RS=1,R/W=1時,向顯示數(shù)據(jù)存儲器或者時鐘發(fā)生器隨機存取存儲器讀取數(shù)據(jù)或指令;讀指令:RS=L,RW=H,E=H,DB0-DB7=狀態(tài)字;讀數(shù)據(jù):RS=H,RW=H,E=H,DB0-DB7=數(shù)據(jù);液晶顯示模塊電路液晶顯示屏1腳VSS接地0V,2腳VCC接5V電源,1腳與電路的GND連接,2腳與VCC連接,1腳和2腳用于給液晶供電;3腳VO與一個10K電位器相連后接地,用于調(diào)節(jié)液晶的對比度,調(diào)節(jié)對比度可以讓整個液晶畫面更為清晰;4腳RS是用于液晶命令或者數(shù)據(jù)的選擇,RS電壓為5V時選擇數(shù)據(jù),電壓為0V則選擇命令,它與單片機的P27腳相連;5腳RW是用于液晶讀或?qū)懙倪x擇,RW電壓為5V時為讀數(shù)據(jù),電壓為0V時為寫數(shù)據(jù),與單片機的P26腳相連;6腳EN是液晶脈沖使能腳,與單片機的P25腳相連;7腳~14腳D0~D7為液晶的數(shù)據(jù)口,用于傳輸數(shù)據(jù)或者命令,與單片機的P0口連接;15腳A接5V電源,16腳K接地0V,與1腳2腳相同,15腳接VCC,16腳接GND,它們給液晶的背光進(jìn)行供電。液晶模塊的電路的連接圖見圖3-6。圖3-6液晶顯示模塊原理圖甲醛傳感器模塊介紹ZE08-CH2O甲醛傳感器ZE08-CH2O甲醛傳感器具有通用和小型化的特點,選擇性與穩(wěn)定性良好,采用數(shù)字輸出與模擬電壓輸出,方便使用。ZE08-CH2O甲醛傳感器模塊主要應(yīng)用于各類電器檢測儀表、空氣檢測設(shè)備、空氣凈化器、空調(diào)以及各類空氣設(shè)備。ZE08-CH2O模組參數(shù)(1)表3-2表示ZE08-CH2O模組參數(shù)。表3-2ZE08-CH2O模組參數(shù)產(chǎn)品型號ZE08-CH2O檢測氣體甲醛干擾氣體酒精,一氧化碳等氣體輸出數(shù)據(jù)DAC(低電平0.4V~2V)UAPT(高電平3V)工作電壓大于3.7V而小于5V預(yù)熱時間小于3分鐘響應(yīng)時間小于60秒恢復(fù)時間小于60秒量程從0ppm至5ppm分辨率低于0.01ppm工作溫度0攝氏度至50攝氏度工作濕度15%相對濕度至90%相對濕度存儲溫度0攝氏度~50攝氏度使用壽命正常環(huán)境下約2年(2)引腳說明如下表3-3所示。表3-3ZE08-CH2O引腳說明引腳名稱引腳說明Pin1HDPin2DACPin3GNDPin4VinPin5UART(RXD)Pin6UART(TXD)Pin7PWM通信協(xié)議通信協(xié)議常指完成通信或服務(wù)需要遵守的規(guī)定,協(xié)議對數(shù)據(jù)單元的使用格式進(jìn)行了定義。傳感器和單片機之間的通信協(xié)議規(guī)定,它們之間通過串口進(jìn)行數(shù)據(jù)傳輸,單位時間內(nèi)傳送的碼元符號的個數(shù)為9600。傳感器模塊電路圖ZE08-CH2O傳感器模塊有7個引腳,但是連接到電路只需要3個引腳,其中兩個GND和VCC腳用于給甲醛模塊供電,TXD是用于甲醛濃度輸出檢測結(jié)果,因為TXD為串口的發(fā)送,而單片機P30用于串口的接收,所以TXD腳與單片機的P30引腳相連。傳感器模塊原理圖見圖3-7。圖3-7傳感器模塊原理圖按鍵輸入按鍵是單片機控制中不可或缺的設(shè)備之一??v觀整個設(shè)計布局,所需要用到的按鍵只用2個,用于對甲醛濃度標(biāo)準(zhǔn)值進(jìn)行調(diào)整,一個按鍵調(diào)高標(biāo)準(zhǔn)值,一個按鍵降低標(biāo)準(zhǔn)值。將兩個按鍵按鈕按照并聯(lián)方式進(jìn)行焊接,其中一端接地,另外一端接所需要按鍵功能的模塊。圖3-8按鍵原理圖蜂鳴器發(fā)聲模組蜂鳴器模塊主要由三個元件構(gòu)成,分別是一個三極管、一個限流電阻和一個蜂鳴器。限流電阻的作用主要是用來驅(qū)動蜂鳴器發(fā)音。PNP極三極管S8550是本設(shè)計采用的三極管型號,當(dāng)單片機輸出0V,則三極管導(dǎo)通,蜂鳴器工作;當(dāng)單片機輸出5V,則三極管斷開,蜂鳴器不工作。圖3-9蜂鳴器電路圖LED燈模塊發(fā)光二極即人們常說的LED,由各類化合物共同制作而成,常用作電路儀器上的指示燈。不同化合物型二極管能發(fā)出不同顏色的光,最常用的燈光顏色便是紅黃綠三種顏色。本設(shè)計中采用了2顆LED燈和2個1K的電阻組成LED模塊。采用的LED燈分別為紅色和綠色,紅燈亮起表示檢測結(jié)果超過既定標(biāo)準(zhǔn)值,綠燈亮起表示檢測結(jié)果低于既定標(biāo)準(zhǔn),檢測出的甲醛濃度在符合的標(biāo)準(zhǔn)范圍之內(nèi)。LED燈的正極接VCC,負(fù)極接單片機。當(dāng)剛上電時,VCC電壓和單片機電壓共同輸出5V,因為不存在電壓差所以LED燈不會亮起。如果單片機輸出電壓為0V時,存在電壓差,則LED燈亮起。所以當(dāng)甲醛濃度超過了標(biāo)準(zhǔn)值時,單片機接LED腳的電壓輸出為0V,LED燈亮起。圖3-9LED燈原理圖軟件設(shè)計程序語言及開發(fā)環(huán)境C語言是人們?nèi)粘3S玫某绦蛟O(shè)計語言,它被美國人所發(fā)明出來,傳遍世界進(jìn)行應(yīng)用,C語言已被應(yīng)用于各類新型機上,它可以用于系統(tǒng)設(shè)計,編寫應(yīng)用程序,能夠當(dāng)作應(yīng)用程序設(shè)計語言。它能應(yīng)用于各類條件不用的環(huán)境,處理數(shù)據(jù)的能力強,且除了軟件開發(fā)外,它也被各類科研所使用。而與本設(shè)計有關(guān)進(jìn)行C語言程序編寫的軟件則是美國出品的KeilC51軟件,它是51系列單片機中經(jīng)常用到的程序代碼編寫軟件。C語言比匯編語言更具有優(yōu)勢,方便初學(xué)者使用。所以采用C語言作為本設(shè)計的編程語言,那么編程軟件的選用上當(dāng)為Keil莫屬。就算棄用C語言,改用匯編語言編程,Keil也能完美適用。構(gòu)造程序流程圖總體程序流程圖設(shè)計根據(jù)本設(shè)計要求制作系統(tǒng)軟件流程圖。通電則整個流程開始,開始后,先對液晶顯示屏進(jìn)行初始化,把上一次在液晶顯示屏上顯示的內(nèi)容清除出去,即把液晶功能和顯示的內(nèi)容“清零”。緊接著對串口進(jìn)行初始化,給本次循環(huán)數(shù)據(jù)“清出一條道路”,使數(shù)據(jù)的傳輸不阻塞。往下便是讀取甲醛濃度的檢測結(jié)果,然后將檢測結(jié)果進(jìn)行顯示。再往后就是判斷檢測數(shù)的甲醛濃度是否超過了報警閾值,是超過了報警閾值,則蜂鳴器發(fā)聲,紅色LED燈亮起;沒超過閾值,則進(jìn)入下一步驟。緊接著需要判斷是否有按鍵按下對甲醛濃度的標(biāo)準(zhǔn)值進(jìn)行了調(diào)整,如果有按鍵按下調(diào)整了甲醛濃度的標(biāo)準(zhǔn),則把調(diào)整后的數(shù)據(jù)輸送至單片機后再進(jìn)入下一次循環(huán);如果沒有按鍵按下,則直接進(jìn)入下一次循環(huán)。如果斷電,則整個流程結(jié)束。制作流程圖是程序編寫前不可缺少的一個環(huán)節(jié),有流程圖和沒有流程圖所帶來的效果是不一樣的,根據(jù)流程圖進(jìn)行代碼編寫,可以減少不必要的錯誤以及過多添加代碼,可以讓自己少走很多“歪路”。制作出一個系統(tǒng)的軟件流程圖,對后續(xù)程序代碼的編寫思路能提供有效的幫助,所以制作出流程圖是否合理是能夠決定代碼順序、作用的一個重要步驟??傮w流程圖見圖4-1,往后再根據(jù)總體的流程圖進(jìn)行細(xì)分。開始開始液晶顯示屏初始化液晶顯示屏初始化串口初始化串口初始化讀取甲醛濃度檢測結(jié)果讀取甲醛濃度檢測結(jié)果顯示測量結(jié)果顯示測量結(jié)果 是蜂鳴器報警,點亮紅燈蜂鳴器報警,點亮紅燈 否是調(diào)節(jié)報警閾值調(diào)節(jié)報警閾值否結(jié)束結(jié)束圖4-1總體程序流程圖1602液晶程序設(shè)計液晶顯示器通電,則開始流程,先對顯示坐標(biāo)進(jìn)行定位,規(guī)定好需要顯示的內(nèi)容要顯示在哪一個地方。下一步便是開始顯示內(nèi)容,每顯示一個字符,則對所需顯示的數(shù)據(jù)與已經(jīng)顯示的字符進(jìn)行比對,看是否已經(jīng)顯示完畢,如果沒有顯示完成,則返回上一步繼續(xù)顯示下一個字符;如果顯示完成,則結(jié)束本次循環(huán),等待下一次需要顯示的數(shù)據(jù)傳輸過來。液晶顯示流程圖4-2如下所示。開始開始定位行列坐標(biāo)定位行列坐標(biāo)顯示一個字符顯示一個字符數(shù)據(jù)顯示完?數(shù)據(jù)顯示完? 否是結(jié)束結(jié)束圖4-2液晶顯示流程圖按鍵程序設(shè)計當(dāng)單片機通電時,按鍵流程開始,進(jìn)入按鍵程序入口。首先判斷是否有按鍵按下,如果沒有按鍵按下,則表示不需要對數(shù)據(jù)進(jìn)行修改,重新對是否有按鍵按下進(jìn)行判斷,不斷對按鍵按下進(jìn)行判斷,直到有按鍵被按下。當(dāng)有按鍵被按下時調(diào)用延時程序先對按鍵進(jìn)行消抖處理,避免按鍵沖突。如果按鍵沒有被釋放,則保留原本狀態(tài)和數(shù)據(jù)不變;如果按鍵釋放,執(zhí)行按鍵被按下時所需要執(zhí)行的程序,對數(shù)據(jù)進(jìn)行修改。根據(jù)以上思路,制作出按鍵程序流程圖4-3。開始開始按鍵程序入口按鍵程序入口按鍵按下? 否按鍵按下?調(diào)用延時程序 是調(diào)用延時程序按鍵釋放? 否按鍵釋放?執(zhí)行該按鍵對應(yīng)的程序 是執(zhí)行該按鍵對應(yīng)的程序結(jié)束結(jié)束圖4-3按鍵程序流程圖硬件組裝與調(diào)試元器件的選擇與測量本次設(shè)計的元器件主要有:單片機、晶振、電阻、電容、按鍵、開關(guān)、電源座、三極管、蜂鳴器、甲醛傳感器、液晶顯示屏等。幾乎全部元器件直接根據(jù)型號在網(wǎng)上就很容易買到。焊接時需要仔細(xì)辨認(rèn)元件正負(fù)極性,主義觀察電阻電容的數(shù)值、芯片引腳順序等細(xì)節(jié)。電阻的數(shù)值判斷最直觀的就是觀察電阻上的色環(huán),然后按照色環(huán)上的顏色順序找到對應(yīng)的電阻值;晶體振蕩器和電容等部分元件上本身就已經(jīng)注明了其數(shù)值;像電解電容這種長短腳的元件,只需要根據(jù)長正短負(fù)的口訣,把長的一腳接到正極,短的一腳接到負(fù)極就可以了;單片機的小缺口需要對應(yīng)著插座的小缺口進(jìn)行安插;三極管注意區(qū)分E腳、B腳和C腳,E腳接系統(tǒng)VCC,C腳接蜂鳴器正極,B腳串聯(lián)一個電阻后接到單片機即可。原件的焊接與組裝組裝電路通常使用焊接的方法,或者在面包板上插接,但是無論使用哪一種方法都應(yīng)該注意以下幾點:(1)組裝元件時應(yīng)該先把所有元件測試檢查一遍,觀察是否有損壞的元器件,保證所用的元件沒有損壞等不良情況。(2)根據(jù)方案進(jìn)行組裝,確保組裝方向相同,確保組裝方式不會影響到后面的焊接和布線(3)焊接時注意各個器件的極性。(4)在焊接時,盡可能的做到排線簡潔方便。連線不在集成電路上橫跨,如有需要就從其周圍繞開。(5)如果焊接的線路較多,可以采用多顏色線路分模塊進(jìn)行區(qū)分焊接,這樣可以減少檢查時的漏查、難查。本設(shè)計因為需要的線路較少,故只使用紅色線這一種顏色線。(6)焊接各個部分的地線是可以先固定一頭,空出另一頭不進(jìn)行焊接,在所有線路焊接完成后,再把所有的地線集中焊接在一起。如果焊接時仔細(xì)認(rèn)真、有所注意的話,可以使電路既整齊又美觀,且可以是整個設(shè)計能夠可靠工作,利于檢查和進(jìn)行故障排查,也方便進(jìn)行調(diào)試。調(diào)試調(diào)試是對整個設(shè)計一次自我檢測。是在電路運行時對電路的運行情況進(jìn)行觀察,看是否有錯誤發(fā)生;調(diào)整是在原先的基礎(chǔ)上對電路的數(shù)據(jù)進(jìn)行修正,改正錯誤,使電路能夠正常運行;修改則是看能否在不影響原本功能的基礎(chǔ)上對整體線路進(jìn)行優(yōu)化。在調(diào)試前應(yīng)對需要測試的項目制定相對于的測試方法、步驟和測試內(nèi)容,可以使檢測更加便捷有效。方法調(diào)試方法分為兩種。第一種是一邊進(jìn)行器件安裝一邊對已經(jīng)安裝好的模塊進(jìn)行調(diào)試。簡單來說,就是整體的功能進(jìn)行拆分細(xì)化成各個小功能后進(jìn)行安裝和測試,這種方法在新設(shè)計的電路中會比較常用。第二種是先把整個設(shè)計焊接完畢后,再進(jìn)行調(diào)試,焊接過程中部分調(diào)試或直接不進(jìn)行調(diào)試。這種方法一般用于簡單的電路,適合系統(tǒng)不復(fù)雜的電路調(diào)試。由于本設(shè)計電路相對簡單,故采用第二種方法,先把所有電路焊接完成后再統(tǒng)一進(jìn)行調(diào)試。步驟(1)前序檢查在完成了部分的焊接之后,需要先認(rèn)真對照檢查電路的接線才能通電,檢查是否有連線一段正確但一段錯誤的現(xiàn)象;是否安裝時漏了那條線沒有焊接;是否有哪條線多接和是否有短路現(xiàn)象;觀察是否有接觸不良的現(xiàn)象這。(2)通電檢查在完成斷電的前序檢查的基礎(chǔ)上,保證有沒發(fā)現(xiàn)問題了,才可以接通電源進(jìn)行測試。接通電源后先觀察電路是否有異?,F(xiàn)象,比如發(fā)熱燒壞、漏電,電源模塊是否已經(jīng)接通電路等等。如果在接通電源進(jìn)行測試的過程中,發(fā)現(xiàn)有故障發(fā)生,應(yīng)該立即把電源關(guān)閉,清除錯誤重新檢查后保證沒問題后,再次通電進(jìn)行測試,不斷往復(fù)。還要對各部分電路的電壓進(jìn)行檢測,避免電壓過高導(dǎo)致燒壞以及后續(xù)設(shè)計的使用。(3)調(diào)試檢查按照電流方向?qū)φ麄€電路進(jìn)行逐級調(diào)試,可以使得電路的調(diào)試更加方便有效。除此以外,單元調(diào)試包括靜態(tài)和動態(tài)調(diào)試,這兩種調(diào)試區(qū)別在于是否有加外部信號,靜態(tài)調(diào)試是在沒有加外部信號的條件下進(jìn)行調(diào)試,動態(tài)調(diào)試是在有外部信號的條件下進(jìn)行調(diào)試,因為這兩種調(diào)試過程出現(xiàn)參數(shù)較多,所以在調(diào)試過程中需要對調(diào)試內(nèi)容進(jìn)行詳盡的記錄。(4)整機聯(lián)調(diào)個別不代表整體,單元電路調(diào)試沒問題,不代表由它們組成的整體部分不會出現(xiàn)問題,所以還需要對整體電路運行進(jìn)行調(diào)試。如果發(fā)現(xiàn)整體電路出現(xiàn)問題時,立即關(guān)閉電源開關(guān),檢查整體電路連接是否出錯,與原理圖相比對是否有不相同的地方??偨Y(jié)通過努力,我終于完成了基于單片機的空氣甲醛濃度檢測設(shè)計的畢業(yè)設(shè)計。雖然設(shè)計題目相對簡單,但我從中受益匪淺。從開始的猜想、設(shè)計、購買材料、制定原理圖、焊接,最后進(jìn)行代碼的編寫、測試。對于我來說,獨自一人完成一個設(shè)計作品的設(shè)計制作是一次非常寶貴的實踐機會。我們常說理論聯(lián)系實際,但能做到的太少了。本次畢業(yè)設(shè)計的制作,通過自己努力,從在學(xué)校的從老師那獲取知識變?yōu)樽约簩W(xué)習(xí)獲得知識,這是自我在學(xué)習(xí)上的巨大不同。以往的學(xué)習(xí)方式雖然能把理論知識刻在腦海里,但是卻是缺少實踐的機會把理論轉(zhuǎn)化成對自己有用的東西。通過畢業(yè)設(shè)計,我們把理論轉(zhuǎn)化為實踐,又在實踐中不斷完善理論。本次設(shè)計將以往學(xué)過的多門課程的內(nèi)容有結(jié)合在了一起,以實踐活動深化理論學(xué)習(xí)。單片機的功能逐漸增多,但是基本原理基本相

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論