新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于LM331和單片機(jī)的壓力數(shù)據(jù)采集

基于LM331和單片機(jī)的壓力數(shù)據(jù)采集

作者: 時(shí)間:2009-04-28 來源:網(wǎng)絡(luò) 收藏

3.4 AT89C51模塊
該系統(tǒng)設(shè)計(jì)需用的一個(gè)中斷.一個(gè)定時(shí)器。一個(gè)計(jì)數(shù)器。這里選用AT89C51,其包含2個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)中斷。當(dāng)MCS-51內(nèi)部的定時(shí)/計(jì)數(shù)器選定為定時(shí)模式時(shí),計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖使計(jì)數(shù)器加l;一個(gè)機(jī)器周期為外部時(shí)鐘振蕩頻率的1/12,采用12 MHz的晶體振蕩器,機(jī)器周期為1μs。當(dāng)內(nèi)部定時(shí)/計(jì)數(shù)器被選定為計(jì)數(shù)模式時(shí)計(jì)數(shù)脈沖來自外部輸入引腳P3.4(T0)或P3.5(T1)。輸入信號(hào)產(chǎn)生由1到O的負(fù)跳變時(shí),計(jì)數(shù)器加1。由于一次負(fù)跳變要用兩個(gè)機(jī)器周期,所以選用12MHz晶體振蕩器時(shí),為確保電平在變化之前被采樣一次,外部計(jì)數(shù)輸入信號(hào)不能超過500 kHz。16位定時(shí)/計(jì)數(shù)器的最高計(jì)數(shù)值為65 535,在這里已滿足設(shè)計(jì)需要。系統(tǒng)設(shè)置AT89C51的T0為定時(shí)器,T1為計(jì)數(shù)器,當(dāng)接收到中斷信號(hào)時(shí),定時(shí)、計(jì)數(shù)同時(shí)開始,定時(shí)結(jié)束,計(jì)數(shù)也隨之結(jié)束。再利用單片機(jī)的運(yùn)算功能將計(jì)數(shù)值除以定時(shí)值,就能得到所測(cè)信號(hào)的頻率。通過頻率與電壓,電壓與所測(cè)的線性關(guān)系,即可得到相應(yīng)的值。

本文引用地址:http://2s4d.com/article/173766.htm

4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)采用Keil C51語言編寫,應(yīng)用模塊化設(shè)計(jì),主要包括測(cè)量函數(shù),中斷子程序,控制函數(shù)。主程序流程圖如圖5所示。

設(shè)定TO為定時(shí)器,基本定時(shí)時(shí)間為50 ms,Tl為計(jì)數(shù)器。IE=Ox8a,TMOD=Ox51。當(dāng)P3.2口為低電平時(shí),狀態(tài)標(biāo)志位flag變?yōu)镺,開始測(cè)量,利用中斷,每當(dāng)定時(shí)滿500 ms時(shí),計(jì)數(shù)器停止計(jì)數(shù),完成測(cè)量,狀態(tài)標(biāo)志位flag變?yōu)?,讀取計(jì)數(shù)值,以計(jì)算頻率,并通過頻率求得。當(dāng)P3.2口為高電平時(shí),進(jìn)入依據(jù)測(cè)量所得壓力值而進(jìn)行的對(duì)傳感器監(jiān)測(cè)對(duì)象的控制階段。以下給出測(cè)量函數(shù)的程序代碼和T0中斷子程序:


5 結(jié)語
該測(cè)量系統(tǒng)設(shè)計(jì)應(yīng)用廣泛,如汽車電子控制、工業(yè)生產(chǎn)監(jiān)控、安全防護(hù)以及家用電器等;結(jié)構(gòu)簡(jiǎn)單,精確度高,性能穩(wěn)定,適合那些對(duì)測(cè)量精度要求準(zhǔn)確,并有一定抗干擾能力的場(chǎng)合。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉