版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章 研究內(nèi)容TGS822對酒精濃度的變化,其阻值產(chǎn)生相應(yīng)的變化,然后通過取樣電阻分壓的變化表現(xiàn)出來;人體血液酒精濃度的不同,其呼出的氣體中酒精濃度也不同。通過TGS822對呼出氣體中酒精濃度的反應(yīng)以取樣電壓的形式送入到ADC0809,進行A/D轉(zhuǎn)換后并將轉(zhuǎn)換的數(shù)據(jù)送入單片機進行分析處理,并判斷是否醉酒駕車,再通過液晶板顯示出來。DS18B20其自身的溫度傳感器所產(chǎn)生的溫度數(shù)字數(shù)據(jù)存入其自身的存儲器,單片機對其控制讀出溫度數(shù)據(jù),然后經(jīng)過計算處理,將當前環(huán)境溫度由液晶板輸出。第2章 總體設(shè)計2.1 本課題的設(shè)計任務(wù)及要求2.1.1 設(shè)計任務(wù)設(shè)計并制作酒精測試儀,其組成如圖2.1所示。TGS82
2、2對酒精濃度的變化,其阻值產(chǎn)生相應(yīng)的變化,然后通過取樣電阻分壓的變化表現(xiàn)出來;人體血液酒精濃度的不同,其呼出的氣體中酒精濃度也不同。通過TGS822對呼出氣體中酒精濃度的反應(yīng)以取樣電壓的形式送入到ADC0809,進行A/D轉(zhuǎn)換后并將轉(zhuǎn)換的數(shù)據(jù)送入單片機進行分析處理,并判斷是否醉酒駕車,再通過液晶板顯示出來。DS18B20其自身的溫度傳感器所產(chǎn)生的溫度數(shù)字數(shù)據(jù)存入其自身的存儲器,單片機對其控制讀出溫度數(shù)據(jù),然后經(jīng)過計算處理,將當前環(huán)境溫度由液晶板輸出。數(shù)字輸出模擬輸出傳感器模數(shù)轉(zhuǎn)換控制輸出單片機LCD顯示輸出圖2.1系統(tǒng)設(shè)計方框圖2.1.2 設(shè)計要求(1)傳感器TGS822的電壓模擬輸出范圍為0
3、-5V;(2)模數(shù)轉(zhuǎn)換芯片ADC0809采樣電壓范圍為0-5V,分辨率為8位,采樣精度為5/256V,達到256個量化級的數(shù)字電壓,其工作頻率為1MHz;(3)單片機AT89C52工作頻率為6 MHz;(4)LCD顯示器用50K的可調(diào)電阻調(diào)節(jié)使其清晰顯示,消除“鬼影”。2.2 系統(tǒng)整機原理圖分析如圖2.2系統(tǒng)整機原理圖,本系統(tǒng)工作原理如下:單片機的晶振為6MHz,可以直接通過ALE口輸出1 MHz為ADC0809作為工作時鐘而不需要進行分頻,然后通過單片機的P2.0、P3.7分別控制ADC0809的ALE和START端口進行模數(shù)轉(zhuǎn)換;通過P2.2、P2.3、P2.5分別控制ADDB、ADDC、
4、ADDA端口進行選擇模擬數(shù)據(jù)輸入口;通過P0口進行ADC0809數(shù)據(jù)輸出。TGS822的采樣電壓由ADC0809的IN0口輸入,通過轉(zhuǎn)換后由其D0-D7輸出到單片機的P0口,然后通過傳感器的特性公式計算由P1口將數(shù)據(jù)通過LCD的DB0-DB7輸出。第3章 系統(tǒng)硬件設(shè)計3.1系統(tǒng)硬件設(shè)計原理圖分析本硬件由五部分組成:單片機模塊,模數(shù)轉(zhuǎn)換模塊,酒精傳感器模塊,溫度傳感模塊。其系統(tǒng)硬件設(shè)計原理圖如圖3.2所示,其整機工作原理如下,本系統(tǒng)由單片機AT89C2控制,其直接控制三個模塊:數(shù)轉(zhuǎn)換模塊將酒精傳感器采集到模擬電壓信號轉(zhuǎn)換成輸送到單片機控制處理,溫度傳感器DS18B20可以將采集到的溫度信號直接以
5、數(shù)字信號的形式傳到單片機,LCD顯示模塊可以將經(jīng)過單片機處理過的酒精氣體濃度和溫度的具體量化值顯示。圖3.1系統(tǒng)硬件設(shè)計原理圖3.2單片機模塊單片機的選擇AT89S52是低功耗、高性能、采用CMOS工藝的8位單片機,其片內(nèi)具有8KB 的可在線編程的Flash 存儲器。該單片機采用了ATMEL公司的高密度、非易失性存儲器技術(shù),與工業(yè)標準型80C51單片機的指令系統(tǒng)和引腳完全兼容;片內(nèi)的Flash存儲器可在線重新編程,或者使用通用的非易失性存儲器編程;通用的8位CPU與在線可編程Flash集成在一塊芯片上,從而使AT89S52 功能更加完善,應(yīng)用更加靈活;具有較高的性能價格比,使其在嵌入式控制系統(tǒng)
6、中有著廣泛的應(yīng)用前景。MCS單片機都采用40引腳的雙列直插封裝方式。下圖為引腳排列圖, 40條引腳說明如下:1主電源引腳Vss和Vcc(1)Vss接地(2)Vcc正常操作時為+5伏電源2外接晶振引腳XTAL1和XTAL2(1)XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當采用外部振蕩器時,此引腳接地。(2)XTAL2內(nèi)部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當采用外部振蕩器時,此引腳接外部振蕩源。3控制或與其它電源復(fù)用引腳RST/VPD,ALE/和/Vpp(1)RST/VPD 當振蕩器運行時,在此引腳上出現(xiàn)兩個機器周期的高電平(由低到高跳變),將使單片機復(fù)位在Vc
7、c掉電期間,此引腳可接下圖8051引腳排列圖上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。(2) ALE/正常操作時為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器,ALE 引腳以不變的頻率(振蕩器頻率的)周期性地發(fā)出正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。但要注意,每當訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖,ALE 端可以驅(qū)動(吸收或輸出電流)八個LSTTL電路。對于EPROM型單片機,在EPROM編程期間,此引腳接收編程脈沖(功能)。(3)外部程序存儲器讀選通信號輸出端,在從外部程序存儲取指令(或數(shù)據(jù))期間, 在每個機器周期內(nèi)兩次有效
8、, 同樣可以驅(qū)動八LSTTL輸入。(4)/Vpp 、/Vpp為內(nèi)部程序存儲器和外部程序存儲器選擇端。當 /Vpp為高電平時,訪問內(nèi)部程序存儲器,當/Vpp為低電平時,則訪問外部程序存儲器。對于EPROM型單片機,在EPROM編程期間,此引腳上加21伏EPROM編程電源(Vpp)。4、輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。(1)P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動八個LSTTL負載。(2)P1口(P1.0 - P
9、1.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。(3)P2口(P2.0 - P2.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅(qū)動(吸收或輸出電流)四個LSTTL負載。(4)P3口(P3.0 - P3.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。3.3 模數(shù)轉(zhuǎn)換器模塊ADC0809性能的介紹模數(shù)轉(zhuǎn)換電路的功能是將連續(xù)變化的模擬量轉(zhuǎn)換為離散的數(shù)字量,是架起模擬系統(tǒng)跟數(shù)字系統(tǒng)之間連接的橋梁。對于本系統(tǒng)而言,就是用于快速、高精度地對輸入的酒精濃度信號進行
10、采樣編碼,將其轉(zhuǎn)換成單片機所能夠處理的數(shù)字量。模數(shù)轉(zhuǎn)換電路是本系統(tǒng)的關(guān)鍵部分,其性能的好壞直接影響整個系統(tǒng)的質(zhì)量。根據(jù)A/D 轉(zhuǎn)換器的工作原理可將A/D 轉(zhuǎn)換器分成兩大類:一類是直接型A/D轉(zhuǎn)換器;另一類是間接型A/D 轉(zhuǎn)換器。在直接型A/D 轉(zhuǎn)換器中,輸入的模擬電壓被直接轉(zhuǎn)換成數(shù)字代碼,不經(jīng)任何中間變量。在間接型A/D 轉(zhuǎn)換器中,首先把輸入的模擬電壓轉(zhuǎn)換成某種中間變量(時間、頻率、脈沖寬度等等),然后再把這個中間變量轉(zhuǎn)換為數(shù)字代碼輸出。1主要特性(1)8路8位A/D轉(zhuǎn)換器,即分辨率8位。(2)具有轉(zhuǎn)換起??刂贫恕#?)轉(zhuǎn)換時間為100s。(4)單個+5V電源供電。(5)模擬輸入電壓范圍0+5
11、V,不需零點和滿刻度校準。(6)工作溫度范圍為-40+85攝氏度。(7)低功耗,約15mW。2內(nèi)部結(jié)構(gòu)ADC0809由4部分邏輯結(jié)構(gòu)構(gòu)成,如圖3.3所示。ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因此,ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨工作。輸入輸出與TTL兼容。3外部特性(引腳功能)ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖3.3所示。下面說明各引腳功能。IN0IN7:8路模擬量輸入端。2-12-
12、8:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路。ALE:地址鎖存允許信號,輸入,高電平有效。START: 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:地。4. ADC0809的工作原理ADC0809的工作過程是:首先輸
13、入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 AD轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到AD轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示AD轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。圖3.3 ADC0809系統(tǒng)內(nèi)部結(jié)構(gòu)框圖和外部引腳圖3.4酒精傳感器模塊3.4.1傳感器性能分析TGS822氣體傳感器的敏感材料是金屬氧化物,最具代表性的是SnO2。金屬氧化物晶體如SnO2在空氣中被加熱到一定高的溫度時,氧被吸附在
14、的帶一個負電荷的晶體表面。然后,晶體表面的供與電子被轉(zhuǎn)移到吸附的氧上,結(jié)果在一個空間電荷層留下正電荷。這樣,表面勢能形成一個勢壘,從而阻礙電子流動。在傳感器的內(nèi)部,電流流過SnO2微晶的結(jié)合部位(晶粒邊界)。在晶粒邊界,吸附的氧形成一個勢壘阻止載流子自由移動,傳感器的電阻即緣于這種勢壘。還原性氣體出現(xiàn)時,帶有負電荷的氧的表面濃度降低,導致晶粒邊界的勢壘降低。降低了的勢壘使傳感器的阻值減小了。傳感器阻值和還原性氣體濃度之間的關(guān)系可由下面的一定范圍氣體濃度方程表示:Rs=AC-這里:Rs=傳感器電阻 A=常數(shù) C=氣體濃度 =Rs曲線的斜率費加羅氣體傳感器的氣敏素子,使用在清潔空氣中電導率低的Sn
15、O2。當存在檢知對象氣體時,傳感器的電導率隨空氣中氣體濃度增加而增大。使用簡單的電路即可將電導率的變化,轉(zhuǎn)換為與該氣體濃度相對應(yīng)的輸出信號。TGS822 傳感器對酒精、有機溶劑靈敏度高,在酒精檢測器等方面得到廣泛使用。相同特性的 TGS823,采用了陶瓷底座,可以在200的高溫氣氛中使用。表3.3.1 TGS822性能參數(shù)一覽表型號素子類型TGS8228系列標準封裝對象氣體塑料、SUS雙重金屬網(wǎng)酒精、有機溶劑檢測范圍505000ppm標準回路條件標準試驗條件下的電學特性加熱器電壓VH5.0+0.2V DC/AC回路電壓VCMAX 24VPs15mw負載電壓加熱器電壓RLRH可變Ps15mw38
16、+3.0 W (室溫)加熱器功率PH660+50mw VH=5.0V傳感器電阻RS300ppm乙醇中 1-10kW靈敏度(Rs的變化率)0.4+0.1Rs(EtOH:300ppm)Rs(EtOH:50ppm)標準試驗條件試驗氣體條件回路條件20+2, 65+5%RHVC=10.0+0.1V DC/ACVH=5.0+0.05V DC/AC預(yù)熱條件七天以上下圖3.3.1中縱坐標也以傳感器電阻比(Rs/Ro)表示,這里的Rs,Ro 定義如下:Rs=含300ppm 乙醇、各種溫/濕度下的電阻值Ro=含300ppm 乙醇、2065%R.H.下的電阻值圖3.3.1不同濃度氣體對應(yīng)的阻值3.3.2呼出酒精氣
17、體濃度與血液酒精濃度關(guān)系表3.3.2 血液與呼氣酒精含量換算一覽表序 號呼出氣體中酒精濃度mg/L呼出氣體中酒精濃度10¯6血液中酒精濃度mg/100mL10.022711.85520.045423.691030.068135.531540.090947.432050.113659.282560.136371.133070.159183.023580.181894.864090.2045106.7145100.2272118.5650110.2500130.4555120.2727141.2660130.2954154.1565140.3181166.0070150.3409177.
18、8975160.3636189.7280170.3863201.1585180.4091213.4390190.4318225.3395200.4515237.12100210.6618355.68150220.9091474.24200車輛駕駛?cè)藛T血液中的酒精含量大于或等于80mg/100ml的駕駛行為。表3.3.2血液酒精含量臨界值一覽表行為類別對 象臨界值(mg/100ml)飲酒駕駛車輛駕駛?cè)藛T20醉酒駕駛車輛駕駛?cè)藛T80由表3.3.2血液酒精含量臨界值可以進行定量的分析車輛駕駛?cè)藛T酒后駕駛后血液中的酒精濃度,進而對于該司機的酒駕行為類別進行定性,如血
19、液酒精濃度低于20 mg/100ml,則認為是飲酒駕駛,可以對其酌情處理;如若血液酒精濃度超過了20 mg/100ml且低于80 mg/100ml,則認為是醉酒駕駛,應(yīng)按照國家交通法規(guī)對其處理。3.4 LCD顯示模塊1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其中:引腳 符號 功能說明1 VSS 一般接地2 VDD 接電源(+5V)3 V0 液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比
20、度)。4 RS RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。5 R/W R/W為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。6 E E(或EN)端為使能(enable)端,下降沿使能。7 DB0 底4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8 DB1 底4位三態(tài)、 雙向數(shù)據(jù)總線 1位9 DB2 底4位三態(tài)、 雙向數(shù)據(jù)總線 2位10 DB3 底4位三態(tài)、 雙向數(shù)據(jù)總線 3位11 DB4 高4位三態(tài)、 雙向數(shù)據(jù)總線 4位12 DB5 高4位三態(tài)、 雙向數(shù)據(jù)總線 5位13 DB6 高4位三態(tài)、 雙向數(shù)據(jù)總線 6位14 DB7 高4位三態(tài)、 雙向數(shù)據(jù)總線 7
21、位(最高位)(也是busy flang)15 BLA 背光電源正極16 BLK 背光 電源負極寄存器選擇控制表即為ASCII碼表RS R/W 操作說明0 0 寫入指令寄存器(清除屏等)0 1 都busy flag(DB7),以及讀取位址計數(shù)器(DB0DB6)值1 0 寫入數(shù)據(jù)寄存器(顯示各字型等)1 1 從數(shù)據(jù)寄存器讀取數(shù)據(jù)1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的
22、點陣字符圖形顯示出來,我們就能看到字母“A”。因為1602識別的是ASCII碼,試驗可以用ASCII碼直接賦值,在單片機編程中還可以用字符型常量或變量賦值,如'A。圖3.4 LCD1602外部引腳圖第4章 系統(tǒng)軟件開始設(shè)置第一行顯示內(nèi)容設(shè)置顯示模式顯示第一行內(nèi)容延時延時關(guān)顯示延時初始化DS18B20跳過讀序列號清屏延時啟動溫度轉(zhuǎn)換延時關(guān)顯示初始化延時跳過讀序列號讀取溫度值并計算設(shè)置第一行顯示位置顯示第一行內(nèi)容設(shè)置第一行顯示內(nèi)容顯示第一行內(nèi)容控制ADC0809轉(zhuǎn)換設(shè)置第二行顯示內(nèi)容讀取數(shù)據(jù)比較計算顯示第二行內(nèi)容4.1整機系統(tǒng)流程圖4.1.1ADC程序流程圖計算讀出數(shù)據(jù)初始化判斷ADC是否
23、轉(zhuǎn)換完畢開始 否 否 是單片機對ADC進行初始化,使其能進入正常工作狀態(tài),通過判斷ADC轉(zhuǎn)換判斷標志EOC,看其是否轉(zhuǎn)換完畢,如果沒有,則繼續(xù)判斷,如若完成則將ADC轉(zhuǎn)換的數(shù)據(jù)由單片機讀取并計算,然后進入下一環(huán)節(jié)。4.1.2 LCD程序流程圖判斷飲酒狀態(tài)開始初始化LCD寫入數(shù)據(jù)判斷LCD是否忙碌飲酒駕駛醉酒駕駛 是 是 否 單片機對LCD進行初始化,使其能進入正常工作狀態(tài),然后判斷LCD是否處于忙碌狀態(tài),如果是則繼續(xù)判斷,如若不是則將從ADC轉(zhuǎn)換后計算出來的結(jié)果通過輸出指令輸出,并判斷計算出的結(jié)果處于哪種狀態(tài),并輸出。附錄1 酒精測試儀程序#include<reg51.h>#inc
24、lude<intrins.h>sbit rs=P24; /LCD液晶引腳定義,p0接DB0_DB7sbit rw=P27;sbit ep=P26;sbit ale=P20; /ADC0809引腳定義sbit start=P37;sbit oe=P35;sbit eoc=P36;sbit adda=P25;sbit addb=P22;sbit adc=P23;sbit light=P30; /報警輸出sbit DQ=P33; /DS18B20輸入腳定義sbit DE=P31;unsigned char tempL=0;unsigned char tempH=0;float tempe
25、rature;unsigned char code dis1="WORK START"/狀態(tài)顯示unsigned char code dis2="ALCOHOL TEST"unsigned char code dis3="mg/100ml"unsigned char code dis4="SAFE DRIVING"unsigned char code dis5="DRINK-DRIVING"unsigned char code dis6="DRUNK DRIVING"void
26、 delay(unsigned char ms) /延時1unsigned char i,j;while(ms-)for(i=0;i<250;i+)for(j=0;j<50;j+)_nop_();_nop_();void delay2(unsigned int time ) /延時2unsigned int n;n=0;while (n<time) n+;return;bit lcd_bz() /LCD判忙bit result;rs=0;rw=1;ep=1;_nop_();_nop_();result=(bit)(P0&0x80);ep=0;return result
27、;lcd_wcmd(unsigned char cmd) /寫指令數(shù)據(jù)到LCDwhile(lcd_bz()rs=0;rw=0;ep=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();ep=1;_nop_();_nop_();ep=0;lcd_pos(unsigned char pos) /設(shè)定顯示位置lcd_wcmd(pos | 0x80);lcd_wdat(unsigned char dat) /寫入顯示數(shù)據(jù)到LCDwhile(lcd_bz();rs=1;rw=0;ep=0;P0=dat;_nop_();_nop_();ep=1;_nop_();_nop_()
28、;ep=0;lcd_init() /LCD初始化lcd_wcmd(0x38);delay(1);lcd_wcmd(0x0c);delay(1);lcd_wcmd(0x06);delay(1);lcd_wcmd(0x01);delay(1);Init_DS18B20(void) /DS18B20初始化unsigned char x=0;DQ=1;delay2(8);DQ=0;delay2(85);DQ=1;delay2(14);delay2(20);ReadOneChar(void) / 向DS18B20讀一字節(jié)數(shù)據(jù)unsigned char i=0;unsigned char dat=0;fo
29、r(i=8;i>0;i-)DQ=1;delay2(1);DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;delay2(4);return(dat);WriteOneChar(unsigned char dat) /向DS18B20寫一字節(jié)數(shù)據(jù)unsigned char i=0;for(i=8;i>0;i-)DQ=0;DQ=dat&0X01;delay2(5);DQ=1;dat>>=1;delay2(4);ReadTemperature(void) /向DS18B20讀溫度值Init_DS18B20();WriteOneChar(0
30、xcc);WriteOneChar(0x44);delay2(125);Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0xbe);tempL=ReadOneChar();tempH=ReadOneChar();temperature=(tempH*256)+tempL)*0.0625;delay2(200);return(temperature);main()float x,y,k;unsigned int da,n,temp1,temp2,i,gw,sw,bw,kw,xw;light=0;/數(shù)據(jù)初始化lcd_init();delay(3);lc
31、d_pos(0);i=0;while(dis1i!='0')/顯示開始工作lcd_wdat(dis1i);i+;lcd_pos(0x41);i=0;while(dis2i!='0')/顯示開始測試lcd_wdat(dis2i);i+;delay(32);while(1)/無限循環(huán)測試lcd_init();/初始化LCDale=0;/初始化ADC0809start=0;adda=0;/定義TGS822信號輸入引腳號addb=0;adc=0;_nop_();ale=1;/啟動 ADC0809start=1;_nop_();start=0;_nop_();_nop_(
32、);_nop_();_nop_();_nop_();_nop_();while(eoc=0);/判斷ADC0809是否轉(zhuǎn)換完畢oe=1;/打開ADC0809數(shù)據(jù)鎖存_nop_();da=P1;/讀取轉(zhuǎn)換后數(shù)據(jù)oe=0;y=(2550/da-10)/9.27;/代入傳感器性質(zhì)公式進行計算if(y>2.68)x=61.61-4.08*y;else if(y>2.38)x=139.3-33.3*y;else if(y>2.23)x=218.7-66.7*y;else if(y>2.128)x=288.6-98*y;else if(y>2)x=262.88-85.9*y;
33、else if(y>1.89)x=254.5-81.8*y;else if(y>1.62)x=450-185.2*y;else if(y>1.209)x=347.1-121.7*y;lse if(y>0.822)x=816.5-516.8*y;else if(y>0.635)x=1279.2-1069.5*y;elsex=2238.7-2580.6*y;if(da<=17)x=0;n=(int)(x/0.23698);gw=n%10+0x30;/取出所得數(shù)據(jù)個、十、百、千每位上的 數(shù),并轉(zhuǎn)換對應(yīng)的ASCII表中數(shù)據(jù)便于輸出temp1=n/10;sw=temp1%10+0x30;temp2=temp1/10;bw=temp2%10+0x30;kw=temp2/10+0x30;lcd_pos(0x84);/設(shè)定小數(shù)點在LCD顯示位置lcd_wdat(0x2e);/輸入小數(shù)點if(n>=1000)/判斷數(shù)據(jù)大小,按位輸出lcd_pos(0x85);lcd_wdat(gw);lcd_pos(0x83);lcd_wdat(sw);lcd_pos(0x82);lcd_wdat(bw);lcd_pos(0x81);lcd_wdat(kw);e
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度廠房租賃安全協(xié)議書范本(含應(yīng)急演練)4篇
- 2025年廠區(qū)門衛(wèi)服務(wù)外包與突發(fā)事件處理合同4篇
- 2025年度棉紗品牌營銷與推廣服務(wù)合同4篇
- 2025年度節(jié)能車間承包合作協(xié)議4篇
- 二零二五版智能家居系統(tǒng)安裝施工合同范本(含售后服務(wù))3篇
- 2025年度互聯(lián)網(wǎng)金融服務(wù)保密及風險控制協(xié)議3篇
- 二零二五年度高校教職工宿舍區(qū)保潔服務(wù)合同4篇
- 二零二五版新能源汽車充電網(wǎng)絡(luò)合作合并合同4篇
- 2025年汽車銷售售后服務(wù)網(wǎng)點加盟合同4篇
- 2025年度城市污水處理廠升級改造合同范本4篇
- 微信小程序運營方案課件
- 抖音品牌視覺識別手冊
- 陳皮水溶性總生物堿的升血壓作用量-效關(guān)系及藥動學研究
- 安全施工專項方案報審表
- 學習解讀2022年新制定的《市場主體登記管理條例實施細則》PPT匯報演示
- 好氧廢水系統(tǒng)調(diào)試、驗收、運行、維護手冊
- 中石化ERP系統(tǒng)操作手冊
- 五年級上冊口算+脫式計算+豎式計算+方程
- 氣體管道安全管理規(guī)程
- 《眼科學》題庫
- 交通燈控制系統(tǒng)設(shè)計論文
評論
0/150
提交評論