版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 測控電路設(shè)計(jì)</b></p><p><b> 專 業(yè):</b></p><p><b> 班 級:</b></p><p><b> 姓 名:</b></p><p><b> 學(xué) 號:</b
2、></p><p><b> 目錄</b></p><p><b> 摘要4</b></p><p> Abstract4</p><p> 第1章 方案設(shè)計(jì)5</p><p> 1.1 設(shè)計(jì)要求5</p><p> 1.2
3、總體設(shè)計(jì)方案5</p><p> 1.2.1 硬件部分5</p><p> 1.2.2 軟件部分5</p><p> 1.3 可行性分析5</p><p> 第2章 單元電路設(shè)計(jì)6</p><p> 2.1 酒精傳感器部分6</p><p> 2.1.1 氣敏傳感器的選擇
4、與介紹6</p><p> 2.1.2 傳感器檢測模塊電路7</p><p> 2.1.3 傳感器檢測模塊電路原理8</p><p> 2.2 數(shù)據(jù)采集部分8</p><p> 2.2.1 數(shù)據(jù)采集器的選擇與介紹8</p><p> 2.2.2 ADC采集電路9</p><p
5、> 2.3數(shù)據(jù)處理(單片機(jī))部分10</p><p> 2.3.1 單片機(jī)的選擇與介紹10</p><p> 2.3.2 單片機(jī)系統(tǒng)電路12</p><p> 2.4顯示部分12</p><p> 2.4.1 數(shù)碼管電路連接13</p><p> 2.4.2數(shù)碼管顯示的原理13</p
6、><p> 第3章 軟件設(shè)計(jì)14</p><p> 3.1 程序流程圖14</p><p><b> 附錄14</b></p><p> 附錄1:整體原理電路圖15</p><p> 附錄2:總程序16</p><p><b> 致謝21<
7、;/b></p><p><b> 參考文獻(xiàn)21</b></p><p><b> 摘要</b></p><p> 近年來,隨著我國經(jīng)濟(jì)的高速發(fā)展,人民的生活水平迅速提高,越來越多的人有了自己的私家車,而酒后駕車造成的交通事故也頻頻發(fā)生。酒后駕車引起的交通事故是由于司機(jī)的過量飲酒造成人體內(nèi)酒精濃度過高,麻痹神
8、經(jīng),造成大腦反應(yīng)遲緩,肢體不受控制等癥狀。少量飲酒并不會有上述癥狀,即人體內(nèi)酒精濃度比較低時(shí),而人體內(nèi)酒精超過某一個(gè)值時(shí)就會引起危險(xiǎn)。為此,需要設(shè)計(jì)一智能儀器能夠監(jiān)測駕駛員體內(nèi)酒精含量。目前全世界絕大多數(shù)國家都采用呼氣酒精測試儀對駕駛?cè)藛T進(jìn)行現(xiàn)場檢測,以確定被測量者體內(nèi)酒精含量的多少,以確保駕駛員的生命財(cái)產(chǎn)安全。此外,酒精測試儀也可應(yīng)用于食品加工、釀酒等需要監(jiān)控空氣中酒精濃度的場合。由此可見,酒精測試儀具有巨大的潛在用戶群,市場前景十分
9、廣闊。</p><p> 酒精濃度檢測儀主要是用來檢測酒精濃度的,它主要由酒精傳感器、模數(shù)轉(zhuǎn)換器、單片機(jī)、LED 顯示構(gòu)成。酒精傳感器將檢測到的酒精濃度轉(zhuǎn)化為電信號,然后將電信號傳送給模數(shù)轉(zhuǎn)換器,經(jīng)過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換后,把轉(zhuǎn)換后得到的數(shù)字信號傳給單片機(jī),單片機(jī)對所輸入的數(shù)字信號進(jìn)行分析處理,最后將分析處理的結(jié)果通過顯示器顯示出來。</p><p> 關(guān)鍵詞:單片機(jī);A/D 轉(zhuǎn)換;酒精傳感
10、器</p><p><b> ABSTRACT</b></p><p> In recent years, with the high speed development of economy, people's standard of living increased quickly, more and more people have their ow
11、n cars, and drunk driving and traffic accidents caused by the constant. The traffic accident caused by driving is due to the driver's excessive drinking alcohol caused by human body, causing brain nerve palsy, slow r
12、esponse, the body is not controlled wait for a symptom. Alcohol can not have symptoms, namely people relatively low alcohol concentration, and</p><p> Alcohol concentration detector is mainly used to test t
13、he alcohol concentration, it mainly consists of ethanol sensors, adc, SCM, LED display and keyboard and alarm. Ethanol sensors detect alcohol concentration into electrical signals, then send signals through the adc adc,
14、after the conversion of single-chip microcontroller, digital signal to the input of digital signal processing, and finally analyze the results through analysis and processing will display. </p><p> Keywords
15、 : Single Chip Computer ; A/D Transformer ; Alcohol Sensor</p><p> 報(bào)告題目:酒精測試儀的設(shè)計(jì)</p><p> 第一章 方案設(shè)計(jì)</p><p><b> 1.1設(shè)計(jì)要求</b></p><p> 要求設(shè)計(jì)一個(gè)檢測汽車司機(jī)飲酒程度的儀器。儀
16、器分為十檔,用一個(gè)數(shù)碼管顯示,要求能抗汽油味干擾。采用的方法是測量司機(jī)呼出氣體中的酒精含量,若其含量<100ppm,則為0檔。以后含量每增加300ppm就加一檔。具體便是:該儀器能夠通過酒精傳感器采集的信息處理,然后通過單片機(jī)的處理:0~100ppm為0檔,100~400ppm為1檔,400~700ppm為2檔......2200~2500ppm為9檔,并將這些數(shù)字顯示在LED數(shù)碼管上。</p><p>&
17、lt;b> 1.2總體設(shè)計(jì)方案</b></p><p><b> 1.2.1硬件部分</b></p><p> 硬件設(shè)計(jì)時(shí),考慮酒精濃度是由傳感器把非電量轉(zhuǎn)換為電量,傳感器輸出的是0-5伏的電壓值且電壓值穩(wěn)定(變化不大),外部干擾小等。因此,可以直接把傳感器輸出電壓值經(jīng)過ADC0809采集數(shù)據(jù)送入單片機(jī)進(jìn)行處理。將輸出的電壓值與參考的標(biāo)定電壓值
18、進(jìn)行比阿嬌,如果在某一個(gè)范圍內(nèi)就將這個(gè)范圍的檔數(shù)顯示到LED上。其總體框圖如圖1:</p><p> 圖1 基本工作原理圖</p><p><b> 1.2.2軟件部分</b></p><p> 采用51單片機(jī),并用c語言編寫,主要流程是單片機(jī)對采集的數(shù)據(jù)進(jìn)行處理這一環(huán)節(jié),具體見流程圖。</p><p><b
19、> 1.3可行性分析</b></p><p> 采用這種設(shè)計(jì)方法主要是從以下角度考慮:從零器件角度看:酒精探頭選用QM-J3氣敏元件,是以復(fù)合金屬氧化物為主體材料的N型半導(dǎo)體氣敏元件,當(dāng)元件接觸乙醇蒸汽時(shí),其電導(dǎo)率隨氣體濃度增加而迅速升高。其對汽油蒸汽又抗干擾能力,靈敏度高,響應(yīng)速度好,壽命長,工作穩(wěn)定可靠等特點(diǎn)。單片機(jī)采用AT89C51,該款單片機(jī)價(jià)格便宜,能夠滿足一定的速率采集外界數(shù)據(jù),
20、同時(shí)工作穩(wěn)定也是該款單片機(jī)的優(yōu)點(diǎn),另外A/D轉(zhuǎn)換器采用ADC0804,轉(zhuǎn)換速率可達(dá)100us,而且功耗僅有15mW,上述各個(gè)元件成本低、使用方便、安裝簡單、易推廣,制作也很簡單。所以根據(jù)這個(gè)設(shè)計(jì)方案設(shè)計(jì)的產(chǎn)品容易推向市場。</p><p><b> 第二章 硬件設(shè)計(jì)</b></p><p> 2.1酒精傳感器部分</p><p> 2.
21、1.1氣敏傳感器的選擇與介紹</p><p> 氣體傳感器是氣體檢測系統(tǒng)的核心,通常安裝在探測頭內(nèi)。從本質(zhì)上講,氣體傳感器是一種將某種氣體體積分?jǐn)?shù)轉(zhuǎn)化成對應(yīng)電信號的轉(zhuǎn)換器。探測頭通過氣體傳感器對氣體樣品進(jìn)行調(diào)理,通常包括濾除雜質(zhì)和干擾氣體、干燥或制冷處理、樣品抽吸,甚至對樣品進(jìn)行化學(xué)處理,以便化學(xué)傳感器進(jìn)行更快速地測量。</p><p> 在選擇傳感器的時(shí)候,一定要考慮到穩(wěn)定性、靈敏度
22、、選擇性和抗腐蝕性,由于設(shè)計(jì)要求是能夠抗干擾而且測量范圍在0~3000ppm范圍內(nèi),常見的氣敏傳感器MQ3、QM-J3、TGS822三種傳感器,可是第一種的測量范圍只在0~1000ppm之內(nèi),故排除,后面兩種傳感器的性能相似但是TGS822并不常見,而且價(jià)格比QM-J3貴,綜合以上考慮這里選擇QM-J3。QM-J3是以復(fù)合金屬氧化物為主體材料的N型半導(dǎo)體氣敏元件,當(dāng)元件接觸乙醇蒸汽時(shí),其電導(dǎo)率隨氣體濃度增加而迅速升高。其對汽油蒸汽有抗干
23、擾能力、靈敏度高、響應(yīng)速度好、壽命長、工作穩(wěn)定可靠等特點(diǎn)。</p><p><b> 其技術(shù)指標(biāo):</b></p><p> 加熱電壓() AC或DC 5±0.2V </p><p> 回路電壓 () 最大DC 24V</p><p> 負(fù)載電阻()
24、 4KΩ(或可調(diào))</p><p> 清潔空氣中電阻() 2000 KΩ</p><p> 靈敏度() 5(在100ppm蒸汽中)</p><p> 分辨率() 3(在100ppm汽油蒸汽中)</p><p> 響應(yīng)時(shí)間(tres) 10S</p>
25、<p> 恢復(fù)時(shí)間 (tres) 30S</p><p> 元件功耗 0.7W</p><p> 監(jiān)測范圍 50—5000ppm</p><p> 使用壽命 2年</p><p> 使用方法和注意
26、事項(xiàng):</p><p> (1) 元件開始通電工作時(shí),沒有接觸檢測氣體,其電導(dǎo)率也急劇增加,約1分鐘后達(dá)到穩(wěn)定,這時(shí)方可正常使用,這段變化在設(shè)計(jì)中電路時(shí)可采用延時(shí)處理解決?;揪凭珳y試電路如圖2.1.2(1)所示。</p><p> (2) 加熱電壓的改變會直接影響元件的性能,所以在規(guī)定的電壓范圍內(nèi)使用為佳。</p><p> (3) 元件在接觸標(biāo)定氣體100
27、ppm10秒鐘以內(nèi)負(fù)載電阻兩端的電壓可達(dá)到()差值的80%(即響應(yīng)時(shí)間);脫離標(biāo)定氣體100ppm30秒鐘以內(nèi)負(fù)載電阻兩端的電壓下降到()差值的80%(即恢復(fù)時(shí)間)。</p><p> (4) 負(fù)載電阻可根據(jù)需要適當(dāng)改動,不影響元件靈敏度。</p><p> (5) 使用條件:溫度-15~35℃;相對濕度45~75%RH;大氣壓力80~106KPa。</p><p&
28、gt; (6) 環(huán)境適度的變化會給元件電阻帶來小的影響,當(dāng)元件在精密儀器上使用時(shí),應(yīng)進(jìn)行溫度補(bǔ)償,最簡便的方法是采用熱敏電阻補(bǔ)償之。</p><p> 該傳感器數(shù)值經(jīng)標(biāo)定后的值是:</p><p> 表1 酒精濃度和輸出電壓關(guān)系表(僅供參考)</p><p> 2.1.2 傳感器檢測模塊電路</p><p> 圖2 傳感器檢測電路
29、以及衰減電壓電路</p><p> 圖3 回路電壓Vc產(chǎn)生電路</p><p> 2.1.3 傳感器檢測原理</p><p> 半導(dǎo)體氣敏傳感器是利用待測氣體在半導(dǎo)體表面的氧化和還原反應(yīng)導(dǎo)致敏感元件阻值變化來檢測氣體的種類和濃度的。當(dāng)半導(dǎo)體器件被加熱到穩(wěn)定狀態(tài),在氣體接觸半導(dǎo)體表面而被吸附時(shí),被吸附的分子首先在表面自由擴(kuò)散,失去運(yùn)動能量,一部分分子被蒸發(fā)掉,
30、另一部分殘留分子產(chǎn)生熱分解而固定在吸附處時(shí),如果半導(dǎo)體的功函數(shù)大于吸附分子的離解能,吸附分子將向器件釋放電子,而形成正離子吸附。如H2、CO、碳?xì)浠衔锏?,被稱為還原型氣體。當(dāng)還原型氣體吸附到N型半導(dǎo)體上時(shí),載流子增多,使半導(dǎo)體電阻值下降。根據(jù)模塊電路的設(shè)計(jì),當(dāng)吹進(jìn)一定量的含有酒精的氣體時(shí),測試電壓從電路中輸出,由于在我們所要求的范圍內(nèi)其測試電壓在2.5~10V之間,這超過了ADC0804規(guī)定的輸入電壓,所以我們將其輸出電壓統(tǒng)一縮減10
31、倍,在輸入到ADC0804中。另外一個(gè)模塊電路是回路電壓VC產(chǎn)生,同樣我們利用運(yùn)放將標(biāo)準(zhǔn)的5V電壓進(jìn)行放大得到10V的回路電壓并進(jìn)過濾波除噪,電路中的穩(wěn)壓管保證輸出回路電壓能穩(wěn)定在10V左右。</p><p><b> 2.2數(shù)據(jù)采集部分</b></p><p> 2.2.1數(shù)據(jù)采集器的選擇與介紹</p><p> 模數(shù)轉(zhuǎn)換電路的功能是將
32、連續(xù)變化的模擬量轉(zhuǎn)換為離散的數(shù)字量,是架起模擬系統(tǒng)跟數(shù)字系統(tǒng)之間連接的橋梁。對于本系統(tǒng)而言,就是用于快速、高精度地對輸入的酒精濃度信號進(jìn)行采樣編碼,將其轉(zhuǎn)換成單片機(jī)所能夠處理的數(shù)字量。模數(shù)轉(zhuǎn)換電路是本系統(tǒng)的關(guān)鍵部分,其性能的好壞直接影響整個(gè)系統(tǒng)的質(zhì)量。</p><p> 模數(shù)轉(zhuǎn)換采用ADC0804,其工作特性:</p><p> 工作電壓:+5V,即VCC=+5V。 </p&
33、gt;<p> 模擬輸入電壓范圍:0~+5V,即0≤Vin≤+5V。 </p><p> 分辨率:8位,即分辨率為1/2=1/256,轉(zhuǎn)換值介于0~255之間。 </p><p> 轉(zhuǎn)換時(shí)間:100us(fCK=640KHz時(shí))。 </p><p> 轉(zhuǎn)換誤差:±1LSB。 </p><p>
34、 參考電壓:2.5V,即Vref=2.5V。</p><p> 對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。ADC0804有20個(gè)引腳,其中11-18管腳為數(shù)字信號輸出端,與單片機(jī)P1口相連;cs為片選端直接接地,表示始終有效。WR接P3.6口,當(dāng)WR變?yōu)榈碗娖皆偬優(yōu)楦唠娖胶髥覣/D轉(zhuǎn)換,
35、RD接單片機(jī)P3.7口,當(dāng)RD由低電平跳變?yōu)榈碗娖綍r(shí),單片機(jī)讀走A/D轉(zhuǎn)換完的數(shù)字信號。CLK為時(shí)鐘輸入信號線, 因ADC0804的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(+),VREF(-)為參考電壓輸入。INTR為中斷控制信號,接單片機(jī)外部中斷端口,當(dāng)A/D轉(zhuǎn)換完后向單片機(jī)發(fā)出中斷信號,等待讀走數(shù)字信號,INTR也空可置不接,因?yàn)楫?dāng)啟動A/D后一段時(shí)間后模數(shù)轉(zhuǎn)換完后,等待一段時(shí)間后單片機(jī)也
36、可以讀走數(shù)字量。注意這里我們在編程時(shí)將adc0804當(dāng)成是單片機(jī)的外部存儲器,這通過引腳的連接實(shí)現(xiàn)并在程序通過關(guān)鍵詞xdata來定義。這是一個(gè)操作外部存儲器的依據(jù)。只要將某一數(shù)據(jù)聲明成該形式就可以讓操作這一數(shù)據(jù)</p><p> 2.2.2ADC采集電路</p><p> 圖4 ADC0804數(shù)據(jù)采集電路</p><p> 2.3數(shù)據(jù)處理(單片機(jī)系統(tǒng))部分&
37、lt;/p><p> 2.3.1 單片機(jī)的選擇與介紹</p><p> 根據(jù)常見的單片夾類型再結(jié)合本次設(shè)計(jì)方案可以選擇出AT89C51是最適合的。AT89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易
38、失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,</p><p><b> 一、主要性能</b></p><p> ·8K字節(jié)在系統(tǒng)可編程Flash存儲器</p><p> ·1000次擦寫周期 &l
39、t;/p><p> ·全靜態(tài)操作:0Hz~33Hz </p><p> ·三級加密程序存儲器 </p><p> ·32個(gè)可編程I/O口線 </p><p> ·三個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ·八個(gè)中斷源</b><
40、/p><p> ·全雙工UART串行通道 </p><p> ·低功耗空閑和掉電模式</p><p> ·掉電后中斷可喚醒 </p><p><b> ·看門狗定時(shí)器 </b></p><p><b> ·雙數(shù)據(jù)指針 </b&
41、gt;</p><p><b> ·掉電標(biāo)識符 </b></p><p><b> 二、引腳功能描述</b></p><p> AT89C51的引腳如圖:</p><p> 圖5 AT89C51引腳圖</p><p> VCC: 供電電壓。</p
42、><p><b> GND: 接地 。</b></p><p> P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個(gè)TTL邏輯電平。對P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在Flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字
43、節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。</p><p> P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個(gè)TTL 邏輯電平。對P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P
44、1.1/T2EX)。在Flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。 </p><p> P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4 個(gè)TTL 邏輯電平。對P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時(shí),
45、P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址訪問外部數(shù)據(jù)存儲器時(shí),P2口輸出P2鎖存器的內(nèi)容。在Flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號。</p><p> P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動4個(gè)TTL 邏輯電平。對P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為
46、輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,在Flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號。 </p><p><b> 引腳號第二功能:</b></p><p> ·P3.0 RXD(串行輸入)。</p><p> ·P3.1
47、 TXD(串行輸出)。</p><p> ·P3.2 INT0(外部中斷0)。 </p><p> ·P3.3 INT0(外部中斷0)。</p><p> ·P3.4 T0(定時(shí)器0外部輸入)。</p><p> ·P3.5 T1(定時(shí)器1外部輸
48、入)。</p><p> ·P3.6 WR(外部數(shù)據(jù)存儲器寫選通)。 </p><p> ·P3.7 RD(外部數(shù)據(jù)存儲器寫選通)。 </p><p> RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。看門狗計(jì)時(shí)完成后,RST 腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址
49、8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。</p><p> ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時(shí),鎖存低8 位地址的輸出脈沖。在Flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時(shí),AL
50、E脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”, ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。</p><p> PSEN: 外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當(dāng)AT
51、89S52從外部程序存儲器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時(shí),PSEN將不被激活。</p><p> EA/VPP: 訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在Flash編程期間,EA也接收12伏VPP電壓。</p><p> 2.3
52、.2 單片機(jī)系統(tǒng)電路</p><p> 圖6 單片機(jī)連接電路</p><p> 圖7 復(fù)位與晶振電路</p><p><b> 2.4顯示部分</b></p><p> 2.4.1數(shù)碼管電路連接</p><p> 圖8 數(shù)碼管顯示電路</p><p>
53、 2.4.2數(shù)碼管顯示的原理</p><p> LED數(shù)碼管(LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等....,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,我們這里
54、采用共陽數(shù)碼管,共陽就是7段的顯示字碼共用一個(gè)電源的正。led數(shù)碼管原理圖示意:</p><p> 從下圖可以看出,要是數(shù)碼管顯示數(shù)字,有兩個(gè)條件:1、是要在VT端(3/8腳)加正電源;2、要使(a,b,c,d,e,f,g,dp)端接低電平或“0”電平。這樣才能顯示的。 </p><p> 共陽極LED數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖圖2.4.2:</p><p&g
55、t; 圖9 共陽極LED數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖</p><p><b> 其編碼如下:</b></p><p><b> 第三章 軟件設(shè)計(jì)</b></p><p><b> 3.1程序流程圖</b></p><p><b> 附錄</b>&l
56、t;/p><p><b> 附錄</b></p><p> 附錄1 整體原理電路圖</p><p><b> ?。ń由蠄D)</b></p><p><b> 附錄2 總程序</b></p><p> #include<reg51.h>&l
57、t;/p><p> char code disp_code[10]=</p><p> { 0xc0,0xf9,0xa4,0xb0,0x99,</p><p> 0x92,0x82,0xf8,0x80,0x90};//digital tube coding table</p><p> #define SEG7P P0 //digita
58、l tube input from the P0</p><p> #define N 10 //how many datas we want to gather</p><p> #define MAX 3 //how many datas we want to calculate the max value</p><p> sbit INTR=P3^2
59、;</p><p> unsigned char dip;//the value which digital tube display </p><p> unsigned char xdata adc;//definite the adc0804 as the externel memory</p><p> /*the function for delay
60、ing 1ms*/</p><p> void delay_1ms(int x)</p><p><b> {</b></p><p><b> int i,j;</b></p><p> for(i=0;i<x;i++)</p><p> for(j=0;j
61、<120;j++);</p><p><b> }</b></p><p> /*the function for delaying 1s*/</p><p> void delay_1s(int x)</p><p><b> {</b></p><p>&l
62、t;b> int i,j;</b></p><p> for(i=0;i<x;i++)</p><p> for(j=0;j<120000;j++);</p><p><b> }</b></p><p> /*the function for displaying*/</p
63、><p> void display(void)</p><p><b> {</b></p><p> int time=20;//the time of displaying is equal with the time of gathering data</p><p> while(--time>=0)
64、</p><p><b> {</b></p><p> SEG7P=disp_code[dip];</p><p> delay_1ms(10);</p><p><b> }</b></p><p><b> }</b></p>
65、<p> /*ascending the ten data,then calculate the average of first three values*/</p><p> float data_compare(float *adc_value,int m)</p><p><b> {</b></p><p> f
66、loat averge,tmp,sum;</p><p> int i,j,k;</p><p> for(i=0;i<m-1;i++)</p><p> for(j=0;j<m-1-i;j++)</p><p> if(*(adc_value+j)<*(adc_value+j+1))</p><
67、p><b> {</b></p><p> tmp=*(adc_value+j);</p><p> *(adc_value+j)=*(adc_value+j+1);</p><p> *(adc_value+j+1)=tmp;</p><p><b> }</b></p>
68、;<p> for(k=0;k<MAX;k++)</p><p><b> {</b></p><p> sum+=adc_value[k];</p><p><b> }</b></p><p> return averge=sum/MAX;</p>&
69、lt;p><b> }</b></p><p> /*the function for processing the data,we arrange the ten datas by ascending,then we calculate </p><p> the average value of the first three values*/<
70、/p><p> void dataproc(float adc_value[],int m)</p><p><b> {</b></p><p><b> int i;</b></p><p> float tmp;</p><p> for(i=0;i<m;i
71、++)//processing the data</p><p><b> {</b></p><p> adc_value[i]=adc_value[i]*7.8;//7.8 is the resolving power of adc0804</p><p> adc_value[i]=adc_value[i]*5;//5 is the
72、 voltage divider</p><p><b> }</b></p><p> tmp=data_compare(adc_value,m);//compare the ten datas and ascende them</p><p> /*judge the input voltage to which level belo
73、ng */</p><p> if(tmp>0.0&&tmp<=2.5)</p><p><b> dip=0;</b></p><p> if(tmp>2.5&&tmp<4.2)</p><p><b> dip=1;</b><
74、/p><p> if(tmp>=4.2&&tmp<=5.4)</p><p><b> dip=2;</b></p><p> if(tmp>5.4&&tmp<6.9)</p><p><b> dip=3;</b></p>
75、<p> if(tmp>=6.9&&tmp<=7.9)</p><p><b> dip=4;</b></p><p> if(tmp>7.9&&tmp<9.2)</p><p><b> dip=5;</b></p><p>
76、; if(tmp>=9.2&&tmp<=9.6)</p><p><b> dip=6;</b></p><p> if(tmp>9.6&&tmp<10)</p><p><b> dip=7;</b></p><p> if(tmp
77、>=10&&tmp<=10.4)</p><p><b> dip=8;</b></p><p> if(tmp>10.4&&tmp<10.9)</p><p><b> dip=9;</b></p><p><b> }&l
78、t;/b></p><p> int main()</p><p><b> {</b></p><p> float adc_value[N];</p><p><b> int i;</b></p><p> delay_1s(60);//firstly,
79、we have to delay 60 seconds for heating alcohol sensor</p><p><b> while(1)</b></p><p><b> {</b></p><p> display();</p><p> for(i=0;i<N;i+
80、+)//we want to gather ten data</p><p><b> {</b></p><p> adc=0xff;//we regard adc0804 as a extenal memory,when we read adc thus make WR low level</p><p> while(INTR==1
81、);//detecting the transforming whether have finished</p><p> adc_value[i]=adc;//make RD low level and read the data to 89c51</p><p><b> }</b></p><p> dataproc(adc_val
82、ue,N);</p><p><b> }</b></p><p><b> }</b></p><p><b> 總結(jié)</b></p><p> 在xx老師悉心指導(dǎo)和幫助下,完成了課程設(shè)計(jì)。在課設(shè)的過程中,從姜老師身上學(xué)到了好多東西,特別是解決問題的方法、樂觀的精神以
83、及做人的道理。同時(shí)感謝幫助我的同學(xué)和朋友。此次課程設(shè)計(jì)讓我學(xué)到了很多,不僅知道了氣敏傳感器的工作原理,而且會運(yùn)用傳感器來采集我們所需的數(shù)據(jù)。另外熟練掌握單片機(jī)的工作性能以及編程。還有提高了對單片機(jī)尤其是51單片機(jī)的運(yùn)用能力。</p><p><b> 參考文獻(xiàn)</b></p><p> 1、《例說51單片機(jī)(c語言版)》---張義和等編(第3版),人民郵電出版社&
84、lt;/p><p> 2、《c和指針》-----A.Reek編,徐波翻譯,人民郵電出版社</p><p> 3、《酒精濃度測試儀》,百度文庫,鏈接地址:</p><p> 4、張毅剛等.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱工業(yè)大學(xué)出版社,2003:</p><p><b> 8-98</b></p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心率測試儀課程設(shè)計(jì)
- 酒精測試儀的設(shè)計(jì)
- 電子電路課程設(shè)計(jì)--響應(yīng)時(shí)間測試儀
- 噪音測試儀設(shè)計(jì)-課程設(shè)計(jì)
- 數(shù)字電容測試儀課程設(shè)計(jì)報(bào)告
- 酒精濃度測試儀設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 數(shù)字式電阻測試儀課程設(shè)計(jì)
- 課程設(shè)計(jì)-電阻電感電容測試儀
- 測控電路課程設(shè)計(jì)
- (精品)傳感器酒精測試儀的課程設(shè)計(jì)(2013年優(yōu)秀畢業(yè)設(shè)計(jì))
- 測控電路課程設(shè)計(jì)
- 測控電路課程設(shè)計(jì)
- 酒精測試儀的設(shè)計(jì)畢業(yè)論文
- 三電極血液酒精測試儀設(shè)計(jì).pdf
- 數(shù)字式電阻測試儀課程設(shè)計(jì)報(bào)告
- 酒精濃度測試儀的設(shè)計(jì)與實(shí)現(xiàn)
- 廣州地鐵酒精測試儀等采購
- 駕駛座酒精濃度測試儀.doc
- 【畢業(yè)設(shè)計(jì)】酒精測試儀畢業(yè)設(shè)計(jì)(論文)
- 數(shù)電課程設(shè)計(jì)電容測試儀報(bào)告書
評論
0/150
提交評論