劉強(qiáng) 李宏寧
摘要 本系統(tǒng)由采集數(shù)據(jù)、酒精傳感器、AT89C52型號(hào)的單片機(jī)控制器、ADC0809型號(hào)的模數(shù)轉(zhuǎn)換器、LED顯示、繼電器、語音報(bào)警等模塊構(gòu)成。采集的信號(hào)送入單片機(jī),單片機(jī)進(jìn)行計(jì)算,判斷輸出的控制信號(hào);只有在顯示的數(shù)值超限時(shí),系統(tǒng)就自動(dòng)切斷啟動(dòng)電源,并發(fā)出報(bào)警,通過數(shù)碼管將此時(shí)的酒精濃度所對(duì)應(yīng)的電壓值顯示出來,實(shí)現(xiàn)自動(dòng)控制的功能。
【關(guān)鍵詞】傳感器 模數(shù)轉(zhuǎn)換 單片機(jī) 自動(dòng)控制
1 總體方案的設(shè)計(jì)
該系統(tǒng)用單片機(jī)處理氣體中酒精含量是否超限,當(dāng)測(cè)到酒精含量過高時(shí),系統(tǒng)會(huì)自動(dòng)的切斷該汽車引擎的電源,發(fā)出警報(bào)并且在顯示屏上顯示出濃度值,并禁止發(fā)動(dòng)機(jī)啟動(dòng)。
2 系統(tǒng)原理
電壓小于對(duì)應(yīng)的2.3V時(shí)候,P2.1和P2.0都是高電平,繼電器和蜂鳴器都不工作。電壓大于對(duì)應(yīng)的2.3V時(shí)候,P2.1和P2.0都是低電平,繼電器和蜂鳴器都工作,如圖1所示。3軟件設(shè)計(jì)
#include #define us unsigned intsbit U3_OE=P2^4; sbit U3_EOC=P2^5; sbitU3_ALE=P2^6; sbir U3_START=P2^7; sbitU4=Pl^0;
sbit R5=Pl^l:
void dela(us y)
{us x;while(y--){for(x=O;x<10;x++){;))}
/通過SV量程通道的1顯示程序;
void displalinl(us zha)
{us shuO,shul;Shul=zha/51;ShuO=zha%51; ShuO=shu0/5;if(shul>211(shu0>=4&&shul==2》 {R5=O;U3=0;)else {R5=1,U3=l;}ShuO=shuO+OxlO;Shul=shul+Ox20;PO=shul;/}點(diǎn)亮一片數(shù)碼管,顯示個(gè)位數(shù)值,其它均關(guān)閉*/dela(l);
/*稍微加上延時(shí),時(shí)間控制在1毫秒*/PO=shu0; dela(l);/*稍微加上延時(shí);)
void wam(){ PO=OxfO;dela(4000);PO=Oxff;dela(4000);)
void main(){void displalinO(us zha); /*不需要加在延時(shí)程序前面;*/void ADINl();void warn();us ab;R5=2;U3=2; while(l)
{AD_INl(); ab=PO; if(ab==Oxft){wam();} */Else displalinl(ab);,+調(diào)用通道1中的5V的顯示子程序;*/}}∥通道1轉(zhuǎn)換程序
void AD_INl(){ P3=0;
/*通道1的地址*/U3_ALE=l; U3_ALE=O; /{地址存儲(chǔ)位置;*/U3_START=O;
/*進(jìn)行轉(zhuǎn)換;*/U3_START=l;while(U3_EOC!=l)U3_OE=l;/*如果完成,則將數(shù)字量輸出;*/)
4 結(jié)論
本系統(tǒng)存在不足的地方,在傳感器的這部分,傳感器由于需要預(yù)熱,因此須要駕駛員在車上等待系統(tǒng)預(yù)熱完畢后,大概在五分鐘以后才能向系統(tǒng)進(jìn)行呼氣,效率明顯不高。盡管當(dāng)前還存在一些不足,但隨著科學(xué)技術(shù)的發(fā)展,這些問題將會(huì)被解決,系統(tǒng)會(huì)更加完美。
參考文獻(xiàn)
[1]胡漢才,單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2010.
[2]郁有丈,傳感器原理及工程應(yīng)用[M],西安:西安電子科技大學(xué)出版社,2011.