




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、電子式里程表摘 要里程表廣泛應用于各類機車,傳統的機械式里程表雖然穩定可靠,但功能單一、易受磨損。隨著電子技術的迅猛發展,電子式里程表得以廣泛應用,現在很多轎車儀表已經使用電子車速里程表,本設計介紹一種基于單片機的智能電子里程表。該電子式里程表是一種數字式儀表,主要由車速表和里程表兩部分組成,其傳感器采用無接觸測量的光電傳感器。它不僅可顯示車輛行駛的總里程,也可顯示一段時間的階段里程,還可顯示車速,以及實現超速報警等功能,并具有較強的再開發能力。它的實現方式是,通過安裝在汽車轉軸上的測量盤,用光電式轉速傳感器檢測轉速的脈沖信息,在脈沖狀態下,將轉速的變化轉換成光通量的變化,再通過光電轉換元件將
2、光通量的變化轉換成電量的變化,接著通過頻率測量電路將脈沖信號輸入到單片機中,然后依據電量與轉速的函數關系實現轉速測量,再通過計算,從而得出里程、車速的信息,并由LED顯示器顯示出來。并且該電子式里程表累積的里程數字存儲在非易失性的EEPROM存儲器內,在無電狀態下數據也能保存。關鍵詞:AT89S51單片機;里程表;光電傳感器;LED顯示器;存儲器AbstractVehicle odometer is applied in each kind of motorcycle extensively, although the traditional machine type odometer sta
3、bleand credible, but the function of it is single andbe easily worn away.Along with the technical fast fiercely develop in electronics,the electronic vehicle can be applied extensively. Recently, a lot of car appearances have already used the electronic vehicle odometer, this graduation thesis intro
4、duce a kind of intelligence electronic vehicle odometer, which is based on a Single-Chip Microcomputer system. The electronics' type vehicle odometer is a kind of numerical type appearance, which mainly constitute with two parts, that is vehicle speed meter and odometer, it adopts the light sens
5、or that the sensor has no contact measure.It not only can show the total mileage that vehicle drive, but also can show the stage mileage of a period of time. Moreover, Its can show the car speed, and the realization exceed the speed limit to report and so on.It also has the ability of strongerly dev
6、elop again. The way of this vehicle odometer carry out is as follows: through the installedmeasure plate in the automobile shaft, use the light sensor to measure the rotational speed information. Under the pulse appearance, it make the variety rotational speedchange to the variety of the light flux,
7、 after that the variety of the light flux convert to electricity quantity. Then through the light electricity convert component, we can make the pulse signal input to the Single-Chip Microcomputerby the frequency measure circuit.Then in terms of the function relationship of electricity quantity and
8、rotational speed, we can realize the measure of rotational speed, after calculate by the Single-Chip Microcompute, we can obtain the information of mileage and vehicle speed. Moreover,This mileage and vehicle speed information can be displayedby the LED monitor. And the mileage numeral of the electr
9、onics' vehicle odometer accumulation is saving in EEPROM,which is not easily lost, the data also can keep under the no electric appearance.Keyword:AT89S51 Single-Chip Microcomputer;Odometer;Light sensor;LED ;Memory目 錄引言11總體設計22 系統設計可行性分析22.1 總體設計分析22.2 硬件模塊32.3 軟件模塊63 硬件單元電路設計73.1 傳感器的設計73.2單片機與
10、光電傳感器的接口設計113.3 單片機與外部存儲器的接口設計133.4 單片機與超速報警電路的接口設計133.5 單片機與鍵盤和7段顯示器的接口設計134 軟件設計144.1脈沖測量部分164.2鍵盤輸入部分174.3 數據處理部分184.4 存儲器部分214.5 超速報警部分244.6 顯示部分255 系統調試275.1 硬件單元電路調試275.2 軟件程序調試295.3 整體調試326 系統使用說明327 系統功能的擴展338結論33謝辭 35參考文獻36附錄37引言我國汽車工業走過了五十年的歷程,與國際發達國家汽車工業相比,電子技術水平相對比較落后,提高國產汽車的電子技術水平,增加汽車電
11、子裝備的數量,促進汽車電子化是奪取未來汽車市場的關鍵,提高我國的汽車電子技術已勢在必行。隨著中國的復關,國外汽車零部件廠商也大舉進入中國參與競爭。電子式儀表及新型傳感器是各類車型汽車的首選配套產品,通用性好,市場前景廣闊。目前國外汽車車速里程表已廣泛采用電子式機芯結構,而國內汽車儀表一直是機械式車速里程表的天下,少數采用動圈式電子儀表, 通過大量市場調研,我們清楚地看到進入20世紀以來汽車工業迅速發展,而電子產品則是汽車提高技術含量的晴雨表。國外電子產品占整車成本的30%,然而我國汽車行業起步較晚,技術十分落后,電子產品僅占整車成本的5%。例如國外汽車早已裝配電子式儀表,而我國汽車仍
12、在應用傳統的機械儀表,可靠性很差。目前汽車儀表控制電子化是一種發展趨勢,由先進的傳感器與顯示裝置構成的電子儀表已開始全面取代傳統的機電式儀表,成為現代汽車的明顯標志。一般汽車的常規儀表有車速里程表、轉速表、機油壓力表、水溫表、燃油表、充電表等。儀表板中最常用的是車速里程表,目前很多轎車儀表已經使用電子車速表,它通過變速器上的速度傳感器獲取信號,通過脈沖頻率的變化使指針偏轉或者顯示數字。隨著汽車電子半導體技術的發展,多功能、高精度、高靈敏度、讀數直觀的電子數字顯示及圖像顯示的儀表已不斷應用于汽車。汽車儀表的功能已不僅僅是單純的顯示,而是通過對汽車各部件參數的監測和計算機處理相配套,從而達到控制汽
13、車各種運行工況的目的。因而電子式里程表的廣泛應用將會很大的提高中國的汽車電子技術水平。本作品正是順應了汽車電子發展的趨勢,利用安裝在汽車轉軸上的測量盤,由光電傳感器輸出采樣脈沖,采取單片機控制,用一個六位LED數碼管和一個四位LED數碼管作為顯示設備,從而得出里程、車速的信息。在里程信息的存儲功能上,采用了新型轎車中廣泛使用的串行EEPROM芯片24C16。當電源正常供電時給電容器充電,電源掉電時,利用電容器電流將單片機中的數據寫入EEPROM中。本作品廉價且功能較強,使用方便,實用價值較高,極容易得到推廣。本作品經過實驗,完全能達到設計要求,顯示的車速、里程和原車機械里程表的顯示值誤差小于1
14、%,報警值非常準確。由于采用的芯片都是廣泛使用的通用芯片,成本較低,制作元器件和印刷電路板成本不過七八十元,如果批量生產,成本更低。而且該電子式里程表體積小,功耗低,功能多,穩定可靠,性價比高,在很多領域都能得到廣泛的應用,具有較高的經濟價值。1 總體設計該電子式里程表以AT89S51單片機為核心,由系統輸入、單片機部分和系統輸出組成。其主要模塊有報警裝置、鍵盤輸入、光電傳感器、顯示、單片機以及EEPROM存儲器。其系統組成框圖如圖1.1所示。圖1.1 系統組成框圖單片機控制模塊是該作品的重要組成部分。為了提高單片機的使用效率,以及可以實現在線編程,而采用了AT89C51單片機的升級產品AT8
15、9S51單片機。為保證數據的安全可靠保存并減少作品的成本,以及使系統的結構簡單,在里程信息的存儲功能上,沒有采用常用的并行EEPROM存儲器,而采用了新型轎車中廣泛使用的串行EEPROM芯片24C16。當電源正常供電時給電容器充電,電源掉電時,利用電容器電流將單片機中的數據寫入EEPROM中。超速報警部分本作品采用了簡單的軟件設計,由程序產生,鈴聲是為了達到提示的目的,因此,選用了一個簡單的蜂鳴器,通過軟件定時產生的嘀嘀聲作為提示音,并且接一個紅色的發光二極管,使報警效果更加理想。在車速里程顯示方面,本作品采用了常用的6位共陽極LED顯示器,通過按鍵的轉換以及對單片機的軟件編程,可在一個6位共
16、陽極LED顯示器中實現系統總里程和單班里程的顯示,而車速則通過另一個4位的共陽極LED顯示器實時顯示。而本系統的車速脈沖采樣部分,采用了非接觸式的高靈敏度光電傳感器,它有利于提高脈沖測量的精度,并提高了系統的可靠性,應用時將測量盤固定在車輛的轉軸上,再通過光電傳感器來測量。2 系統設計可行性分析2.1 總體設計分析根據電子式里程表的具體設計要求:(1)顯示車輛行駛的總里程,用6位LED顯示;(2)顯示一段時間的階段里程,用6位LED顯示;(3)顯示車速,用4位LED顯示;(4)實現超速報警;本作品設計的電子式里程表擁有以下單元功能模塊:(1)光電傳感器的脈沖信號檢測與轉換;(2)超速報警功能;
17、(3)里程信息存儲功能;(4)車速和里程的LED顯示功能;根據電子式里程表的一些基本要求,從而結合實際情況對具體的單元功能模塊作軟件或硬件上的不同分工,具體如下:在車輛轉軸上安裝的光電傳感器的脈沖檢測單元必須使用具體硬件電路來實現。鍵輸入和鍵處理、脈沖記數處理等功能模塊使用軟件編程方式要比硬件電路簡單得多,實現也很容易。超速報警、里程信息存儲、車速和里程的LED顯示都采用硬件電路和軟件編程相結合的方式。其中超速報警采用一個蜂鳴器和一個紅色發光二極管的報警方式,通過單片機的軟件中斷請求,實現蜂鳴器的嘀嘀聲及發光二極管的閃爍顯示。里程信息的存儲采用單片機對存儲器的讀寫方式,實現了數據信息的保存。車
18、速和里程的LED顯示通過單片機P0口和P2口,編程恰當地選擇各個7段LED顯示器的點亮時間和間隔時間,實現LED的動態實現。綜上所述,本作品由以上所述的硬件電路和軟件編程來完成。 下面就硬件以及軟件實現的單元電路分別進行具體分析。2.2 硬件模塊2.2.1光電傳感器模塊經過比較,本系統采用了透射式光電測速脈沖整形電路。每當安裝在汽車轉軸上的旋轉測量盤上的長方孔與光電傳感器上的透光孔重合,則光敏三極管受光而通過電流,使三極管飽和導通,故用于脈沖整形的施密特觸發器CD4093輸出高電平,當圓盤轉至透光孔被遮時,CD4093輸出低電平。隨著圓盤不停地轉動
19、,CD4093便輸出脈沖序列。測出輸出脈沖個數,結合圓盤每一周的孔數,使可算出轉軸旋轉的轉速,進而可算出車輛的行駛速度。2.2.2單片機控制模塊本系統使用了單片機AT89S51,它是AT89C51的升級產品,能實現在線編程。單片機AT89S51是由ATMEL公司生產的51單片機。簡單介紹如下:AT89S51單片機是一個低電壓,高性能CMOS 8位單片機,該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51 指令集和輸出管腳相兼容。其片內含有4k bytes的可反復擦寫的只讀程序存儲器(PEROM)和128 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司
20、的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,內置功能強大的微型計算機的AT89S51為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。 AT89S51是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外部中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,AT89S51可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。其主要特性如下:·
21、;與MCS-51 兼容·4K字節可編程FLASH存儲器·1000次擦寫周期·數據保留時間:10年·全靜態工作:0Hz-24Hz ·三級程序存儲器鎖定·支持在系統編程ISP·128*8位內部RAM ·32個可編程I/O口·兩個16位定時器/計數器·5個中斷源·可編程串行通道·低功耗的閑置和掉電模式·片內振蕩器和時鐘電路·具有雙工UART串行通道此單片機主要用于本系統的控制,包括響應中斷、延時、定時、記數、判斷、掃描鍵盤、超速報警、LED數碼管顯示等等。2.2
22、.3鍵盤模塊單片機系統所用的鍵盤有編碼鍵盤和編碼鍵盤兩種。編碼鍵盤是只要按下它的某一個鍵,就能產生這個鍵的代碼,與此同時還產生一個脈沖信號,以通知CPU接收鍵碼。編碼鍵盤使用方便,也不用編寫太復雜的程序。但硬件電路復雜,比非編碼簡易鍵盤成本要高。非編碼鍵盤也稱簡易鍵盤,它的按鍵是排列成行、列矩陣形式的。按鍵的作用只是簡單地實現接點的接通或斷開,因此必須有一套相應的程序與之配合,才能產生相應的鍵碼,它基本上不需要附加什么硬件電路。但需要通過軟件來解決按的識別、防抖動以及如何產生鍵碼的問題。本系統的鍵盤輸入部分,采用了2個功能鍵,用這2個鍵既可以選擇6位LED顯示器顯示是單班里程還是總里程。為了節
23、約成本,本作品選用簡易鍵盤即兩個按鍵開關來實現車速與里程的轉換顯示。2.2.4顯示模塊單片機所用的顯示有LED和LCD兩種,從設計的難度和成本造價來說LCD都要高于LED。液晶顯示器LCD的最大優點是電源電壓低和功耗低,但液晶為非發光型物質,它是利用外界光源的被動式顯示器件,環境越明亮顯示越清晰,不能用于暗處。白天靠日光顯示,夜間必須使用照明光源。而且它的工作溫度范圍不寬,低溫條件下靈敏度較低,有時甚至不能正常工作。壽命與使用條件有關,強光下使用壽命會減小。此外,它的響應速度較低(在10200ms范圍),這就限制了它在快速系統中的應用。LED 數碼管是目前最常用的數字顯示器,一個LED數碼管可
24、用來顯示一位09十進制數和一個小數點,在小型專用微機系統和單板機等場合,它是主要的顯示器件,在通用微機系統中,也常用來作為狀態等顯示。對于共陽極顯示器,要點亮的顯示段引腳需接低電平“0”。本作品要顯示的是總里程、單班里程以及車速,為數字顯示。基于液晶顯示器的成本以及在實際應用中的需要,因此,本作品選用了由LED組成的共陽極7段發光顯示器,它有簡單、經濟、易于與單片機接口等優點。存儲模塊此部分是整個系統的關鍵部分之一,它的工作情況直接決定了系統數據安全保存的可靠性。EEPROM是電可擦除可編程只讀存儲器。在平常情況下,EEPROM與EPROM一樣是只讀的,需要寫入時,在指定的引腳加上一個高電壓即
25、可寫入或擦除,而且其擦除的速度極快!通常EEPROM芯片又分為串行EEPROM和并行EEPROM兩種,串行EEPROM在讀寫時數據的輸入輸出是通過2線、3線、4線或SPI總線等接口方式進行的,而并行EEPROM的數據輸入輸出則是通過并行總線進行的。在汽車上串行EEPROM用得最多,防盜汽車音響解碼,液晶里程表,安全氣囊電腦等等單元模塊都大量采用這種芯片。并行EEPROM用的相對少些。經過翻閱大量的文獻資料,發現使用串行EEPROM芯片作為本系統的外部存儲器,是比較常用的一種方法,而且在做電路板時布線簡單,單片機編程時也穩定可靠,當失電時數據能得以安全的保存,因而采用了串行EEPROM芯片24C
26、16。本系統所用的24C16是美國ATMEL公司的低功耗CMOS串行EEPROM,它是內含2K×8位存儲空間,具有工作電壓寬(2.55.5V)、擦寫次數多(大于10000次)、寫入速度快(小于10ms)等特點。24C16的1、2、3腳是三條地址線,用于確定芯片的硬件地址。在AT89S51試驗開發板上它們都接地,第8腳和第4腳分別為正、負電源。第5腳SDA為串行數據輸入/輸出,數據通過這條雙向I2C總線串行傳送,在AT89S51試驗開發板上和單片機的P1.4連接。第6腳SCL為串行時鐘輸入線,在AT89C51試驗開發板上和單片機的P1.3連接。SDA和SCL都需要和正電源間各接一個10
27、K的電阻上拉。第7腳需要接地。24C02中帶有片內地址寄存器。每寫入或讀出一個數據字節后,該地址寄存器自動加1,以實現對下一個存儲單元的讀寫。所有字節均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節的數據。2.3 軟件模塊通過上面分析,設計中決定選用S51系列單片機作為控制器,那么它的軟件編寫就要按照單片機語言:C語言或匯編語言來編寫,這里我選用執行效率高的匯編語言編寫。開發工具為keil c51,它的功能強大,支持c語言和匯編語言的編寫與調試,其軟件模擬I/O口將會給軟件調試帶來極大的方便。脈沖測量部分本單元需要兩個I/O口,我選用了單片機的P1.5和P1.6。由于脈沖測
28、量過程中,開始檢測時脈沖寬度已小于機器周期T,因而會導致脈沖的丟失。為了避免脈沖的丟失,可用門電路實現記數開始與脈沖上升沿的同步控制。所以在控制時,首先由P1.6發一個清0負脈沖,其輸出封鎖與門G1和G2。接著由P1.5發一個啟動正脈沖,從而將門G2打開。之后,被測脈沖上升沿通過G2送T1計數;同時Q2輸出的高電平使INT0=1,定時器0的門控GATE有效,啟動T/C0開始定時。直到定時結束時,從P1.6發出一個負脈沖,將U2清零,從而封鎖G2,使T/C1停止計數,至此一次頻率采樣過程結束。計數器1采用計數值滿后自然清零再計數的方法。將T/C0設為高優先級,允許計數過程中定時中斷。鍵盤輸入部分
29、本單元采用了單片機的P1.1和P1.2口,通過外接兩個按鍵開關,從而控制一個6位LED顯示器的總里程和單班里程的顯示。由于機械開關在狀態轉換時有信號的抖動,故在接入開關的同時,必須考慮防抖動的問題。防抖動的方法之一是軟件延時去抖動。既在開關狀態改變時,執行一個延時程序,待電平穩定后再讀入開關狀態信息。而采用的鍵盤分析程序應包括:是否有鍵按下以及識別哪個鍵按下。一旦找到某鍵,是否按下此鍵,即可將程序轉到該鍵的功能程序段。存儲器部分本系統采用的是串行EEPROM芯片24C16,24C16的13腳分別為器件編址端A0、A1、A2(用于與系統中的同類器件編碼),4腳為電源地,5腳為I2C總線的數據線S
30、DA,6腳為I2C總線的時鐘SCL,7腳為測試輸入端,在系統中接地,8腳為電源。當時鐘線SCL為高電平時,數據線SDA由高電平跳變為低電平定義為“開始”信號;當SCL線為高電平時,SDA線發生低電平到高電平的跳變為“結束”信號。程序中多處調用了DELAY子程序(僅兩條NOP指令),這是為了滿足I2C總線上數據傳送速率的要求,只有當SDA數據線上的數據穩定下來之后才能進行讀寫(即SCL線發出正脈沖)。另外,在讀最后一個數據字節時,置應答信號為“1”,表示讀操作即將完成。超速報警部分本單元采用一個蜂鳴器和一個紅色發光二極管與單片機的P1.0口相接的報警實現方式,光電傳感器檢測汽車轉軸的脈沖信號,并
31、經過頻率測量電路,輸入到單片機的T1口,通過單片機的T1口記數,由單片機進行數據處理,轉換成車速值。這實時的車速值與單片機設定的最大車速值相比較,當車速值大于最大車速值時,通過單片機的軟件中斷請求,以1秒鐘為周期,實現蜂鳴器的嘀嘀聲及發光二極管的閃爍顯示。當車速值回落到最大車速值以下時,則通過單片機控制,關閉超速報警功能。顯示部分本單元采用一個6位共陽極LED顯示器中實現系統總里程和單班里程的顯示,而車速則通過另一個4位的共陽極LED顯示器實時顯示。其中LED顯示器的段選碼都由單片機的P0口連接控制,4位LED顯示器的位選碼由單片機的P2.6和P2.7口通過譯碼器74LS139控制,譯碼器74
32、LS139對單片機的P2.6和P2.7口分時選通,這樣任何一個時刻,都只有一位LED在點亮,也即動態掃描顯示方式。74LS139是一個2-4譯碼器,它將單片機輸出的地址信號譯碼后動態驅動相應的LED。但74LS139電流驅動能力較小,為此,我使用了未級驅動PNP三極管C9015作為地址驅動。而6位LED顯示器的位選碼,則由單片機的P2.0至P2.5口控制。經過翻閱大量的技術資料,對具體要求實現的功能進行完整的系統分析,我認為我的電子式里程表的系統設計基本符合實際情況,可以完成設計任務所要求實現的基本功能。3 硬件單元電路設計3.1 傳感器的設計汽車開動后,監測傳感器對汽車轉軸的轉動進行采樣,將
33、脈沖采樣信號輸入到單片機管腳,單片機的定時計數器T1工作于計數器方式,累計脈沖個數,根據一段時間內的脈沖個數和車輪的大小,就可以由單片機計算出運行的速度和公里數,并驅動顯示器進行顯示。3.1.1傳感器的選擇轉速是指每分鐘內旋轉軸轉動的圈數。機械式轉速儀和電模擬式測速儀已經無法滿足自動化程序日益提高的需要,它們只能測量精度不高的轉速,而且輸出不能直接供計算機使用,因此,非接觸式的光電數字轉速儀表就越來越廣泛地得到應用。光電傳感器是采用光電元件作為檢測元件的傳感器。它首先把被測量的變化轉換成光信號的變化,然后借助光電元件進一步將光信號轉換成電信號。光電傳感器一般由光源、光學通路和光電元件三部分組成
34、。光電檢測方法具有精度高、反應快、非接觸等優點,而且可測參數多,傳感器的結構簡單,形式靈活多樣,因此在檢測和控制領域內得到廣泛應用。由于采用光電傳感器,可以實現非接觸測量。光電式轉速測量儀表比較容易作為高頻脈沖頻率傳感器。例如,可在每轉中發出幾萬脈沖,因此分辨率高,可測極低的轉速,測量范圍幾乎可從零轉開始。其次這種測量方法一般對轉軸的附加載荷都很小,不會影響被測對象的正常旋轉,光電式轉速傳感器工作在脈沖狀態下,它是將轉軸的轉速變換成相應頻率的脈沖,然后測出脈沖頻率就可以測得轉速值。這種測速方法具有傳感器結構簡單、可靠、測量精度高等優點。光電轉速傳感器的性能可歸納如下:(1)傳感器采用無接觸測量
35、,不增加被測物旋轉力矩,測量小里矩的旋轉物能獲得很高的精度。(2)光電傳感器是利用光波作為媒介來實現轉速測量的,抗電磁干擾能力強,如果采用調制光源或調制型發光器件,傳感器還可具有抗外界雜光干擾能力。(3)傳感器利用光電效應方便地將轉速換成電量信號。故此類傳感器測量范圍寬、非接觸檢測距離遠,隨著激光技術的發展,使光電檢測技術獲得了新發展,能達到超遠距離的測量。(4)光電傳感器易受環境霧塵,粉塵、油塵、水霧及雜光的影響。 經過比較,由于光電傳感器的結構簡單、可靠、測量精度高等優點,因而本設計中選用了光電傳感器。3.1.2 光電傳感器的選擇光電傳感器的類型按照光電傳感器中光電元件輸出電信號的形式可以
36、將光電傳感器分為模擬式和脈沖式兩大類。(1)模擬式光電傳感器這種傳感器中光電元件接受的光通量隨被測量連續變化,因此,輸出的光電流也是連續變化的,并與被測量呈確定的函數關系。(2)脈沖式光電傳感器在這種傳感器中,光電元件接受的光信號是斷續變化的,因此光電元件處于開關工作狀態,它輸出的光電流通常是只有兩種穩定狀態的脈沖形式的信號,多用于光電計數和光電式轉速測量等場合。通過兩種形式的光電傳感器比較,我選用了脈沖式光電傳感器,因其多用于光電計數和光電式轉速測量等場合。脈沖式光電轉速傳感器從光路系統看,有透射式和反射式兩種。(1)透射式光電傳感器這種儀表的測量盤裝在被測轉軸上,在它旁邊裝有不動的讀數盤。
37、測量盤沿外緣圓周刻有等距徑向透明光縫,在讀數盤上刻有同樣間距的透光縫隙,當測量盤隨被測軸一起轉動時,每轉過一個縫隙,由光源射來的光線就將照射到光敏元件上一次,這個光脈沖將引起光敏元件的輸出電脈沖,在孔數一定時,該列電脈沖數就和轉速成正比。電脈沖經測量電路整形放大后再送入頻率計計數和顯示,經核算或標定后,就可以得到一個便于測量計數的信號,此時被測轉速為n= f/N式中f測得的脈沖頻率;N每轉脈沖數,它等于圓周上之縫數。若在調制盤上開60個小孔,則可在1秒的記數值上直接讀出轉速大小。它可以測量1r/min的車速。如果開600個孔,則它的測量精度為0.1r/min。(2)反射式光電傳感器在轉軸上不便
38、于安裝測量轉盤時,還可以采用在測量轉軸上加反射鏡的方法。在可能時,為了提高分辨率,可以在轉軸圓周方向等距貼數塊反射鏡。只有光線入射時,轉軸每轉一周就有數次光反射作用。再用簡單光學系統將反射光投到光敏元件上,就可以輸出相應的電脈沖。其它部分與透射式一樣,通過測脈沖頻率就可以求出轉速。反射式轉速表使用方便,它不給轉軸帶來附加載荷,可以在距被測物數十毫米外非接觸地測量其轉速,但要求轉軸不能太細,便于貼反射鏡,它適于測量的轉速范圍為304.8×r/min。通過比較,可知透射式光電傳感器比反射式光電傳感器的測量精度高,因而本設計中我采用了透射式光電傳感器,并且采用了60條縫隙的測量盤。如圖3.
39、1所示,為透射式光電轉速傳感器的結構原理圖。圖3.1 透射式光電轉速傳感器的結構原理測量盤上具有相同間距的縫隙,當測量盤轉動時,轉過一條縫隙,光線便產生一次明暗變化,使光敏元件感光一次,用這種結構可以大大增加轉盤上的縫隙數,因此使每轉的脈沖數相應地增加。3.1.3光電傳感器的脈沖整形電路施密特觸發器在脈沖的產生和整形電路中應用很廣。施密特觸發器是一種能夠把輸入波形整形成為適合于數字電路需要的矩形脈沖的電路。而且由于具有滯回特性,所以抗干擾能力也很強。它可用于波形變換、脈沖整形以及脈沖幅度鑒別。下圖3.2為其應用:圖3.2施密特觸發器的應用根據以上施密特觸發器的應用特性,因而用施密特觸發器作為本
40、系統的主要脈沖整形元件。圖3.3是本系統所采用的透射式光電測速脈沖整形電路圖。每當旋轉圓盤上的長方孔與光電開關上的透光孔重合,則光敏三極管受光而通過電流,使三極管飽和導通,故施密特觸發器CD4093輸出高電平,當圓盤轉至透光孔被遮時,CD4093輸出低電平。隨著圓盤不停地轉動,CD4093便輸出脈沖序列。測出輸出脈沖個數,結合圓盤每一周的孔數,使可算出旋轉的轉速及轉角。圖中的CD4093用于脈沖整形。圖3.3 透射式光電測速脈沖整形電路圖3.2單片機與光電傳感器的接口設計單片機測量頻率有兩種方法:測頻法和測周期法。測量頻率就是在單位定時時間里對被測信號脈沖進行計數;測量周期是在被測信號周期時間
41、里對其一基準時鐘脈沖進行計數。測周期法常用于脈沖頻率較低的場合,所以在本系統中我采用了測頻法。測量頻率最簡單的方法是將被測信號整形為脈沖,然后連接到單片機的定時器/記數器(T/C)的外部脈沖輸入端,本系統中將被測信號脈沖AT89S51的T1端。可將AT89S51的一個T/C0用作定時器,另一個T/C1用作計數器。在T/C0定時時間里,由T/C1對頻率脈沖進行計數。T/C1的計數值是單位定時時間里的脈沖個數。但應注意如下問題:(1)由于AT895S51對輸入T/C的外部脈沖計數,是通過在每個機器周期的第10個時鐘周期對輸入端T1采樣,故需要兩個機器周期(等于24個時鐘周期)識別一個脈沖的負跳變,
42、每識別到一個脈沖的負跳變將計數器加1。因此被測脈沖的最高頻率必須小于。此外,還要求被測頻率脈沖的寬度應大于一個機器周期T。本系統所采用的時鐘頻率為12,則被測脈沖的最高頻率不應超過 1224500;其寬度必須大于。(2)在定時記數時會出現如圖3.4所示的丟失脈沖的情況。第一個脈沖的丟失,是由于開始檢測時脈沖寬度已小于機器周期T;第二個脈沖丟失是由于脈沖的負跳變在定時之處出現。定時時間里出現脈沖丟失,將引起測量精度降低。脈沖頻率越低,這種誤差越大。圖3.4 頻率測量法的脈沖丟失為解決圖3.4中第一個脈沖的丟失,可用門電路實現記數開始與脈沖上升沿的同步控制。圖3.5是用AT80S51的T/C0作定
43、時器,T/C1作計數器,對頻率測量的接口電路。圖3.5 帶同步控制的頻率測量接口控制時,首先由P1.6發一個清0負脈沖,使U1、U2兩個D觸發器復位,其輸出封鎖與門G1和G2。接著由P1.5發一個啟動正脈沖,其有效上升沿使Q1=1,門G1被開放,使被測脈沖得以通過門G1,使Q2置為1,從而將門G2打開。之后,被測脈沖上升沿通過G2送T1計數;同時Q2輸出的高電平使INT0=1,定時器0的門控GATE有效,啟動T/C0開始定時。直到定時結束時,從P1.6發出一個負脈沖,將U2清零,從而封鎖G2,使T/C1停止計數,至此一次頻率采樣過程結束。在本系統中,為汽車轉軸上安裝的測量盤縫隙對應的頻率,測量
44、T/C定時時間為1S,這樣長時間的定時,先由T/C0定時100ms,之后軟件循環10次來完成(10×100ms=1s)。T/C作頻率脈沖的計數器,若單片機工作在計數方式1,最大計數值為65536。若100ms計數65536次, 則脈沖的頻率為655.36kHz,這已經超過了AT89S51的計數器的最高頻率500 kHz,能夠發揮出T/C的最大計數能力。T/C0定時100ms的計數初值設為3CB0H,并設定時器/計數器方式字TMOD=59h。計數器1采用計數值滿后自然清零再計數的方法。將T/C0設為高優先級,允許計數過程中定時中斷,即定時時間到就中止計數。3.3 單片機與外部存儲器的接
45、口設計本系統采用的是串行EEPROM芯片24C16,24C16的13腳分別為器件編址端A0、A1、A2(用于與系統中的同類器件編碼),4腳為電源地,5腳為I2C總線的數據線SDA,在系統中與單片機的P1.3口相接,6腳為I2C總線的時鐘SCL,在系統中與單片機的P1.4口相接,7腳為測試輸入端,在系統中接地,8腳為電源。當時鐘線SCL為高電平時,數據線SDA由高電平跳變為低電平定義為“開始”信號;當SCL線為高電平時,SDA線發生低電平到高電平的跳變為“結束”信號。在5腳SDA,6腳SCL上分別接兩個10K的上拉電阻,并外接了一個瓷介電容,當電源正常供電時給電容器充電,電源掉電時,利用電容器電
46、流將單片機中的數據寫入EEPROM中。3.4 單片機與超速報警電路的接口設計本部分采用一個蜂鳴器和一個紅色發光二極管與單片機的P1.0口相接的報警實現方式,。若實時的車速值與單片機設定的最大車速值相比較,當車速值大于最大車速值時,通過單片機的軟件中斷請求,以1秒鐘為周期,從而實現P1.0口高低電平的通斷。當P1.0口為高電平時,輸出正5V的電壓,使紅色發光二極管得以導通。而且電流由另一條通路使NPN三極管導通,射極輸出電流驅動蜂鳴器工作。當P1.0為低電平時,則不能使紅色發光二極管和NPN三極管導通,因而不能工作。正因為P1.0口高低電平的通斷作用,實現蜂鳴器的嘀嘀聲及發光二極管的閃爍顯示,從
47、而實現了系統超速報警的功能。其電路圖如下圖3.6所示:圖3.6 超速報警電路圖3.5 單片機與鍵盤和7段顯示器的接口設計本系統的鍵盤輸入部分,采用2個功能鍵,用這2個鍵,既可以選擇顯示是單班里程還是總里程。本系統采用的是常見的按鈕開關。開關的接入方法是先將按鈕開關的狀態轉變為邏輯電平,然后可直接接到單片機的某一條I/O線。但由于機械開關在狀態轉換時有信號的抖動,故在接入開關的同時,必須考慮防抖動的問題。其圖3.7如下所示:圖3.7 鍵盤輸入電路圖而七段LED顯示器一般都是同時使用幾個LED顯示器,它有兩種連用方法:一是每一位都用各自的8位輸出口控制,在顯示某一字符時,相應的段恒定發光或不發光,
48、這種顯示方法屬于靜態顯示,它占用較多的I/O口線。二是動態顯示,即將多個7段LED的段選端復接在一起,只用一個8位輸出控制段選,段選同時加到各個7段LED顯示器上,通過控制各個顯示器公共陽極/陰極輪流接電/接地的方法,逐一輪流地啟動各個LED。這種方法中,只要恰當地選擇點亮時間和時間間隔,就會給人以為是各位LED同時顯示的假象。這里使用了一個6位和一個4位動態顯示的共陽極數碼管顯示器。其中LED顯示器的段選碼都由單片機的P0口連接控制,4位LED顯示器的位選碼由單片機的P2.6和P2.7口通過譯碼器74LS139控制,譯碼器74LS139對單片機的P2.6和P2.7口分時選通,這樣任何一個時刻
49、,都只有一位LED在點亮,也即動態掃描顯示方式。74LS139是一個2-4譯碼器,它將單片機輸出的地址信號譯碼后動態驅動相應的LED。但74LS139的電流驅動能力較小,為此,使用了未級驅動PNP三極管C9015作為地址驅動。而6位LED顯示器的位選碼,則由單片機的P2.0至P2.5口控制。再通過軟件編程,從而控制各自的7節LED是否被點亮(由于本模塊電路較大,就沒有在這里列出,但可以參考本作品的完整電路原理圖)。4 軟件設計系統的主程序流程如圖4.1所示。圖4.1 系統主程序流程圖本系統的控制、運算和管理功能都要通過軟件設計來完成,本系統采用模塊式設計技術來進行軟件設計,整個軟件在功能上可分
50、為初始化模塊,鍵輸入和鍵處理模塊,脈沖計數處理模塊,顯示模塊,段碼表子程序塊,存儲模塊。AT89S51單片機硬件中斷人口地址為0013H,并且在這里按鍵輸入、顯示子程序和脈沖計數均用到了T/C(計時/計數器)中斷功能。系統的初始化,除了分配一些功能寄存器、定義一些常量、設置AT89S51單片機的輸人輸出口的工作模式外,還要將24C16設置為串行傳輸模式,清除P0、P2、P1 3個口的寄存器以及接收號碼計數器等一些功能寄存器及開中斷等。下面,就各單元功能模塊分別進行說明。4.1脈沖測量部分由于脈沖測量過程中,開始檢測時脈沖寬度已小于機器周期T,因而會導致脈沖的丟失。為了避免脈沖的丟失,可用門電路
51、實現記數開始與脈沖上升沿的同步控制。所以在控制時,首先由P1.6發一個清0負脈沖,其輸出封鎖與門G1和G2。接著由P1.5發一個啟動正脈沖,從而將門G2打開。之后,被測脈沖上升沿通過G2送T1計數;同時Q2輸出的高電平使INT0=1,定時器0的門控GATE有效,啟動T/C0開始定時。直到定時結束時,從P1.6發出一個負脈沖,將U2清零,從而封鎖G2,使T/C1停止計數,至此一次頻率采樣過程結束。計數器1采用計數值滿后自然清零再計數的方法。將T/C0設為高優先級,允許計數過程中定時中斷。電路圖在圖3.5。下面是初始化和同步控制程序及中斷服務程序。位地址06H作定時1s時間到標志位,R7作軟件計數
52、器,計數10個100ms。ORG 0000H;;AJMP MAIN;ORG 000BH; 定時器T0中斷AJMP TIMER0;ORG 001BH; 定時器T1中斷AJMP CONTER1;MAIN: CLR 06H; 清定時時間到標志位CLR P1.6; 產生清0用負脈沖NOPSETB P1.5MOV TMOD,#59H; MOV TH0,#3CH; T/C0外部啟動定時,T/C1計數MOV TL0,#0B0H; MOV TH1,#00H; T/C1方式1由00H開始計數 MOV TL1,#00H;MOV R7,#0AH; 計數10個100msSETB TR0; T/C0啟動SETB TR1
53、; T/C1啟動SETB PT0; 定時器0為高中斷優先級SETB ET0; 開T/C0中斷SETB ET1; 開T/C1中斷SETB EA; CPU開中斷NOP;CLR P1.5;HE: JNB 06H,HE; 產生時1s時間到 CLR P1.6; 產生負脈沖,封鎖G2 NOP; SETB P1.6; CLR TR0; 關閉定時器 CLR TR1; 關閉定時器 LCALL DATAP; 調數據處理子程序 LCALL DIS; 調顯示子程序 SJMP MAINTIMER0: MOV TH0,#3CH; T/C0中斷服務程序 MOV TL0,# 0B0H; DJNZ R7,RE; MOV R7,#0AH; SETB 06H; 1s定時時間到 RE:RETI; T/C0中斷返回CONTER1:RETI; T/C1中斷返回4.2鍵盤輸入部分這個部分是比較簡單的一個部分,在硬件設計部分本人對簡易鍵盤做了比較詳細的介紹,這里
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45721.1-2025半導體器件應力遷移試驗第1部分:銅應力遷移試驗
- GB/T 45716-2025半導體器件金屬氧化物半導體場效應晶體管(MOSFETs)的偏置溫度不穩定性試驗
- GB/T 45718-2025半導體器件內部金屬層間的時間相關介電擊穿(TDDB)試驗
- 國家開放大學學習網電大傳感器與測試技術形考作業1234答案
- 醫學美容技術專業教學標準(高等職業教育專科)2025修訂
- 2025年中國可穿戴醫療監測智能設備行業市場全景分析及前景機遇研判報告
- 2025年中國精細陶瓷行業市場全景分析及前景機遇研判報告
- 中國裝飾畫行業市場評估分析及發展前景調研戰略研究報告
- 中國二氧化氯發生器行業發展前景預測及投資策略研究報告
- 培訓職工課件
- 2025年養老護理員職業考試試題及答案
- 揭陽惠來縣紀委監委等部門屬下事業單位招聘筆試真題2024
- 春蘇教版六年級數學總復習30課時教學設計
- 黨課課件含講稿:以作風建設新成效激發干事創業新作為
- 西安美術學院《舞臺編導藝術》2023-2024學年第二學期期末試卷
- 城投公司工程管理制度
- 2025全國農業(水產)行業職業技能大賽(水生物病害防治員)選拔賽試題庫(含答案)
- 油浸式變壓器 電抗器 檢修規范標準
- 2025年中國膨潤土貓砂項目投資可行性研究報告
- 職業技術學院2024級智能機器人技術專業人才培養方案
- 猩紅熱課件完整版本
評論
0/150
提交評論