版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于單片機的自行車里程速度表</p><p> 摘 要: 本設計采用簡單、可靠的霍爾元件傳感器和AT89C2051單片機系統(tǒng)實現(xiàn)了自行車里程、速度、時間的實時測量,測得的數(shù)據(jù)由LED數(shù)碼管顯示,切換顯示時采用蜂鳴器提示,本設計外圍電路簡單,元件少,體積小,超速時采用光、語音報警提示。</p><p> 關鍵詞: 單片機;LED數(shù)碼管顯示器;自行車;里程;速度&
2、lt;/p><p><b> 1.引 言</b></p><p> 近年來,隨著人們生活水平的不斷提高,各種變速自行車,賽車等高檔自行車正在步入每個普通家庭,騎自行車郊游、旅行或體育鍛煉已經(jīng)成為許多人所喜愛的一項活動。這時人們往往希望了解一下自行車的行使速度,以便估算出到達目的地的大概時間,決策其后的行動計劃,如果利用速度傳感器,固然可以獲得較高精度的自行車速度,但
3、是價格比較昂貴,人們難以接受。隨著電子技術的廣泛應用,傳統(tǒng)儀表逐漸被以微處理器為核心的電子控制數(shù)字儀表所取代。于是具有價格低廉,結構簡單、安裝方便、可靠性到等特點的數(shù)字式自行車速度里程表的問世,將給喜歡騎自行車的旅游者帶來佳音。</p><p> 本設計采用了MCS-51系列單片機設計一種體積小、操作簡單的便攜式自行車里程速度表,它能自動地顯示當前自行車行走的距離及運行的速度和總時間,本設計還帶有超速聲光報警提
4、示、切換顯示時蜂鳴提示,當行走每十公里的整數(shù)倍的路程時,蜂鳴器提示等功能,能給騎車人帶來很大的方便。</p><p> 傳統(tǒng)的速度里程表的功能有兩個:</p><p> 一是用指針指示車輛行駛的瞬時車速,二是用機械計數(shù)器記錄車輛行駛的累計里程。用軟軸驅動的傳統(tǒng)車速里程表存在著很多的缺陷,因為軟軸在高速旋轉時,由于受鋼絲交變應力極限的限制而容易斷裂,同時,軟軸布置過長會出現(xiàn)形變過大或運動
5、遲滯等現(xiàn)象,而且,對于不同的車型,轉速里程表的安裝位置也會受到軟軸長度及彎曲度的限制。</p><p><b> 2.方案的論證</b></p><p><b> 2.1課題分析</b></p><p> 新生事物不會因傳統(tǒng)的存在而停止它前進的步伐,電子數(shù)碼科技今天已滲透到工業(yè),農(nóng)業(yè),民用的產(chǎn)品的點點滴滴。新概念汽車
6、里程表直接用數(shù)字顯示速度、里程,另外還有時間顯示和溫度測量以及超速報警。不只是為達到目的,更是為了享受駕駛的快感。</p><p> 本設計是一個十分實用的設計。像這種電子計程表是一定會在實際應用之中有它的用武之地,市場前景十分廣闊。</p><p> 其設計的具體功能要求是:</p><p> 1.實現(xiàn)速度的測量(單位:米/秒);</p>&l
7、t;p> 2.具有測量行程的功能(單位:米);</p><p> 3.速度過快的警告功能*;</p><p><b> 4.LCD顯示。</b></p><p> 要達到課題要求其難點在于:</p><p> 1.用霍爾元件數(shù)據(jù)采集的具體安裝和實現(xiàn)效果。</p><p> 2.單
8、片機對里程和速度的計算,液晶輸出的中斷與數(shù)據(jù)采集造成里程和速度的誤差</p><p> 2.2 測量傳感器模塊設計方案</p><p><b> 方案一:</b></p><p> 利用紅外線傳感器(紅外對管),檢出自行車前輪車條這一速度的特征參量,將其轉變?yōu)橛嫈?shù)脈沖采用</p><p> 紅外光電傳感器,進行非
9、接觸式檢測。當有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當沒有物體擋在中間時則輸出為高電平,從而形成一個脈沖。</p><p><b> 方案二:</b></p><p> 利用編碼器對車輪的圈數(shù)進行測量。將旋轉編碼器安裝在車軸上,這樣每當車輪轉過一定的距離編碼器就會發(fā)出一個脈沖。利用脈沖數(shù)對里程進行測量。采用</
10、p><p> 紅外光電傳感器,進行非接觸式檢測。當有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當沒有物體擋在中間時則輸出為高電平,從而形成一個脈沖。</p><p><b> 方案三</b></p><p> 利用霍爾型非接觸式轉速傳感器對里程進行測量。將霍爾元件安裝在車前叉的一側,在輪圈側面貼一個磁
11、片。當磁片經(jīng)過霍爾元件時,霍爾元件輸出端的電壓發(fā)生變化產(chǎn)生脈沖,單片機根據(jù)脈沖數(shù)計算里程。</p><p> 光敏電阻對光特別敏感,當白天行駛時,外界光源將導致光敏電阻發(fā)出錯誤信號;光敏電阻對環(huán)境的要求相當高,如果光敏電阻或發(fā)光二極管被泥沙或灰塵所覆蓋,光敏電阻就不能再進行準確測量;在霧天和雨天光敏電阻的測量的效果也不好。而編碼器必須安裝在車軸上,安裝較為復雜,這樣就會給用戶帶來很多不便?;魻栐坏皇芴鞖獾?/p>
12、影響,即使被泥沙或灰塵覆蓋對測量也不會有影響。而且安裝方便,不受光線、泥水等因素影響的優(yōu)點。 </p><p> 故本設計采用方案三。</p><p> 3.系統(tǒng)硬件電路的分析與設計</p><p> 3.1 總體思路:</
13、p><p> 假定輪圈的周長為L,在輪圈上安裝m個永久磁鐵,則測得的里程值最大誤差為L/m。經(jīng)綜合分析,本設計中取m=1。當輪子每轉一圈,通過開關型霍爾元件傳感器采集到一個脈沖信號,并從引腳P3.4 計數(shù)器T0端輸入,傳感器每獲取一個脈沖信號即對系統(tǒng)提供一次計數(shù)中斷。每秒鐘所獲取的中斷數(shù)目再乘以輪圈周長即為速度v,在時間t內走過的總路程s為t個v的總和。當速度鍵按下時,LED切換顯示當前速度v,速度指示燈亮;若自行
14、車超速,系統(tǒng)發(fā)出報警提示,指示燈閃爍;當時間鍵按下時,LED切換顯示當前所用時間,時間指示燈亮。當清零鍵按下時,系統(tǒng)自動重新開始計數(shù)。沒有任何按鍵操作時,里程指示燈亮,數(shù)碼管顯示里程值。</p><p> 3.2 系統(tǒng)電路框圖</p><p> 通過理論的綜合分析和論證,將硬件分為下列幾部分:脈沖信號的采集,電源系統(tǒng)的設計,按鍵開關切換控制,LED顯示及驅動,單片機最小系統(tǒng),提示電路等
15、,方框圖如圖1所示。</p><p><b> 圖1 系統(tǒng)方框圖</b></p><p> 3.3脈沖信號的采集</p><p> 3.3.1基本原理(霍爾效應)</p><p> 如圖2所示,在一塊通電的半導體薄片上,加上和片子表面垂直的磁場B,在薄片的橫向兩側會出現(xiàn)一個電壓,圖中的VH,這種現(xiàn)象就是霍爾效應
16、,是由科學家愛德文·霍爾在1879年發(fā)現(xiàn)的。VH稱為霍爾電壓。</p><p> 這種現(xiàn)象的產(chǎn)生,是因為通電半導體片中的載流子在磁場產(chǎn)生的洛侖茲力的作用下,分別向片子橫向兩側偏轉和積聚,因而形成一個電場,稱作霍爾電場?;魻栯妶霎a(chǎn)生的電場力和洛侖茲力相反,它阻礙載流子繼續(xù)堆積,直到霍爾電場力和洛侖茲力相等。這時,片子兩側建立起一個穩(wěn)定的電壓,這就是霍爾電壓。</p><p>&l
17、t;b> 圖2 霍爾效應</b></p><p> 3.3.2 信號預處理電路</p><p> 如圖3所示,系統(tǒng)的信號預處理電路由二級電路構成,第一級是由開關三極管組成的零偏置放大器,采用開關三極管可以保證放大器具有良好的高頻響應。當輸入信號為零或負電壓時,三極管截止,電路輸出高電平;而當輸入信號為正電壓時,三極管導通,此時輸出電壓隨著輸入電壓的上升而下降,這使得
18、速度里程表既可以測量任意方波信號的頻率,也可以測量正弦波信號的頻率。由于放大器的放大功能降低了對待測信號的幅度要求,因此,系統(tǒng)能對任意大于0.5V的正弦波和脈沖信號進行測量。預處理電路的第二級采用帶施密特觸發(fā)器的反相器DM74LS14來把放大器生成的單相脈沖轉換成與COMS電平相兼容的方波信號(如圖4所示),同時將輸出信號加到單片機的P3.4口上。</p><p> 利用施密特觸發(fā)器狀態(tài)轉換過程中的正反饋作用,
19、可以把邊沿變化緩慢的周期性信號變換為邊沿很陡的矩形脈沖信號。輸入的信號只要幅度大于VT+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號。</p><p> 從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當傳輸線上的電容較大時,波形的上升沿將明顯變壞;當傳輸線較長,而且接受端的阻抗與傳輸線的阻抗不匹配時,在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當其他脈沖信號通過導線間的分布電容或公共電源線疊加到矩形脈沖信
20、號時,信號上將出現(xiàn)附加的噪聲。無論出現(xiàn)上述的那一種情況,都可以通過用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器的VT+和VT-設置得合適,均能受到滿意的整形效果。</p><p><b> 3.4電源電路 </b></p><p> 方案一:采用自動充電電路</p><p> 直流電源用于產(chǎn)生+ 5 V 電壓,電路
21、如圖5 所示。整個電源由2 部分組成。</p><p><b> 圖5 電源電路</b></p><p> 這種充電器具有自動控制充電電流的功能,蓄電池充足后即自動關閉,無需看管。</p><p> 磨電機與車胎摩擦產(chǎn)生電壓為6 V、電流為0. 5 A 的交流電,經(jīng)整流橋D1~D4 整流后得到7. 2 V 直流電壓,經(jīng)限流電阻R1 、可
22、控硅SCR 到被充蓄電池。SCR 導通時,充電電流IC 可由下式估算</p><p> IC ≈ ( UDC - UB) RC</p><p> 式中,UDC為整流橋輸出直流電壓; UB 為蓄電池電壓。</p><p> 觸發(fā)器的電路如圖6所示。該觸發(fā)器用一只單結晶體管BT33C ,它的發(fā)射極E 從R2 (15 K、1/ 4 W) 、R3(15 kΩ、1/ 4
23、 W) 組成的分壓器上取得一個整定電壓UE。由于W 點上的電壓由穩(wěn)壓管DZ(2CW7F) 穩(wěn)住,因此UE 不隨蓄電池的電壓波動,而BT33 的B1 極和B2 極則是分別經(jīng)脈沖變壓器TB、R5 (110 ( 、1/ 4W) 接到蓄電池的兩端,所以VBB將隨蓄電池的電壓變化而變化。當UE > 0. 6 +ηVBB時才會觸發(fā)。當蓄電池充足時,若VBB升高,不再滿足觸發(fā)條件,使觸發(fā)停止;當蓄電池電壓降低時,VBB下降,滿足上述不等式,則觸
24、發(fā)器觸發(fā),SCR 導通,蓄電池再行充電,從而達到自動充電的目的。</p><p> 圖6 觸發(fā)器電路圖</p><p> 方案二:采用9V直流電源供電,經(jīng)穩(wěn)壓電路得到+5V直流電壓如圖7所示</p><p> 圖7 +5V電源電路</p><p> 方案二電路簡單,性能穩(wěn)定,較容易實現(xiàn),故本設計選擇方案二</p>&l
25、t;p> 3.5按鍵開關切換控制</p><p> 圖8 按鍵開關及復位切換電路</p><p> 3.6 LED顯示及驅動 方案一、數(shù)碼管LED顯示信息。利用4個數(shù)碼管動態(tài)顯示數(shù)字信息,并用3個發(fā)光二極管分別指示顯示量的內容和單位。例如數(shù)碼管顯示0007,并且里程指示燈亮,表示自行車行走的里程為7m,本系統(tǒng)一次所能顯示的最大里程為9999m,若超出10km則再從000
26、0m計起;若速度指示燈亮,表示當前的速度為7m/s。若時間指示燈亮,此時顯示器顯示的是時間。 方案二、液晶顯示器顯示信息。利用低功耗LCD液晶在顯屏上切換顯示里程、速度、時間的數(shù)字信息。并用3個發(fā)光二極管分別指示顯示量的內容和單位。 本設計選擇方案一。如圖9:</p><p><b> 圖9顯示部分電路</b></p><p> 3.7單片機最小系
27、統(tǒng)</p><p> 使用最常規(guī)的AT89C51。電路也是最常規(guī)的最小系統(tǒng)(如圖10)。主要是晶振,電源,地,上電復位,還有一些外接I/O口。</p><p> 在這里因該把晶振時鐘電路具體說明一下,外部晶振以及電容C1和C2構成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有直接要求,但電容的大小多少回影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和穩(wěn)定性。外接晶振時
28、,C1和C2通常選擇30PF,晶振采用12MHZ。</p><p> 圖10 AT89C51系列最小系統(tǒng)</p><p><b> 3.8提示報警電路</b></p><p> 當自行車超速行駛時,P3.7輸出信號驅動蜂鳴器發(fā)出報警聲音。P1.7口輸出信號驅動發(fā)光二極管發(fā)出光報警。</p><p> 圖11 超速
29、報警電路 </p><p> 4.系統(tǒng)軟件主要程序的設計</p><p> 4.1 系統(tǒng)工作過程</p><p> 本系統(tǒng)采用AT89C51單片機作為系統(tǒng)核心,采用霍爾元件提供脈沖信號。LED顯示器采用動態(tài)方式顯示,P1.0、P1.1、P1.2、P1.6用于數(shù)碼管的選片控制。P1.3、P1.5用于74LS164的數(shù)據(jù)和時鐘的輸入,并行驅動4位共陰數(shù)碼管。P1
30、.7、P3.0、P3.1分別用于速度、時間、里程指示燈控制,當顯示里程時P3.1=1,LEDs亮;當按下keyv 即INT0中斷時,LED切換顯示當前速度,并LEDv亮;當按下keyt 即INT1中斷時,LED顯示所用時間,并LEDt亮。P3.7用于蜂鳴器的提示音驅動控制輸出。T0作計數(shù)器使用,用于對輪子圈數(shù)脈沖的計數(shù)輸入。T1用作定時器,精確定時1秒鐘。若每秒讀取輪圈的脈沖數(shù)為n,再乘以輪圈周長L,即得瞬時速度值v,當速度v 超過設定
31、值時,即自行車超速,P1.7輸出報警提示閃爍信號,同時P3.7輸出蜂鳴器報警提示信號,自行車當前的速度值v可用下面式子計算:</p><p> v = n L(m/s)</p><p> 當自行車行走時間為t秒,系統(tǒng)將獲取到n1+n2+n3+……+nt個脈沖信號,則自行車行走的里程s為:</p><p> s =(n1+n2+n3+……+nt)L = v1+v
32、2+v3+……+vt</p><p> 當key rst按下時,系統(tǒng)自動重新開始計數(shù)。</p><p> 4.2系統(tǒng)內存的規(guī)劃:</p><p> 由于本系統(tǒng)處理功能較多,因而一部分內存單元用于特定的用處,其主要內存單元及用處如下:</p><p> 21H:存放定時1s的計數(shù)初值</p><p> 22H-
33、24H:存放自行車所用的時間數(shù);</p><p> 25H-26H:二進制轉十進制單元;</p><p> 30H-33H: 顯示緩沖單元;</p><p> 42H: 存放自行車瞬時速度值;</p><p> 47H-48H:存放自行車里程值;</p><p><b> 4.3初始化程序:<
34、/b></p><p> 本系統(tǒng)初始化程序中,主要完成:上電穩(wěn)定;規(guī)劃優(yōu)先級別IP,其優(yōu)先順序為:計數(shù)器T0、定時器T1、中斷INT0、中斷INT1;T0設為外部控制計數(shù)器,工作模式為2;T1設為定時器工作方式,工作模式為1,并給TL0、TH0,TL1、TH1賦初值;將部分內存單元清零;允許INT0、INT1、T1中斷;開計數(shù)器、定時器等。</p><p><b> 4
35、.4主程序</b></p><p> 主程序顯示里程,其流程圖如圖12所示:</p><p><b> 圖12主程序流程圖</b></p><p><b> 4.5中斷子程序</b></p><p> 由INT0、INT1輸入的時間、速度中斷顯示程序,定時器T1每秒脈沖數(shù)處理中斷
36、程序。時間顯示程序,如圖13所示;速度顯示程序,如圖14所示;定時器中斷程序如圖15所示。</p><p> 圖13 時間顯示程序</p><p> 圖14 速度顯示程序</p><p> 圖15 定時器中斷程序</p><p><b> 4.6源程序</b></p><p> ;程序名
37、: 自行車里程速度表程序</p><p> ;Speed/Mile For Bicycle Program Writing By ZhengXinhua </p><p> ;Electronics Science Department HuiZhou University GD</p><p> ;****************************
38、**********************</p><p> XSDAT BIT P1.3 </p><p> XSCLK BIT P1.5</p><p> GW BIT P1.6</p><p> SW BIT P1.2</p><p> BW BIT P1.1</p>
39、<p> QW BIT P1.0</p><p> bz bit 00h ;秒閃動標志</p><p> SJGW EQU 30H </p><p> SJSW EQU 31H</p><p> SJBW EQU 32H </p><p>
40、 SJQW EQU 33H</p><p> TIME EQU 21H </p><p> SEC EQU 22H ;秒計數(shù)器</p><p> MIN EQU 23H ;分計數(shù)器</p><p> HOUR EQU 24H ;時計數(shù)器</p>
41、<p> TEMPL EQU 25H ;低位入口</p><p> TEMPH EQU 26H ;高位入口</p><p> ;--程序入口-----------------------</p><p><b> ORG 0000H</b></p><p> AJMP
42、 MAIN </p><p><b> ORG 0003H</b></p><p> AJMP INTR0 ;時間顯示入口</p><p> ORG 0013H </p><p> AJMP INTR1 ;速度顯示入口</p><p> ORG 001BH
43、 </p><p> AJMP TIMER1 ;定時器T1 50MS中斷 </p><p> ;初始化********************************************</p><p> CLEARMEN: MOV SP,#65H</p><p> MOV R7,#100 ;上電穩(wěn)定</p
44、><p><b> DJNZ R7,$</b></p><p> ACALL SOUND ;蜂鳴提示一聲 </p><p> MOV P1,#4FH </p><p> MOV IP,#0AH</p><p> MOV TCON,#05H</p>&l
45、t;p> MOV 42H,#0</p><p> MOV 47H,#0</p><p> MOV 48H,#0</p><p> MOV SEC,#0</p><p> MOV MIN,#0 </p><p> MOV HOUR,#0 ;清時間為0</p>&l
46、t;p> MOV TMOD,#16H ;初始化,T0為計數(shù)器,T1為定時器</p><p> MOV TL0,#00H</p><p> MOV TH0,#00H</p><p> MOV TL1,#0B0H</p><p> MOV TH1,#3CH ;50MS定時初值(12M時)</p>
47、<p> SETB TR1 ;啟動定時器T1</p><p> SETB TR0 ;啟動計數(shù)器T0</p><p> MOV IE,#8DH ;開中斷</p><p> MAIN : ACALL CLEARMEN</p><p> LOOP: SETB P3.1 ;顯
48、示里程</p><p><b> CLR P3.0</b></p><p><b> CLR P1.7 </b></p><p> MOV TEMPL,47H </p><p> MOV TEMPH,48H </p><p> ACALL T2_10L
49、</p><p> ACALL T2_10H</p><p> LCALL DISPLAY ;顯示</p><p> LJMP LOOP </p><p><b> ;二進制轉十進制</b></p><p> T2_10L: MOV A,TEMPL ;
50、賦低位</p><p><b> MOV B,#10</b></p><p> DIV AB ;10進制轉換</p><p> MOV SJSW,A ;得到十位</p><p> MOV SJGW,B ;得到個位 </p><p>&
51、lt;b> RET; </b></p><p> T2_10H: MOV A,TEMPH ;賦高位</p><p><b> MOV B,#10</b></p><p> DIV AB ;10進制轉換</p><p> MOV SJQW,A
52、 ;得到千位</p><p> MOV SJBW,B ;得到百位 </p><p><b> RET;</b></p><p> ;T0 50MS中斷==對應12MHZ=====================================</p><p> TIMER1: PUS
53、H ACC</p><p><b> INC TIME</b></p><p> MOV A,TIME</p><p> CJNE A,#20,T1EXIT ;20個50MS=1S</p><p> MOV TIME,#0</p><p> MOV A,TL0;</p>
54、<p> MOV TL0,#00H</p><p> MOV TH0,#00H</p><p><b> RL A</b></p><p><b> MOV 42H,A</b></p><p> MOV A,#0AH ;設定超速值</p><p>
55、 SUBB A,42H</p><p> JNC NORMAL ;不為1則正常,超速則往下</p><p> SETB P1.7 ;超速報警聲光提示</p><p> ACALL DISPLAYV </p><p><b> MOV R7,#2</b></p><p&g
56、t; WARING: MOV R6,#50 </p><p> WARING1: ACALL DISPLAY</p><p> DJNZ R6,WARING1</p><p><b> CPL P1.7</b></p><p><b> SETB P3.7</b></p>
57、<p> DJNZ R7,WARING</p><p><b> CLR P3.7 </b></p><p> NORMAL:MOV A,42H</p><p><b> ADD A,47H</b></p><p> MOV 47H,A;</p><p&
58、gt; MOV A,#63H</p><p> SUBB A,47H</p><p> JNC ADDOUT ;未滿則轉</p><p> MOV 47H,#00</p><p><b> INC 48H</b></p><p> MOV A,#64H</p&
59、gt;<p> SUBB A,48H</p><p> JNC ADDOUT</p><p> MOV 48H,#00</p><p> ACALL SOUND ;蜂鳴提示一聲</p><p> ADDOUT:INC SEC ;+1秒</p><p&g
60、t;<b> MOV A,SEC</b></p><p> CJNE A,#60,T1EXIT ;60S=1MIN</p><p> MOV SEC,#0</p><p> INC MIN ;+1分</p><p><b> MOV A,MIN</b&
61、gt;</p><p> CJNE A,#60,T1EXIT</p><p> MOV MIN,#0</p><p><b> INC HOUR</b></p><p> MOV A,HOUR ;+1時</p><p> CJNE A,#24,T1EXIT<
62、/p><p> MOV HOUR,#0</p><p> T1EXIT: MOV TL1,#0B0H</p><p> MOV TH1,#3CH ;重裝50MS定時</p><p><b> POP ACC</b></p><p><b> RETI<
63、;/b></p><p> SOUND: SETB P3.7</p><p> ACALL DS1MS</p><p><b> CLR P3.7</b></p><p><b> RET</b></p><p> INTR0: PUSH ACC
64、 ;顯示時間</p><p><b> SETB P3.0</b></p><p><b> CLR P3.1</b></p><p><b> CLR P1.7</b></p><p> SETB bz </p><p>
65、; MOV TEMPL,MIN </p><p> MOV TEMPH,HOUR </p><p> ACALL T2_10L</p><p> ACALL T2_10H</p><p><b> MOV R7,#2</b></p><p> INTR00L:MOV R6,#6
66、0 </p><p> INTR0L:ACALL DISPLAY</p><p> DJNZ R6,INTR0L</p><p><b> CLR bz</b></p><p><b> SETB P3.7</b></p><p> DJNZ R7,INTR0
67、0L</p><p><b> CLR P3.7</b></p><p><b> SETB bz</b></p><p><b> POP ACC</b></p><p><b> RETI</b></p><p> I
68、NTR1: PUSH ACC;顯示速度</p><p><b> SETB P1.7</b></p><p> ACALL DISPLAYV</p><p><b> MOV R7,#2</b></p><p> INTR11L:MOV R6,#60 </p>&l
69、t;p> INTR1L:ACALL DISPLAY</p><p> DJNZ R6,INTR1L</p><p><b> SETB P3.7</b></p><p> DJNZ R7,INTR11L</p><p><b> CLR P3.7</b></p>&l
70、t;p><b> POP ACC</b></p><p><b> RETI</b></p><p> DISPLAYV:CLR P3.0</p><p><b> CLR P3.1</b></p><p> MOV TEMPL,42H </p&g
71、t;<p> MOV TEMPH,#00 </p><p> ACALL T2_10L</p><p> ACALL T2_10H</p><p><b> RET</b></p><p> ;*********************************************&l
72、t;/p><p> ;74164顯示程序,使用RS1=1,RS0=0的1區(qū) 2005/4/12</p><p> DISPLAY: PUSH ACC ;保存ACC</p><p><b> PUSH PSW</b></p><p><b> CLR RS1</b>&l
73、t;/p><p> SETB RS0 ;使用第一區(qū)工作寄存器 </p><p> MOV DPTR,#XSTAB </p><p> MOV A,SJGW ;取得數(shù)據(jù)</p><p> MOVC A,@A+DPTR ;提取字模</p><p> ACA
74、LL DSOUT ;調用送出子程序</p><p><b> CLR GW</b></p><p> ACALL DS1MS ;調用顯示1MS延時程序</p><p><b> SETB GW</b></p><p> MOV A,SJSW</p&g
75、t;<p> MOVC A,@A+DPTR ;提取字模</p><p> ACALL DSOUT ;送出</p><p><b> CLR SW</b></p><p> ACALL DS1MS ;顯示1MS </p><p> SETB SW
76、 </p><p> MOV A,SJBW</p><p> MOVC A,@A+DPTR ;提取字模</p><p> ACALL DSOUT ;送出</p><p><b> CLR BW</b></p><p> ACALL DS1MS
77、 ;顯示1MS </p><p><b> SETB BW </b></p><p> ;--------------------------------</p><p> JB bz,bzover ;若標志=1,不顯示小數(shù)點</p><p> MOV A,#80H ;
78、顯示小數(shù)點</p><p> ACALL DSOUT</p><p><b> CLR BW</b></p><p> ACALL DS1MS</p><p> SETB BW </p><p> ;--------------------------------</p>
79、;<p> bzover: MOV A,SJQW</p><p> MOVC A,@A+DPTR ;提取字模</p><p> ACALL DSOUT ;送出</p><p><b> CLR QW</b></p><p> ACALL DS1MS
80、 ;顯示1MS</p><p><b> SETB QW</b></p><p><b> POP PSW</b></p><p> POP ACC ;出棧</p><p> RET ;返回調用</p><
81、p> ;---送出循環(huán)----------</p><p> DSOUT: MOV R0,#8 ;傳送一個字節(jié)8位</p><p> DSLOOP: RLC A ;左移</p><p> MOV XSDAT,C ;送數(shù)據(jù)到數(shù)據(jù)口</p><p&g
82、t; SETB XSCLK ;送一時鐘</p><p><b> CLR XSCLK</b></p><p> DJNZ R0,DSLOOP</p><p> RET </p><p> ;---顯示延時---------- </p><p> DS
83、1MS: MOV R1,#10</p><p> DS1LO: MOV R2,#100</p><p><b> DJNZ R2,$</b></p><p> DJNZ R1,DS1LO</p><p> RET ;延時返回</p><p>
84、; ;---------------------------------------------------------</p><p><b> ;顯示字表(共陰)</b></p><p> XSTAB: DB 3FH,06H,5BH,4FH ;"0","1","2","3&q
85、uot;</p><p> DB 66H,6DH,7DH,07H ;"4","5","6","7"</p><p> DB 7FH,6FH ;"8","9"</p><p> ;****************
86、************************************</p><p><b> END</b></p><p><b> 5.硬件的調試</b></p><p> 本系統(tǒng)速度、時間的顯示延時時間為2秒鐘,閃過之后,又繼續(xù)顯示當前里程,切換顯示時蜂鳴器會提示一聲。</p><p&
87、gt; 本系統(tǒng)所用元件少,耗電小,采用1節(jié)9V的電池經(jīng)穩(wěn)壓后5V供電,系統(tǒng)工作總電流僅39.2mA,切換顯示蜂鳴提示時,系統(tǒng)工作總電流為45.8 mA。</p><p> 系統(tǒng)的誤差分析:情況一、當輪圈起步時,磁體剛好在傳感器后面,即自行車轉一圈,系統(tǒng)才開始記第一個脈沖數(shù),若自行車停止時,磁體剛好還未到傳感器,即系統(tǒng)未記到最后一個脈沖,此時系統(tǒng)的誤差最大,為輪圈的周長L;若停止時,系統(tǒng)剛好記到最后一個脈沖,此
88、時系統(tǒng)誤差最小。情況二、當輪圈起步時,磁體剛好在傳感器前面,即自行車一起步系統(tǒng)就記下一個脈沖,若自行車停止時,磁體剛好在傳感器的前面,此時系統(tǒng)誤差同樣最大,為輪圈的周長L;若停止時,磁體剛好在傳感器的后面,此時系統(tǒng)誤差最小。在本系統(tǒng)中,輪圈周長L=2m,輪圈上裝有的磁體數(shù)m=1,故里程最大誤差為:</p><p> U(s)=L/m=2m/1=2m</p><p><b>
89、速度的最大誤差為:</b></p><p> U(v)=( (U(s)/L)2 +(U(t)/t)2 )1/2 =(2 /2) =1m/s</p><p> 改善誤差的方法有:可將磁體數(shù)m盡可能取大。</p><p><b> 6.主要器件介紹</b></p><p><b> 一、AT8
90、9C51</b></p><p> AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內含4Kbytes的可反復檫寫的FLASH只讀程序存儲器和128bytes的隨機數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令,片內置通用8位中央處理器(CPU)和FLASH存儲單元,功能強大AT89C51單片機可為您提供許多高性價比的
91、應用場合,可靈活應用于各種控制領域。</p><p><b> 1)主要性能參數(shù):</b></p><p> ●與MCS-51指令系統(tǒng)完全兼容</p><p> ●4K字節(jié)可重新檫寫寫FLASH閃速存儲器</p><p> ●1000次檫寫周期</p><p><b> ●全靜
92、態(tài)工作</b></p><p> ●三級加密程序存儲器</p><p> ●28*8字節(jié)內部RAM</p><p> ●32個可編程I/O口線</p><p> ●2個16位定時/計數(shù)器</p><p><b> ●6個中斷源</b></p><p>
93、 ●可編程串行UART通道</p><p> ●低功耗空閑和掉電模式</p><p><b> 2)功能特性概述</b></p><p> AT89C51提供以下標準功能:4K字節(jié)FLASH閃速存儲器,128字節(jié)內部RAM,32個I/O口線,兩個16位定時/計數(shù)蹺蹊,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同
94、時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,傳行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作知道下一個硬件復位。</p><p><b> 二、74LS14</b></p><p> 74LS164的管腳圖見圖16。74LS16
95、4為TTL單向8位移位寄存器,可實現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數(shù)據(jù)輸入端,2個data引腳按邏輯與運算規(guī)律輸入信號,公一個輸入信號時可并接。CP(第8腳)為時鐘輸入端。每一個時鐘信號的上升沿加到CP(Clk)端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進制數(shù)全部移入74LS164中。R(第9腳)為復位端,當R=0時,移位寄存器各位復0,只有當R=1時,時鐘脈沖才起作用。Q1…Q8(第3-6和10-13引腳)并
96、行輸出端分別接LED顯示器的hg---a各段對應的引腳上。在74LS164獲得時鐘脈沖的瞬間(再講清楚點,是在脈沖的沿),如果數(shù)據(jù)輸入端(第1,2引腳)是高電平,則就會有一個1進入到74LS164的內部,如果數(shù)據(jù)輸入端是低電平,則就會有一個0進入其內部。</p><p> 圖16 74LS164的管腳圖</p><p><b> 邏輯及封裝圖</b></p
97、><p><b> 極限值</b></p><p> 電源電壓………………………7V</p><p> 輸入電壓………………………5.5V</p><p> 工作環(huán)境溫度…………………-0~70℃</p><p><b> 真值表</b></p><
98、p> H-高電平 L-低電平 X-任意電平 ↑低到高電平跳變</p><p> Qao,Qbo,Qho-規(guī)定的穩(wěn)態(tài)條件建立前的電平</p><p> Qan,Qgn-時鐘最近的↑前的電平。</p><p><b> 三、LED數(shù)碼管</b></p><p> 本設計所用的LED數(shù)碼管的型號為J
99、M—S05641AH,其中A表示共陰型,H表示高亮度,其管腳圖如圖17所示。</p><p> 圖17 LED數(shù)碼管管腳圖</p><p><b> 8.參考文獻:</b></p><p> [1] 崔華、蔡炎光編著:《單片機實用技術》,清華大學出版社,2004-10 </p><p> [2] 盛琳陽
100、、孫菊江:《微型計算機原理》,西安電子科技大學出版社,2003-1</p><p> [3] 林伸茂編著:《8051單片機徹底研究基礎篇》,人民郵電出版社,2004-5</p><p> [4] 許永和編著:《8051單片機USB接口程序設計(下)》,北京航空航天大學出版社,2004-8</p><p> [5] 樓然苗、李光飛編著:《51系列單片
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機畢業(yè)設計---行車里程速度表
- 基于單片機的自行車里程_速度表設計-職業(yè)學院畢業(yè)論文
- 自行車行程速度畢業(yè)設計--基于單片機的自行車里程速度計設計
- 基于單片機的自行車里程表及速度儀的畢業(yè)設計
- 畢業(yè)設計(論文)-基于單片機的自行車里程速度計的設計
- 畢業(yè)設計(論文)_基于單片機的自行車里程速度計的設計
- 畢業(yè)設計(論文)-基于單片機的自行車里程速度計的設計
- 單片機課程設計--自行車里程顯示
- 基于單片機的多功能自行車里程表的設計_畢業(yè)設計論文
- 單片機課程設計-自行車里程計速度計
- 單片機課程設計-自行車里程計速度計
- 自行車里程速度計設計-單片機自動控制畢業(yè)論文
- 基于單片機的自行車速度及里程表設計
- 自行車里程速度計的設計
- 單片機自行車速度里程計論文
- 單片機自行車速度里程計論文
- 自行車里程速度計的設計畢業(yè)論文
- 自行車里程速度計的設計 畢業(yè)論文
- 自行車里程速度計的設計畢業(yè)論文
- 畢業(yè)論文自行車里程_速度計的設計
評論
0/150
提交評論