熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > AVR單片機在柴油機轉速測量中的應用

AVR單片機在柴油機轉速測量中的應用

時間:2008-01-05 08:45:00來源:zhaohy

導語:?利用ATMEL新一代AVR單片機(AT90S2313)實現對柴油機轉速的測量,最后給出了AT90S2313與AT89C2051在轉速測量中使用效果的比較
摘要: 利用ATMEL新一代AVR單片機(AT90S2313)實現對柴油機轉速的測量,在C語言程序設計中引入了消息的概念,最后給出了AT90S2313與AT89C2051在轉速測量中使用效果的比較。 關鍵詞: 單片機 轉速測量 柴油機 消息 前言 柴油機的轉速是一個較為重要的運行參數,也有很多種用于測量轉速的儀表,如:機械軟軸式轉速表、頻率-電壓轉換式轉速表、數字式轉速表等,它們中間有的成本很高而且精度較差、有的工藝復雜而且可靠性不高。本文介紹了一種利用單片機技術制成的智能轉速表,不僅精度高、工藝簡單、線路簡潔,而且可靠性高、功能強。其不僅可以測量轉速,而且可以統計機器運行的累計時間,當柴油機超速時,還可發出報警信號,切斷油路,保護機器不發生飛車事故。 1 測量原理 在測量柴油機轉速時我們采用了電磁感應式傳感器,這種傳感器可將轉速信號轉變成一個脈沖信號輸出,而脈沖信號的頻率與柴油機的轉速是一種線性的正比關系。因此對柴油機轉速的測量,實質上是對脈沖信號的頻率的測量,可以采用閘門法進行測量。 2 線路設計 智能轉速表的框圖如圖1所示
[IMG=智能轉速表的框圖]/uploadpic/tech/2008/1/2008010509001220683X.jpg[/IMG]
智能轉速表主要由脈沖放大及整形電路、單片機(AT90S2313)、多路動態掃描LED顯示電路和報警信號輸出電路組成。 在設計中我們采用了ATMEL的AVR系列單片機中的AT90S2313,該單片機有如下特點: (1) 片內有2K字節可在線編程(ISP編程)的FLASH存貯器。 (2) 片內有128字節SRAM和128字節EEPROM存貯器。 (3) 精簡指令集結構單片機,尤其內部32個寄存器全部與ALU直接連接,突破傳統瓶頸限制,每MHZ時鐘具有1MIPS的性能。 (4) 內含帶預分頻的8位和16位的定時器各一個,16位定時器還具有捕捉、比較及PWM功能。 (5) 一個片內WatchDog定時器。 (6) 除具有普通UART串行口外,還具有高速SPI接口。 (7) AVR的輸出端口可直接驅動LED。 AT90S2313的定時器0(8位)工作于定時器方式,用來產生定時閘門信號;而定時器1(16位)工作于計數器方式,對整形電路送來的脈沖信號進行計數;片內的EEPROM用于保存機器運行累計時間,在斷電時可以保持數據不丟失。 3 程序設計 在AVR單片機的程序設計中,我們采用了ImageCraft的C語言編譯器ICCAVR,并在單片機程序設計中引入了WINDOWS系統中消息的概念。主要程序流程圖如圖二所示。 主程序 中斷服務程序
[IMG=主程序 中斷服務程序]/uploadpic/tech/2008/1/2008010509002425462J.jpg[/IMG]
定時器0以中斷方式工作,其負責采集定時器1 的計數值、對運行時間累計和發送消息。由于在儀表中對采集到的定時器1 的計數值,需要進行一些處理,如:判斷是否超過額定速度、將16位二進制數轉換成BCD碼、為動態LED顯示電路進行軟件譯碼及掃描控制等等。如果所有工作全部放在中斷程序中完成,就會導致中斷服務程序執行時間過長。由于儀表還要完成運行時間的累計工作,盡管中斷服務程序執行時間過長對轉速的測量不會有太大影響,但勢必會給時間累計造成過大的累積誤差,影響累計時間的精度。為了解決這個問題,我們采取了下面的方法: 借鑒windows 編程的原理,在單片機編程中引入消息的概念,將中斷產生的標志作為消息,而數據處理則放在消息循環中進行。在這個例子中中斷服務程序中只進行數據的采集和標志位的設置(發送消息),而將數據的處理放到運行時間要求不很精確的中斷服務程序之外的主程序循環中(消息循環)。這樣一方面減少了中斷服務程序的長度,縮短了中斷服務程序執行的時間,提高了中斷處理的實時性,另一方面又不影響數據的處理。從而很好地解決了數據采集的實時性和數據處理耗時多而影響時間累計之間的矛盾。 和PC機相比,單片機資源十分有限。因此,單片機系統不可能象windows系統那樣建立龐大的消息循環機制,將消息分發給各個程序并行處理。在基于消息的單片機編程中,采取一種簡化的方式,消息可以這樣來定義:當某個事件(例如中斷)發生時,事件處理程序(例如中斷服務程序)設置相應的標志,不同的標志即代表不同的消息;而主程序所進行的消息循環就是主程序不斷地判斷這些標志,以決定啟動哪一個處理函數(即將消息發送給特定的消息處理函數)。這種方法在多中斷系統中使用,可以明顯地提高中斷的實時性;另外,由于在中斷服務程序中不需要調用數據處理程序,也有效地防止了代碼重入帶來的問題。 如下面的T0中斷服務程序,發送消息: void timer0() { if (——timercount==0) { TCCR1B = 0x00; count=TCNT1; //采集數據 second++; //運行時間累計 flag=1; //發送消息 WDR(); TCNT1H = 0x00; TCNT1L = 0x00; //清除T1 TCCR1B = 0x06; timercount=20; } TCNT0 = 76; //重裝T0 } 而下面這段程序是主程序消息循環中一部分,對T0發送的消息進行檢查,如果沒有消息產生則跳過數據處理部分: if (flag==1)//檢查是否有消息產生 { hextobcd(count);//16位二進制數轉換成BCD碼數 if (count>1134) //當轉速超過1134轉/分時,輸出報警信號 { asm("cbi 0x12,4"); } else { asm ("sbi 0x12,4"); } flag=0; //清除消息 } 4 總結比較 我們這個系列的轉速表是在上一代轉速表(采用AT89C2051單片機)的基礎上改造過來的,經過比較我們認為AVR單片機有以下優點: (1)AVR是一種功能強大、集成度較高的新型單片機。譬如在這個例子中,一片AT90S2313代替了AT89C2051、AT24C01(EEPROM)和外置WatchDog三片集成電路,從而大大地簡化了裝配工藝和流程。由于AT90S2313與AT89C2051單片機的管腳基本兼容,最終我們把前者做成為后者的增強型,在同一個轉速表上可以做成兩個版本的產品。 (2)AVR支持在線編程(ISP下載),對芯片的編程可以放在整機裝配完成后進行。這樣不僅節省了購買萬用編程器的費用,而且為現場調試及以后的軟件升級帶來了極大的便利。 (3)AVR的運行速度快、處理能力強。在這個例子中,中斷服務程序執行時間更短了,中斷的實時性提高了,對時間累計的累積誤差也變小了。 (4)AVR對采用C語言編程提供了較好的支持。當我們將原來用KEIL51寫的程序轉換成AVR的C程序時,只需要修改有關硬件操作部分和KEIL51中bit及sbit類型的數據操作,其余均不需修改。 另外,在單片機的編程中引入消息的概念,一方面提高了中斷處理的實時性,另一方面也解決了中斷服務程序中代碼重入的問題。 參考文獻: 1 宋建國.AVR單片機原理及其應用.北京:北京航空航天大學出版社,1998 2 耿德根.AVR高速嵌入式單片機原理與應用,2001 3 ATMEL.ATMEL數據光盤,1999 4 Mickey Williams . Visual C++5自學通.北京.機械工業出版社,1998

標簽:

點贊

分享到:

上一篇:V80系列PLC在載帶成型機中應用

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 阳曲县| 凌云县| 泸水县| 大港区| 尤溪县| 巨鹿县| 巴林右旗| 于都县| 青阳县| 府谷县| 周至县| 岐山县| 涟源市| 新竹市| 诸城市| 顺义区| 商洛市| 明光市| 温泉县| 新干县| 龙游县| 宁明县| 甘肃省| 和林格尔县| 华池县| 绍兴县| 大连市| 景泰县| 郁南县| 宜昌市| 玛曲县| 鄱阳县| 攀枝花市| 久治县| 甘谷县| 临澧县| 天镇县| 武安市| 方山县| 阿鲁科尔沁旗| 宁都县|