版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、可燃?xì)怏w泄漏報警器 摘要隨著社會的進(jìn)步,現(xiàn)在大多數(shù)家庭都使用管道煤氣(天然氣),使我們的生活帶來了很多方便。但是,管道煤氣(天然氣)一旦泄漏是非常危險的,當(dāng)空氣中的天然氣到達(dá)了一定的濃度,只要遇到了明火,極易發(fā)生火災(zāi),甚至發(fā)生爆炸。由于天然氣的主要成分是甲烷,它是無色無味的氣體,不易被察覺。因此,從安全、環(huán)保及經(jīng)濟(jì)上考慮,研制一種檢測可燃性氣體自動報警和自動打開排器裝置的一種控制器是非常必要的。本設(shè)計利用GS系列傳感器,將置于測試環(huán)境中待測氣體的濃度轉(zhuǎn)換為模擬電壓,再通過ADC0809將模擬電壓轉(zhuǎn)換為數(shù)字信號,送入單片機(jī)AT89C51中進(jìn)行處理。為了用戶對氣體濃度進(jìn)行實(shí)時了解,將AT89C51
2、外接3片74LS164作為3位LED顯示器的靜態(tài)顯示接口,把單片機(jī)的RXD作為數(shù)據(jù)輸出線,TXD作為移位時鐘脈沖。74LS164為TTL單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出,通過8位移位寄存器74LS164可進(jìn)行靜態(tài)顯示。通過設(shè)置報警值,用單片機(jī)控制發(fā)光二極管和音樂IC同時報警。利用單片機(jī)控制技術(shù),制作了程控一氧化碳報警器。該儀器對一氧化碳(CO)進(jìn)行實(shí)時監(jiān)控,當(dāng)一氧化碳的濃度超過允許值時,控制電路進(jìn)行報警,并通過外接排風(fēng)扇與電磁閥對其進(jìn)行程控,以防事故的發(fā)生。另外為了防止程序陷入死循環(huán),還利用x25045芯片組成的看門狗電路在程序陷入死循環(huán)時讓單片機(jī)復(fù)位,而不用整個系統(tǒng)斷電,從而保護(hù)
3、了硬件電路。由于所設(shè)計的數(shù)字氣體報警器采用單片機(jī)AT89C51,其價格便宜,性能穩(wěn)定,易于產(chǎn)品化。以GS氣體傳感器和AT89C51 單片機(jī)為核心, 設(shè)計氣體泄漏報警器,該報警器設(shè)計方法簡單易行,使用效果良好,下面給出了氣體泄漏報警器的總體設(shè)計原理,關(guān)鍵的硬件電路和所有的軟件程序設(shè)計。關(guān)鍵詞:氣體泄漏報警器;可燃性氣體,AT89C51單片機(jī),GS氣體傳感器目 錄一、設(shè)計目的1二、設(shè)計任務(wù)與要求1 2.1設(shè)計任務(wù)1 2.1設(shè)計要求2三、設(shè)計步驟及原理分析2 3.1設(shè)計方法2 3.2設(shè)計原理及分析3 3.3設(shè)計步驟10四、課程設(shè)計小結(jié)與體會 18五、參考文獻(xiàn)19一、設(shè)計目的本文所設(shè)計的數(shù)字氣體報警器
4、采用單片機(jī)AT89C51,其價格便宜,易于產(chǎn)品化。本設(shè)計能將置于測試環(huán)境中的氣體傳感器輸出的模擬電壓通過A/D轉(zhuǎn)換器送入單片機(jī)AT89C51中進(jìn)行處理并通過數(shù)碼管顯示,通過設(shè)置報警值,當(dāng)檢測到的濃度達(dá)到或者超過設(shè)定值時,用單片機(jī)控制發(fā)光二極管發(fā)光報警,同時打開喇叭發(fā)出聲音報警,來達(dá)到報警的目的,并通過外接排風(fēng)扇與電磁閥對其進(jìn)行程控,以防事故的發(fā)生。而當(dāng)系統(tǒng)出現(xiàn)故障時,黃色LED亮啟,便于用戶及時對報警器進(jìn)行維修。系統(tǒng)以MQK氣體傳感器和AT89C51 單片機(jī)為核心, 設(shè)計氣體泄漏報警器。實(shí)現(xiàn):1準(zhǔn)確測量周圍環(huán)境中的可燃性氣體、有毒有害氣體的泄漏;2實(shí)現(xiàn)系統(tǒng)各個模塊的功能控制;3實(shí)現(xiàn)單片機(jī)編程語
5、言系統(tǒng)的控制及傳感器電路的控制。4研究單片機(jī)各接口的作用及功能;5了解MQK氣體傳感器的具體功能;6實(shí)現(xiàn)對基本報警電路的控制。二、設(shè)計任務(wù)與要求2.1設(shè)計任務(wù)設(shè)計是利用單片機(jī)控制技術(shù),制作了程控一氧化碳報警器。該儀器對一氧化碳進(jìn)行實(shí)時監(jiān)控,當(dāng)一氧化碳的濃度超過允許值時,單片機(jī)控制電路進(jìn)行報警,并通過外接排風(fēng)扇進(jìn)行程控,以防事故發(fā)生。基于AT89C51性價比高的優(yōu)勢,主要運(yùn)用了AT89C51單片機(jī)進(jìn)行控制。而對與報警器而言至關(guān)重要的部分是傳感器,由于GS系列氣敏元件采用半導(dǎo)體敏感材料,其靈敏度、選擇性、穩(wěn)定性、抗干擾性、響應(yīng)時間及壽命等主要性能,均達(dá)到國內(nèi)先進(jìn)水平。用該系列元件組裝成易燃易爆和有
6、毒氣體泄漏報警器及檢測裝置,可廣泛運(yùn)用于礦山、油田、化工、國防、醫(yī)藥及家庭,所以在設(shè)計中采用的是GS系列傳感器。在模數(shù)轉(zhuǎn)換這塊,利用ADC0809實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,ADC0809是8位逐次漸進(jìn)型的A/D轉(zhuǎn)換器,它采用COMS工藝20個引腳雙列直插式封裝,它有三態(tài)瑣存器,直接驅(qū)動數(shù)據(jù)總線,與微機(jī)相連時不需要附加接口電路。為了方便用戶了解濃度信息,好提前準(zhǔn)備,還采用了顯示環(huán)節(jié)。顯示器顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新
7、的字形碼,因此,使用這種方法單片機(jī)中CPU的開銷小。可以提供單獨(dú)鎖存的I/O接口電路很多,這里運(yùn)用了常用的74LS164 8位移位寄存器串并轉(zhuǎn)換電路??偟膩碚f,設(shè)計主要利用了以上的檢測模塊,A/D轉(zhuǎn)換模塊,顯示模塊,事故處理模塊,控制模塊五大模塊,組成了可燃?xì)怏w探測報警器。2.2設(shè)計要求(1)系統(tǒng)要求設(shè)置正常工作狀態(tài),除正常工作狀態(tài)外,電磁閥要求處于關(guān)閉狀態(tài),以切斷煤氣通道,防止煤氣外泄。(2)在非正常工作狀態(tài)下,當(dāng)室內(nèi)一氧化碳的濃度達(dá)到100ppm時系統(tǒng)應(yīng)啟動音樂報警,若2min報警無效,系統(tǒng)應(yīng)啟動排風(fēng)扇進(jìn)行通風(fēng)排氣。(3)系統(tǒng)進(jìn)入正常工作狀態(tài)后,先啟動排風(fēng)扇進(jìn)行通風(fēng),然后啟動電磁閥供給煤氣
8、。(4)系統(tǒng)進(jìn)入正常工作狀態(tài),自45min后,每隔10min音樂響起一次,用來提醒用戶在工作完畢后,停止供氣。(5)在正常工作狀態(tài)下,當(dāng)系統(tǒng)檢測到一氧化碳的濃度達(dá)到300ppm時,應(yīng)關(guān)閉電磁閥,切斷煤氣通道以防止意外事故的發(fā)生。三、設(shè)計步驟及原理分析3.1設(shè)計方法設(shè)計是利用單片機(jī)控制技術(shù),制作了程控一氧化碳報警器。該儀器對一氧化碳進(jìn)行實(shí)時監(jiān)控,當(dāng)一氧化碳的濃度超過允許值時,單片機(jī)控制電路進(jìn)行報警,并通過外接排風(fēng)扇進(jìn)行程控,以防事故發(fā)生?;贏T89C51性價比高的優(yōu)勢,主要運(yùn)用了AT89C51單片機(jī)進(jìn)行控制。而對與報警器而言至關(guān)重要的部分是傳感器,由于GS系列氣敏元件采用半導(dǎo)體敏感材料,其靈敏
9、度、選擇性、穩(wěn)定性、抗干擾性、響應(yīng)時間及壽命等主要性能,均達(dá)到國內(nèi)先進(jìn)水平.用該系列元件組裝成易燃易爆和有毒氣體泄漏報警器及檢測裝置,可廣泛運(yùn)用于礦山、油田、化工、國防、醫(yī)藥及家庭,所以在設(shè)計中采用的是GS系列傳感器。在模數(shù)轉(zhuǎn)換這塊,利用ADC0809實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,ADC0809是8位逐次漸進(jìn)型的A/D轉(zhuǎn)換器,它采用COMS工藝20個引腳雙列直插式封裝,它有三態(tài)瑣存器,直接驅(qū)動數(shù)據(jù)總線,與微機(jī)相連時不需要附加接口電路。為了方便用戶了解濃度信息,好提前準(zhǔn)備,還采用了顯示環(huán)節(jié)。顯示器顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆
10、劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開銷小??梢蕴峁﹩为?dú)鎖存的I/O接口電路很多,這里運(yùn)用了常用的74LS164 8位移位寄存器串并轉(zhuǎn)換電路??偟膩碚f,設(shè)計主要利用了以上的檢測模塊,A/D轉(zhuǎn)換模塊,顯示模塊,事故處理模塊,控制模塊五大模塊,組成了可燃?xì)怏w探測報警器。3.2設(shè)計原理及分析1. 系統(tǒng)的組成整個報警器由三個部分組成:濃度檢測及顯示模塊。主控模塊和報警及事故處理模塊。系統(tǒng)的組成框圖如圖3-4所示。故障處理報警控制濃度顯示AT89C51氣體濃度檢測工作狀態(tài)設(shè)置圖3-4 系統(tǒng)組
11、成框圖2. 系統(tǒng)各模塊的功能(1)氣體濃度檢測模塊系統(tǒng)采用三點(diǎn)單獨(dú)檢測的方法,可用來巡回檢測三個不同的房間;也可用來巡回檢測同一個房間的不同方位.檢測器件選用高溫一氧化碳?xì)怏w傳感器(GS-A1),該傳感器對一氧化碳具有很高的靈敏度,穩(wěn)定性和抗?jié)裥粤己?加活性碳罩后,可防止乙醇等有機(jī)氣體的干擾.檢測結(jié)果經(jīng)高精度運(yùn)放器OP07放大后,送入ADC0809模P數(shù)轉(zhuǎn)換芯片進(jìn)行模)數(shù)轉(zhuǎn)換,單個傳感器檢測電路圖如圖5。 (2)模數(shù)轉(zhuǎn)換模塊在本設(shè)計中,另一重要模塊就是A/D模數(shù)轉(zhuǎn)換模塊。因?yàn)槟M信號不能直接送往單片機(jī)進(jìn)行處理,必須進(jìn)行A/D轉(zhuǎn)換。模數(shù)轉(zhuǎn)換的過程有四個階段,即:采樣,保持,量化和編碼。本設(shè)計利用
12、ADC0809實(shí)現(xiàn)模數(shù)轉(zhuǎn)換。ADC0809是8位逐次漸進(jìn)型的A/D轉(zhuǎn)換器,它采用COMS工藝20個引腳雙列直插式封裝,它有三態(tài)瑣存器,直接驅(qū)動數(shù)據(jù)總線,與微機(jī)相連時不需要附加接口電路。ADC0809的主要性能如下:1分辨率為8位。2最大轉(zhuǎn)換誤差為1LSB。3轉(zhuǎn)換時間為100uS。4邏輯點(diǎn)平與COMS和TTL相兼容。5+5V單電源供電。6可對0到+5V的輸入模擬信號進(jìn)行轉(zhuǎn)換。圖3-5 A/D轉(zhuǎn)換模塊引腳圖程序中預(yù)采用模數(shù)轉(zhuǎn)換電路由ADC0809芯片組成,三路檢測結(jié)果從IN0、IN1、IN2輸入,轉(zhuǎn)換順序由ADDA、ADDB、ADDC控制,轉(zhuǎn)換結(jié)果送單片機(jī)P0口供單片機(jī)進(jìn)行數(shù)據(jù)處理。3.顯示電路由
13、P0口輸入的數(shù)據(jù),在單片機(jī)內(nèi)部進(jìn)行標(biāo)度變換后,從單片機(jī)的串行口輸出進(jìn)行顯示.系統(tǒng)的工作狀態(tài)和氣體濃度,采用LED數(shù)碼管顯示,每30秒刷新一次.為了不再擴(kuò)展IPO口,系統(tǒng)采用串行口的移位功能擴(kuò)展為4位靜態(tài)顯示電路.第一位為系統(tǒng)工作狀態(tài)顯示,后三位為一氧化碳?xì)怏w濃度顯示.當(dāng)?shù)谝晃粸椤?0”時,表示系統(tǒng)工作在三點(diǎn)巡回檢測同一個房間狀態(tài);為“8”時表示系統(tǒng)工作在三點(diǎn)巡回檢測同一個房間正常工作狀態(tài);為“1”、“2”、“3”時表示系統(tǒng)工作在單獨(dú)檢測狀態(tài),此時后三位顯示的數(shù)據(jù)分別為第1號、第2號、第3號傳感器所檢測到的一氧化碳?xì)怏w濃度。濃度顯示單位為5ppm.74LS164為串行輸入,并行輸出寄存器,當(dāng)P2
14、.0=1且AT89C51的TXD端有輸出時,74LS164接收串行數(shù)據(jù),更新顯示;當(dāng)P2.0=0時,顯示的內(nèi)容不變。4.主控模塊系統(tǒng)采用單片機(jī)進(jìn)行控制,選用AT89C51單片機(jī).該單片機(jī)為ATMEL公司的產(chǎn)品,其指令系統(tǒng)完全與8031/8051兼容,內(nèi)帶4K字節(jié)的內(nèi)存和程序保護(hù)系統(tǒng),便于程序的調(diào)試修改和保密,各管腳的功能如下:1)ALE端的功能:ALE端與ADC0809的CLOCK相連,為ADC0809輸入時鐘脈沖.2)P0口的功能:P0口與ADC0809的數(shù)據(jù)輸出口相連,接收APD轉(zhuǎn)換結(jié)果.3)P1口的功能:P1.0端接工作狀態(tài)控制開關(guān),開關(guān)閉合時,系統(tǒng)進(jìn)入正常工作狀態(tài);P1.1端外接的開關(guān)
15、為三點(diǎn)巡回測量同一個房間控制開關(guān),當(dāng)開關(guān)閉合時有效;P1.2P1.4端接ADC0809的ADDA、ADDB、ADDC三端,控制ADC0809的八路模擬輸入轉(zhuǎn)換.4)P2口的功能:P2.1端與WR端通過外接的與門求反后與ADC0809的START和ALE相連,用以啟動APD轉(zhuǎn)換,且將8路地址鎖存;P2.1端與RD端通過外接的與門求反后與ADC0809的OE端相連,用以允許將APD轉(zhuǎn)換結(jié)果輸出,讓單片機(jī)讀取轉(zhuǎn)換結(jié)果;P2.2端用作系統(tǒng)音樂報警信號控制端,高電平有效;P2.3端用作排風(fēng)扇啟動信號控制端,高電平有效;P2.4端用作電磁閥啟動信號控制端,高電平有效。5)P3口的功能:P3.0、P3.1端
16、和P2.0端用于控制系統(tǒng)的顯示輸出。5.報警與數(shù)據(jù)處理模塊當(dāng)氣體濃度超過允許值時,該模塊動作,發(fā)出警報信號并根據(jù)不同情況進(jìn)行事故處理.P2.2端為音樂控制端,P2.3端為電磁閥啟動控制端,P2.4為排風(fēng)扇控制端,均為高電平有效.為防止市電對系統(tǒng)的干擾,P2.3和P2.4端都經(jīng)過光電耦合管對電磁閥和排風(fēng)扇進(jìn)行控制.系統(tǒng)各模塊之間的接線圖如圖6所示.圖5 單個傳感器電路圖6系統(tǒng)主要器件的介紹(1)GS傳感器介紹設(shè)計中所用到的氣體傳感器是GS系列傳感器,下面具體介紹一下GS系列氣體傳感器:GS系列氣敏元件采用半導(dǎo)體敏感材料,工藝獨(dú)特為國內(nèi)首創(chuàng),其靈敏度、選擇性、穩(wěn)定性、抗干擾性、響應(yīng)時間及壽命等主要
17、性能,均達(dá)到國內(nèi)先進(jìn)水平.用該系列元件組裝成易燃易爆和有毒氣體泄漏報警器及檢測裝置,可廣泛運(yùn)用于礦山、油田、化工、國防、醫(yī)藥及家庭.GS系列傳感器主要有以下特點(diǎn):1)靈敏度高、功耗低,輸出信號強(qiáng).2)選擇性好、對被檢測的氣體非常敏感,而對干擾氣體則靈敏度很低3)穩(wěn)定性、可靠性強(qiáng)4)具有抗高溫、抗高濕性能5)元件不含任何貴金屬催化劑,具有抗中毒及抗飽和性能.但由于氣體傳感器是使用半導(dǎo)體材料來制作,不可避免的是有溫度漂移問題,如何處理好氣體傳感器溫度補(bǔ)償問題是報警器設(shè)計的關(guān)鍵(圖3-1、圖 3-2).以前的一般做法是把報警器的報警閥值電壓作補(bǔ)償,這樣的電路會簡單一些,但溫度補(bǔ)償?shù)男Ч惶硐?,主?/p>
18、是在低溫環(huán)境里,氣體傳感器的表面溫度降低導(dǎo)致氣體傳感器的性能變差,解決的方法是在低溫環(huán)境里提高氣體傳感器的加熱功率,使氣體傳感器的表面溫度維持相對恒定,達(dá)到使氣體傳感器穩(wěn)定工作的目的。圖3-1 傳感器輸出特性曲線圖圖3-2 傳感器加溫度補(bǔ)償所需的加熱電壓曲線氣體傳感器加熱電源的原理見圖 3-3,利用 PIC 單片機(jī)的脈沖寬度調(diào)制輸出功能(簡稱 PWM), 及 A/D 轉(zhuǎn)換輸入功能實(shí)現(xiàn)電源電壓的穩(wěn)定和自我調(diào)整。如圖所示,是降壓式開關(guān)電源(Buck 式)的基本電路。其中,Vin 為輸入電壓,Vout 為輸出電壓,Q1、Q2 為開關(guān)三極管,R1、R2、R3 為電阻,L 為電感,D 為肖特基二極管;C
19、 為電容,MQK 為氣體傳感器,通常有:,;。其中,N 為脈寬占空比,Ton 為開關(guān)三極管導(dǎo)通時間,Toff 為開關(guān)三極管關(guān)閉時間,Rx 為開關(guān)電源的負(fù)載電阻,Vp 為輸出紋波電壓.實(shí)際使用開關(guān)速度為 20KHz,輸出的電壓為 2.25±0.01V,輸出電流為 120mA,Vp0.1V.該電路的工作原理是:預(yù)先設(shè)定目標(biāo)工作電壓值,輸出 AT89C51 單片機(jī)的 PWM,啟動開關(guān)電源工作,通過A/D 轉(zhuǎn)換電路將電源電壓值讀入單片機(jī),如果電壓值偏離給定值,則調(diào)整 PWM 輸出,這樣形成一個電壓調(diào)整的閉合環(huán)路,直到電壓值維持恒定,而環(huán)境溫度將決定電壓給定值的大小,達(dá)到隨外界溫度的改變而改變
20、加熱功率的目的,以補(bǔ)償氣體傳感器的溫度變化,同時使用開關(guān)電源減少了線性穩(wěn)壓電源的壓降損耗.該開關(guān)電源電路的電壓穩(wěn)定精度取決于單片機(jī) A/D 和 PWM 的精度,該 AT89C51 單片機(jī)基本能夠滿足氣體泄漏報警器的性能需求。圖3-3 傳感器加熱電源原理圖 (2)7LS164移位寄存器介紹74LS164 8 位移位寄存器(串行輸入,并行輸出) 簡要說明 164 為 8 位移位寄存器,其主要電特性的典型值如下:當(dāng)清除端(CLEAR)為低電平時,輸出端(QAQH)均為低電平。 串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng) A、B 任意一個為低電平,則禁 止新數(shù)據(jù)輸入,在時鐘端(CLOCK)脈沖上升沿作用下
21、 Q0 為低電平。當(dāng) A、B 有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài)。 引出端符號 CLOCK 時鐘輸入端 CLEAR 同步清除輸入端(低電平有效) A,B 串行數(shù)據(jù)輸入端 QAQH 輸出端邏輯及封裝圖雙列直插封裝極限值 電源電壓7V 輸入電壓 5.5V 工作環(huán)境溫度 54164 -070 儲存溫度 -65150真值表H高電平 L低電平 X任意電平 低到高電平跳變 QA0,QB0,QH0 規(guī)定的穩(wěn)態(tài)條件建立前的電平 QAn,QGn 時鐘最近的前的電平時序圖下面再介紹一下74LS164驅(qū)動數(shù)碼管:在單片機(jī)應(yīng)用系統(tǒng)中,顯示器顯示常用兩種方法:靜態(tài)顯
22、示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開銷小??梢蕴峁﹩为?dú)鎖存的I/O接口電路很多,這里以常用的串并轉(zhuǎn)換電路74LS164為例,介紹一種常用靜態(tài)顯示電路,以使大家對靜態(tài)顯示有一定的了解。 MCS-51單片機(jī)串行口方式0為移位寄存器方式,外接6片74LS164作為6位LED顯示器的靜態(tài)顯示接口,把8031的RXD作為數(shù)據(jù)輸出線,TXD作為移位時鐘脈沖。74LS164為T
23、TL單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數(shù)據(jù)輸入端,2個引腳按邏輯與運(yùn)算規(guī)律輸入信號,共一個輸入信號時可并接。T(第8腳)為時鐘輸入端,可連接到串行口的TXD端。每一個時鐘信號的上升沿加到T端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進(jìn)制數(shù)全部移入74LS164中。R(第9腳)為復(fù)位端,當(dāng)R=0時,移位寄存器各位復(fù)0,只有當(dāng)R=1時,時鐘脈沖才起作用。Q1Q8(第3-6和10-13引腳)并行輸出端分別接LED顯示器的hg···a各段對應(yīng)的引腳上。在給出了8個脈沖后,最先進(jìn)入74LS164的第一個數(shù)據(jù)到達(dá)了最高位,然后再來
24、一個脈沖會有什么發(fā)生呢?再來一個脈沖,第一個脈沖就會從最高位移出,搞清了這一點(diǎn),下面讓我們來看電路,6片7LS164首尾相串,而時鐘端則接在一起,這樣,當(dāng)輸入8個脈沖時,從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到了第一片74LS164中了,而當(dāng)?shù)诙€8個脈沖到來后,這個數(shù)據(jù)就進(jìn)入了第二片74LS164,而新的數(shù)據(jù)則進(jìn)入了第一片74LS164,這樣,當(dāng)?shù)诹鶄€8個脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的164中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三、四、五片74LS164中。3.3設(shè)計步驟本設(shè)計的主要功能實(shí)現(xiàn)在于程序的編寫,流程圖如圖4-1: 圖4-1 軟件流程圖如圖所示,整個報警器程序上分成中斷取值轉(zhuǎn)換、調(diào)
25、零、報警、顯示四大模塊。1.主程序整個程序一共使用了兩個中斷,一個外部中斷即INT0中斷,一個定時/計數(shù)器中斷即IT0中斷.這兩個中斷各有其作用,INT0中斷是用來判斷A/D轉(zhuǎn)換器ADC0809對模擬信號的轉(zhuǎn)換是否完成,當(dāng)A/D轉(zhuǎn)換結(jié)束后,ADC0809發(fā)出結(jié)束EOC(高電平)信號,該信號可供單片機(jī)查詢,也可反相后作為向單片機(jī)發(fā)出中斷信號,而本設(shè)計正是用的這個方法,使得程序進(jìn)入中斷取值程序.而程序中所用到的IT0中斷,是為產(chǎn)生一個周期為2S的方波而設(shè)計的,其作用是為看門狗產(chǎn)生喂狗子信號.具體程序如下: ORG 00H JMP START ;主程序入口地址 ORG 03H JMP INTO ;外
26、中斷INTO入口 ORG 0BH JMP ITOP ; 定時器0中斷入口 ORG 0100HSTART: MOV IE,#10000001B ;INT0中斷使能 MOV IP,#00000001B ;INT0中斷優(yōu)先 MOV TCON,#00000000B ;設(shè)置INT0為電平觸發(fā) MOV SCON,#00000000B ;串行口發(fā)送,接收標(biāo)志位請0 MOV SP,#60H ;設(shè)堆棧指針 MOV TMOD,#01H ;設(shè)置T0為方式1 CALL PT0M0HERE: AJMP HERE ;自身跳轉(zhuǎn)PT0M0: MOV TL0,#0CH ;T0中斷服務(wù)程序,T0重新置初值 MOV TH0,#0F
27、EH SETB TR0 ;啟動T0 SETB ET0 ;允許T0中斷 SETB EA ;CPU開中斷 RETITOP: MOV TL0,#0CH ;T0中斷服務(wù)程序,T0置初值 MOV TH0,0FEH CPL P1.0 ;P1.0狀態(tài)取反 RETI ACALL LED ;調(diào)用LED自檢子程序 MOV 33H,#00H ;設(shè)置中斷完成標(biāo)志為0 MOV DPTR,#0FEFFH ;ADC0809的端口地址 MOVX DPTR,A ;使BUS為高阻抗,令A(yù)DC0809開始轉(zhuǎn)化WAIT:MOV A,33H ;等待A/D轉(zhuǎn)換完成信號 JNZ INTOK JMP WAIT ;未完成則跳回等待INTOK:
28、 MOV A,32H ;將最新的濃度值存入累加器中,(若A/D未工作,則A=0) JNZ L1 MOV A,30H JMP L2L1: MOV 30H,31H MOV A,31H ;將新濃度載入累加器L2: CALL BCD ;調(diào)用BCD碼調(diào)整程序 CALL DISP ;顯示當(dāng)前濃度 CALL ADZERO ;調(diào)用零點(diǎn)調(diào)整子程序 CALL ALARM ;調(diào)用判斷報警程序 CALL BCD CALL DISP ;調(diào)用顯示子程序 CLR A ;清除累加器值 JMP START ;返回在主程序通過對33H中數(shù)值的判斷斷定A/D是否轉(zhuǎn)換完成,當(dāng)33H中為1時,轉(zhuǎn)換完成,程序調(diào)用調(diào)零、報警、顯示模塊對輸
29、入數(shù)據(jù)進(jìn)行處理。2.調(diào)零子程序由于未知問題,可能造成送入單片機(jī)中顯示的模擬電壓量與真實(shí)電壓存在區(qū)別,這種誤差可以通過在中斷處理中對A/D轉(zhuǎn)換的數(shù)值加上一個調(diào)整值來解決。這樣,我們就能根據(jù)實(shí)際情況來對報警器輸出的數(shù)值進(jìn)行控制,使其記數(shù)更加精確,使用更方便。我們可以利用對端口的電平高低來判斷是否需要進(jìn)行調(diào)零處理,故可將按鍵開關(guān)接于端口P2.2.若開關(guān)按下,則說明有調(diào)零需要,于是進(jìn)入調(diào)零處理程序;若開關(guān)沒有按下,則說明沒有調(diào)零需要,系統(tǒng)進(jìn)入下一步.通過設(shè)置一個按鍵,既可保證程序順利進(jìn)行,又方便用戶使用.具體程序如下:ADZERO:CALL DELAYJB P2.2,JMP1 ;判斷調(diào)零按鈕是否按下,
30、沒按則跳JMP1.JMP1:RET通過對P2.2位的判斷來分辨是否有調(diào)零請求,若有則跳入調(diào)零模式,調(diào)零模式中程序如下:LOOP1:CALL DELAY JNB P2.2,$ ;消除抖動延時 MOV A,40H ;將調(diào)零預(yù)設(shè)值40H送入 CLR C ;清除進(jìn)位標(biāo)志 SUBB A,#01H ;調(diào)零值減1 JNC LOOP2 ;未借位則跳LOOP2 MOV A,#05H ;有借位則重設(shè)調(diào)零值為5LOOP2:MOV 40H,A ;將調(diào)零值送回40H保存 MOV A,R3 ;將當(dāng)前濃度值送入A JZ XEND DEC A ;當(dāng)前濃度值減1(響應(yīng)調(diào)整變化)XEND1 :MOV 30H,A ;送回30H保存
31、 MOV 31H,A ;送回31H保存 CALL BCD ;調(diào)用BCD碼調(diào)整 CALL DISP ;調(diào)用顯示子程序JMP LOOPXEND: MOV A,#63H JMP XEND1進(jìn)入調(diào)零模式后,若有按鍵則,LED數(shù)碼管示數(shù)響應(yīng)按鍵變化。若3秒無任何按鍵,則退出調(diào)零模式返回主程序。3.顯示子程序因?yàn)橥ㄟ^A/D轉(zhuǎn)換進(jìn)入單片機(jī)8051的濃度值以十六進(jìn)制存在,為了讓LED顯示需要轉(zhuǎn)換為BCD碼,其BCD碼轉(zhuǎn)換程序如下:BCD:MOV 55H,#00H ;存放BCD轉(zhuǎn)換中的百位數(shù)MOV 56H,#00H ;存放BCD轉(zhuǎn)換中的十位數(shù)CLR C ;清除進(jìn)位標(biāo)志為下面的SUBB準(zhǔn)備 MOV R2,#00H
32、 ;清除R2CHAN:SUBB A,#64H ;減100JC CHAN1 ;不能減,轉(zhuǎn)INC R1 ;百位值JMP CHAN ;循環(huán)判斷百位CHAN1: ADD A,#64H ;還原百位數(shù) CLR C ;清除進(jìn)位標(biāo)志為下面的SUBB準(zhǔn)備CHAN2: SUBB A,#0AH ;減10JC CHAN3 ;不夠減,跳INC R2 ;夠減十位加1JMP CHAN2 ;重復(fù)減10CHAN3: ADD A,#0AH ;還原十位數(shù)MOV 60H,R2 ;把十位數(shù)放60H中MOV 61H,A ;把個位數(shù)放61H中RET這樣把轉(zhuǎn)換成的BCD碼,個位存于61H中,十位存入60H中,再編寫顯示模塊如下:DISP:
33、MOV R7,#03H MOV R0,#60HLED1: MOV A,R0 MOV DPTR,#TABLELED2: MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R0 DJNZ R7,LED1 RET將數(shù)值送入到LED顯示74LS164驅(qū)動數(shù)碼管的過程:在單片機(jī)應(yīng)用系統(tǒng)中,顯示器顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開銷小。
34、可以提供單獨(dú)鎖存的I/O接口電路很多,這里以常用的串并轉(zhuǎn)換電路74LS164為例,介紹一種常用靜態(tài)顯示電路,以使大家對靜態(tài)顯示有一定的了解。 MCS-51單片機(jī)串行口方式0為移位寄存器方式,外接3片74LS164作為3位LED顯示器的靜態(tài)顯示接口,把8031的RXD作為數(shù)據(jù)輸出線,TXD作為移位時鐘脈沖。74LS164為TTL單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數(shù)據(jù)輸入端,2個引腳按邏輯與運(yùn)算規(guī)律輸入信號,共一個輸入信號時可并接。T(第8腳)為時鐘輸入端,可連接到串行口的TXD端。每一個時鐘信號的上升沿加到T端時,移位寄存器移一
35、位,8個時鐘脈沖過后,8位二進(jìn)制數(shù)全部移入74LS164中。R(第9腳)為復(fù)位端,當(dāng)R=0時,移位寄存器各位復(fù)0,只有當(dāng)R=1時,時鐘脈沖才起作用。Q1Q8(第3-6和10-13引腳)并行輸出端分別接LED顯示器的hg···a各段對應(yīng)的引腳上。在給出了8個脈沖后,最先進(jìn)入74LS164的第一個數(shù)據(jù)到達(dá)了最高位,然后再來一個脈沖會有什么發(fā)生呢?再來一個脈沖,第一個脈沖就會從最高位移出,搞清了這一點(diǎn),下面讓我們來看電路,3片7LS164首尾相串,而時鐘端則接在一起,這樣,當(dāng)輸入8個脈沖時,從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到了第一片74LS164中了,而當(dāng)?shù)诙€8個脈沖
36、到來后,這個數(shù)據(jù)就進(jìn)入了第二片74LS164,而新的數(shù)據(jù)則進(jìn)入了第一片74LS164,這樣,當(dāng)?shù)诹鶄€8個脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的164中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三片74LS164中。由于本設(shè)計采用的是機(jī)械按鍵,與地線想連,按鍵按下,輸入為低電平,釋放按鍵則輸入為高電平。實(shí)際上,機(jī)械式按鍵的落片存在著輕微的彈跳現(xiàn)象其時間由操作員按鍵的動作所確定,為了確保CPU對按鍵的一次閉合僅做一次處理,必須去除抖動,一般通過調(diào)用子程序延時來解決,在鍵的穩(wěn)定閉合或釋放時才讀出鍵的狀態(tài),具體程序如下:DELAY: MOVR 5,#60 設(shè)定30毫秒D1: MOV R6,#248 ;設(shè)定0.
37、5毫秒DJNZ R6,$ DJNZ R5,D1 RET因?yàn)槭⒕w為12MHZ,一個機(jī)器周期為1微秒,這樣如上程序可達(dá)到延時30毫秒的目的。4.報警子程序本設(shè)計采用了聲光報警,當(dāng)探測器探測的濃度超過報警設(shè)定值時就會同時產(chǎn)生音樂報警和燈光報警,此時紅燈亮啟,喇叭發(fā)出音樂,而正常時,喇叭關(guān)閉,紅燈關(guān)閉,而顯示正常的綠色LED亮啟,本設(shè)計為了安全起見,還設(shè)置了事故處理裝置,即出現(xiàn)危險使,探測器除了報警外,還會使排氣扇的閥門打開,對室內(nèi)進(jìn)行排氣,以免產(chǎn)生氣體爆炸或是中毒.具體程序如下ALARM: MOV A,30H ;將當(dāng)前濃度值送如累加器 CLR C ;清除進(jìn)位標(biāo)志 SUBB A,50H ;與預(yù)警值
38、進(jìn)行判斷 JNC GOOD1 ;若無借位,則當(dāng)前濃度值高于或者等于預(yù)警值,跳GOOD1報警 SETB P1.6 ;關(guān)閉聲光報警 SETB P1.7 CLR P2.3 ;關(guān)閉排氣閥門 SETB P1.5 ;關(guān)閉黃色LED CLR P1.4 ;打開綠色LED(顯示正常) RET GOOD1: CLR P1.6 ;打開聲光報警(危險報警) CLR P1.7 CLR P2.3 ;打開排氣閥門 SETB P1.5 ;關(guān)閉黃色LED SETB P1.4 ;關(guān)閉綠色LED(顯示不正常? RET5.中斷取值子程序從硬件電路圖可以看出,A/D0809的INTR端通過反相器與單片機(jī)的外部中斷INT0相連,由A/D
39、0809的管腳功能可知,當(dāng)A/D開始轉(zhuǎn)換送入的模擬電壓時,INTR端為低電平,轉(zhuǎn)換完成后,INTR端變成高電平,通過反相器變成低電平使單片機(jī)89C51產(chǎn)生外部中斷,進(jìn)入中斷處理程序:;* * * * * * * * * * * * * * * * *INTO: PUSH ACC ;將累加器值壓入堆棧保存 PUSH PSW ;將PSW值壓入堆棧保存 MOVX A,DPTR ;將A/D轉(zhuǎn)換好的值送入累加器 MOV 32H,A ;將A/D讀得的值存入32H保存 CLR C SUBB A,51H ;判斷獲得的電壓是否小于1V(50) JNC OK1 MOV 32H,#00H ;當(dāng)前A/D轉(zhuǎn)換的電壓小于1V,則A/D轉(zhuǎn)換得的示數(shù)為00 JMP EMP1 OK1: MOV A,32H CALL ADJUST ;調(diào)用ADJUST將其調(diào)整為濃度對應(yīng)的16進(jìn)制 CALL ADDD ;調(diào)用ADDD將其與調(diào)零預(yù)設(shè)值相加,得到調(diào)整后的16進(jìn)制 MOV 31H,A ;將調(diào)整后的值送入31H保存 EMP1: MOV IE,#10000000B ;關(guān)閉INT0中斷使能,關(guān)閉中斷 POP PSW ;至堆棧取回PSW值 POP ACC ;至堆棧取回ACC值 MOV 33H,#01H ;中斷完成,設(shè)置完成標(biāo)記33H為1 RETI;* * * * * * *
溫馨提示
- 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湖南省建筑安全員-C證考試(專職安全員)題庫及答案
- 貴陽學(xué)院《市場營銷調(diào)研》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽康養(yǎng)職業(yè)大學(xué)《電力系統(tǒng)自動化裝置》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州幼兒師范高等專科學(xué)?!队⒄Z國家社會與文化(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年河北建筑安全員B證考試題庫附答案
- 2025青海省建筑安全員-A證考試題庫及答案
- 廣州醫(yī)科大學(xué)《傳統(tǒng)建筑保護(hù)與更新》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州現(xiàn)代信息工程職業(yè)技術(shù)學(xué)院《公共安全與應(yīng)急管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年上海建筑安全員-B證考試題庫及答案
- 2025湖北建筑安全員知識題庫
- 滬科版九年級物理下冊教案全冊
- PAS 2050:2011-商品和服務(wù)在生命周期內(nèi)的溫室氣體排放評價規(guī)范(英文)
- 歷史期中復(fù)習(xí)課件八年級上冊復(fù)習(xí)課件(統(tǒng)編版)
- 空調(diào)供貨方案
- 2024年初一英語閱讀理解專項(xiàng)練習(xí)及答案
- 幕墻作業(yè)安全技術(shù)交底
- 保護(hù)性約束完整版本
- 埃森哲流程制造-智能工廠規(guī)劃設(shè)計相關(guān)兩份資料
- 國家開放大學(xué)電大《供應(yīng)鏈管理》期末題庫及答案
- 10萬噸綠色航空煤油項(xiàng)目可行性研究報告寫作模板-備案審批
- 物業(yè)服務(wù)水電維修方案
評論
0/150
提交評論