版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、I 遼遼 寧寧 工工 業(yè)業(yè) 大大 學(xué)學(xué) 單片機(jī)原理及接口技術(shù)單片機(jī)原理及接口技術(shù) 課程設(shè)計(jì)(論文)課程設(shè)計(jì)(論文) 題目:題目: COCO氣體濃度監(jiān)測(cè)儀設(shè)計(jì)氣體濃度監(jiān)測(cè)儀設(shè)計(jì) 院(系):院(系): 電氣工程學(xué)院電氣工程學(xué)院 專業(yè)班級(jí):專業(yè)班級(jí): 學(xué)學(xué) 號(hào):號(hào): 學(xué)生姓名:學(xué)生姓名: 指導(dǎo)教師:指導(dǎo)教師: (簽字) 起止時(shí)間:起止時(shí)間:2012013 3.06.24-201.06.24-2013 3.07.07.1212 本科生課程設(shè)計(jì)(論文) II 課程設(shè)計(jì)(論文)任務(wù)及評(píng)語(yǔ)課程設(shè)計(jì)(論文)任務(wù)及評(píng)語(yǔ) 院(系):電氣工程學(xué)院 教研室: 注:成績(jī):平時(shí)20% 論文質(zhì)量60% 答辯20% 以百分制
2、計(jì)算 學(xué) 號(hào)學(xué)生姓名專業(yè)班級(jí) 課程設(shè)計(jì) (論文) 題目 CO氣體濃度監(jiān)測(cè)儀設(shè)計(jì) 課程設(shè)計(jì)(論文)任務(wù) 該監(jiān)測(cè)儀主要用于公共場(chǎng)所及某些車間空氣中 CO 濃度的監(jiān)測(cè),檢測(cè)標(biāo)準(zhǔn)是:CO 濃度小時(shí)均值應(yīng)低于 3mg/m3,日均值應(yīng)低于 4mg/m3。. 設(shè)計(jì)任務(wù):設(shè)計(jì)任務(wù): 1. CPU 最小系統(tǒng)設(shè)計(jì)(包括 CPU 選擇,晶振電路,復(fù)位電路) 2. 傳感器選擇以及模擬量檢測(cè)電路設(shè)計(jì) 3. 人機(jī)對(duì)話接口電路設(shè)計(jì)(要求強(qiáng)弱電隔離) 4. .程序流程圖設(shè)計(jì)機(jī)程序清單編寫 技術(shù)參數(shù):技術(shù)參數(shù): 1CO 濃度小時(shí)均值應(yīng)低于 3mg/m3,日均值應(yīng)低于 4mg/m3。 2工作電源 220V 設(shè)計(jì)要求設(shè)計(jì)要求: 1
3、、分析系統(tǒng)功能,選擇合適的單片機(jī)及傳感器,模擬量輸入電路設(shè)計(jì)等; 2、應(yīng)用專業(yè)繪圖軟件繪制硬件電路圖和軟件流程圖; 3、按規(guī)定格式,撰寫、打印設(shè)計(jì)說明書一份,其中程序開發(fā)要有詳細(xì)的軟件設(shè)計(jì) 說明,詳細(xì)闡述系統(tǒng)的工作過程,字?jǐn)?shù)應(yīng)在 4000 字以上。 進(jìn)度計(jì)劃 第 1 天 查閱收集資料 第 2 天 總體設(shè)計(jì)方案的確定 第 3-4 天 CPU 最小系統(tǒng)設(shè)計(jì) 第 5 天 傳感器選擇以及模擬量檢測(cè)電路設(shè)計(jì) 第 6 天人機(jī)對(duì)話接口電路設(shè)計(jì) 第 7 天 程序流程圖設(shè)計(jì) 第 8 天 軟件編寫與調(diào)試 第 9 天 設(shè)計(jì)說明書完成 第 10 天 答辯 指導(dǎo)教師評(píng)語(yǔ)及成績(jī) 平時(shí): 論文質(zhì)量: 答辯: 總成績(jī): 指導(dǎo)
4、教師簽字: 年 月 日 本科生課程設(shè)計(jì)(論文) III 摘 要 本系統(tǒng)利用 51 單片機(jī)做核心控制模塊,利用 MQ-7 一氧化碳傳感器探測(cè)一 氧化碳。實(shí)時(shí)監(jiān)控多處一氧化碳濃度變化,如果某處一氧化碳濃度過高,系統(tǒng)將 發(fā)出聲音報(bào)警,并顯示報(bào)警傳感器號(hào)碼,提醒人們及時(shí)搶險(xiǎn)。本系統(tǒng)可用于家庭 環(huán)境,也適用于工業(yè)環(huán)境。 由于單片機(jī)成本低廉,自動(dòng)控制功能比較強(qiáng)大,運(yùn)行穩(wěn)定,環(huán)境適應(yīng)性好, 所以本系統(tǒng)采用單片機(jī)做控制的核心元件。 MQ-7 一氧化碳傳感器對(duì)一氧化碳的靈敏度高;長(zhǎng)壽命,低成本;簡(jiǎn)單的驅(qū) 動(dòng)電路即可。因此,很適用于家庭的一氧化碳檢測(cè)。 數(shù)碼管能清晰的顯示報(bào)警的房間號(hào)碼,即使在光線較暗時(shí),所以選用
5、數(shù)碼管 做顯示模塊。 關(guān)鍵詞:一氧化碳;單片機(jī);檢測(cè);報(bào)警 本科生課程設(shè)計(jì)(論文) IV 目 錄 目 錄 .IV 第 1 章 緒論 .1 1.1 CO 濃度監(jiān)測(cè)儀研究概況 .1 1.2 本文研究?jī)?nèi)容 .1 第 2 章 CPU 最小系統(tǒng)設(shè)計(jì).2 2.1 CO 氣體濃度監(jiān)測(cè)儀總體設(shè)計(jì)方案 .2 2.2 CPU 的選擇 .3 2.3 時(shí)鐘電路設(shè)計(jì) .6 2.4 復(fù)位電路設(shè)計(jì) .7 2.5 單片機(jī)最小系統(tǒng)設(shè)計(jì) .7 第 3 章 CO 濃度監(jiān)測(cè)儀輸入輸出電路設(shè)計(jì).8 3.1 CO 傳感器的選擇 .8 3.2 運(yùn)算放大器選擇 .10 3.3 A/D 轉(zhuǎn)換電路 .10 3.4 聲光報(bào)警電路 .11 3.5
6、顯示電路 .12 第 4 章 軟件設(shè)計(jì) .13 4.1 流程圖設(shè)計(jì) .13 4.2 程序編寫 .14 4.2.1 主程序.14 4.2.2 調(diào)零子程序.15 4.2.3 顯示子程序.16 4.2.4 報(bào)警子程序.19 4.2.5 中斷取值子程序.19 第 5 章 軟件仿真 .22 第 6 章 課程設(shè)計(jì)總結(jié) .24 本科生課程設(shè)計(jì)(論文) V 參考文獻(xiàn) .25 附錄 硬件原理圖 .26 本科生課程設(shè)計(jì)(論文) 1 第 1 章 緒論 1.1 CO 濃度監(jiān)測(cè)儀研究概況 燃?xì)?人工煤氣、天然氣、液化石油氣)的普及,提高了生產(chǎn)效率、市民的生 活質(zhì)量,但在使用燃?xì)獾倪^程中,因燃?xì)庑孤?、廢氣等原因造成的燃?xì)?/p>
7、爆炸、中 毒等意外事故時(shí)有發(fā)生,給人們的生命和財(cái)產(chǎn)安全帶來了嚴(yán)重的威脅,因此安全 使用燃?xì)庖恢笔侨細(xì)庵鞴懿块T工作的重中之重。CO 濃度監(jiān)測(cè)儀能有效監(jiān)測(cè)環(huán)境中 可燃?xì)怏w或毒性氣體 CO 的濃度,一旦其濃度超出報(bào)警限定值,就能發(fā)出聲光報(bào) 警信號(hào),并且能自動(dòng)開啟排風(fēng)扇把燃?xì)馀懦鍪彝猓踔聊芡ㄟ^聯(lián)動(dòng)裝置自動(dòng)切斷 燃?xì)夤?yīng)防止燃?xì)饫^續(xù)泄漏,起到安全防范的作用。但監(jiān)測(cè)儀選用得是否合理, 直接關(guān)系到其功能的充分發(fā)揮。該設(shè)計(jì)所研究的 CO 濃度監(jiān)測(cè)儀正是應(yīng)這種要求 而開發(fā)的。 一氧化碳是一種無色、無味的氣體,它與血液中的血紅素結(jié)合的能力是氧的 240 倍,它與血紅素形成穩(wěn)定的絡(luò)合物,使血紅蛋白喪失了輸送氧氣的
8、能力,從 而導(dǎo)致組織低氧癥,甚至死亡。一氧化碳濃度的高低是評(píng)價(jià)空氣質(zhì)量好壞的重要 指標(biāo)之一,也是工廠、煤礦井下是否發(fā)生自燃火災(zāi)的重要標(biāo)志之一。為了保證人 們身體健康和環(huán)境潔凈,世界各國(guó)都紛紛致力于防止空氣污染的產(chǎn)生 監(jiān)測(cè)儀是否靈敏可靠關(guān)系到人身財(cái)產(chǎn)安全,因此監(jiān)測(cè)儀屬于強(qiáng)制檢定的計(jì)量 器具。目前大多數(shù)報(bào)警器用戶都使用汽油或液化氣等超過以上高濃度的易揮發(fā)可 燃?xì)怏w對(duì)報(bào)警器進(jìn)行檢測(cè), 若報(bào)警即判斷監(jiān)測(cè)儀正常。這樣做雖然省缺了購(gòu)買可 燃?xì)怏w標(biāo)準(zhǔn)物質(zhì)的麻煩和費(fèi)用, 但實(shí)際上達(dá)不到保證安全的目的, 從而形成重大 安全隱患, 有時(shí)還會(huì)造成報(bào)警器檢測(cè)元件中毒。如果使用標(biāo)準(zhǔn)氣體檢測(cè)報(bào)警器, 就能保證人身安全,
9、同時(shí)杜絕報(bào)警器檢測(cè)探頭中毒現(xiàn)象。 1.2 本文研究?jī)?nèi)容 本文所設(shè)計(jì)的數(shù)字氣體報(bào)警器采用單片機(jī) AT89C51,其價(jià)格便宜,易于產(chǎn)品 化。本設(shè)計(jì)能將置于測(cè)試環(huán)境中的氣體傳感器輸出的模擬電壓通過 A/D 轉(zhuǎn)換器送 本科生課程設(shè)計(jì)(論文) 2 入單片機(jī) AT89C51 中進(jìn)行處理并通過數(shù)碼管顯示,通過設(shè)置報(bào)警值,當(dāng)檢測(cè)到 的濃度達(dá)到或者超過設(shè)定值時(shí),用單片機(jī)控制發(fā)光二極管發(fā)光報(bào)警,同時(shí)打開喇 叭發(fā)出聲音報(bào)警,來達(dá)到報(bào)警的目的,并通過外接排風(fēng)扇與電磁閥對(duì)其進(jìn)行程控, 以防事故的發(fā)生。而當(dāng)系統(tǒng)出現(xiàn)故障時(shí),黃色 LED 亮啟,便于用戶及時(shí)對(duì)報(bào)警器進(jìn)行維修。 系統(tǒng)以 MQ-7 氣體傳感器和 AT89C51
10、單片機(jī)為核心, 設(shè)計(jì)氣體泄漏報(bào)警器。 實(shí)現(xiàn): 1準(zhǔn)確測(cè)量周圍環(huán)境中的可燃性氣體、有毒有害氣體的泄漏; 2實(shí)現(xiàn)系統(tǒng)各個(gè)模塊的功能控制; 3實(shí)現(xiàn)單片機(jī)編程語(yǔ)言系統(tǒng)的控制及傳感器電路的控制。 4研究單片機(jī)各接口的作用及功能; 5了解 MQ-7 氣體傳感器的具體功能; 6實(shí)現(xiàn)對(duì)基本報(bào)警電路的控制。 第 2 章 CPU 最小系統(tǒng)設(shè)計(jì) 2.1 CO 氣體濃度監(jiān)測(cè)儀總體設(shè)計(jì)方案 單片機(jī)應(yīng)用系統(tǒng)的結(jié)構(gòu)分三個(gè)層次: (1)單片機(jī):通常指應(yīng)用系統(tǒng)主處理機(jī),即所選擇的單片機(jī)器件。 (2)單片機(jī)系統(tǒng):指按照單片機(jī)的技術(shù)要求和嵌入對(duì)象的資源要求而構(gòu)成的基 本系統(tǒng),如時(shí)鐘電路、復(fù)位電路和擴(kuò)展存儲(chǔ)器等與單片機(jī)構(gòu)成了單片機(jī)系
11、統(tǒng)。 (3)單片機(jī)應(yīng)用系統(tǒng):能滿足嵌入對(duì)象要求的全部電路系統(tǒng)。在單片機(jī)系統(tǒng)的基 礎(chǔ)上加上面向?qū)ο蟮慕涌陔娐?,如前向通道、后向通道、人機(jī)交互通道(鍵盤、顯 示器、打印機(jī)等)和串行通行口(RS232)以及應(yīng)用程序等。 以此理解,一氧化碳報(bào)警器同樣具有單片機(jī)應(yīng)用系統(tǒng)的三個(gè)層次。其中以 AT89C51 單片機(jī)為核心構(gòu)成單片機(jī)系統(tǒng)。在此系統(tǒng)中,檢測(cè)信號(hào)進(jìn)入單片機(jī)進(jìn)行 運(yùn)算處理。為了更好的理清設(shè)計(jì)思路,將整個(gè)系統(tǒng)細(xì)分為三部分加以設(shè)計(jì)說明。 整個(gè)報(bào)警器由三個(gè)部分組成,分為三大模塊:濃度檢測(cè)模塊、主控模塊和報(bào)警模 塊。在本次設(shè)計(jì)中,使用的核心器件是單片機(jī)和一氧化碳傳感器。為了保重整個(gè) 系統(tǒng)可靠的運(yùn)行,設(shè)計(jì)中必
12、須明確三大部分的實(shí)際聯(lián)系:以單片機(jī)為中心,其他 本科生課程設(shè)計(jì)(論文) 3 各大模塊一一展開。其中,濃度檢測(cè)及顯示模塊所實(shí)現(xiàn)的功能是將房間中的一氧 化碳濃度值轉(zhuǎn)換成為單片機(jī)能夠處理的數(shù)字信號(hào),并且濃度值顯示出來:主控模 塊以單片機(jī)為主,對(duì)其他模塊的運(yùn)行進(jìn)行控制;報(bào)警模塊是此系統(tǒng)的外部電路, 它的功能是實(shí)現(xiàn)報(bào)警。系統(tǒng)框圖如圖 2-1 所示。 圖 2-1 總體框圖 2.2 CPU 的選擇 數(shù)據(jù)處理過程是主要由 AT89C51 單片機(jī)等芯片完成的。AT89C51 是一種帶 4K 字節(jié)的閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM-Flash Programmable and Erasable Read
13、Only Memory)的低電壓,高性能 CMOS8 位微處理器,俗稱單片 機(jī)。其中包括 128 字節(jié)內(nèi)部 RAM,32 個(gè) I/O 口線,2 個(gè) 16 位定時(shí)/計(jì)數(shù)器,一個(gè) 5 向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí), AT89C51 降至 0Hz 的靜態(tài)邏輯操作,并支持兩種可選的節(jié)電工作模式26。空閑 方式體制 CPU 的工作,但允許 RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù) 工作。掉電方式保存 RAM 中的內(nèi)容,但振蕩器體制工作并禁止其他所有不見工作 直到下一個(gè)硬件復(fù)位。 單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除 100 次。該器件采用 ATMEL 高密 度
14、非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。 由于將多功能 8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL 的 AT89C51 是一種高效微控制器。AT89C51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性 高且廉價(jià)的方案。AT89C51 單片機(jī)管腳圖如圖 2-2 所示 AD單片機(jī)轉(zhuǎn)換 顯示報(bào)警 聲音報(bào)警 傳感器 本科生課程設(shè)計(jì)(論文) 4 圖 2-2 AT89C51 單片機(jī)管腳圖 引腳功能說明如下: VCC:電源電壓 GND:地 P0口:P0口是一組8 位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用。 作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)
15、TTL 邏輯門電路,對(duì)端口寫 “1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口 線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在 Flash 編程時(shí),P0口接受指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí), 要求外接上拉電阻。 P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng) (吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻 把端口拉到高電平,此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電 阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash 編程和程序校 E A /V P
16、31 X 1 19 X 2 18 R E SE T 9 R D 17 W R 16 IN T 0 12 IN T 1 13 T 0 14 T 1 15 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 39 P0 1 38 P0 2 37 P0 3 36 P0 4 35 P0 5 34 P0 6 33 P0 7 32 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PS E N 29 A L E /P 30 T X D 11 R X D 10
17、U 1 89 C5 1 本科生課程設(shè)計(jì)(論文) 5 驗(yàn)期間,P1接受低8 位地址。 P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2的輸出緩沖級(jí)可 驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉 電阻把端口拉到高電平,此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上 拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問外部程序 存儲(chǔ)器或16位四肢的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR指令)時(shí),P2口送出 高8 位地址數(shù)據(jù),在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX RI 指令) 時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器(SFR
18、)區(qū)中R2 寄存器的內(nèi)容),在 整個(gè)訪問期間不改變。Flash編程和程序校驗(yàn)時(shí),P2也接收高位地址和其他控制 信號(hào)。 P3口:P3是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P3的輸出緩沖級(jí)可驅(qū) 動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電 阻把端口拉到高電平,此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉 電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。P3 口還接收一些用 于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平 將使單片機(jī)復(fù)位。 ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或
19、數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許) 輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩 頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要 注意的是,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程 期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存 器(SFR)區(qū)中的8EH單元D0位置位,可禁止ALE操作。該位置,只有一條MOVX和 MOVC指令A(yù)LE 才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí), 應(yīng)設(shè)置ALE無效。 PSEN:程序存儲(chǔ)允許輸出是外部程序存儲(chǔ)器的讀選通型號(hào),當(dāng)89C51
20、由外 部存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。 在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的PSEN信號(hào)不出現(xiàn)。 EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程, 復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序 存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12v的編程允許電源VPP,當(dāng) 然這必須是該器件使用12v編程電壓VPP。 本科生課程設(shè)計(jì)(論文) 6 XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。
21、 XTAL2:振蕩器反相放大器的輸出端。89C51 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器 的高增益反相放大器,引腳 XTAL1 和 XTAL2 分別是該放大器的輸入端和輸出端。 這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器, 外接石英晶體或陶瓷諧振器及電容 C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振 蕩電路。對(duì)電容 C1、C2 雖沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響 振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性,如果使 用石英晶體,我們推薦電容使用 30Pf10Pf,而如使用陶瓷諧振器建議選擇 40Pf10Pf。用戶也可以采用外部時(shí)鐘。這種情況下,外
22、部時(shí)鐘脈沖接到 XTAL 端, 即內(nèi)部時(shí)鐘發(fā)生器的輸入端 XTAL 則懸空。 2.3 時(shí)鐘電路設(shè)計(jì) 單片機(jī)工作時(shí),從取指令到譯碼再進(jìn)行微操作,必須在時(shí)鐘信號(hào)控制下才能 有序地進(jìn)行,時(shí)鐘電路就是為單片機(jī)工作提供基本時(shí)鐘的。單片機(jī)的時(shí)鐘信號(hào)通 常有兩種產(chǎn)生方式:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本課題采用內(nèi)部時(shí)鐘方式。 在單片機(jī) XTAL1 和 XTAL2 引腳上跨接上一個(gè)晶振和兩個(gè)穩(wěn)頻電容,可以與 單片機(jī)片內(nèi)的電路構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。晶振頻率取 12 MHz。外接電容 的作用是對(duì)振蕩器進(jìn)行頻率微調(diào),使振蕩信號(hào)頻率與晶振頻率一致,同時(shí)起到穩(wěn) 定頻率的作用,本課題選用 33pF 的電容。 易知:本單
23、片機(jī)最小系統(tǒng)的振蕩周期=1/(12MHz)=1/12us,時(shí)鐘周期=1/6us, 機(jī)器周期=1us。 圖 2-3 時(shí)鐘電路原理圖 C 1 33p C 2 33p X 1 C RY ST A L 本科生課程設(shè)計(jì)(論文) 7 2.4 復(fù)位電路設(shè)計(jì) 無論是在單片機(jī)剛開始接上電源時(shí),還是運(yùn)行過程中發(fā)生故障都需要復(fù)位。 復(fù)位電路用于將單片機(jī)內(nèi)部各電路的狀態(tài)恢復(fù)到一個(gè)確定的初始值,并從這個(gè)狀 態(tài)開始工作。 單片機(jī)的復(fù)位條件:必須使其 RST 引腳上持續(xù)出現(xiàn)兩個(gè)(或以上)機(jī)器周期的 高電平。 單片機(jī)的復(fù)位形式:上電復(fù)位、按鍵復(fù)位。本課題采用按鍵復(fù)位。 在單片機(jī)啟動(dòng) 0.1S 后,電容 C 兩端的電壓持續(xù)充電
24、為 5V,這是時(shí)候 10K 電 阻兩端的電壓接近于 0V,RST 處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí) 候,開關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按 下的這個(gè)過程中,電容開始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓在 0.1S 內(nèi),從 5V 釋放到變?yōu)榱?1.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和, 這個(gè)時(shí)候 10K 電阻兩端的電壓為 3.5V,甚至更大,所以 RST 引腳又接收到高電 平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位。 圖 2-4 復(fù)位電路原理圖 R 2 10 0 +5 V C 2 1u f B R 1 1k 本科生課程設(shè)計(jì)(論文) 8 2.5 單片機(jī)最小系統(tǒng)設(shè)
25、計(jì) 單片機(jī)的最小系統(tǒng)是由組成單片機(jī)系統(tǒng)必需的一些元件構(gòu)成的,除了單片機(jī) 之外,還需要包括電源供電電路、時(shí)鐘電路、復(fù)位電路。 圖 2-5 單片機(jī)最小系統(tǒng)原理圖 第 3 章 CO 濃度監(jiān)測(cè)儀輸入輸出電路設(shè)計(jì) 3.1 CO 傳感器的選擇 選擇一氧化碳傳感器主要考慮以下的性能指標(biāo): (1)輸入和輸出之間成比例,直線性好、靈敏度高、分辨力強(qiáng)、測(cè)量范圍寬。 (2)滯后、漂移誤差小 (3)動(dòng)態(tài)特性好 (4)功耗小 (5)時(shí)間老化特性優(yōu)良 (6)與被測(cè)體匹配良好,既不因接入傳感器而使得被測(cè)對(duì)象受到影響,受被測(cè) 量之外的影響小。 E A /V P 31 X 1 19 X 2 18 R E SE T 9 R D
26、17 W R 16 IN T 0 12 IN T 1 13 T 0 14 T 1 15 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 39 P0 1 38 P0 2 37 P0 3 36 P0 4 35 P0 5 34 P0 6 33 P0 7 32 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PS E N 29 A L E /P 30 T X D 11 R X D 10 U 1 89 C5 1 C 1 33 p C 2 33 p X
27、1 C RY ST A L R 2 10 0 +5 V C 2 1u f B R 1 1k +5 V 本科生課程設(shè)計(jì)(論文) 9 (7)體積小、重量輕、價(jià)格低廉。 (8)故障率低,易于校準(zhǔn)和維護(hù)。 (9)由于傳感元件的輸出信號(hào)一邊比較小,為了便于能夠驅(qū)動(dòng)控制電路,在傳 感器電路中還應(yīng)該包括放大器。 鑒于以上選擇要點(diǎn),本文中用到的傳感器必須具備良好的測(cè)量效果、功耗小、 動(dòng)態(tài)特性良好和體積小、重量輕、價(jià)格低廉等幾個(gè)主要特性。為此我們選擇了 MQ-7 系列傳感器。 半導(dǎo)體一氧化碳傳感器 MQ-7 所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低 的二氧化錫(SnO2)。采用高低溫循環(huán)檢測(cè)方式低溫(1.5V
28、加熱)檢測(cè)一氧化碳,傳 感器的電導(dǎo)率隨空氣中一氧化碳?xì)怏w濃度增加而增大,高溫(5.0V 加熱)清洗低溫 時(shí)吸附的雜散氣體。使用簡(jiǎn)單的電路即可將電導(dǎo)率的變化,轉(zhuǎn)換為與該氣體濃度 相對(duì)應(yīng)的輸出信號(hào)。MQ-7 氣體傳感器對(duì)一氧化碳的靈敏度高,這種傳感器可檢 測(cè)多種含一氧化碳的氣體,是一款適合多種應(yīng)用的低成本傳感器。 主要特點(diǎn)及應(yīng)用: 對(duì)一氧化碳的高靈敏度。 長(zhǎng)壽命,低成本。 簡(jiǎn)單的驅(qū)動(dòng)電路即可 家用氣體泄漏報(bào)警器 工業(yè)用一氧化碳報(bào)警器 便攜式氣體檢測(cè)器 MQ-7 氣敏元件的結(jié)構(gòu)和外形如圖 3-1 所示,由微型 Al2O3 陶瓷管、SnO2 敏感層, 測(cè)量電極和加熱器構(gòu)成的敏感元件固定在塑料或不銹鋼制
29、成的腔體內(nèi),為了改善 傳感器的選擇性,傳感器氣室用活性炭過濾層與外界隔開。加熱器為氣敏元件提 供了必要的工作條件。封裝好的氣敏元件有 6 只針狀管腳,其中 4 個(gè)用于信號(hào)取 出,2 個(gè)用于提供加熱電流。 圖 3-1 MQ-7 實(shí)物圖 本科生課程設(shè)計(jì)(論文) 10 3.2 運(yùn)算放大器選擇 由于氣體傳感器輸出的電壓值過低,無法直接使用 A/D 讀取,必須要加入放 大電路,對(duì)電壓放大然后再經(jīng)過 A/D 讀取。在此,選擇 LM358 作為運(yùn)算放大器。 LM358 內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,適合于 電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件 下
30、,電源電流與電源電壓無關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和 其他所有可用單電源供電的使用運(yùn)算放大器的場(chǎng)合。 LM358具備以下特性:內(nèi)部頻率補(bǔ)償;直流電壓增益高(約100dB);單位增益 頻帶寬(約1MHz);電源電壓范圍寬:?jiǎn)坞娫?3-30V)、雙電源(1.5-15V) ;低功 耗電流,適合于電池供電;低輸入偏流,低輸入失調(diào)電壓和失調(diào)電流;共模輸入 電壓范圍寬,包括接地;差模輸入電壓范圍寬,等于電源電壓范圍;輸出電壓擺 幅大(0 至 Vcc-1.5V) 。 圖 3-2 運(yùn)算放大器電路原理圖 3.3 A/D 轉(zhuǎn)換電路 為了方便與 AT89C5 單片機(jī)的鏈接,本系統(tǒng)采用 AD0809
31、模數(shù)轉(zhuǎn)換芯片對(duì)采集 本科生課程設(shè)計(jì)(論文) 11 到的氣體信息進(jìn)行數(shù)模轉(zhuǎn)換。其分辨率為 8 位,不必進(jìn)行零點(diǎn)和滿度調(diào)整,且具 有高阻抗斬波穩(wěn)定比較器,8 個(gè)通道的多路開關(guān)可直接存取 8 個(gè)單端模擬信號(hào)中 的一個(gè)。利用單片機(jī)啟動(dòng) AD0809 轉(zhuǎn)換器,轉(zhuǎn)換結(jié)束后再由 AD0809 向 AT89C51 發(fā) 出中斷請(qǐng)求信號(hào), CPU 響應(yīng)中斷請(qǐng)求。通過對(duì)譯碼器的讀操作,讀取轉(zhuǎn)換結(jié)果并 送到被測(cè)量的響應(yīng)存儲(chǔ)區(qū)。再重新選擇被測(cè)量,并再次啟動(dòng) AD0809 轉(zhuǎn)換器轉(zhuǎn)換 后中斷返回。AD0809 與單片機(jī) AT89C51 連線線路如圖 3-3 所示。 圖 3-3 AD0809 與單片機(jī) AT89C51 連線
32、線路 3.4 聲光報(bào)警電路 系統(tǒng)的聲,光報(bào)警電路由發(fā)光二極管和低電壓蜂鳴器構(gòu)成,分別由 PIC 單片 機(jī)的 2 個(gè)端口控制。發(fā)光二極管 LED 具有體積小,抗沖擊和抗震性能好,可靠性 高,壽命長(zhǎng),工作電壓低,功耗小,響應(yīng)速度快等優(yōu)點(diǎn),常用于顯示系統(tǒng)的工作 狀態(tài),有益于控制系統(tǒng)的設(shè)計(jì)和維護(hù)。當(dāng)該部分工作時(shí),整機(jī)的工作電流將增加 為未報(bào)警狀態(tài)時(shí)的電流的數(shù)倍,消耗的功率會(huì)比較大,因此采用了分時(shí)供電的方 法,通過單片機(jī)控制該部分電源的通斷,即質(zhì)量濃度達(dá)到報(bào)警時(shí)才給其供電;另 外,用單片機(jī)輸出的周期脈沖報(bào)警信號(hào)控制振蕩器的啟停,用振蕩器輸出信號(hào)控 制蜂鳴器和發(fā)光二極管,振蕩器可以用 TTL 門電路構(gòu)成的
33、多諧振蕩器。采用這 2 種方法可降低該部分的電路的功耗。設(shè)計(jì)中,LED 發(fā)光二極管的工作電流為 5- 20mA,最大不超過 50mA,否則會(huì)燒壞器件。為了獲得良好的發(fā)光效果,LED 工作 本科生課程設(shè)計(jì)(論文) 12 電流控制在 10-15mA 較為合理。在圖 3-4 中所示電路中,D 口得 RD4,RD5,RD6,RD7,接聲,光報(bào)警電路,其中 D 口的 RD5-RD7 分別接質(zhì)量濃度 過高,相等,過低的 LED。當(dāng)氣體檢測(cè)儀檢測(cè)質(zhì)量濃度低于設(shè)定值時(shí),綠燈亮; 當(dāng)氣體質(zhì)量濃度達(dá)到某一定值時(shí),黃燈亮;當(dāng)高于設(shè)定值時(shí),紅燈亮并發(fā)出警報(bào) 信號(hào)。 圖 3-4 聲光報(bào)警電路原理圖 3.5 顯示電路 在
34、該設(shè)計(jì)中, LED 顯示器的顯示方法采用動(dòng)態(tài)顯示。 LED 動(dòng)態(tài)顯示的基 本做法在于分時(shí)輪流選通數(shù)碼管的公共端,使得各數(shù)碼管輪流導(dǎo)通,在選通相 應(yīng)的 LED 后,即在顯示字段上得到顯示字形碼。這種方式不但能提高數(shù)碼管 的發(fā)光效率,并且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,從而大大簡(jiǎn)化了硬 件線路。本設(shè)計(jì)中處理結(jié)果采用 4 位 LED 顯示,首次顯示氣體類別,后 3 位顯示氣體濃度。逐位輪流點(diǎn)亮各個(gè)LED,每一位保持 1ms,在 10-20ms 之 內(nèi)再一次點(diǎn)亮,重復(fù)不止。這樣利用人的視覺停留,好像4 位 LED 同時(shí)點(diǎn) 亮一樣。 本科生課程設(shè)計(jì)(論文) 13 圖 3-5 顯示電路原理圖 本科生課
35、程設(shè)計(jì)(論文) 14 第 4 章 軟件設(shè)計(jì) 4.1 流程圖設(shè)計(jì) 圖4-1 軟件流程圖 本科生課程設(shè)計(jì)(論文) 15 4.2 程序編寫 4.2.1 主程序 整個(gè)程序一共使用了兩個(gè)中斷,一個(gè)外部中斷即 INT0 中斷,一個(gè)定時(shí)/計(jì)數(shù)器 中斷即 IT0 中斷.這兩個(gè)中斷各有其作用,INT0 中斷是用來判斷 A/D 轉(zhuǎn)換器 ADC0809 對(duì)模擬信號(hào)的轉(zhuǎn)換是否完成,當(dāng) A/D 轉(zhuǎn)換結(jié)束后,ADC0809 發(fā)出結(jié)束 EOC(高電平)信號(hào),該信號(hào)可供單片機(jī)查詢,也可反相后作為向單片機(jī)發(fā)出中斷信號(hào), 而本設(shè)計(jì)正是用的這個(gè)方法,使得程序進(jìn)入中斷取值程序.而程序中所用到的 IT0 中斷,是為產(chǎn)生一個(gè)周期為 2S
36、 的方波而設(shè)計(jì)的,其作用是為看門狗產(chǎn)生喂狗子信號(hào). 具體程序如下: ORG 00H JMP START ;主程序入口地址 ORG 03H JMP INTO ;外中斷 INTO 入口 ORG 0BH JMP ITOP ; 定時(shí)器 0 中斷入口 ORG 0100H START: MOV IE,#10000001B ;INT0 中斷使能 MOV IP,#00000001B ;INT0 中斷優(yōu)先 MOV TCON,#00000000B ;設(shè)置 INT0 為電平觸發(fā) MOV SCON,#00000000B ;串行口發(fā)送,接收標(biāo)志位請(qǐng) 0 MOV SP,#60H ;設(shè)堆棧指針 MOV TMOD,#01H
37、;設(shè)置 T0 為方式 1 CALL PT0M0 HERE: AJMP HERE ;自身跳轉(zhuǎn) PT0M0: MOV TL0,#0CH ;T0 中斷服務(wù)程序,T0 重新置初值 MOV TH0,#0FEH SETB TR0 ;啟動(dòng) T0 SETB ET0 ;允許 T0 中斷 SETB EA ;CPU 開中斷 RET ITOP: MOV TL0,#0CH ;T0 中斷服務(wù)程序,T0 置初值 MOV TH0,0FEH 本科生課程設(shè)計(jì)(論文) 16 CPL P1.0 ;P1.0 狀態(tài)取反 RETI ACALL LED ;調(diào)用 LED 自檢子程序 MOV 33H,#00H ;設(shè)置中斷完成標(biāo)志為 0 MOV
38、DPTR,#0FEFFH ;ADC0809 的端口地址 MOVX DPTR,A ;使 BUS 為高阻抗,令 ADC0809 開始轉(zhuǎn)換 WAIT:MOV A,33H ;等待 A/D 轉(zhuǎn)換完成信號(hào) JNZ INTOK JMP WAIT ;未完成則跳回等待 INTOK: MOV A,32H ;將最新的濃度值存入累加器中, (若 A/D 未工作,則 A=0) JNZ L1 MOV A,30H JMP L2 L1: MOV 30H,31H MOV A,31H ;將新濃度載入累加器 L2: CALL BCD ;調(diào)用 BCD 碼調(diào)整程序 CALL DISP ;顯示當(dāng)前濃度 CALL ADZERO ;調(diào)用零點(diǎn)
39、調(diào)整子程序 CALL ALARM ;調(diào)用判斷報(bào)警程序 CALL BCD CALL DISP ;調(diào)用顯示子程序 CLR A ;清除累加器值 JMP START ;返回 在主程序通過對(duì) 33H 中數(shù)值的判斷斷定 A/D 是否轉(zhuǎn)換完成,當(dāng) 33H 中為 1 時(shí),轉(zhuǎn)換完成,程序調(diào)用調(diào)零、報(bào)警、顯示模塊對(duì)輸入數(shù)據(jù)進(jìn)行處理。 4.2.2 調(diào)零子程序 由于未知問題,可能造成送入單片機(jī)中顯示的模擬電壓量與真實(shí)電壓存在區(qū) 別,這種誤差可以通過在中斷處理中對(duì) A/D 轉(zhuǎn)換的數(shù)值加上一個(gè)調(diào)整值來解決。 這樣,我們就能根據(jù)實(shí)際情況來對(duì)報(bào)警器輸出的數(shù)值進(jìn)行控制,使其記數(shù)更加精 確,使用更方便。我們可以利用對(duì)端口的電平高
40、低來判斷是否需要進(jìn)行調(diào)零處理, 本科生課程設(shè)計(jì)(論文) 17 故可將按鍵開關(guān)接于端口 P2.2.若開關(guān)按下,則說明有調(diào)零需要,于是進(jìn)入調(diào)零處理 程序;若開關(guān)沒有按下,則說明沒有調(diào)零需要,系統(tǒng)進(jìn)入下一步.通過設(shè)置一個(gè)按鍵,既 可保證程序順利進(jìn)行,又方便用戶使用.具體程序如下: ADZERO: CALL DELAY JB P2.2,JMP1 ;判斷調(diào)零按鈕是否按下,沒按則跳 JMP1 . JMP1: RET 通過對(duì) P2.2 位的判斷來分辨是否有調(diào)零請(qǐng)求,若有則跳入調(diào)零模式,調(diào)零模 式中程序如下: LOOP1:CALL DELAY JNB P2.2,$ ;消除抖動(dòng)延時(shí) MOV A,40H ;將調(diào)零
41、預(yù)設(shè)值 40H 送入 CLR C ;清除進(jìn)位標(biāo)志 SUBB A,#01H ;調(diào)零值減 1 JNC LOOP2 ;未借位則跳 LOOP2 MOV A,#05H ;有借位則重設(shè)調(diào)零值為 5 LOOP2: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 保存 MOV 31H,A ;送回 31H 保存 CALL BCD ;調(diào)用 BCD 碼調(diào)整 CALL DISP ;調(diào)用顯示子程序 JMP LOOP XEND: MOV A,#63H JMP XEND
42、1 進(jìn)入調(diào)零模式后,若有按鍵則,LED 數(shù)碼管示數(shù)響應(yīng)按鍵變化。若 3 秒無任 何按鍵,則退出調(diào)零模式返回主程序。 4.2.3 顯示子程序 因?yàn)橥ㄟ^ A/D 轉(zhuǎn)換進(jìn)入單片機(jī) 8051 的濃度值以十六進(jìn)制存在,為了讓 LED 顯示需要轉(zhuǎn)換為 BCD 碼,其 BCD 碼轉(zhuǎn)換程序如下: 本科生課程設(shè)計(jì)(論文) 18 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 ;清除 R2 CHAN:SUBB A,#64H ;減 100 JC CHAN1 ;不能減
43、,轉(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 ;減 10 JC CHAN3 ;不夠減,跳 INC R2 ;夠減十位加 1 JMP CHAN2 ;重復(fù)減 10 CHAN3: ADD A,#0AH ;還原十位數(shù) MOV 60H,R2 ;把十位數(shù)放 60H 中 MOV 61H,A ;把個(gè)位數(shù)放 61H 中 RET 這樣把轉(zhuǎn)換成的 BCD 碼,個(gè)位存于 61H 中,十位存入 60H 中,再編寫顯示 模塊如下: DISP: MOV R7,#03H
44、MOV R0,#60H LED1: MOV A,R0 MOV DPTR,#TABLE LED2: MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R0 DJNZ R7,LED1 RET 將數(shù)值送入到 LED 顯示 74LS164 驅(qū)動(dòng)數(shù)碼管的過程: 本科生課程設(shè)計(jì)(論文) 19 在單片機(jī)應(yīng)用系統(tǒng)中,顯示器顯示常用兩種方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。 所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的 I/O 接口用于 筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用 管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用
45、這種方法單片 機(jī)中 CPU 的開銷小??梢蕴峁﹩为?dú)鎖存的 I/O 接口電路很多,這里以常用的串并 轉(zhuǎn)換電路 74LS164 為例,介紹一種常用靜態(tài)顯示電路,以使大家對(duì)靜態(tài)顯示有一 定的了解。 MCS-51 單片機(jī)串行口方式 0 為移位寄存器方式,外接 3 片 74LS164 作為 3 位 LED 顯示器的靜態(tài)顯示接口,把 8031 的 RXD 作為數(shù)據(jù)輸出線,TXD 作為移位 時(shí)鐘脈沖。74LS164 為 TTL 單向 8 位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。 其中 A、B(第 1、2 腳)為串行數(shù)據(jù)輸入端,2 個(gè)引腳按邏輯與運(yùn)算規(guī)律輸入信 號(hào),共一個(gè)輸入信號(hào)時(shí)可并接。T(第 8 腳)為時(shí)
46、鐘輸入端,可連接到串行口的 TXD 端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到 T 端時(shí),移位寄存器移一位,8 個(gè)時(shí)鐘脈 沖過后,8 位二進(jìn)制數(shù)全部移入 74LS164 中。R(第 9 腳)為復(fù)位端,當(dāng) R=0 時(shí), 移位寄存器各位復(fù) 0,只有當(dāng) R=1 時(shí),時(shí)鐘脈沖才起作用。Q1Q8(第 3-6 和 10-13 引腳)并行輸出端分別接 LED 顯示器的 hga 各段對(duì)應(yīng)的引腳上。在給出 了 8 個(gè)脈沖后,最先進(jìn)入 74LS164 的第一個(gè)數(shù)據(jù)到達(dá)了最高位,然后再來一個(gè)脈 沖會(huì)有什么發(fā)生呢?再來一個(gè)脈沖,第一個(gè)脈沖就會(huì)從最高位移出,搞清了這一 點(diǎn),下面讓我們來看電路,3 片 7LS164 首尾相串,而時(shí)鐘
47、端則接在一起,這樣, 當(dāng)輸入 8 個(gè)脈沖時(shí),從單片機(jī) RXD 端輸出的數(shù)據(jù)就進(jìn)入到了第一片 74LS164 中 了,而當(dāng)?shù)诙€(gè) 8 個(gè)脈沖到來后,這個(gè)數(shù)據(jù)就進(jìn)入了第二片 74LS164,而新的數(shù) 據(jù)則進(jìn)入了第一片 74LS164,這樣,當(dāng)?shù)诹鶄€(gè) 8 個(gè)脈沖完成后,首次送出的數(shù)據(jù) 被送到了最左面的 164 中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三片 74LS164 中。 由于本設(shè)計(jì)采用的是機(jī)械按鍵,與地線想連,按鍵按下,輸入為低電平,釋 放按鍵則輸入為高電平。實(shí)際上,機(jī)械式按鍵的落片存在著輕微的彈跳現(xiàn)象其時(shí) 間由操作員按鍵的動(dòng)作所確定,為了確保 CPU 對(duì)按鍵的一次閉合僅做一次處理, 必須去除抖動(dòng),一
48、般通過調(diào)用子程序延時(shí)來解決,在鍵的穩(wěn)定閉合或釋放時(shí)才讀 出鍵的狀態(tài),具體程序如下: DELAY: MOVR 5,#60 設(shè)定 30 毫秒 D1: MOV R6,#248 ;設(shè)定 0.5 毫秒 DJNZ R6,$ DJNZ R5,D1 RET 本科生課程設(shè)計(jì)(論文) 20 因?yàn)槭⒕w為 12MHZ,一個(gè)機(jī)器周期為 1 微秒,這樣如上程序可達(dá)到延時(shí) 30 毫秒的目的。 4.2.4 報(bào)警子程序 本設(shè)計(jì)采用了聲光報(bào)警,當(dāng)探測(cè)器探測(cè)的濃度超過報(bào)警設(shè)定值時(shí)就會(huì)同時(shí)產(chǎn)生 音樂報(bào)警和燈光報(bào)警,此時(shí)紅燈亮啟,喇叭發(fā)出音樂,而正常時(shí),喇叭關(guān)閉,紅燈關(guān)閉, 而顯示正常的綠色 LED 亮啟,本設(shè)計(jì)為了安全起見,還設(shè)
49、置了事故處理裝置,即出現(xiàn) 危險(xiǎn)使,探測(cè)器除了報(bào)警外,還會(huì)使排氣扇的閥門打開,對(duì)室內(nèi)進(jìn)行排氣,以免產(chǎn)生氣 體爆炸或是中毒.具體程序如下 ALARM: MOV A,30H ;將當(dāng)前濃度值送如累加器 CLR C ;清除進(jìn)位標(biāo)志 SUBB A,50H ;與預(yù)警值進(jìn)行判斷 JNC GOOD1 ;若無借位,則當(dāng)前濃度值高于或 者等于預(yù)警值,跳 GOOD1 報(bào)警 SETB P1.6 ;關(guān)閉聲光報(bào)警 SETB P1.7 CLR P2.3 ;關(guān)閉排氣閥門 SETB P1.5 ;關(guān)閉黃色 LED CLR P1.4 ;打開綠色 LED(顯示正常) RET GOOD1: CLR P1.6 ;打開聲光報(bào)警(危險(xiǎn)報(bào)警)
50、CLR P1.7 CLR P2.3 ;打開排氣閥門 SETB P1.5 ;關(guān)閉黃色 LED SETB P1.4 ;關(guān)閉綠色 LED(顯示不正常? RET 4.2.5 中斷取值子程序 從硬件電路圖可以看出,A/D0809 的 INTR 端通過反相器與單片機(jī)的外部中 斷 INT0 相連,由 A/D0809 的管腳功能可知,當(dāng) A/D 開始轉(zhuǎn)換送入的模擬電壓時(shí), INTR 端為低電平,轉(zhuǎn)換完成后,INTR 端變成高電平,通過反相器變成低電平使 單片機(jī) 89C51 產(chǎn)生外部中斷,進(jìn)入中斷處理程序: ;* * * * * * * * * * * * * * * * * 本科生課程設(shè)計(jì)(論文) 21 IN
51、TO: 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)整為濃度 對(duì)應(yīng)的 16 進(jìn)制 CALL ADDD ;調(diào)用 ADDD 將其與調(diào)零預(yù)設(shè)值
52、相加,得到調(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 ;* * * * * * * * * * * * * * * * * ; 調(diào)整相加子程序 ;* * * * * * * * * * * * * * * * * ADJUST: CLR C SUBB A,#32H ;將 A/D 轉(zhuǎn)換的值減 50 再除 10 乘 5 可
53、得當(dāng)前濃度的 16 進(jìn)制值 MOV B,#0AH DIV AB 本科生課程設(shè)計(jì)(論文) 22 MOV B,#05H MUL AB RET ADDD: ADD A,40H TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H, 82H, 0F8H,80H, 90H END 在中斷處理過程中,因?yàn)?A/D0809 在模擬電壓為 15V 時(shí)送入單片機(jī)的數(shù)值 為 50250,為了使示數(shù)在 099 間變化,編寫數(shù)值轉(zhuǎn)換程序如下: ADJUST: CLR C SUBB A,#32H ;將 A/D 轉(zhuǎn)換的值減 50 再除 10 乘 5 可得當(dāng)前濃度 的 16 進(jìn)制值 MOV B,
54、#0AH DIV AB MOV B,#05H MUL AB RET 本科生課程設(shè)計(jì)(論文) 23 第 5 章 軟件仿真 硬件原理圖見附錄。 為了檢測(cè)電路設(shè)計(jì)和軟件設(shè)計(jì)是否正確,采用 Proteus 軟件進(jìn)行仿真。 Proteus 軟件具有獨(dú)特的單片機(jī)協(xié)同仿真功能(VSM): 支持主流的 CPU 類型:如 ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、B asicStamp、8086、MSP430 等,CPU 類型隨著版本升級(jí)還在繼續(xù)增加,如即將支 持 CORTEX、DSP 處理器; 支持通用外設(shè)模型:如字符 LCD 模塊、圖形
55、 LCD 模塊、LED 點(diǎn)陣、LED 七 段顯示模塊、鍵盤/按鍵、直流/步進(jìn)/伺服電機(jī)、RS232 虛擬終端、電子溫度計(jì)等 等,其 COMPIM(COM 口物理接口模型)還可以使仿真電路通過 PC 機(jī)串口和外部 電路實(shí)現(xiàn)雙向異步串行通信; 實(shí)時(shí)仿真:支持 UART/USART/EUSARTs 仿真、中斷仿真、SPI/I2C 仿真、 MSSP 仿真、PSP 仿真、RTC 仿真、ADC 仿真、CCP/ECCP 仿真; 編譯及調(diào)試:支持單片機(jī)匯編語(yǔ)言的編輯/編譯/源碼級(jí)仿真,內(nèi)帶 8051、AVR、PIC 的匯編編譯器,也可以與第三方集成編譯環(huán)境(如 IAR、Keil 和 Hitech)結(jié)合,進(jìn)行高
56、級(jí)語(yǔ)言的源碼級(jí)仿真和調(diào)試。 在電路原理圖已經(jīng)畫完,程序也沒有語(yǔ)法錯(cuò)誤的情況下,即可將程序下載到 單片機(jī)中進(jìn)行仿真; 首先下載程序, 圖 5-1 將程序下載到單片機(jī) 本科生課程設(shè)計(jì)(論文) 24 然后即可仿真。通過仿真,對(duì)電路和程序做出相應(yīng)修改,直至成功; 無報(bào)警時(shí)如圖 5-2。 圖 5-2 無報(bào)警 報(bào)警時(shí)如下圖(1、3 號(hào)報(bào)警): 圖 5-3 1、3 號(hào)報(bào)警 本科生課程設(shè)計(jì)(論文) 25 第 6 章 課程設(shè)計(jì)總結(jié) 本論文設(shè)計(jì)了一個(gè)基于 AT89C51 單片機(jī)的氣體濃度檢測(cè)系統(tǒng)。它由氣體傳 感器、復(fù)位電路、驅(qū)動(dòng)電路、LED 顯示等模塊組成,繪畫出了具體可操作的電路 圖,并詳盡的介紹了本設(shè)計(jì)硬件部
57、分的構(gòu)造及可實(shí)現(xiàn)性。主要用于一氧化碳濃 度檢測(cè)。當(dāng)空氣中 CO 氣體達(dá)到一定濃度時(shí),將危及人的健康和安全,而及時(shí)發(fā) 現(xiàn)有毒氣體是所有預(yù)防危害的關(guān)鍵。因此,氣體濃度檢測(cè)系統(tǒng)的研究有重要的 現(xiàn)實(shí)意義。 下面我對(duì)整個(gè)設(shè)計(jì)的過程做一下簡(jiǎn)單的總結(jié): 首先接到題目,目確定后就是找資料了,查資料是做課設(shè)的前期準(zhǔn)備工作。 好的開端就相當(dāng)于成功了一半,因此資料是否全面、可靠,關(guān)系到整個(gè)課程的進(jìn) 程。上網(wǎng)查資料是最有效的方式,網(wǎng)上的信息包羅萬(wàn)象,可以通過各個(gè)搜索引擎 進(jìn)行搜索,例如 Google、百度等,還有老師介紹的專門的論文期刊網(wǎng) CNKI 以及 我們學(xué)校的圖書館。通過上面的過程,已經(jīng)積累了不少資料,對(duì)所選的
58、題目也大 概有了一些了解,這一步就是在這樣一個(gè)基礎(chǔ)上,綜合已有的資料來更透徹的分 析題目。我在綜合所收集的資料后對(duì)畢業(yè)設(shè)計(jì)進(jìn)行了細(xì)致的分析和定位。 通過這次設(shè)計(jì),我深深地體會(huì)到搞技術(shù)是一件非常嚴(yán)謹(jǐn)?shù)氖虑?。從中我得?了不少寶貴的經(jīng)驗(yàn)和教訓(xùn),我相信這些會(huì)讓我在今后的學(xué)習(xí)中取得更好的打下堅(jiān) 實(shí)的基礎(chǔ)。 通過準(zhǔn)備這次設(shè)計(jì),我全面的復(fù)習(xí)了匯編語(yǔ)言和 MCS-51 單片機(jī),同時(shí)通過 這次設(shè)計(jì)我充分認(rèn)識(shí)到自己知識(shí)的貧乏,需要學(xué)習(xí)的東西還很多,充分激發(fā)自己 的求知欲望。 本科生課程設(shè)計(jì)(論文) 26 參考文獻(xiàn) 1 梅麗鳳等編著 單片機(jī)原理及接口技術(shù) 清華大學(xué)出版社 2009.7 2 趙晶 主編 Prote1
59、99 高級(jí)應(yīng)用 人民郵電出版社,2000 3 于海生 編著 微型計(jì)算機(jī)控制技術(shù) 清華大學(xué)出版社 2003.4 5 劉廣玉,陳明,吳志鶴等 新型傳感器技術(shù)及應(yīng)用 北京航空航天大學(xué). 6 張慶雙 編著使用電子電路 200 例 機(jī)械工業(yè)出版社 7 田立, 馬鳴鶴 51 系列單片機(jī)開發(fā)實(shí)例精解 中國(guó)電力出版社 8 劉建輝 片機(jī)智能控制技術(shù) 國(guó)防工業(yè)出版社 2007 9 楊圖強(qiáng) 一氧化碳檢測(cè)報(bào)警器檢定問題淺析 質(zhì)量技術(shù)監(jiān)督, 2010, (4) 10 李擁軍 一氧化碳檢測(cè)報(bào)警器檢定中常見故障分析 計(jì)量技術(shù). 本科生課程設(shè)計(jì)(論文) 27 附錄 硬件原理圖 本科生課程設(shè)計(jì)(論文) 28 內(nèi) 部資料 僅 供
60、參考 內(nèi) 部資料 僅 供參考 2 3 1 411 U1A LM324 5 6 7 411 U1B LM324 9 10 8 411 U1C LM324 14 13 12 411 U1D LM324 2 3 1 411 U2A LM324 5 6 7 411 U2B LM324 9 10 8 411 U2C LM324 14 13 12 411 U2D LM324 D1 LED D2 LED D3 LED D4 LED D5 LED D6 LED D7 LED D8 LED R1 100K R2 1K R3 1K R4 1K R5 1K R6 1K R7 1K R8 1K R9 1K R10 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)七合一騎馬機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025至2030年中國(guó)燃煤臺(tái)車加熱爐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)有機(jī)罩標(biāo)志燈數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 二零二五個(gè)人住房公積金貸款合同范本4篇
- 二零二五版物流倉(cāng)儲(chǔ)投資合同協(xié)議書范本3篇
- 二零二五年度住宅建筑工程質(zhì)量保修合同3篇
- 二零二五版攝影棚租賃居間業(yè)務(wù)合同書3篇
- 委托廣告合同書模板
- 2025-2030全球立柱鉆孔機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球裝飾金屬板激光切割機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025水利云播五大員考試題庫(kù)(含答案)
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(shí)(2024版)解讀
- 藥企質(zhì)量主管競(jìng)聘
- 信息對(duì)抗與認(rèn)知戰(zhàn)研究-洞察分析
- 中藥飲片驗(yàn)收培訓(xùn)
- 手術(shù)室專科護(hù)士工作總結(jié)匯報(bào)
- 2025屆高三聽力技巧指導(dǎo)-預(yù)讀、預(yù)測(cè)
- DB34T 1831-2013 油菜收獲與秸稈粉碎機(jī)械化聯(lián)合作業(yè)技術(shù)規(guī)范
- 蘇州市2025屆高三期初陽(yáng)光調(diào)研(零模)政治試卷(含答案)
- 創(chuàng)傷處理理論知識(shí)考核試題及答案
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
評(píng)論
0/150
提交評(píng)論