基于LM331和單片機(jī)的壓力數(shù)據(jù)采集
3.4 單片機(jī)AT89C51模塊
該系統(tǒng)設(shè)計需用單片機(jī)的一個中斷.一個定時器。一個計數(shù)器。這里選用AT89C51,其包含2個16位定時/計數(shù)器和5個中斷。當(dāng)MCS-51內(nèi)部的定時/計數(shù)器選定為定時模式時,計數(shù)輸入信號是內(nèi)部時鐘脈沖,每個機(jī)器周期產(chǎn)生一個脈沖使計數(shù)器加l;一個機(jī)器周期為外部時鐘振蕩頻率的1/12,采用12 MHz的晶體振蕩器,機(jī)器周期為1μs。當(dāng)內(nèi)部定時/計數(shù)器被選定為計數(shù)模式時計數(shù)脈沖來自外部輸入引腳P3.4(T0)或P3.5(T1)。輸入信號產(chǎn)生由1到O的負(fù)跳變時,計數(shù)器加1。由于一次負(fù)跳變要用兩個機(jī)器周期,所以選用12MHz晶體振蕩器時,為確保電平在變化之前被采樣一次,外部計數(shù)輸入信號不能超過500 kHz。16位定時/計數(shù)器的最高計數(shù)值為65 535,在這里已滿足設(shè)計需要。系統(tǒng)設(shè)置AT89C51的T0為定時器,T1為計數(shù)器,當(dāng)單片機(jī)接收到中斷信號時,定時、計數(shù)同時開始,定時結(jié)束,計數(shù)也隨之結(jié)束。再利用單片機(jī)的運(yùn)算功能將計數(shù)值除以定時值,就能得到所測信號的頻率。通過頻率與電壓,電壓與所測壓力的線性關(guān)系,即可得到相應(yīng)的壓力值。
本文引用地址:http://m.butianyuan.cn/article/173766.htm
4 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計采用Keil C51語言編寫,應(yīng)用模塊化設(shè)計,主要包括測量函數(shù),中斷子程序,控制函數(shù)。主程序流程圖如圖5所示。
設(shè)定TO為定時器,基本定時時間為50 ms,Tl為計數(shù)器。IE=Ox8a,TMOD=Ox51。當(dāng)P3.2口為低電平時,狀態(tài)標(biāo)志位flag變?yōu)镺,開始測量,利用中斷,每當(dāng)定時滿500 ms時,計數(shù)器停止計數(shù),完成測量,狀態(tài)標(biāo)志位flag變?yōu)?,讀取計數(shù)值,以計算頻率,并通過頻率求得壓力。當(dāng)P3.2口為高電平時,進(jìn)入依據(jù)測量所得壓力值而進(jìn)行的對傳感器監(jiān)測對象的控制階段。以下給出測量函數(shù)的程序代碼和T0中斷子程序:
5 結(jié)語
該測量系統(tǒng)設(shè)計應(yīng)用廣泛,如汽車電子控制、工業(yè)生產(chǎn)監(jiān)控、安全防護(hù)以及家用電器等;結(jié)構(gòu)簡單,精確度高,性能穩(wěn)定,適合那些對測量精度要求準(zhǔn)確,并有一定抗干擾能力的場合。
評論