第一章 緒論 4
1.1、課題研究的背景 4
1.2煤氣泄露檢測報警裝置意義 5
第二章 煤氣泄漏檢測報警系統(tǒng)的方案設(shè)計 6
2.1設(shè)計要求 6
2.2方案的選擇 7
2.3 一氧化碳報警器系統(tǒng)的三大部分 9
第三章 硬件電路設(shè)計 10
3.1 傳感器部分電路設(shè)計 10
3.2報警電路的設(shè)計 16
3.3 模數(shù)轉(zhuǎn)換部分電路設(shè)計 17
第四章 軟件設(shè)計 20
4.1 單片機編程 20
4.2 匯編語言概況 21
4.3 源程序 23
第一章 緒論1.1、課題研究的背景
人的生存離不開空氣,人的一生大約有80%的時間是在室內(nèi)度過的,室內(nèi)環(huán)境質(zhì)量的好壞影響著人們的身心健康。室內(nèi)的有害氣體來源有來自裝修不當造成的甲醛、氨氣、氡氣、苯、放射性物質(zhì)的釋放,而這些氣體在裝修時加以注意,完全可以減少其排放量,從而不至于影響人的健康狀況。室內(nèi)存在的有害氣體的另一主要來源為可燃性氣體的泄漏,主要可分為天然氣泄漏、液化氣泄漏和煤氣泄漏。
煤氣泄漏的主要成分是一氧化碳與氫氣,一氧化碳中毒原因是一氧化碳進入人體后會和血液中的血紅蛋白結(jié)合,從而出現(xiàn)缺氧。常見于家庭居室內(nèi)通風差得情況下,煤爐產(chǎn)生的煤氣或液化氣管道泄漏氣中的一氧化碳吸入會導致一氧化碳中毒。
液化氣泄漏危害也不易小視,液化石油氣是石油產(chǎn)品之一。是由煉廠氣或天然氣(包括油田伴生氣)加壓、降溫、液化得到的一種無色、揮發(fā)性氣體。由煉廠氣所得的液化石油氣,主要成分為丙烷、丙烯、丁烷、丁烯,同時含有少量戊烷、戊烯和微量硫化合物雜質(zhì)。由天然氣所得的液化氣的成分基本不含烯烴。液化石油氣主要用作石油化工原料,用于烴類裂解制乙烯或蒸氣轉(zhuǎn)化制合成氣,可作為工業(yè)、民用、內(nèi)燃機燃料。其主要質(zhì)量控制指標為蒸發(fā)殘余物和硫含量等,有時也控制烯烴含量。液化石油氣是一種易燃物質(zhì),空氣中含量達到一定濃度范圍時,遇明火即爆炸。
天然氣主要成分是烷烴,其中甲烷含量在95%以上。人所賴以生存的空氣中有大約20%的氧氣,如果人的生活空間是封閉空間,氧氣稀薄,人會因氧氣不足,導致窒息、昏迷,有心腦血管疾病的人將會危及生命。室內(nèi)天然氣泄漏會使室內(nèi)空氣中的氧氣相對稀薄,由于天然氣是無色無味,人很難察覺到,尤其當人處于睡眠狀態(tài)時,天然氣的泄漏就更加危險,甚至會使人窒息。天然氣的另一危險是當空氣中的天然氣含量達到一定含量時,遇到明火就會產(chǎn)生爆炸,危及人的生命。
1.2煤氣泄露檢測報警裝置意義
(1)成本低廉并能對一氧化碳準確報警。
(2)該產(chǎn)品不需專業(yè)人員操作,只要放在合適位置,通電即可,連續(xù)使用方便,操作簡單。
(3)能起到預防一氧化碳中毒的效果,使人們安全放心的工作。
(4)出現(xiàn)一氧化碳漏或者著火時,報警器能夠立即鳴笛報警,告之工作人員及時采取措施。
人們面對可燃性氣體泄漏而危及生命,可燃氣體泄漏報警器是對付燃氣泄漏的重要預防手段之一。為防止中毒事件發(fā)生,現(xiàn)提出利用單片機系統(tǒng)進行有效的預防措施。所以怎樣預防燃氣中毒與爆炸已成為人們的迫切需要。基于此現(xiàn)實,本設(shè)計宗旨是為家庭用戶設(shè)計一種能夠?qū)μ烊粴猓夯瘹夂汀⒚簹庑孤┑难b置,從于減少不必要的事故,進于保證人民的生命健康,減少不必要的損失。
第二章 煤氣泄漏檢測報警系統(tǒng)的方案設(shè)計2.1設(shè)計要求
報警器需在一氧化碳濃度達到100ppm時啟動報警。
具體實現(xiàn)如下功能:
(1)系統(tǒng)要求設(shè)置正常工作狀態(tài)除正常工作狀態(tài)外,LED紅燈處于熄滅狀態(tài),蜂鳴器處于關(guān)閉狀態(tài)。
(2)在正常工作狀態(tài)下,綠燈應(yīng)長亮。當室內(nèi)一氧化碳濃度達到100ppm時系統(tǒng)應(yīng)啟動蜂鳴器報警,紅燈閃爍。
設(shè)計思路:采用單個傳感器檢測氣體濃度,將檢測結(jié)果通過高精度運算放大器放大后送入模/數(shù)轉(zhuǎn)換芯片中進行轉(zhuǎn)換,傳給單片機進行數(shù)據(jù)處理。處理后的信息將通過單片機控制,驅(qū)動報警。
2.2方案的選擇
方案一,通過傳感器感受到可燃性氣體,降低自身的阻值,來增大電流,并且驅(qū)動蜂鳴器報警。電路簡單、可靠但是靈活性和實用性差。
方案二,可以通過傳感器感知信號多級放大電路,并用電位器調(diào)節(jié)得到固定的電壓值,當?shù)玫娇扇夹詺怏w信號時,電阻值立刻變小,放大器的放大倍數(shù)增加,電壓也就隨著增加,驅(qū)動三極管導通報警電路。該方案有一定的靈活性和可執(zhí)性,但是電路比較復雜,智能性差。
方案三,通過51系列單片機作為主控單元,并且能夠通過傳感器把模擬信號通過A/D信號轉(zhuǎn)換為數(shù)字信號,并且讀取和顯示出來。鍵盤可以通過不同的應(yīng)用場合和針對不同氣體做出不同的濃度設(shè)定,并且儲存報警的上限和報警時間,方便查詢和日后的工作調(diào)查。
(1)初始設(shè)計以設(shè)計思路展開研究:
根據(jù)該設(shè)計要實現(xiàn)的基本功能,設(shè)計大概應(yīng)該分為信號接收,信號處理,信號控制和信號響應(yīng)四個部分。
a.信號采集接收部分即通過檢測一氧化碳氣體濃度,并將這種變化量轉(zhuǎn)換成電壓或者電流等模擬量的變化
b.信號處理部分是將接收部分得到的電壓或電流等變化進行必要放大,為后一部分信號控制提供準備。
c.信號控制部分是通過預定控制方式等實現(xiàn)對設(shè)計要求的準確操作。
d.信號響應(yīng)是通過事故處理部分和顯示部分實現(xiàn)控制部分的要求。
(2)對上述四個部分進行分析,得到如下一些基本的結(jié)論:
a.信號接收部分為了能準且采集到氣體濃度的變化應(yīng)選用傳感器敏感器件,為使其有效部分的檢測房間中氣體濃度,必須選用高溫一氧化碳傳感器。
b.信號處理部分應(yīng)該根據(jù)實際情況選用電荷放大,或比較器等裝置,這部分電路將包含在傳感器接口電路中。
c.控制部分為了實現(xiàn)精確控制,采用單片機較為合適。
d.信號響應(yīng)及報警部分,用蜂鳴器和LED燈即可。
根據(jù)對上面設(shè)計系統(tǒng)的分析,我們得到該設(shè)計思想框圖如下圖2.1所示:
圖2.1 設(shè)計思想框圖
(3)方案確定
經(jīng)過分析采用初始方案設(shè)計,即用單個傳感器檢測一氧化碳氣體濃度,將檢測到的濃度結(jié)果通過運算放大器放大后送入模/數(shù)芯片ADC0809中進行模—數(shù)轉(zhuǎn)換,傳入單片機中,由AT89C51單片機處理數(shù)據(jù),并利用單片機控制報警器進行聲音報警。
綜合考慮,由于使用單片機設(shè)計靈活性更強、用途更寬廣,所以本設(shè)計采用方案三。
2.3 一氧化碳報警器系統(tǒng)的三大部分
整個報警器由三個部分組成,分為三大模塊:濃度檢測模塊、主控模塊和報警模塊。
在本次設(shè)計中,使用的核心器件是單片機和一氧化碳傳感器。為了保重整個系統(tǒng)可靠的運行,設(shè)計中必須明確三大部分的實際聯(lián)系:以單片機為中心,其他各大模塊一一展開。其中,濃度檢測及顯示模塊所實現(xiàn)的功能是將房間中的一氧化碳濃度值轉(zhuǎn)換成為單片機能夠處理的數(shù)字信號,并且濃度值顯示出來:主控模塊以單片機為主,對其他模塊的運行進行控制;報警模塊是此系統(tǒng)的外部電路,它的功能是實現(xiàn)報警。系統(tǒng)框圖如圖2.3所示。
下面就對各個模塊的功能和實現(xiàn)形式做簡單介紹
(1)氣體濃度檢測模塊
一氧化碳報警器主要采用高穩(wěn)定一氧化碳氣體傳感器MQ-7檢測房間氣體濃度,檢測結(jié)果通過高精度運算放大器放大后送入模/數(shù)轉(zhuǎn)換芯片ADC0809中進行轉(zhuǎn)換。
(2)主控模塊
系統(tǒng)采用單片機控制,用的是AT89C51單片機,AT89C51單片機是美國Intel公司推出的一種4K字節(jié)可編程FLASH存儲器,低電壓、高性能CMOS 8位微處理器。單片機的可擦除只讀存儲器可以反復擦除1000次,數(shù)據(jù)可保留10年。它的主要功能既是和ADC0809芯片一起共同接受檢測信號,又可以通過對數(shù)字型號的處理來控制外圍電路以及顯示電路。模數(shù)轉(zhuǎn)換芯片采用ADC0809,接收經(jīng)過運算放大器處理后的一氧化碳傳感器的檢測值,檢測結(jié)果通過ADC0809處理后才傳給單片機進行數(shù)據(jù)處理。處理后的信息將通過單片機控制,以驅(qū)動報警。
(3)報警模塊
此模塊主要有蜂鳴器、LED燈組成,在氣體濃度過大,超過安全值時,蜂鳴器工作,提供報警服務(wù)。
至此,本系統(tǒng)的三大模塊功能和設(shè)計思路已經(jīng)確立,下文將介紹整個系統(tǒng)的詳細設(shè)計過程。并且給出設(shè)計電路。
第三章 硬件電路設(shè)計 3.1 傳感器部分電路設(shè)計
(1)傳感器的定義
人們通常將能把非電量轉(zhuǎn)換成電量的器件稱為傳感器,傳感器實質(zhì)是一種功能模塊,起作用是將來之外界的各種信號轉(zhuǎn)換成電信號:它是實現(xiàn)測試與自動控制系統(tǒng)的首要環(huán)節(jié)。
(2)傳感器的作用
傳感器是又稱之為電五官,是獲取自然和生產(chǎn)領(lǐng)域中信息的主要途徑與手段。在現(xiàn)代工業(yè)生產(chǎn)尤其是自動化生產(chǎn)過程中,要用各種傳感器來監(jiān)視和控制生產(chǎn)過程中的各個參數(shù),使設(shè)備工作在正常狀態(tài)或最佳狀態(tài),并使產(chǎn)品達到最好的質(zhì)量。沒有眾多的優(yōu)良的傳感器,現(xiàn)代化生產(chǎn)也就失去了基礎(chǔ)。傳感器技術(shù)在發(fā)展經(jīng)濟、推動社會進步方面的重要作用,是十分明顯的。世界各國都十分重視這一領(lǐng)域的發(fā)展。相信不久的將來,傳感器技術(shù)將會出現(xiàn)一個飛躍,達到與其重要地位相稱的新水平。
(3)傳感器的組成
傳感器一般由敏感元件、傳感元件和測量電路三部分組成有時還加上輔助電源。通常可用方框圖表示,如下圖3.4所示:
被測量
敏感元件——直接感受被測量,并輸出與被測量成確定關(guān)系的其他量的元件。
傳感元件——又稱變換器,傳感元件可以直接感受被測量而輸出與被測量成確定關(guān)系的電量,也可以不直接感受被測量,而只感受與被測量成確定關(guān)系的其他非電量。
測量電路——能把傳感元件輸出的電信號轉(zhuǎn)換為便于顯示、記錄、控制和處理的有用電信號的電路。使用較多的是電橋電路,也是用其他特殊電路,如高阻抗輸入電路、脈沖調(diào)寬電路、維持震蕩的激振電路等。由于傳感元件的輸出信號一般比較小,為了便于與顯示和記錄,大多數(shù)測量電路還包括了放大器。
(4)傳感器的分類
1).半導氣體傳感器
這種類型的傳感器在氣體傳感器中約占60%,根據(jù)其機理分為電導型和非電導型,電導型中又分為表面型和容積控制型.
2).固體電解質(zhì)氣體傳感器
固體電解質(zhì)氣體傳感器固體電解質(zhì)氣體傳感器使用固體電解質(zhì)氣敏材料做氣敏元件。其原理是氣敏材料在通過氣體時產(chǎn)生離子,從而形成電動勢,測量電動勢從而測量氣體濃度。由于這種傳感器電導率高,靈敏度和選擇性好,得到了廣泛的應(yīng)用,幾乎打入了石化、環(huán)保、礦業(yè)等各個領(lǐng)域,僅次于金屬氧化物半導體氣體傳感器。如測量H2S的YST-Au-WO3、測量NH3的NH+4CaCO3等。 開發(fā)新的氣體傳感器,特別是開發(fā)和完善智能氣體傳感系統(tǒng),使之可以在氣體泄漏事故中起到報警、檢測、識別、智能決策等方面的作用。大大提高氣體泄漏事故處置的工作效率和安全性,對于控制事故損失具有重要的作用。
3).接觸燒式氣體傳感器
接觸燃燒式氣體傳感器 可分為直接接觸燃燒式和催化接觸燃燒式兩種。其工作原理是:氣敏材料在通電狀態(tài)下,可燃性氣體氧化燃燒或在催化劑作用下氧化燃燒,產(chǎn)生的熱量使電熱絲升溫,從而使其電阻值發(fā)生變化,測量電阻變化從而測量氣體濃度。這種傳感器只能測量可燃氣體,對不燃性氣體不敏感。例如,在Pt絲上涂敷活性催化劑Rh和Pd等制成的傳感器,具有廣譜特性,即可以檢測各種可燃氣體。接觸燃燒式氣體傳感器在環(huán)境溫度下非常穩(wěn)定,并能對爆炸下限的絕大多數(shù)可燃性氣體進行檢測,普遍應(yīng)用于石油化工廠、造船廠、礦井隧道、浴室、廚房等處的可燃性氣體的監(jiān)測和報警。
4).高分子氣體傳感器
國外在高分子氣敏材料的研究和開發(fā)上有了很大的進展,高分子氣敏材料由于具有易操作性、工藝簡單、常溫選擇性好、價格低廉、易與微結(jié)構(gòu)傳感器和聲表面波器件相結(jié)合等特點,在毒性氣體和食品鮮度等方面的檢測具有重要作用。高分子氣體傳感器根據(jù)氣敏特性主要可分為下列幾種:
a.高分子電阻式氣體傳感器
該類傳感器是通過測量高分子氣敏材料的電阻來測量氣體的體積分數(shù),目前的材料主要有歐菁聚合物、LB膜、聚毗咯等。其主要優(yōu)點是制作工藝簡單、成本低廉。但這種氣體傳感器要通過電聚合過程來激活,這既耗費時間,又會引起各批次產(chǎn)品之間的性能差異。
b.濃差電池式氣體傳感器
濃差電池式氣體傳感器的工作原理是:氣敏材料吸收氣體時形成濃差電池,測量輸出的電動勢就可測量氣體體積分數(shù),目前主要有聚乙烯醇-磷酸等材料。
c.聲表面波(SAW)式氣體傳感器
SAW氣體傳感器制作在壓電材料的襯底上,一端的表面為輸入傳感器,另一端為輸出傳感器。兩者之間的區(qū)域淀積了能吸附VOC的聚合物膜。被吸附的分子增加了傳感器的質(zhì)量,使得聲波在材料表面上的傳播速度或頻率發(fā)生變化,通過測量聲波的速度或頻率來測量氣體體積分數(shù)。主要氣敏材料有聚異丁烯、氟聚多元醇等,用來測量苯乙烯和甲苯等有機蒸汽。其優(yōu)勢在于選擇性高、靈敏度高、在很寬的溫度范圍內(nèi)穩(wěn)定、對濕度響應(yīng)低和良好的可重復性。SAW傳感器輸出為準數(shù)字信號,因此可簡便地與微處理器接口。此外,SAW傳感器采用半導體平面工藝,易于將敏感器與相配的電子器件結(jié)合在一起,實現(xiàn)微型化、集成化,從而降低測量成本。
5).電化學傳感器
電化學傳感器通過與被測氣體發(fā)生反應(yīng)并產(chǎn)生與氣體濃度成正比的電信號來工作。典型的電化學傳感器由傳感電極(或工作電極)和反電極組成,并由一個薄電解層隔開。氣體首先通過微小的毛管型開孔與傳感器發(fā)生反應(yīng),然后是憎水屏障,最終到達電極表面。采用這種方法可以允許適量氣體與傳感電極發(fā)生反應(yīng),以形成充分的電信號,同時防止電解質(zhì)漏出傳感器。穿過屏障擴散的氣體與傳感電極發(fā)生反應(yīng),傳感電極可以采用氧化機理或還原機理。這些反應(yīng)由針對被測氣體而設(shè)計的電極材料進行催化。通過電極間連接的電阻器,與被測氣濃度成正比的電流會在正極與負極間流動。測量該電流即可確定氣體濃度。由于該過程中會產(chǎn)生電流,電化學傳感器又常被稱為電流氣體傳感器或微型燃料電池。
6).熱傳導傳感器
熱傳導傳感器與接觸燃燒式傳感器具有類似的結(jié)構(gòu)形式,但是測量原理不同。它的測量原理是:將加熱后的鉑電阻線圈置于目標煙霧中,由于向目標氣體傳送熱量造成溫度降低,引起電阻值變化,傳感器即測量電阻值的變化情況。溫度的變化情況是目標氣體熱傳導率的函數(shù),而對于一種給定的氣體,熱傳導率是它固有的物理特性。
7).紅外傳感器
利用紅外線的物理性質(zhì)來進行測量的傳感器。紅外線又稱紅外光,它具有反射、折射、散射、干涉、吸收等性質(zhì)。任何物質(zhì),只要它本身具有一定的溫度(高于絕對零度),都能輻射紅外線。紅外線傳感器測量時不與被測物體直接接觸,因而不存在摩擦,并且有靈敏度高,響應(yīng)快等優(yōu)點。
紅外線傳感器包括光學系統(tǒng)、檢測元件和轉(zhuǎn)換電路。光學系統(tǒng)按結(jié)構(gòu)不同可分為透射式和反射式兩類。檢測元件按工作原理可分為熱敏檢測元件和光電檢測元件。熱敏元件應(yīng)用最多的是熱敏電阻。熱敏電阻受到紅外線輻射時溫度升高,電阻發(fā)生變化,通過轉(zhuǎn)換電路變成電信號輸出。光電檢測元件常用的是光敏元件,通常由硫化鉛、硒化鉛、砷化銦、砷化銻、碲鎘汞三元合金、鍺及硅摻雜等材料制成。
紅外線傳感器常用于無接觸溫度測量,氣體成分分析和無損探傷,在醫(yī)學、軍事、空間技術(shù)和環(huán)境工程等領(lǐng)域得到廣泛應(yīng)用。例如采用紅外線傳感器遠距離測量人體表面溫度的熱像圖,可以發(fā)現(xiàn)溫度異常的部位,及時對疾病進行診斷治療(見熱像儀);利用人造衛(wèi)星上的紅外線傳感器對地球云層進行監(jiān)視,可實現(xiàn)大范圍的天氣預報;采用紅外線傳感器可檢測飛機上正在運行的發(fā)動機 的過熱情況等。
(6)傳感器與ADC0809的連接
檢測數(shù)據(jù)從IN0口輸入,轉(zhuǎn)換完畢送給單片機P1口供單片機進行數(shù)據(jù)處理。
連接電路圖如圖3.6:
圖3.6 傳感器與ADC0809連接電路
3.2報警電路的設(shè)計
報警電路采用了蜂鳴器以及發(fā)光二極管。在設(shè)計中,單片機的P2.0,P2.1,P2.2分別控制燈以及蜂鳴器,通過編程讓傳感器的數(shù)據(jù)和給定值進行比較。如果大于則報警,即蜂鳴器鳴叫,發(fā)光二極管閃爍。如圖3.7所示:
圖3.7 報警器電路圖
3.3 模數(shù)轉(zhuǎn)換部分電路設(shè)計
模數(shù)轉(zhuǎn)換部分采用ADC0809芯片。ADC0809是M美國國家半導體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。是目前國內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。
(1)主要特性
1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。
2)具有轉(zhuǎn)換起停控制端。
3)轉(zhuǎn)換時間為100μs(時鐘為640kHz時),130μs(時鐘為500kHz時)
4)單個+5V電源供電
5)模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準。
6)工作溫度范圍為-40~+85攝氏度
7)低功耗,約15mW。
(2)內(nèi)部結(jié)構(gòu)
ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖13.22所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近 。
(3)外部特性(引腳功能)
ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖13.23所示。下面說明各引腳功能。
IN0~IN7:8路模擬量輸入端。
2-1~2-8:8位數(shù)字量輸出端。
ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路 ALE:地址鎖存允許信號,輸入,高電平有效。
START: A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復位,下降沿啟動A/D轉(zhuǎn)換)。
EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。
OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。
CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。
REF(+)、REF(-):基準電壓。
VCC:電源,單一+5V。
GND:地。
其內(nèi)部結(jié)構(gòu)及引腳圖如圖3.2所示
圖3.2 ADC0809內(nèi)部圖及引腳圖
(4)ADC0809的工作過程
首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。
轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時傳送給單片機進行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認A/D轉(zhuǎn)換的完成,因為只有確認完成后,才能進行傳送。為此可采用下述三種方式 :
1).定時傳送方式
對于一種A/D轉(zhuǎn)換其來說,轉(zhuǎn)換時間作為一項技術(shù)指標是已知的和固定的。例如ADC0809轉(zhuǎn)換時間為128μs,相當于6MHz的MCS-51單片機共64個機器周期。可據(jù)此設(shè)計一個延時子程序,A/D轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進行數(shù)據(jù)傳送。
2).查詢方式
A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如ADC0809的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可確認轉(zhuǎn)換是否完成,并接著進行數(shù)據(jù)傳送。
3).中斷方式
把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。不管使用上述那種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,OE信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接受。
(5)ADC0809與單片機連接方式如圖3.3:
圖3.3 ADC0809與單片機連接方式
第四章 軟件設(shè)計 4.1 單片機編程
本次設(shè)計用匯編語言編寫程序。由于程序十分簡單,所以用匯編語言能夠更直觀更便于理解。
下面介紹一下匯編語言:
匯編語言是面向機器的程序設(shè)計語言。在匯編語言中,用助記符代替操作碼,用地址符號或標號代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。于是匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)軟件。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。
4.2 匯編語言概況
匯編語言是一種功能很強的程序設(shè)計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。匯編語言,作為一門語言 ,對應(yīng)于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機器可執(zhí)行的代碼。高級的匯編器如MASM,TASM等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言。現(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫windows的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機器硬件精確控制的程序。
(1)匯編語言直接同計算機的底層軟件甚至硬件進行交互,它具有如下一些優(yōu)點:
1).能夠直接訪問與硬件相關(guān)的存儲器或I/O端口;
2).能夠不受編譯器的限制,對生成的二進制代碼進行完全的控制;
3).能夠?qū)﹃P(guān)鍵代碼進行更準確的控制,避免因線程共同訪問或者硬件設(shè)備共享引起的死鎖;
4)能夠根據(jù)特定的應(yīng)用對代碼做最佳的優(yōu)化,提高運行速度;
5).能夠最大限度地發(fā)揮硬件的功能。
(2)匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進制的機器指令碼,因此不可避免地存在一些缺點:
1).編寫的代碼非常難懂,不好維護;
2).很容易產(chǎn)生bug,難于調(diào)試;
3).只能針對特定的體系結(jié)構(gòu)和處理器進行優(yōu)化;
4).開發(fā)效率很低,時間長且單調(diào)。
(3)匯編語言的特點:
1).面向機器的低級語言,通常是為特定的計算機或系列計算機專門設(shè)計的。
2).保持了機器語言的優(yōu)點,具有直接和簡捷的特點。
3).可有效地訪問、控制計算機的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。
4).目標代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。
5).經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。
對于不同型號的計算機,有著不同的結(jié)構(gòu)的匯編語言。匯編語言由于采用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應(yīng),基本保留了機器語言的靈活性。使用匯編語言能面向機器并較好地發(fā)揮機器的特性,得到質(zhì)量較高的程序。
匯編語言是面向具體機型的,它離不開具體計算機的指令系統(tǒng),因此,對于不同型號的計算機,有著不同的結(jié)構(gòu)的匯編語言,而且,對于同一問題所編制的匯編語言程序在不同種類的計算機間是互不相通的。
匯編語言中由于使用了助記符號,用匯編語言編制的程序輸入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執(zhí)行,必須通過預先放入計算機的"匯編程序"中進行加工和翻譯,才能變成能夠被計算機直接識別和處理的二進制代碼程序。用匯編語言等非機器語言書寫好的符號程序稱為源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,當它被安置在內(nèi)存的預定位置上,就能被計算機的CPU處理和執(zhí)行。
匯編語言像機器指令一樣,是硬件操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。但是,匯編語言用來編制系統(tǒng)軟件和過程控制軟件,其目標程序占用內(nèi)存空間少,運行速度快,有著高級語言不可替代的用途。
4.3 源程序
匯編源程序:
ST BIT P3.0
OE BIT P3.1
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: CLR P2.0
CLR P2.2
LCALL DELAY
CLR ST
SETB ST
CLR ST
LCALL DELAY
SETB OE
MOV P1,#0FFH
MOV A,P1
CLR OE
CLR C
SUBB A,#67H ;報警值
JNC ALERM
SJMP MAIN
ALERM: SETB P2.2
SETB P2.0
MOV R4,#255
DJNZ R4,$
CLR P2.0
MOV R5,#255
DJNZ R5,$
SJMP ALERM
DELAY: MOV R2,#250
AA: MOV R3,#255
DJNZ R3,$
DJNZ R2,AA
RET
END
結(jié) 論
在設(shè)計過程中,經(jīng)常會遇到這樣那樣的情況,就是心里老想著這樣的接法可以行得通,但實際接上電路,總是實現(xiàn)不了,因此耗費在這上面的時間用去很多.我趁著做畢業(yè)設(shè)計的同時也對課本知識有了鞏固和加強,由于課本上的知識太多,平時課間的學習并不能很好的理解和運用各個元件的功能,而且考試內(nèi)容有限,所以在這次畢業(yè)設(shè)計過程中,我們了解了很多元件的功能,并且對于其在電路中的使用有了更多的認識。
經(jīng)過兩個多月的設(shè)計里,過程曲折可謂一語難盡。在此期間我們也失落過,也曾一度熱情高漲。從開始時的滿富激情到后來汗水背后的復雜心情,點點滴滴無不令我回味無長。
通過這次畢業(yè)設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中可以說得是困難重重,這畢竟第一次做,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。
|