下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章研究?jī)?nèi)容TGS822對(duì)酒精濃度的變化,其阻值產(chǎn)生相應(yīng)的變化,然后通過(guò)取樣電阻分壓的變化表現(xiàn)出來(lái);人體血液酒精濃度的不同,其呼出的氣體中酒精濃度也不同。通過(guò)TGS822對(duì)呼出氣體中酒精濃度的反應(yīng)以取樣電壓的形式送入到 ADC0809,進(jìn)行A/D轉(zhuǎn)換后并將轉(zhuǎn)換的數(shù)據(jù)送入單片機(jī)進(jìn)行分析處理, 并判斷是否醉酒駕車(chē),再通過(guò)液晶板顯示出來(lái)。DS18B20其自身的溫度傳感器所產(chǎn)生的溫度數(shù)字?jǐn)?shù)據(jù)存入其自身的存儲(chǔ)器,單片機(jī)對(duì)其控制讀出溫度數(shù)據(jù),然后經(jīng)過(guò)計(jì)算處理,將當(dāng)前環(huán)境溫度由液晶板輸出。第第2章總體設(shè)計(jì)2.1本課題的設(shè)計(jì)任務(wù)及要求設(shè)計(jì)任務(wù)設(shè)計(jì)并制作酒精測(cè)試儀,其組成如圖 2.1所示。TGS822對(duì)酒精濃度的變化,其阻值產(chǎn)生相應(yīng)的變化,然后通過(guò)取樣電阻分壓的變化表現(xiàn)出來(lái);人體血液酒精濃度的不同, 其呼出的氣體中酒精濃度也不同。 通過(guò)TGS822對(duì)呼出氣體中酒精濃度的反應(yīng)以取樣電壓的形式送入到 ADC0809,進(jìn)行A/D轉(zhuǎn)換后并將轉(zhuǎn)換的數(shù)據(jù)送入單片機(jī)進(jìn)行分析處理,并判斷是否醉酒駕車(chē),再通過(guò)液晶板顯示出來(lái)。DS18B20其自身的溫度傳感器所產(chǎn)生的溫度數(shù)字?jǐn)?shù)據(jù)存入其自身的存儲(chǔ)器,單片機(jī)對(duì)其控制讀出溫度數(shù)據(jù),然后經(jīng)過(guò)計(jì)算處理,將當(dāng)前環(huán)境溫度由液晶板輸出??刂戚敵?LCD顯示輸出設(shè)計(jì)要求(1)傳感器 TGS822的電壓模擬輸出范圍為 0-5V;(2)模數(shù)轉(zhuǎn)換芯片 ADC0809采樣電壓范圍為 0-5V,分辨率為 8位,采樣精度為 5/256V,達(dá)到 256個(gè)量化級(jí)的數(shù)字電壓,其工作頻率為 1MHz;(3)單片機(jī) AT89C52工作頻率為 6MHz;4)LCD顯示器用 50K的可調(diào)電阻調(diào)節(jié)使其清晰顯示,消除“鬼影”2.2系統(tǒng)整機(jī)原理圖分析如圖2.2系統(tǒng)整機(jī)原理圖,本系統(tǒng)工作原理如下:?jiǎn)纹瑱C(jī)的晶振為 6MHz,可以直接通過(guò) ALE口輸出1MHz為ADC0809作為工作時(shí)鐘而不需要進(jìn)行分頻,然后通過(guò)單片機(jī)的 P2.0、P3.7分別控制 ADC0809的ALE和START端口進(jìn)行模數(shù)轉(zhuǎn)換;通過(guò) P2.2、P2.3、P2.5分別控制 ADDB、ADDC、ADDA端口進(jìn)行選擇模擬數(shù)據(jù)輸入口; 通過(guò)P0口進(jìn)行ADC0809數(shù)據(jù)輸出。 TGS822的采樣電壓由 ADC0809的IN0口輸入,通過(guò)轉(zhuǎn)換后由其 D0-D7輸出到單片機(jī)的 P0口,然后通過(guò)傳感器的特性公式計(jì)算由 P1口將數(shù)據(jù)通過(guò) LCD的DB0-DB7輸出。第第3章系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)原理圖分析本硬件由五部分組成:?jiǎn)纹瑱C(jī)模塊,模數(shù)轉(zhuǎn)換模塊,酒精傳感器模塊,溫度傳感模塊。其系統(tǒng)硬件設(shè)計(jì)原理圖如圖 3.2所示,其整機(jī)工作原理如下,本系統(tǒng)由單片機(jī)AT89C2控制,其直接控制三個(gè)模塊: 數(shù)轉(zhuǎn)換模塊將酒精傳感器采集到模擬電壓信號(hào)轉(zhuǎn)換成輸送到單片機(jī)控制處理,溫度傳感器 DS18B20可以將采集到的溫度信號(hào)直接以數(shù)字信號(hào)的形式傳到單片機(jī), LCD顯示模塊可以將經(jīng)過(guò)單片機(jī)處理過(guò)的酒精氣體濃度和溫度的具體量化值顯示。3.1系統(tǒng)硬件設(shè)計(jì)原理圖單片機(jī)模塊單片機(jī)的選擇AT89S52是低功耗、 高性能、采用 CMOS工藝的 8位單片機(jī), 其片內(nèi)具有 8KB的可在線(xiàn)編程的 Flash存儲(chǔ)器。該單片機(jī)采用了 ATMEL公司的高密度、非易失性存儲(chǔ)器技術(shù),與工業(yè)標(biāo)準(zhǔn)型 80C51單片機(jī)的指令系統(tǒng)和引腳完全兼容;片內(nèi)的 Flash存儲(chǔ)器可在線(xiàn)重新編程,或者使用通用的非易失性存儲(chǔ)器編程;通用的 8位CPU與在線(xiàn)可編程 Flash集成在一塊芯片上,從而使 AT89S52功能更加完善,應(yīng)用更加靈活;具有較高的性能價(jià)格比,使其在嵌入式控制系統(tǒng)中有著廣泛的應(yīng)用前景。MCS單片機(jī)都采用 40引腳的雙列直插封裝方式。下圖為引腳排列圖, 40條引腳說(shuō)明如下:1.主電源引腳 Vss和VccVss接地Vcc正常操作時(shí)為 +5伏電源2.外接晶振引腳 XTAL1和XTAL2XTAL1內(nèi)部振蕩電路反相放大器的輸入端, 是外接晶體的一個(gè)引腳。 當(dāng)采用外部振蕩器時(shí),此引腳接地。XTAL2內(nèi)部振蕩電路反相放大器的輸出端。 是外接晶體的另一端。 當(dāng)采用外部振蕩器時(shí),此引腳接外部振蕩源。3.控制或與其它電源復(fù)用引腳 RST/VPD,ALE/和/VppRST/VPD當(dāng)振蕩器運(yùn)行時(shí), 在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平 (由低到高跳變) ,將使單片機(jī)復(fù)位在 Vcc掉電期間,此引腳可接下圖 8051引腳排列圖上備用電源,由 VPD向內(nèi)部提供備用電源,以保持內(nèi)部 RAM中的數(shù)據(jù)。ALE/正常操作時(shí)為 ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器, ALE引腳以不變的頻率(振蕩器頻率的)周期性地發(fā)出正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。但要注意,每當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè) ALE脈沖,ALE端可以驅(qū)動(dòng)(吸收或輸出電流)八個(gè)LSTTL電路。對(duì)于 EPROM型單片機(jī),在 EPROM編程期間,此引腳接收編程脈沖(功能) 。外部程序存儲(chǔ)器讀選通信號(hào)輸出端, 在從外部程序存儲(chǔ)取指令 (或數(shù)據(jù))期間,在每個(gè)機(jī)器周期內(nèi)兩次有效, 同樣可以驅(qū)動(dòng)八 LSTTL輸入。/Vpp、/Vpp為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng) /Vpp為高電平時(shí),訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器,當(dāng) /Vpp為低電平時(shí),則訪(fǎng)問(wèn)外部程序存儲(chǔ)器。對(duì)于EPROM型單片機(jī),在 EPROM編程期間,此引腳上加 21伏EPROM編程電源(Vpp)4、輸入 /輸出引腳 P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P3.7。P0口( P0.0-P0.7)是一個(gè) 8位漏極開(kāi)路型雙向 I/O口,在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(shù)據(jù)總線(xiàn), P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。P1口( P1.0-P1.7)是一個(gè)帶有內(nèi)部提升電阻的 8位準(zhǔn)雙向 I/O口。能驅(qū)動(dòng) (吸收或輸出電流 )四個(gè) LSTTL負(fù)載。P2口( P2.0-P2.7)是一個(gè)帶有內(nèi)部提升電阻的 8位準(zhǔn)雙向 I/O口,在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),它輸出高 8位地址。 P2口可以驅(qū)動(dòng) (吸收或輸出電流 )四個(gè)LSTTL負(fù)載。P3口( P3.0-P3.7)是一個(gè)帶有內(nèi)部提升電阻的 8位準(zhǔn)雙向 I/O口。能驅(qū)動(dòng) (吸收或輸出電流 )四個(gè) LSTTL負(fù)載。3.3模數(shù)轉(zhuǎn)換器模塊ADC0809性能的介紹模數(shù)轉(zhuǎn)換電路的功能是將連續(xù)變化的模擬量轉(zhuǎn)換為離散的數(shù)字量, 是架起模擬系統(tǒng)跟數(shù)字系統(tǒng)之間連接的橋梁。對(duì)于本系統(tǒng)而言,就是用于快速、高精度地對(duì)輸入的酒精濃度信號(hào)進(jìn)行采樣編碼,將其轉(zhuǎn)換成單片機(jī)所能夠處理的數(shù)字量。模數(shù)轉(zhuǎn)換電路是本系統(tǒng)的關(guān)鍵部分,其性能的好壞直接影響整個(gè)系統(tǒng)的質(zhì)量。根據(jù)A/D轉(zhuǎn)換器的工作原理可將 A/D轉(zhuǎn)換器分成兩大類(lèi):一類(lèi)是直接型 A/D轉(zhuǎn)換器;另一類(lèi)是間接型 A/D轉(zhuǎn)換器。在直接型 A/D轉(zhuǎn)換器中,輸入的模擬電壓被直接轉(zhuǎn)換成數(shù)字代碼,不經(jīng)任何中間變量。在間接型 A/D轉(zhuǎn)換器中,首先把輸入的模擬電壓轉(zhuǎn)換成某種中間變量(時(shí)間、頻率、脈沖寬度等等) ,然后再把這個(gè)中間變量轉(zhuǎn)換為數(shù)字代碼輸出。1.主要特性1)8路8位A/D轉(zhuǎn)換器,即分辨率 8位。2)具有轉(zhuǎn)換起??刂贫?。3)轉(zhuǎn)換時(shí)間為 100μs。(4)單個(gè) +5V電源供電。(5)模擬輸入電壓范圍 0~+5V,不需零點(diǎn)和滿(mǎn)刻度校準(zhǔn)。(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路模擬開(kāi)關(guān)、 地址鎖存與譯碼器、比較器、 8位開(kāi)關(guān)樹(shù)型 D/A轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因此, ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨(dú)工作。輸入輸出與 TTL兼容。3.外部特性(引腳功能)ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖 3.3所示。下面說(shuō)明各引腳功能。IN0~IN7:8路模擬量輸入端。2-1~2-8:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線(xiàn),用于選通 8路模擬輸入中的一路。ALE:地址鎖存允許信號(hào),輸入,高電平有效。START:A/D轉(zhuǎn)換啟動(dòng)信號(hào),輸入,高電平有效。EOC:A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng) A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平) 。OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng) A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門(mén),輸出數(shù)字量。CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于 640KHZ。REF(+)、REF(-):基準(zhǔn)電壓。Vcc:電源,單 ~+5V。GND:地。4.ADC0809的工作原理ADC0809的工作過(guò)程是:首先輸入 3位地址,并使 ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通 8路模擬輸入之一到比較器。 START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后 EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到 A/D轉(zhuǎn)換完成, EOC變?yōu)楦唠娖?,指?A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng) OE輸入高電平 時(shí),輸出三態(tài)門(mén)
打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線(xiàn)上。打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線(xiàn)上。圖3.3ADC0809系統(tǒng)內(nèi)部結(jié)構(gòu)框圖和外部引腳圖3.4酒精傳感器模塊傳感器性能分析TGS822氣體傳感器的敏感材料是金屬氧化物 ,最具代表性的是 SnO2。金屬氧SnO2在空氣中被加熱到一定高的溫度時(shí), 氧被吸附在的帶一個(gè)負(fù)電荷在傳感器的內(nèi)部,電流流過(guò) SnO2微晶的結(jié)合部位(晶粒邊界) 。在晶粒邊界,Rs=A[C]-α這里: Rs=傳感器電阻 A=常數(shù)[C]=氣體濃度 α=Rs曲線(xiàn)的斜率費(fèi)加羅氣體傳感器的氣敏素子,使用在清潔空氣中電導(dǎo)率低的 SnO2。當(dāng)存在TGS822傳感
器對(duì)酒精、有機(jī)溶劑靈敏度高,在酒精檢測(cè)器等方面得到廣泛使用。相同特性的TGS823,采用了陶瓷底座,可以在 200℃的高溫氣氛中使用。表3.3.1TGS822性能參數(shù)一覽表型號(hào)素子類(lèi)型TGS8228系列標(biāo)準(zhǔn)封裝對(duì)象氣體塑料、 SUS雙重金屬網(wǎng)酒精、有機(jī)溶劑檢測(cè)范圍50—5000ppm標(biāo)準(zhǔn)回路條件標(biāo)準(zhǔn)試驗(yàn)條件下的電學(xué)特性加熱器電壓VH5.0+0.2VDC/AC回路電壓VCMAX24VPs≤15mw負(fù)載電壓加熱器電壓RLRH可變Ps≤15mw38+3.0 (室溫)加熱器功率PH660+50mw VH=5.0V傳感器電阻RS300ppm乙醇中 1-10k靈敏度( Rs的變化率)0.4+0.1Rs(EtOH:300ppm)Rs(EtOH:50ppm)標(biāo)準(zhǔn)試驗(yàn)條件試驗(yàn)氣體條件回路條件20+2℃,65+5%RHVC=10.0+0.1VDC/ACVH=5.0+0.05VDC/AC預(yù)熱條件七天以上下圖 3.3.1中縱坐標(biāo)也以傳感器電阻比( Rs/Ro)表示,這里的 Rs,Ro定義如下:Rs=含300ppm乙醇、各種溫 /濕度下的電阻值Ro=含300ppm乙醇、 20℃65%R.H.下的電阻值3.3.1不同濃度氣體對(duì)應(yīng)的阻值3.3.2呼出酒精氣體濃度與血液酒精濃度關(guān)系表3.3.2血液與呼氣酒精含量換算一覽表序號(hào)呼出氣體中酒精濃度 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.8975160.3636189.7280170.3863201.1585180.4091213.4390190.4318225.3395200.4515237.12100210.6618355.68150220.9091474.24200車(chē)輛駕駛?cè)藛T血液中的酒精含量大于或等于 80mg/100ml的駕駛行為。表3.3.2血液酒精含量臨界值一覽表行為類(lèi)別對(duì)象臨界值( mg/100ml)飲酒駕駛車(chē)輛駕駛?cè)藛T20醉酒駕駛車(chē)輛駕駛?cè)藛T803.3.2血液酒精含量臨界值可以進(jìn)行定量的分析車(chē)輛駕駛?cè)藛T酒后駕駛后血液中的酒精濃度,進(jìn)而對(duì)于該司機(jī)的酒駕行為類(lèi)別進(jìn)行定性,如血液酒精濃度低于20mg/100ml,則認(rèn)為是飲酒駕駛,可以對(duì)其酌情處理;如若血液酒精濃度超過(guò)了20mg/100ml且低于80mg/100ml,則認(rèn)為是醉酒駕駛,應(yīng)按照國(guó)家交通法規(guī)對(duì)其處理。3.4LCD顯示模塊1602字符型LCD通常有14條引腳線(xiàn)或 16條引腳線(xiàn)的 LCD,多出來(lái)的 2條線(xiàn)是背光電源線(xiàn)VCC(15腳)和地線(xiàn) GND(16腳),其控制原理與 14腳的LCD完全一樣, 其中:引腳符號(hào)功能說(shuō)明VSS一般接地VDD接電源( +5V)V0液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影” ,使用時(shí)可以通過(guò)一個(gè) 10K的電位器調(diào)整對(duì)比度)。RSRS為寄存器選擇, 高電平1時(shí)選擇數(shù)據(jù)寄存器、 低電平0時(shí)選擇指令寄存器。R/WR/W為讀寫(xiě)信號(hào)線(xiàn), 高電平 (1)時(shí)進(jìn)行讀操作, 低電平 (0)時(shí)進(jìn)行寫(xiě)操作。EE(或EN)端為使能 (enable)端,下降沿使能。DB0底4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 0位(最低位)DB1底4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 1位
9DB2底9DB2底4位三態(tài)、雙向數(shù)據(jù)總線(xiàn)2位10DB3底4位三態(tài)、11DB410DB3底4位三態(tài)、11DB4高4位三態(tài)、12DB5高4位三態(tài)、雙向數(shù)據(jù)總線(xiàn) 4 位雙向數(shù)據(jù)總線(xiàn) 5 位13DB6高4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 6位14DB7高4位三態(tài)、雙向數(shù)據(jù)總線(xiàn) 14DB7高4位三態(tài)、15BLA背光電源正極16BLK背光電源負(fù)極ASCII碼表RSR/W操作說(shuō)明00寫(xiě)入指令寄存器(清除屏等)01都busyflag(DB7),以及讀取位址計(jì)數(shù)器( DB0~DB6)值0寫(xiě)入數(shù)據(jù)寄存器(顯示各字型等)1從數(shù)據(jù)寄存器讀取數(shù)據(jù)1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器( CGROM)已經(jīng)存儲(chǔ)了 160個(gè)不同的點(diǎn)A”的代碼是01000001B(41H),顯示時(shí)模塊把地址 41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就A”。因?yàn)?602識(shí)別的是 ASCII碼,試驗(yàn)可以用 ASCII碼直接賦值, 在單片機(jī)編程'A’。3.4LCD1602外部引腳圖第4章系統(tǒng)軟件
4.1整機(jī)系統(tǒng)流程圖4.1.1ADC程序流程圖單片機(jī)對(duì) ADC進(jìn)行初始化,使其能進(jìn)入正常工作狀態(tài),通過(guò)判斷 ADC轉(zhuǎn)換判斷標(biāo)志 EOC,看其是否轉(zhuǎn)換完畢,如果沒(méi)有,則繼續(xù)判斷,如若完成則將 ADC轉(zhuǎn)換的數(shù)據(jù)由單片機(jī)讀取并計(jì)算,然后進(jìn)入下一環(huán)節(jié)。4.1.24.1.2LCD程序流程圖單片機(jī)對(duì) LCD進(jìn)行初始化,使其能進(jìn)入正常工作狀態(tài) ,然后判斷 LCD是否處于忙碌狀態(tài),如果是則繼續(xù)判斷,如若不是則將從 ADC轉(zhuǎn)換后計(jì)算出來(lái)的結(jié)果通過(guò)輸出指令輸出,并判斷計(jì)算出的結(jié)果處于哪種狀態(tài),并輸出。1酒精測(cè)試儀程序#include<reg51.h>#include<intrins.h>sbitrs=P2^4;//LCD液晶引腳定義, p0接DB0_DB7sbitrw=P2^7;sbitep=P2^6;sbitale=P2^0; //ADC0809引腳定義sbitstart=P3^7;sbitoe=P3^5;sbiteoc=P3^6;sbitadda=P2^5;sbitaddb=P2^2;sbitadc=P2^3;sbitlight=P3^0; //報(bào)警輸出sbitDQ=P3^3;//DS18B20輸入腳定義sbitDE=P3^1;unsignedchartempL=0;unsignedchartempH=0;floattemperature;unsignedcharcodedis1[]={"WORKSTART"}; //狀態(tài)顯示unsignedcharcodedis2[]={"ALCOHOLTEST"};unsignedcharcodedis3[]={"mg/100ml"};unsignedcharcodedis4[]={"SAFEDRIVING"};unsignedcharcodedis5[]={"DRINK-DRIVING"};unsignedcharcodedis5[]={"DRINK-DRIVING"};unsignedcharcodedis6[]={"DRUNKDRIVING"};voiddelay(unsignedcharms)//延時(shí) 1{unsignedchari,j;while(ms--){for(i=0;i<250;i++)for(j=0;j<50;j++){_nop_();_nop_();}}}voiddelay2(unsignedinttime)//延時(shí)2{unsignedintn;n=0;while(n<time){n++;}return;}bitlcd_bz()//LCD判忙{bitresult;rs=0;rw=1;ep=1;_nop_();_nop_();result=(bit)(P0&0x80);ep=0;returnresult;}lcd_wcmd(unsignedcharcmd)//寫(xiě)指令數(shù)據(jù)到 LCD{while(lcd_bz())rs=0;rw=0;ep=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();ep=1;_nop_();_nop_();ep=0;}lcd_pos(unsignedcharpos)//設(shè)定顯示位置{lcd_wcmd(pos|0x80);}lcd_wdat(unsignedchardat)//寫(xiě)入顯示數(shù)據(jù)到 LCD{while(lcd_bz());rs=1;rw=0;ep=0;P0=dat;_nop_();_nop_();ep=1;_nop_();_nop_();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初始化{unsignedcharx=0;DQ=1;delay2(8);DQ=0;delay2(85);DQ=1;delay2(14);delay2(20);}ReadOneChar(void)//向DS18B20讀一字節(jié)數(shù)據(jù){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=1;delay2(1);DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;delay2(4);}return(dat);}WriteOneChar(unsignedchardat)//向DS18B20寫(xiě)一字節(jié)數(shù)據(jù){unsignedchari=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(0xcc);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(){floatx,y,k;unsignedintda,n,temp1,temp2,i,gw,sw,bw,kw,xw;light=0; //數(shù)據(jù)初始化lcd_init();delay(3);lcd_pos(0);i=0;while(dis1[i]!='\0') //顯示開(kāi)始工作{lcd_wdat(dis1[i]);i++;}lcd_pos(0x41);i=0;while(dis2[i]!='\0') //顯示開(kāi)始測(cè)試{lcd_wdat(dis2[i]);i++;}delay(32);while(1) //無(wú)限循環(huán)測(cè)試{lcd_init(); //初始化 LCDale=0;//初始化 ADC0809start=0;adda=0; //定義 TGS822信號(hào)輸入引腳號(hào)elseif(y>2)elseif(y>2)addb=0;adc=0;_nop_();ale=1;//啟動(dòng) ADC0809start=1;_nop_();start=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();while(eoc==0);//判斷 ADC0809是否轉(zhuǎn)換完畢oe=1;//打開(kāi) ADC0809數(shù)據(jù)鎖存_nop_();da=P1;//讀取轉(zhuǎn)換后數(shù)據(jù)oe=0;y=(2550/da-10)/9.27; //代入傳感器性質(zhì)公式進(jìn)行計(jì)算if(y>2.68)x=61.61-4.08*y;elseif(y>2.38)x=139.3-33.3*y;elseif(y>2.23)x=218.7-66.7*y;elseif(y>2.128)x=288.6-98*y;x=262.88-85.9*y;elseif(y>1.89)x=254.5-81.8*y;elseif(y>1.62)x=450-185.2*y;elseif(y>1.209)x=347.1-121.7*y;lseif(y>0.822)x=816.5-516.8*y;elseif(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ù)個(gè)、十、百、千每位上的數(shù),并轉(zhuǎn)換對(duì)應(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ù)點(diǎn)在 LCD顯示位置lcd_wdat(0x2e);//輸入小數(shù)點(diǎn)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);}elseif(n>=100){lcd_pos(0x85);lcd_wdat(gw);lc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 3D打印技術(shù)在神經(jīng)保護(hù)手術(shù)中的實(shí)踐
- 利用協(xié)同過(guò)濾算法的校園圖書(shū)借閱行為分析課題報(bào)告教學(xué)研究課題報(bào)告
- 2025年廣州醫(yī)科大學(xué)附屬第四醫(yī)院編外招聘放療專(zhuān)業(yè)技術(shù)人員備考題庫(kù)及答案詳解一套
- 2025年河北省三河市醫(yī)院招聘36人備考題庫(kù)及參考答案詳解一套
- 2025年西安市灞橋區(qū)中醫(yī)醫(yī)院腦病科康復(fù)治療師招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 初中物理實(shí)驗(yàn)教學(xué)中圖書(shū)漂流活動(dòng)對(duì)學(xué)生創(chuàng)新能力培養(yǎng)的實(shí)證研究教學(xué)研究課題報(bào)告
- 2025年湖北省地質(zhì)調(diào)查院招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 2025年昆明市精神衛(wèi)生防治醫(yī)院招聘編外工作人員備考題庫(kù)及完整答案詳解1套
- 2025年吉林省路橋工程(集團(tuán))有限公司項(xiàng)目部勞務(wù)派遣人員招聘10人備考題庫(kù)完整答案詳解
- 樂(lè)山市市中區(qū)人民醫(yī)院2025年12月自主招聘編外工作人員備考題庫(kù)完整參考答案詳解
- 2026年北京第一次普通高中學(xué)業(yè)水平合格性考試化學(xué)仿真模擬卷01(考試版及全解全析)
- 各部門(mén)環(huán)境因素識(shí)別評(píng)價(jià)表-塑膠公司
- 律所解除聘用協(xié)議書(shū)
- 2025年綜合辦公室年終工作總結(jié)(5篇)
- 海爾集團(tuán)預(yù)算管理實(shí)踐分析
- 永輝超市存貨管理
- 10kV環(huán)網(wǎng)柜(箱)標(biāo)準(zhǔn)化設(shè)計(jì)方案(2023版)
- 余熱發(fā)電崗前培訓(xùn)
- 變壓器性能測(cè)試的實(shí)施方案
- 科技研發(fā)項(xiàng)目管理辦法
- 重癥胰腺炎個(gè)案護(hù)理
評(píng)論
0/150
提交評(píng)論