家用可燃?xì)怏w報(bào)警器的設(shè)計(jì)-畢業(yè)設(shè)計(jì)_第1頁
家用可燃?xì)怏w報(bào)警器的設(shè)計(jì)-畢業(yè)設(shè)計(jì)_第2頁
家用可燃?xì)怏w報(bào)警器的設(shè)計(jì)-畢業(yè)設(shè)計(jì)_第3頁
家用可燃?xì)怏w報(bào)警器的設(shè)計(jì)-畢業(yè)設(shè)計(jì)_第4頁
家用可燃?xì)怏w報(bào)警器的設(shè)計(jì)-畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.實(shí)用文檔..家用可燃?xì)怏w報(bào)警器的設(shè)計(jì)學(xué)生:指導(dǎo)教師內(nèi)容摘要:本設(shè)計(jì)采用了GS系列的傳感器,將一定濃度的氣體轉(zhuǎn)換為電壓顯示,并通過ADC0809將電壓信號(hào)轉(zhuǎn)換為模擬信號(hào),再交由AT89C51中進(jìn)行分析和處理。為了方便用戶能進(jìn)行直觀的了解,3位LED顯示器的靜態(tài)顯示接口是AT89C51外接3片74LS164,數(shù)據(jù)輸出線是該器件的RXD,移位時(shí)鐘脈沖為TXD。TTL單向8位移位寄存器是74LS164,最終可達(dá)到并行輸出,串行輸入,8位移位寄存器74LS164會(huì)將靜態(tài)顯示出來。在擬定警報(bào)預(yù)設(shè)值后,單片機(jī)控制音樂和閃光效果會(huì)體現(xiàn)出警報(bào)。單片機(jī)的操作了程控一氧化碳報(bào)警器的全部設(shè)置。著以程序?qū)σ谎趸嫉臐舛冗M(jìn)行24小時(shí)不間斷監(jiān)控,當(dāng)有毒有害危險(xiǎn)氣體超出了我們預(yù)定的危險(xiǎn)值后,我們?cè)O(shè)計(jì)的電路便會(huì)自動(dòng)進(jìn)行報(bào)警處理,電路此功能的實(shí)現(xiàn)是外接排風(fēng)扇與電磁閥相合作完成進(jìn)行的,為防不測。在程序正常運(yùn)行的時(shí)候難免會(huì)出現(xiàn)程序系統(tǒng)陷入了死循環(huán),面對(duì)這種情況的時(shí)候我們需要在程序陷入了死循環(huán)的時(shí)候利用X25045芯片組成的電路進(jìn)行復(fù)位,從而避免了斷開整個(gè)系統(tǒng)的連電,由此引薦電路得到了保護(hù)。 單片機(jī)AT89C51是數(shù)字氣體報(bào)警器的主要應(yīng)用器件,性價(jià)比十分高。以此為設(shè)計(jì)核心展開對(duì)可燃?xì)怏w的泄漏的報(bào)警裝置的設(shè)計(jì),接下來給出所有的設(shè)計(jì)原理與硬件電路和程序的設(shè)計(jì)。關(guān)鍵詞:氣體泄露報(bào)警器一氧化碳AT89C51單片機(jī)

DesignforhouseholdcombustiblegasalarmAbstract:The

design

of

the

GS

series

of

sensors,

will

be

placedon

the

test

environment

measured

the

concentration

of

gas

converted

to

analog

voltage,

and

then

through

the

ADC0809

will

be

converted

to

analog

voltage

digital

signal,

into

the

SCM

AT89C51

in

the

process.

To

users

of

gas

concentrations

in

real-time

understanding,

AT89C51

will

be

linked

three

74

LS164

externally

as

the

three

LED

display

static

display

interface,

and

the

MCU

RXD

as

the

output

data

line,

TXD

as

a

shift

clock

pulse.

74LS164

TTL

is

a

one-way

8-bit

register

displacement

which

can

be

realized

enter

serial,

parallel

output,

through

the

8-bit

shift

register

74

LS164

can

be

static

display.

By

setting

the

alarm

level,

the

MCU

control

LED

and

music

IC

alarm

at

the

same

time.SCM

control

use

of

technology,

produced

a

program-controlled

carbon

monoxide

alarm.The

instrument

of

carbon

monoxide

(CO)

for

real-time

monitoring,

when

the

concentration

of

carbon

monoxide

is

more

than

allowed

value,

the

control

circuit

for

alarm,

and

through

an

external

electromagnetic

valve

row

fans

and

their

program-controlled,

to

preventaccidents.

In

addition

procedures

to

prevent

a

cycle

of

death,

also

used

x25045

watchdog

circuit

chip

composed

of

a

death

in

theprocess

so

that

when

the

MCU

reset

cycle,

instead

of

the

whole

system

off,

thereby

protecting

the

hardware

circuit. As

designed

by

the

number

of

gas

alarm

using

SCM

AT89C51,

it

is

cheap,

stable

performance,

easy-production.

GS

to

gas

sensors

and

AT89C51

microcontroller

as

the

core

design

of

gas

leakage

alarm,

the

alarm

system

design

method

is

simple,

use

good

effect,the

following

is

a

gas

leakage

alarm

the

general

design

principles,

the

key

hardware

and

all

The

software

program

design.

Keywords:CoLeaking

gases

alarmAT89C51microcomtuperGS

Gases

Sensors

家用可燃?xì)怏w報(bào)警器的設(shè)計(jì)1緒論

1.1

研究背景及意義隨著煤氣或天然氣被多數(shù)家庭使用,每年因煤氣泄漏造成的各類事故中,一氧化碳中毒占多數(shù),氣體泄漏爆炸引起的致死致傷事故更是高發(fā)。防止煤氣泄漏導(dǎo)致中毒或者明火引燃導(dǎo)致爆炸已經(jīng)迫在眉睫。

家用可燃?xì)怏w的報(bào)警器的設(shè)計(jì)是現(xiàn)今所必須,而在全國各大礦區(qū)天然氣引發(fā)的災(zāi)難性事故也被個(gè)媒體頻繁報(bào)道,綜上所述可燃有害氣體的報(bào)警器的設(shè)計(jì)是時(shí)下所需。單片機(jī)設(shè)計(jì)可以滿足數(shù)字氣體報(bào)警器監(jiān)控精度高,體積小巧,能長期工作且穩(wěn)定的特點(diǎn)。在工業(yè)控制和儀器儀表智能化的應(yīng)用中單片機(jī)是必不可少的。成品具有體積小、低成本、靈活運(yùn)用、抗干擾性強(qiáng)、適應(yīng)能力強(qiáng)、在任何艱苦的情景下都可以進(jìn)行正常的運(yùn)行工作。1.2

實(shí)現(xiàn)功能及研究目標(biāo)單片機(jī)AT89C51是我在本次課程設(shè)計(jì)中的數(shù)字氣體報(bào)警器的主要硬件設(shè)備。通過A/D轉(zhuǎn)換器可以把需要測試的環(huán)境中的氣體傳感器所輸出的模擬電壓輸送到單片機(jī)。.我們?cè)趩纹瑱C(jī)AT89C51中所進(jìn)行的處理功能和顯示功能都是通過預(yù)置警報(bào)值實(shí)現(xiàn)運(yùn)行的,一旦需要被檢測出的氣體濃度超出我們?cè)O(shè)定的值后,發(fā)光二極管會(huì)表現(xiàn)出閃爍目的是達(dá)到報(bào)警的作用,同時(shí)擴(kuò)音器也會(huì)不停的發(fā)出聲響產(chǎn)生警報(bào),兩者的相作用可以在當(dāng)下的環(huán)境下及時(shí)報(bào)警,而不至于產(chǎn)生任何事故,但是我們考慮到如果發(fā)生了事故的情況,所以在這種考慮下,我們?cè)诒敬握n程設(shè)計(jì)中選擇了外接排風(fēng)扇與電磁閥相作用的結(jié)果來進(jìn)行程控。當(dāng)系統(tǒng)出現(xiàn)運(yùn)行不正常的問題時(shí),黃色燈閃爍,提醒主人對(duì)警報(bào)器及時(shí)維修。AT89C51單片機(jī)和MQK氣體傳感器是系統(tǒng)的核心,主要實(shí)現(xiàn):▲精確測量周遭空氣中的有毒害氣體的發(fā)散;▲對(duì)設(shè)計(jì)內(nèi)的各個(gè)系統(tǒng)模塊功能的控制;▲單片機(jī)語言及單片機(jī)系統(tǒng)的控制;▲單片機(jī)內(nèi)所有接口的功能描述及作用描述;▲對(duì)操控電路的最基本的實(shí)現(xiàn)運(yùn)行方法。1.3

研究的方案本次課程設(shè)計(jì)是利用了單片機(jī)的原理來實(shí)現(xiàn)一氧化碳報(bào)警器的運(yùn)行。設(shè)計(jì)的目的是對(duì)一氧化碳有害氣體進(jìn)行24小時(shí)不間斷的監(jiān)控,當(dāng)有毒有害氣體濃度超過我們?cè)O(shè)定的預(yù)置值后,因?yàn)閱纹瑱C(jī)的作用我們?cè)O(shè)計(jì)得電路會(huì)自動(dòng)發(fā)出警報(bào)信號(hào),連接到外接風(fēng)扇,避免發(fā)生事故。充分利用AT89C51的最大優(yōu)勢—性價(jià)比高,系統(tǒng)內(nèi)的各種控制均由其完成。報(bào)警器最為重要的即為傳感器所以采用GS傳感器。實(shí)現(xiàn)模數(shù)轉(zhuǎn)換是利用ADC0809,為了更直觀方便的顯示濃度信息,我們采用動(dòng)態(tài)掃描顯示裝置以及幾臺(tái)掃描顯示裝置。綜上所述,可燃?xì)怏w報(bào)警器的設(shè)計(jì)均由以上5種模塊組成。2有關(guān)于一些單片機(jī)的知識(shí)介紹

2.1

單片機(jī)的中斷和復(fù)位

2.1.1單片機(jī)的中斷系統(tǒng)

●中斷的意義

通過把CPU的運(yùn)行改變,調(diào)整方向即為中斷。除CPU的原因外,電腦在執(zhí)行程序指令的時(shí)候必須要終止當(dāng)前程序的進(jìn)行,在終止結(jié)束完成后再繼續(xù)進(jìn)行前一程序,所執(zhí)行的一系列步驟就統(tǒng)稱為中斷。●單片機(jī)89C51的中斷的系統(tǒng)

89C51的中斷系統(tǒng)是由一個(gè)特殊功能的寄存器中的幾個(gè)相關(guān)的中斷入口、順序查詢邏輯電路等組成。特殊功能寄存器被定義為以下幾類,分成了中斷優(yōu)先級(jí)寄存器,中斷允許寄存器中斷源寄存器。89C51單片機(jī)中的五個(gè)中斷源分別在本次課程設(shè)計(jì)中給我們提供了可實(shí)現(xiàn)二級(jí)中斷嵌套的兩個(gè)中斷優(yōu)先級(jí)。★外部中斷請(qǐng)求源:

外部中斷的1電平和0電平分別是由外部中斷的引腳帶入的,所以稱之為外部中斷請(qǐng)求源。

★內(nèi)部中斷請(qǐng)求源:

TF0和TF1是關(guān)于定時(shí)器T0溢出的中斷標(biāo)志。

★中斷允許寄存器IE

IE主宰中斷的允許或禁止。見表2-1

。EAXXESET1EX1ET0EX0表2-18位中斷允許寄存器

EA其中的EA為總開關(guān),如果它等于0,則上述所有中斷都不被允許。2.1.2單片機(jī)復(fù)位電路

復(fù)位是所有要進(jìn)行的操作的第一步,所有的程序在計(jì)算機(jī)中均以0000H位開始單元。也可以在出錯(cuò)或系統(tǒng)崩潰使用此鍵進(jìn)行重啟。

除了計(jì)算機(jī),此鍵對(duì)其它專用寄存器復(fù)位狀態(tài)的影響;

PC

0000H

TCON

00H

ACC

00H

TLO

00H

PSW

00H

TH0

00H

SP

07H

TL1

00H

DPTR

0000H

TH1

00H

P0—P3

0FFH

SCON

00H

IP

xx000000B

SBUF

不定IE

0x000000B

PCON

0xx0000BTMOD

00H還有一些其他的引腳產(chǎn)生的信號(hào)同樣會(huì)受到復(fù)位鍵的不同程度上的影響。檢測一個(gè)能否正常工作的單片機(jī),第一步是要看它的復(fù)位鍵是不是能夠被使用。如果不能,說明此單片機(jī)為損壞狀態(tài)。2.2AT89C51與ADC0809相關(guān)聯(lián)的接口

以下三點(diǎn)在接入時(shí)需要注意:

★保證開始線能夠正常接收到100ns寬度的信號(hào)脈沖;

★A/D轉(zhuǎn)換結(jié)束為結(jié)束線接收到脈沖信號(hào);

★地址譯碼器信號(hào)輸入到OE線上2.3簡介AT89C51

AT89C51是一個(gè)能產(chǎn)生高性能但是卻不會(huì)產(chǎn)生高功率消耗的單片機(jī),總共有40個(gè)引腳,32個(gè)外部的端口。AT89C51既可以在線編程也可以按照常規(guī)方法進(jìn)行編程。一定程度上做到了性價(jià)比的提高,降低了生產(chǎn)成本。3對(duì)硬件設(shè)施的調(diào)試與設(shè)計(jì)3.1硬件模塊設(shè)計(jì)3.1.1

構(gòu)成系統(tǒng)的各個(gè)部分

該報(bào)警器整體由濃度的查驗(yàn)和反應(yīng)模塊、主控模塊和報(bào)警及事故處理模塊三個(gè)部分組成。大致結(jié)構(gòu)顯示為圖3.1-1。工作狀態(tài)設(shè)置氣體濃度檢工作狀態(tài)設(shè)置氣體濃度檢AT89C51濃度顯示報(bào)警控制故障處理圖3.1-13.1.2

每個(gè)模塊在系統(tǒng)中的功能★濃度的檢測模塊器件選擇為(GS-A1),該器件對(duì)一氧化碳的反應(yīng)迅速,,尤其在活性碳罩的加入后,也阻止了其他雜質(zhì)氣體的干擾.結(jié)果經(jīng)高科技精密儀器放大數(shù)倍后傳入ADC0809模P轉(zhuǎn)換芯片從而實(shí)現(xiàn)其模數(shù)轉(zhuǎn)換?!锬?shù)轉(zhuǎn)換模塊模數(shù)轉(zhuǎn)換模塊在本實(shí)驗(yàn)中也有重要的意義。通過模數(shù)轉(zhuǎn)換的4步完成運(yùn)送模擬信號(hào)到單片機(jī)內(nèi)從而被單片機(jī)有效識(shí)別。本實(shí)驗(yàn)中的模數(shù)轉(zhuǎn)換的特點(diǎn)及性能指標(biāo)為:■8位的分辨率。■轉(zhuǎn)換過程中出現(xiàn)的誤差不超過1lsb?!?00毫秒內(nèi)實(shí)現(xiàn)。■兼容性高?!龉╇娫O(shè)施簡單。■轉(zhuǎn)換范圍相對(duì)于其他轉(zhuǎn)換器要廣。圖3.1-2A/D轉(zhuǎn)換模塊引腳圖★顯示電路

單片機(jī)內(nèi)部進(jìn)行的標(biāo)度變換完全是通過PO實(shí)現(xiàn),每30秒進(jìn)行一次更新.系統(tǒng)使用串行口唯一的功能擴(kuò)展為4位.當(dāng)?shù)?為“00”時(shí),說明系統(tǒng)在一個(gè)房間的不同狀態(tài)進(jìn)行查驗(yàn);為“8”即為在房間個(gè)點(diǎn)檢測正常;為“1”、“2”、“3”結(jié)尾系統(tǒng)工作在獨(dú)立狀態(tài),當(dāng)次之時(shí)第1、2、3傳感器可以探測到有害氣體的濃度量。當(dāng)P2.0=1且AT89C51的TXD端有輸出時(shí),74LS164接收串行數(shù)據(jù),當(dāng)P2.0=0時(shí)其結(jié)果同上?!镏骺啬K依然使用AT89C51單片機(jī).該儀器特點(diǎn)及使用原理和開發(fā)公司背景為:☆A(yù)LE端與ADC0809的CLOCK相連?!預(yù)PD結(jié)果通過PO口進(jìn)行?!頟OP1關(guān)閉下無法正常工作,開啟狀態(tài)系統(tǒng)工作正常?!頟2:P2.1端與ADC0809的START和ALE相通,用以啟動(dòng)APD,P2.1端與RD與ADC0809的OE端聯(lián)通,P2.2端是系統(tǒng)報(bào)警音樂的控制端口,1電平作用;保證暢通控制著電路開關(guān)。P2.3端口是排氣扇的控制端。1電平有效☆所有P3端口均為直觀顯示結(jié)果端口★處理事故的模塊有害物質(zhì)超過允許的范圍時(shí),該模塊開始發(fā)揮其作用。如圖3.1-3所示.圖3.1-3單個(gè)傳感器電路圖3.1.3

對(duì)系統(tǒng)的指揮

★正常的工作狀態(tài)為系統(tǒng)的默認(rèn)狀態(tài),而出現(xiàn)其他狀態(tài)時(shí),電磁閥處于開啟狀態(tài),從而關(guān)閉了可燃有害物體的繼續(xù)排放,達(dá)到設(shè)計(jì)目的。

★如果有害物體的濃度超標(biāo)(指標(biāo)為100ppm)時(shí),報(bào)警樂響起,如若警示作用沒有達(dá)到,音樂未能及時(shí)關(guān)閉,則系統(tǒng)控制風(fēng)扇開關(guān)通風(fēng)散氣。★原始狀態(tài)即正常狀態(tài)時(shí),風(fēng)扇被優(yōu)先開啟,繼而開啟煤氣閥門開始供氣?!锂?dāng)正常工作了一段時(shí)間后,以40分鐘為計(jì)時(shí)開始每個(gè)10分鐘都會(huì)響起警報(bào),達(dá)到警示用戶的目的。★有害氣體的濃度偏高時(shí),系統(tǒng)自動(dòng)預(yù)判為超標(biāo)狀態(tài),從而關(guān)閉氣體的繼續(xù)排放。防止中毒或者更為嚴(yán)重的爆炸事故的發(fā)生,防患于未然。3.1.4

GS傳感器簡介該系統(tǒng)中的各個(gè)器件的主要功能描述如下:★低耗能高效工作★專一性強(qiáng),無視干擾。★有保障的器件★自身材料性能優(yōu)越★無毒無害綠色環(huán)保圖3.1-4傳感線輸出曲線坐標(biāo)圖圖3.1-5加熱電壓曲線氣體傳感器加熱電源的原理如圖3.1-6所示,利用PWM及A/D轉(zhuǎn)換輸入功能實(shí)現(xiàn)電源電壓的穩(wěn)定和自我調(diào)整。該系統(tǒng)的工作原理是:設(shè)定好電壓值為第一步,pmw的輸出,連電開始工作,將模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換植入單片機(jī)內(nèi)部,可能出現(xiàn)的電壓為擬定值,也可能為超出或小于擬定值,這事通過對(duì)PWM的調(diào)節(jié)達(dá)到目的形成穩(wěn)定輸出環(huán)境的閉合回路。操作此步驟繼而到電壓值保持不變?yōu)橹?,隨著環(huán)境溫度的改變,所謂擬定電壓值會(huì)改變?yōu)椴煌瑪?shù)值打小,此效果符合了歲溫度變化而變化的加熱功率的目標(biāo),契合了氣體傳感器的溫度靈敏變化,同時(shí)有關(guān)于穩(wěn)壓電源的壓降損耗也被控制開關(guān)來降低到最小化。圖3.1-63.2

硬件電路的調(diào)試本設(shè)計(jì)的各類元器件較少。第一步:看各元器件的工作狀態(tài)是受為正常工作狀態(tài),不是則進(jìn)行相關(guān)調(diào)整。若無異常,我們所進(jìn)行的硬件電路的調(diào)試的步驟就全部完成了。4軟件部分的設(shè)計(jì)及調(diào)試4.1

軟件部分的設(shè)計(jì)報(bào)警器的性能體現(xiàn)在程序的編寫,流程圖見附錄1。報(bào)警器程序上有4大模塊可供調(diào)試。4.1.1

主程序所有程序中只有兩個(gè)中斷的使用,它們?yōu)椋和獠恐袛嗪投〞r(shí)器中斷,這兩個(gè)中斷表現(xiàn)不同的作用,前者判別是否已經(jīng)進(jìn)行了模數(shù)轉(zhuǎn)換,后者則為看門狗服務(wù)。它們的相關(guān)程序具體如下所示:ORG

00HJUMPSTART;外部程序的相關(guān)入口地址ORG

03HJUMP

INT1;寄存器控制外部中斷ORG

00HJUMP

ITOP;

定時(shí)器內(nèi)部0的相關(guān)中斷入口ORG

1100HStart:MOVE,IE,#10000001B;中斷INT0MOVE,IP,#00000001B;優(yōu)先中斷INT0MOVE,TCON,#00000000B;電平被觸發(fā)在INT0點(diǎn)上MOVE,SCON,#00000000B;請(qǐng)按0MOVE

STOP,#60H;堆棧的設(shè)定MOVE

TMOD,#01H;其中的T0為第一種方式CALL

PLT0M0

HERE:AJUMP

HERE;本身跳轉(zhuǎn)其它

PLT0M0:MOVE

TL1,#1CH;T1中斷此服務(wù)程序,T1重置為最初設(shè)定值MOVE

TH1,#1FEH

SETB

TR1;啟動(dòng)T1SETB

ET1;允許T1SETB

EA;RET1

IETOP:MOVE

TL0,#0CH;T0再一次中斷服務(wù),T0的相關(guān)數(shù)值被重置為最初設(shè)定MOVE

TH0,0FEH

SETBCPL

P1.1;P1.1取相關(guān)反向狀態(tài)RET2

AllCALLLED;調(diào)用LED自檢子程序MOVE

22H,#0000H;此次中斷的完成標(biāo)志位0位顯示MOVE

DEPTR,#0EFEFH;ADC程序相關(guān)的端口地址MOVX

@DEPTR,A;高阻抗的BUS使得數(shù)模轉(zhuǎn)換開始WAIT:MOVE

H,33H;數(shù)模轉(zhuǎn)換完成信號(hào)顯示JTNZ

INT1KJUMP

WAIT;強(qiáng)制跳回在未完成INT0K:MOVE

B,44H;JTNZ

L2MOVE

B,22HJUMP

L1L1:MOVE

22H,27HMOVE

B,46H;新的濃度被標(biāo)識(shí)出來L2:CALL

BCD;啟用相關(guān)調(diào)整程序(BCD碼)CALL

DISP;此時(shí)的氣體濃度為多少CALL

ADRZERO;調(diào)用前函數(shù)或數(shù)值調(diào)整當(dāng)前CALL

ALARM;把報(bào)警程序調(diào)入CALL

BCD

CALL

DISP;把相關(guān)的一些子程序引入CLR

B;JUMP

START;返回4.1.2

調(diào)零子程序:顯示數(shù)據(jù)由于外部原因?qū)е屡c預(yù)期值出現(xiàn)差異,此問題解決方法為:模數(shù)轉(zhuǎn)換的同時(shí)加入一個(gè)經(jīng)過調(diào)整的數(shù)值。如此一來,得到的數(shù)值即為真是情況的顯示,對(duì)其加以調(diào)整便得到直觀、穩(wěn)定與有效方便的數(shù)據(jù)。程序的實(shí)現(xiàn)見如下所示:ARDZER0:

CALLSUBB

DELAYJUB

P1.1,JUMP1;此一步的調(diào)零為正確值,否則則通過以下程序進(jìn)行調(diào)整:JMP1:

REGET相關(guān)程序的實(shí)現(xiàn)如下所示:L00P0: CALL

DELAYJUMPB

P2.2,$;抖動(dòng)的延時(shí)被第一時(shí)間清理

MOVE

B,32H;調(diào)零的預(yù)設(shè)值設(shè)置為32H送入CLR

D;相關(guān)近位標(biāo)識(shí)的刪除SURBUB

B,#OO1H;選擇的調(diào)零相關(guān)數(shù)值減去1JUMPB

LOOP1;MOVE

B,#12H;

LOOP1: MOVE

28H,B;所有調(diào)整過的值被保存起來MOVE

B,D2;正確的當(dāng)前濃度為現(xiàn)在設(shè)定值JZZZ

ENDXDNEC

B;為了契合調(diào)整后的濃度,當(dāng)前進(jìn)行響應(yīng)

XENDO: MOVE

29H,B;送回29H進(jìn)行保存MOVE

40H,A;送回40H保存CALL

BCD;CALL

DISP;JMP

LOOP1;XEND1: MOVE

B,#71HJUMP

XEND0該操作步驟為有則按鍵無則返回主程序重新開始。4.1.3

相關(guān)子程序的顯示

模數(shù)轉(zhuǎn)換得到的數(shù)值被傳送到單片機(jī)中以十六進(jìn)制存在,這是不符合我們的操作需要的,BCD碼所產(chǎn)生的轉(zhuǎn)換是我們程序運(yùn)行中的主要解決措施。轉(zhuǎn)換的類似相關(guān)的一些程序如我們?cè)谙旅孢M(jìn)行的程序演示所示:BCD: MOVE

44H,#21H;

MOVE

29H,#18H;CLRL

B;

MOVE

R1,#90H;清除R1

CHAN:

SUBB

B,#33H;減99JC

CHAN2;不能做減,跳轉(zhuǎn)IN

R2;

JUMP

CHAN3;

CHAN1: ADC

B,#89H;還原百位數(shù)CLR

C;相關(guān)數(shù)據(jù)進(jìn)行整理與切實(shí)轉(zhuǎn)換

CHAN1: SUB

B,#10H;減29JNC

CHAN1;無法達(dá)成減法計(jì)算,跳轉(zhuǎn)

JNC

R3;不能夠則不加能夠則加上1JUMP

CHAN1;無相關(guān)重復(fù)CHAN1: ADC

B,#OBH;還原個(gè)位數(shù);把個(gè)位數(shù)放30H中MOVE

22H,B;把十位數(shù)放90H中RET所有的顯示結(jié)果均與預(yù)期值的走向一致接下來就看如下程序的完成情況了,接下來就是我們之后的程序改動(dòng):DICSP:MOVE

R9,#65HMOVE

R1,#28H

LED0:MOVE

A,#ROMOVE

DPTR,#TABLE

LED1:MOVE

A,#B+DPTRMOVE

SSUF,BJUMP

TO,@CLR

TOINC

R1JNZ

R8,LED3RET直觀的顯示結(jié)果從LED處顯示驅(qū)動(dòng)設(shè)備也被添加到應(yīng)用里面,它的步驟如下:

為了達(dá)到控制實(shí)驗(yàn)?zāi)康慕拥氐陌存I輸出始終為“0”:松開此按鈕則輸出為“1”,每次按鍵都保證CPU進(jìn)行正確單一的判斷,去除抖動(dòng)顯得有必要,大致的操作已詳細(xì)說明,具體的如上所示的程序都在下面的文本中得到了應(yīng)用和體現(xiàn):DELAY:MOVE

4,#5設(shè)定50毫秒

D0:MOVE

5,#459;設(shè)定0.6毫秒DMJNZ

R4,#

DMJNZ

R4,D0RET每個(gè)周期為1us,30ms延時(shí)效果通過以上程序能夠進(jìn)行實(shí)現(xiàn)。4.1.4

報(bào)警系統(tǒng)中的子程序

聲音與光的感應(yīng)控制為本設(shè)計(jì)的主要手段,當(dāng)有害氣體濃度一氧化碳超標(biāo)時(shí),聲樂響起,燈光閃爍。機(jī)器可能會(huì)遇到故障,針對(duì)此問題我們也提出了相關(guān)的解決方案。而遇到故障的表現(xiàn)為紅燈亮起,喇叭發(fā)出聲響,它的正常時(shí)候表現(xiàn)為紅燈變暗喇叭啞聲。所有功能模塊都工作正常時(shí)綠燈為指示燈。系統(tǒng)對(duì)事故進(jìn)行第一時(shí)間的處理,通風(fēng)換氣等等一系列的操作防止事故惡化。其相關(guān)程序的行駛與體現(xiàn)如下所示:ALAORM: MOVE

B,22H;當(dāng)前的濃度值被送到了累加器中進(jìn)行分析CLR

B;SUBB

A,50H;DJNC

GOOD0;SETA

P2.3;聲音與光亮得到控制并取消SETA

P2.4CLR

P1.7

;關(guān)閉所有SETC

P2.1

;黃色的顯示燈被關(guān)閉掉CLR

P0.1;綠色的燈光第一時(shí)間亮起通告正常RETGOODO: CTLR

P2.4;警報(bào)聲音與警報(bào)燈光再一次被打開CTLR

P11.1CTLR

P11.4;

SETC

P12.3;

SETC

P11.5;RET4.1.5

中斷取值子程序

從所有的執(zhí)行過程中不難看出模數(shù)轉(zhuǎn)換完成INTR端變成輸出“1”電平,未完成則輸出“0”電平。在執(zhí)行的過程中中斷又一次被發(fā)揮出了它的作用,中斷處理程序如下所示;INT1:

PUSH

BCC;需要將累加完的值壓榨在堆棧保存PSH

PUSW;PUSW值壓榨在堆棧保存MOVX

B,@DPTR;數(shù)模轉(zhuǎn)換好的值保存進(jìn)入到累加器中MOVE

30H,A;把數(shù)模轉(zhuǎn)換好的值保存進(jìn)入到30H保存

CLR

ESUBB

B,61H;JNCD

OK0MOVE

44H,#11H;模數(shù)轉(zhuǎn)換的值模擬電壓小于1所以變化為1JUMP

EMP3OKO:

MOVE

B,25HCALL

ADJNCUST;啟用ADJNCUST氣體濃度值被改寫為16進(jìn)制CALL

ADCP;調(diào)用ADCP所有相加1后同樣調(diào)整為16進(jìn)制得意應(yīng)用MOVE

45H,B;45保存相關(guān)數(shù)值EMP2:

MOVE

IE,#10100001OB;POP

PWM;POP

ADC;MOVE

27H,#O1H

;

RETI

調(diào)整所有應(yīng)用中被應(yīng)用的相加子程序

ADJNCUST:

CTLR

BSUCB

B,#27H;數(shù)模轉(zhuǎn)換進(jìn)行調(diào)整后應(yīng)用MOVE

C,#O1HDIVE

BA

MOVE

C,#22HMULL

BARET

ADCD:

ADC

D,22HTABLE:DCB

OBOH,OCOH,OC3H,OCOH,22HDCB

33H,

41H,

O9OH,4OH,

5OHEND數(shù)值為1—99之間的所有子程序的應(yīng)用必須及時(shí)在轉(zhuǎn)換之間完成,用到的相關(guān)類型程序在如下的程序中表示出來:

ADJNCUST:CTLR

B

SUBY

B,#11H;模數(shù)轉(zhuǎn)換再一次被應(yīng)用到數(shù)值轉(zhuǎn)換,16進(jìn)制值在轉(zhuǎn)換后得到應(yīng)用

MOVE

C,#12H

DIVE

BA

MOVE

C,#22H

MULL

BA

RET堆棧中斷處理機(jī)制過程

以下幾個(gè)階段為備份斷后:中斷處理、響應(yīng)與返回。圖4.1-1單片機(jī)中斷流程圖圖中,保護(hù)現(xiàn)場之后的開中斷是為了允許有更高級(jí)中斷打斷此中斷服務(wù)程序。4.2

軟件程序的調(diào)試

所有程序完結(jié)后我們都需要進(jìn)行一些調(diào)試,所有程序都按照一定順序分別調(diào)試。從子程序入手,當(dāng)檢查其沒有問題后再進(jìn)行全套調(diào)試,調(diào)試過程中均以設(shè)定值為基礎(chǔ)。最終結(jié)果符合我們的實(shí)驗(yàn)設(shè)計(jì)的最終目。5結(jié)束語通過這次的課程設(shè)計(jì)的學(xué)校,我明白了在學(xué)習(xí)中不能單單的運(yùn)用書本上的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論