




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要隨著時代的進步和發(fā)展,單片機技術已經(jīng)普及到我們生活、工作、科研、各個領域,已經(jīng)成為一種比較成熟的技術, 本文主要介紹了一個基于AT89C51單片機的速度里程系統(tǒng),詳細描述了利用霍爾傳感器開發(fā)測速系統(tǒng)的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方便的實現(xiàn)實現(xiàn)速度、里程的采集和顯示,它使用起來相當方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點,有利于我們日常生活和汽車生產(chǎn)業(yè)的發(fā)展,也可以當作測速處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展?;魻杺鞲衅髋cAT89C51結合實現(xiàn)最簡測速系統(tǒng),該系統(tǒng)結構
2、簡單,抗干擾能力強,適合于惡劣環(huán)境下進行速度里程測量,有廣泛的應用前景。關鍵詞:單片機AT89C51;速度檢測;霍爾傳感器;速度里程表目錄1 緒論11.1技術概述11.2本課題的背景和意義12 系統(tǒng)設計簡介32.1 速度里程表簡介32.2 設計目的及要求32.3 設計方案論證42.4 硬件設計電路43 設計語言及軟件介紹63.1 C語言介紹63.2 軟件介紹63.2.1Proteus軟件63.2.2Keil C5173.2.3單片機最小系統(tǒng)及復位電路74 系統(tǒng)軟件設計94.1 概述94.2 系統(tǒng)程序設計模塊及流程圖94.2.1主程序104.2.2延時子程序124.2.3顯示程序134.3 調試
3、及仿真135 設計總結和體會156 參考文獻161 緒論 1.1技術概述傳統(tǒng)的車速表是機械式的,典型的機械式里程表連接一根軟軸,軟軸內有一根鋼絲纜,軟軸另一端連接到變速器某一個齒輪上,齒輪旋轉帶動鋼絲纜旋轉,鋼絲纜帶動里程表罩圈內一塊磁鐵旋轉,罩圈與指針聯(lián)接并通過游絲將指針置于零位,磁鐵旋轉速度的快慢引起磁力線大小的變化,平衡被打破指針因此被帶動。這種車速里程表簡單實用,被廣泛用于大小型汽車上。不過,隨著電子技術的發(fā)展,現(xiàn)在很多轎車儀表已經(jīng)使用電子車速表,常見的一種是從變速器上的速度傳感器獲取信號,通過脈沖頻率的變化使指針偏轉或者顯示數(shù)字里程計是由若干個計數(shù)轉鼓及其轉動裝置組成的。為了使用方便
4、,有的車速里程表同時設有累計里程計和區(qū)間里程計,累計里程計用來記錄汽車累計行駛里程,區(qū)間里程計用來記錄汽車單程行駛里程。區(qū)間里程計有一個歸零按鈕,可以隨時復位至零,重新累計。1.2本課題的背景和意義數(shù)字溫度計采用進口芯片組裝精度高、高穩(wěn)定性,誤差0.5%,內電源、微功耗、不銹鋼外殼,防護堅固,美觀精致。 數(shù)字溫度計采用進口高精度、低溫漂、超低功耗集成電路和寬溫型液晶顯示器,內置高能量電池連續(xù)工作5年無需敷設供電電纜,是一種精度高、穩(wěn)定性好、適用性極強的新型現(xiàn)場溫度顯示儀。是傳統(tǒng)現(xiàn)場指針雙金屬溫度計的理想替代產(chǎn)品,廣泛應用于各類工礦企業(yè),大專院校,科研院所。 溫度數(shù)我們日常生產(chǎn)和生活中實時在接觸
5、到的物理量,但是它是看不到的,僅憑感覺只能感覺到大概的溫度值,傳統(tǒng)的指針式的溫度計雖然能指示溫度,但是精度低,使用不夠方便,顯示不夠直觀,數(shù)字溫度計的出現(xiàn)可以讓人們直觀的了解自己想知道的溫度到底是多少度。 數(shù)字溫度計采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶,半導體,熱敏電阻等),將溫度的變化轉換成電信號的變化,如電壓和電流的變化,溫度變化和電信號的變化有一定的關系,如線性關系,一定的曲線關系等,這個電信號可以使用模數(shù)轉換的電路即AD轉換電路將模擬信號轉換為數(shù)字信號,數(shù)字信號再送給處理單元,如單片機或者PC機等,處理單元經(jīng)過內部的軟件計算將這個數(shù)字信號和溫度聯(lián)系起來,成為可以顯示出來的
6、溫度數(shù)值,如25.0攝氏度,然后通過顯示單元,如LED、LCD或者電腦屏幕等顯示出來給人觀察。這樣就完成了數(shù)字溫度計的基本測溫功能。 數(shù)字溫度計根據(jù)使用的傳感器的不同,AD轉換電路,及處理單元的不同,它的精度,穩(wěn)定性,測溫范圍等都有區(qū)別,這就要根據(jù)實際情況選擇符合規(guī)格的數(shù)字溫度計。 數(shù)字溫度計有手持式,盤裝式,及醫(yī)用的小體積的等等。2 系統(tǒng)設計簡介2.1 速度里程表簡介汽車車速里程表分為滾輪計數(shù)器和點距液晶屏式兩種,由指示汽車行駛速度的車速表和記錄汽車所行駛過距離的里程計組成的,二者裝在共同的殼體中,并由同一根軸驅動。普通車速表一般為磁感應式。滾輪計數(shù)器是過去常用的純機械式儀表,通過一根軟軸,
7、一頭連到變速箱輸出軸,另一頭連到里程表;而現(xiàn)在更常用的電子式儀表,它一般是在變速箱輸出軸或車輪上裝一個轉速傳感器,用讀出的轉速通過控制模塊內嵌的計算公式來換算成車速以及歷程。不管是哪種方式,歸根結底,數(shù)據(jù)都是來自于傳動系統(tǒng)輸出端的轉速(變速箱輸出軸或車輪),知道了車輪的轉速,比如每分鐘轉多少圈,再將車輪的周長(也就是車輪轉動一圈走過的距離)算上,車速就出來了,里程也是同樣的道理。 圖2.1速度里程表2.2 設計目的及要求1、了解并掌握Proteus軟件、KEIL軟件,并能熟練的使用其進行仿真;2、培養(yǎng)學生綜合運用前修課程所學的知識進行系統(tǒng)性的訓練;3、養(yǎng)實際動手能力培以及合作的能力;4、利用溫
8、霍爾度傳感器測量車輪的速度。5、測量速度里程由LED數(shù)碼管直讀顯示。2.3 設計方案論證根據(jù)系統(tǒng)的設計要求,利用矩形波觸發(fā)脈沖代替霍爾傳感器,從而對車輪轉速進行模擬。選擇單片機AT89C51為測控系統(tǒng)的核心來完成數(shù)據(jù)采集、處理、顯示等功能。該系統(tǒng)的總體設計思路如下:矩形波發(fā)生器產(chǎn)生矩形波脈沖發(fā)送到AT89C51單片機上,經(jīng)過51單片機處理,將速度和里程在顯示電路上顯示,本系統(tǒng)顯示器用6位共陰LED數(shù)碼管以動態(tài)掃描法實現(xiàn)。按照系統(tǒng)設計功能的要求,確定系統(tǒng)由3個模塊組成:主控制器、檢測電路和顯示電路。本課題以是89C51單片機為核心設計的一種數(shù)字速度里程檢測系統(tǒng),系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采
9、集電路,速度里程顯示電路,單片機主板電路等組成。系統(tǒng)框圖主要由控制模塊、外部信號及其檢測裝置、外部存儲器、LED顯示組成。速度里程表總體電路結構框圖如圖2.1所示。 圖2.1速度里程表的原理框圖2.4 硬件設計電路速度里程表設計電路圖如圖2.2所示,控制器使用單片機AT89C51,矩形波觸發(fā)器作為發(fā)生裝置,用LED實現(xiàn)速度和里程的顯示。圖2.2 速度里程表計設計電路圖3 設計語言及軟件介紹3.1 C語言介紹C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機
10、上,它可以作為工作系統(tǒng)設計語言,編寫系統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用范圍廣泛,具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統(tǒng)開發(fā)。3.2 軟件介紹Proteus軟件Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機
11、愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Keil C
12、51Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil 的優(yōu)勢。KeilC51工具包的整體結構,uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由
13、C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。3.2.3單片機最小系統(tǒng)及復位電路單片機最小系統(tǒng),或者稱為最小應用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。對51系列單片機來說,最小系統(tǒng)一般應該包括:單片機、晶振電路、復位電路.下面給出一個51單片機的最小系統(tǒng)電路圖。 圖3.1復位電路 圖3.2 5
14、1單片機最小系統(tǒng) 復位電路:由電容串聯(lián)電阻構成,由圖并結合“電容電壓不能突變”的性質,可以知道,當系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,并且這個高電平持續(xù)的時間由電路的RC值來決定。典型的51單片機當RST腳的高電平持續(xù)兩個機器周期以上就將復位,所以,適當組合RC的取值就可以保證可靠的復位.一般教科書推薦C 取10u,R取8.2K.當然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個機周期的高電平。至于如何具體定量計算,可以參考電路分析相關書籍。晶振電路:典型的晶振取11.0592MHz(因為可以準確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產(chǎn)
15、生精確的uS級時歇,方便定時操作)。4 系統(tǒng)軟件設計4.1 概述整個系統(tǒng)的功能是由硬件電路配合軟件來實現(xiàn)的,當硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調各執(zhí)行模塊和操作者的關系。二是執(zhí)行軟件(子程序),它是用來完成各種實質性的功能如測量、計算、顯示、通訊等。每一個執(zhí)行軟件是一個小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結構,然后根據(jù)實時性的要求,合理地安排監(jiān)控軟件和各執(zhí)行
16、模塊之間地調度關系。用C語言完成對設計的軟件編程,程序先對各變量進行聲明和定義,之后是延時子程序,在進行定時器、計數(shù)器的初始化。在主函數(shù)中,先定義變量,程序的主體是由計數(shù)器產(chǎn)生的脈沖分別轉換為速度和里程,并將各個位的數(shù)字送到對應的數(shù)碼管的位,驅動顯示。4.2 系統(tǒng)程序設計模塊及流程圖系統(tǒng)程序主要采用順序結構,包括主程序,延時子程序,速度、里程計算子程序和顯示程序等。單片機CPU接收到傳感器感測到的脈沖(即鋸齒波觸發(fā)器產(chǎn)生的脈沖),并通過計數(shù)器對脈沖個數(shù)進行計數(shù)。單片機執(zhí)行運算程序對所記的脈沖個數(shù)運算后,得到速度和里程,經(jīng)CPU處理后在顯示程序的驅動下在顯示器中顯示。延時程序的作用是是輸出數(shù)據(jù)在
17、顯示器上做短暫的停留,易于觀察。程序的執(zhí)行分兩種情況:在里程數(shù)小于2Km時,速度和里程都增加;當里程數(shù)大于2Km時,速度則保持不變,里程繼續(xù)增加。開始變量聲明 初始化Yes判斷no計算程序處理程序顯示程序延時程序 結束 圖4.1系統(tǒng)流程圖4.2.1主程序主程序的主要功能是定義變量并初始化計數(shù)器,對計數(shù)脈沖進行處理、計算。/*函數(shù)名稱:主函數(shù) 說明:因為用三位數(shù)碼管表示速度,在里程小于2Km時速度增加,當里程大于2Km時,速度不變,保持在20Km/h。當?shù)?709個脈沖來臨時要將計數(shù)器清零,并且速度也要清零 。 *void main(void) unsigned char i,j; /定義循環(huán)控
18、制變量unsigned char cnt=0;unsigned int temp=0; unsigned int tab=0,wap=0,a; /定義無符號整形變量 double way = 0,sudu = 0; /定義浮點型數(shù)據(jù),way表示路程,sudu表示速度 unsigned char led6; /用來存放要顯示數(shù)字的各位數(shù)字 init_timer1(); /計數(shù)器初始化 while(1) if(TH1=0x25)&&(TL1>=0xed) /第9709個脈沖來臨時將計數(shù)器清零 TH1=0x00;TL1=0x00;sudu=0; /速度清零 temp=TH1;
19、temp=temp<<8; /將TH1中數(shù)字左移8位再賦給temp temp=temp|TL1; /將TH1和TL1中數(shù)據(jù)合到一個整形變量temp中way=temp*PI*DIA/1000.0; /車子行駛的路程存入浮點型變量way中 while(p3_2=1); /等待變低 TR0=1; while(p3_2=0); /等待變高 while(p3_2=1); /等待變低 TR0=0; a=TH0; a=a<<8; a=a|TL1; a=a*0.001; sudu=2*PI/a; wap=sudu*10; wap=sudu*10; /將速度數(shù)據(jù)轉化為整形,最低位表示十分
20、位,其次為個位,十位 tab=way*10; /將路程數(shù)據(jù)轉化為整形,最低位表示百米,其次表示千米,萬米延時子程序延時子程序的功能是產(chǎn)生有一個延時,是得到的速度里程在數(shù)碼管上顯示。*函數(shù)名稱:延時子程序*void delay(unsigned int dat) /延時大小由形參的大小決定 unsigned int k,j; for(k=0;k<dat;k+) for(j=0;j<2000;j+); /空循環(huán),耗時語句 顯示程序顯示程序的功能是將單片機計算得到的結果在延時程序的作用在顯示在數(shù)碼管上。 led0=wap%10; /速度十分位位上的數(shù)字存led0 led1=wap%100
21、/10; /得出速度個位上的數(shù)字存led1 led2=wap/100; /得出速度十位上的數(shù)字存led2 led3=tab%10; /得出里程百米上的數(shù)字存led3 led4=tab%100/10; /得出里程千米上的數(shù)字存led4 led5=tab/100; /得出里程十千米上的數(shù)字存led5 for(j=0;j<10;j+) /在顯示上消耗時間,使三個數(shù)碼管顯示不中斷 for(i=0; i < 6; i+) P2=led_biti; /把ledi表示的位置的位選通 if(i=1)|(i=4) P0=led_numledi&0x7f; /把相應位置的數(shù)顯式出來,帶小數(shù)點/ else P0=led_numledi; /把相應位置的數(shù)顯式出來,不帶小數(shù)點 delay(1); /延時一個微小時間 4.3 調試及仿真經(jīng)軟件調試-仿真器proteus調試通過,并燒錄芯片,得到所要求的設計結果。如圖4.2試驗成功。 圖4.2 速度里程表度計仿真圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)出資合同范本
- 農村廚子采購合同范本
- 勘察設計合同范本全國
- 2024年河南信陽一五四醫(yī)院招聘筆試真題
- 2024重慶鏡辰美科技有限公司招聘筆試參考題庫附帶答案詳解
- 出售養(yǎng)殖用地合同范本
- 人教版七年級歷史與社會上冊 3.3.1耕海牧漁教學設計
- 買窯洞合同范本
- 臨勤合同范本
- 助播商務合同范本
- 《指南針》完整版
- 深圳人才公園功能分析報告
- 《核醫(yī)學輻射防護》課件
- 入托入學兒童預防接種證查驗接種證工作課件
- 《犀牛軟件基礎教程》課件
- 惡性腫瘤終末期護理查房課件
- 《兒童胃食管反流病》課件
- 【村級財務管理問題探究國內外探究綜述3300字】
- 閱讀理解:如何找文章線索 課件
- 工程分包商履約情況與進度關聯(lián)分析
- 英語倒裝句課件(全面詳細)
評論
0/150
提交評論