AVR單片機在柴油機轉(zhuǎn)速測量中的應(yīng)用
發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):885
avr單片機在柴油機轉(zhuǎn)速測量中的應(yīng)用
摘要:利用atmel新一代avr單片機(at90s2313)實現(xiàn)對柴油機轉(zhuǎn)速的測量,在c語言程序設(shè)計中引入了消息的概念,最后給出了at90s2313與at89c2051在轉(zhuǎn)速測量中使用效果的比較。 關(guān)鍵詞:單片機 轉(zhuǎn)速測量 柴油機 消息 柴油機的轉(zhuǎn)速是一個較為重要的運行參數(shù),也有很多種用于測量轉(zhuǎn)速的儀表,如:機械軟軸式轉(zhuǎn)速表、頻率-電壓轉(zhuǎn)換式轉(zhuǎn)速表、數(shù)字式轉(zhuǎn)速表等,它們中間有的成本很高而且精度較差、有的工藝復(fù)雜而且可靠性不高。本文介紹了一種利用單片機技術(shù)制成的智能轉(zhuǎn)速表,不僅精度高、工藝簡單、線路簡潔,而且可靠性高、功能強。其不僅可以測量轉(zhuǎn)速,而且可以統(tǒng)計機器運行的累計時間,當柴油機超速時,還可發(fā)出報警信號,切斷油路,保護機器不發(fā)生飛車事故。
1測量原理 在測量柴油機轉(zhuǎn)速時我們采用了電磁感應(yīng)式傳感器,這種傳感器可將轉(zhuǎn)速信號轉(zhuǎn)變成一個脈沖信號輸出,而脈沖信號的頻率與柴油機的轉(zhuǎn)速是一種線性的正比關(guān)系。因此對柴油機轉(zhuǎn)速的測量,實質(zhì)上是對脈沖信號的頻率的測量,可以采用閘門法進行測量。
2線路設(shè)計
智能轉(zhuǎn)速表的框圖如圖1所示
智能轉(zhuǎn)速表主要由脈沖放大及整形電路、單片機(at90s2313)、多路動態(tài)掃描led顯示電路和報警信號輸出電路組成。 在設(shè)計中我們采用了atmel的avr系列單片機中的at90s2313,該單片機有如下特點: (1)片內(nèi)有2k字節(jié)可在線編程(isp編程)的flash存貯器。
(2)片內(nèi)有128字節(jié)sram和128字節(jié)eeprom存貯器。
(3)精簡指令集結(jié)構(gòu)單片機,尤其內(nèi)部32個寄存器全部與alu直接連接,突破傳統(tǒng)瓶頸限制,每mhz時鐘具有1mips的性能。
(4)內(nèi)含帶預(yù)分頻的8位和16位的定時器各一個,16位定時器還具有捕捉、比較及pwm功能。
(5)一個片內(nèi)watchdog定時器。
(6)除具有普通uart串行口外,還具有高速spi接口。
(7)avr的輸出端口可直接驅(qū)動led。
at90s2313的定時器0(8位)工作于定時器方式,用來產(chǎn)生定時閘門信號;而定時器1(16位)工作于計數(shù)器方式,對整形電路送來的脈沖信號進行計數(shù);片內(nèi)的eeprom用于保存機器運行累計時間,在斷電時可以保持數(shù)據(jù)不丟失。
3程序設(shè)計
在avr單片機的程序設(shè)計中,我們采用了imagecraft的c語言編譯器iccavr,并在單片機程序設(shè)計中引入了windows系統(tǒng)中消息的概念。主要程序流程圖如圖二所示。 主程序 中斷服務(wù)程序
定時器0以中斷方式工作,其負責采集定時器1 的計數(shù)值、對運行時間累計和發(fā)送消息。由于在儀表中對采集到的定時器1 的計數(shù)值,需要進行一些處理,如:判斷是否超過額定速度、將16位二進制數(shù)轉(zhuǎn)換成bcd碼、為動態(tài)led顯示電路進行軟件譯碼及掃描控制等等。如果所有工作全部放在中斷程序中完成,就會導(dǎo)致中斷服務(wù)程序執(zhí)行時間過長。由于儀表還要完成運行時間的累計工作,盡管中斷服務(wù)程序執(zhí)行時間過長對轉(zhuǎn)速的測量不會有太大影響,但勢必會給時間累計造成過大的累積誤差,影響累計時間的精度。為了解決這個問題,我們采取了下面的方法: 借鑒windows 編程的原理,在單片機編程中引入消息的概念,將中斷產(chǎn)生的標志作為消息,而數(shù)據(jù)處理則放在消息循環(huán)中進行。在這個例子中中斷服務(wù)程序中只進行數(shù)據(jù)的采集和標志位的設(shè)置(發(fā)送消息),而將數(shù)據(jù)的處理放到運行時間要求不很精確的中斷服務(wù)程序之外的主程序循環(huán)中(消息循環(huán))。這樣一方面減少了中斷服務(wù)程序的長度,縮短了中斷服務(wù)程序執(zhí)行的時間,提高了中斷處理的實時性,另一方面又不影響數(shù)據(jù)的處理。從而很好地解決了數(shù)據(jù)采集的實時性和數(shù)據(jù)處理耗時多而影響時間累計之間的矛盾。
和pc機相比,單片機資源十分有限。因此,單片機系統(tǒng)不可能象windows系統(tǒng)那樣建立龐大的消息循環(huán)機制,將消息分發(fā)給各個程序并行處理。在基于消息的單
avr單片機在柴油機轉(zhuǎn)速測量中的應(yīng)用
摘要:利用atmel新一代avr單片機(at90s2313)實現(xiàn)對柴油機轉(zhuǎn)速的測量,在c語言程序設(shè)計中引入了消息的概念,最后給出了at90s2313與at89c2051在轉(zhuǎn)速測量中使用效果的比較。 關(guān)鍵詞:單片機 轉(zhuǎn)速測量 柴油機 消息 柴油機的轉(zhuǎn)速是一個較為重要的運行參數(shù),也有很多種用于測量轉(zhuǎn)速的儀表,如:機械軟軸式轉(zhuǎn)速表、頻率-電壓轉(zhuǎn)換式轉(zhuǎn)速表、數(shù)字式轉(zhuǎn)速表等,它們中間有的成本很高而且精度較差、有的工藝復(fù)雜而且可靠性不高。本文介紹了一種利用單片機技術(shù)制成的智能轉(zhuǎn)速表,不僅精度高、工藝簡單、線路簡潔,而且可靠性高、功能強。其不僅可以測量轉(zhuǎn)速,而且可以統(tǒng)計機器運行的累計時間,當柴油機超速時,還可發(fā)出報警信號,切斷油路,保護機器不發(fā)生飛車事故。
1測量原理 在測量柴油機轉(zhuǎn)速時我們采用了電磁感應(yīng)式傳感器,這種傳感器可將轉(zhuǎn)速信號轉(zhuǎn)變成一個脈沖信號輸出,而脈沖信號的頻率與柴油機的轉(zhuǎn)速是一種線性的正比關(guān)系。因此對柴油機轉(zhuǎn)速的測量,實質(zhì)上是對脈沖信號的頻率的測量,可以采用閘門法進行測量。
2線路設(shè)計
智能轉(zhuǎn)速表的框圖如圖1所示
智能轉(zhuǎn)速表主要由脈沖放大及整形電路、單片機(at90s2313)、多路動態(tài)掃描led顯示電路和報警信號輸出電路組成。 在設(shè)計中我們采用了atmel的avr系列單片機中的at90s2313,該單片機有如下特點: (1)片內(nèi)有2k字節(jié)可在線編程(isp編程)的flash存貯器。
(2)片內(nèi)有128字節(jié)sram和128字節(jié)eeprom存貯器。
(3)精簡指令集結(jié)構(gòu)單片機,尤其內(nèi)部32個寄存器全部與alu直接連接,突破傳統(tǒng)瓶頸限制,每mhz時鐘具有1mips的性能。
(4)內(nèi)含帶預(yù)分頻的8位和16位的定時器各一個,16位定時器還具有捕捉、比較及pwm功能。
(5)一個片內(nèi)watchdog定時器。
(6)除具有普通uart串行口外,還具有高速spi接口。
(7)avr的輸出端口可直接驅(qū)動led。
at90s2313的定時器0(8位)工作于定時器方式,用來產(chǎn)生定時閘門信號;而定時器1(16位)工作于計數(shù)器方式,對整形電路送來的脈沖信號進行計數(shù);片內(nèi)的eeprom用于保存機器運行累計時間,在斷電時可以保持數(shù)據(jù)不丟失。
3程序設(shè)計
在avr單片機的程序設(shè)計中,我們采用了imagecraft的c語言編譯器iccavr,并在單片機程序設(shè)計中引入了windows系統(tǒng)中消息的概念。主要程序流程圖如圖二所示。 主程序 中斷服務(wù)程序
定時器0以中斷方式工作,其負責采集定時器1 的計數(shù)值、對運行時間累計和發(fā)送消息。由于在儀表中對采集到的定時器1 的計數(shù)值,需要進行一些處理,如:判斷是否超過額定速度、將16位二進制數(shù)轉(zhuǎn)換成bcd碼、為動態(tài)led顯示電路進行軟件譯碼及掃描控制等等。如果所有工作全部放在中斷程序中完成,就會導(dǎo)致中斷服務(wù)程序執(zhí)行時間過長。由于儀表還要完成運行時間的累計工作,盡管中斷服務(wù)程序執(zhí)行時間過長對轉(zhuǎn)速的測量不會有太大影響,但勢必會給時間累計造成過大的累積誤差,影響累計時間的精度。為了解決這個問題,我們采取了下面的方法: 借鑒windows 編程的原理,在單片機編程中引入消息的概念,將中斷產(chǎn)生的標志作為消息,而數(shù)據(jù)處理則放在消息循環(huán)中進行。在這個例子中中斷服務(wù)程序中只進行數(shù)據(jù)的采集和標志位的設(shè)置(發(fā)送消息),而將數(shù)據(jù)的處理放到運行時間要求不很精確的中斷服務(wù)程序之外的主程序循環(huán)中(消息循環(huán))。這樣一方面減少了中斷服務(wù)程序的長度,縮短了中斷服務(wù)程序執(zhí)行的時間,提高了中斷處理的實時性,另一方面又不影響數(shù)據(jù)的處理。從而很好地解決了數(shù)據(jù)采集的實時性和數(shù)據(jù)處理耗時多而影響時間累計之間的矛盾。
和pc機相比,單片機資源十分有限。因此,單片機系統(tǒng)不可能象windows系統(tǒng)那樣建立龐大的消息循環(huán)機制,將消息分發(fā)給各個程序并行處理。在基于消息的單
熱門點擊
- 一種基于FPGA技術(shù)的虛擬邏輯分析儀的研究與
- 高準確度時鐘程序算法
- 高端電流檢測的原理和電路
- 實時時鐘電路DS1302的原理及應(yīng)用
- 數(shù)字式溫度計DS18B20的特性及應(yīng)用
- 鋼琴琴鍵排列平整性的測量
- 電話報警系統(tǒng)的設(shè)計
- 電能計量專用芯片CS5460A
- 基于條形碼技術(shù)的車間監(jiān)控系統(tǒng)的實時信息采集
- 一種在線式漏電保護器測試儀的研制
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究