出租車計價器硬件設計_第1頁
出租車計價器硬件設計_第2頁
出租車計價器硬件設計_第3頁
出租車計價器硬件設計_第4頁
出租車計價器硬件設計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、出租車計價器摘要 隨著北京奧運會的臨近,越來越多游客的旅行問題以及怎樣到現(xiàn)場觀看比賽,那么出租車就成了首選。在交通發(fā)展迅速的今天,出租車是我們交通中不可缺少的工具。同時出租車中的計價器是必不可少的一種設備。這次專業(yè)課程設計就是通過模擬設計出租車計價器,使同學們對單片機硬件設計有一些了解。這樣一來理論得到了實踐。這說明單片機的應用已深入國民經濟和日常生活的各個領域。 該設計的主要內容是通過c51單片機上的數(shù)碼顯示器來模擬出租車計價器的路程顯示表,通過單片機上的鍵盤上的某些鍵來表示開始、暫停、復位等功能。步驟如下:首先,程序開始做一些必要的初始化工作,等待鍵盤輸入。然后,啟動鍵按下(0)后led數(shù)

2、碼管開始記錄路程并顯示。最后,當需要停止是可按相應的鍵(f)對路程計數(shù)器進行暫停。而且還可以復位(e)更應該學習和掌握專業(yè)及計算機知識,利用實習機會掌握課程設計精髓,為日后實習和工作打下牢固的基礎等等。 關鍵字 c51單片機 8255 出租車計價器 led數(shù)碼管目錄前言 -3第一章 設計內容及要求-41.1 設計內容及要求-41.2 框圖 -4第二章 系統(tǒng)組成及工作原理-5 2.1 控制單元設計-52.1.1 按鍵名稱-52.1.2 按鍵工作操作說明-52.2 輸出單元設計-52.3 定時器的功能和使用方法-5第三章 電路方案設計-63.1 方案比較-63.2 總設計框圖-73.3 單位電路設

3、計-8 3.3.1 復位電路設計-8 3.3.2 時鐘電路設計-9 3.3.3 單片機最小系統(tǒng)-103.4 8255a鍵盤顯示電路設計-11第四章 程序設計-124.1 主程序模塊-124.2 定時中斷服務程-124.3 里程計數(shù)程序-12第五章 實驗調試及測試結果與分析-14第六章 總結與體會-15參考文獻-16附錄一-17附錄二-25附錄三-26前言隨著社會的進步以及人們生活水平的日益提高都促使交通工具的不斷變化,無論是在大城市或是中小城市越來越多的出租車公司不斷的出現(xiàn)。出租車的出現(xiàn)方便了人們的生活,對于現(xiàn)在快節(jié)奏生活方式的人們來說出租車無疑是最好的交通工具。那么其收費的方式自然而然就被給

4、予關注,比如收費標準以及行駛里程等。 通過設計實際的出租車計價器應用課題,我們也熟悉了單片機系統(tǒng)以及其他硬件操作技術,提高了分析問題和解決問題的能力。本次報告共分為6章:第一章介紹設計內容和要求;第二章介紹系統(tǒng)組成及工作原理;第三、四章介紹電路方案和程序設計;第五至六章結合實驗和個人體會闡述結果并得出相應結論。在此謝謝老師的悉心教導和同學們的互助! 編者 2008-7-3第一章 設計內容及要求1.1 設計內容及要求(1) 出租車里程測量:采用信號源產生脈沖模擬出租車計價傳感器產生脈沖,設每產生100個脈沖出租車行駛1公里信號源脈沖頻率=1khz;(2) 里程顯示為:*.*公里;(3) 采用82

5、55芯片管理鍵盤顯示。1.2 框圖:單片機顯示器變換電路信號源第二章 系統(tǒng)組成及工作原理2.1 控制單元設計 2.1.1 按鍵名稱 0鍵表示開始計算路程;f鍵表示暫停;e鍵表示復位。 2.1.2 按鍵功能操作說明 當程序開始運行后,按下0鍵則表示開始計算路程,并由數(shù)碼管顯示出來;按下f鍵則路程記數(shù)器暫停,并顯示當前路程,當按下e鍵2.2 輸出單元設計 通過六個8段led數(shù)碼管來顯示路程。前四個分別表示千位、百位、十位、個位,而后兩個表示十分位和百分位。2.3 定時器的功能和使用方法 首先選擇方式1為16位的定時器,其初始化具體如下: s 其中 fosc為晶振頻率, 定時時間 。第三章 電路方案

6、設計3.1 方案比較方案一使用數(shù)字電路和模擬電路來完成設計要求。顯示器件有:led顯示,vfd顯示,分段式數(shù)碼管等等,針對顯示單元電路這里可以使用分段式數(shù)碼管來顯示,分段式數(shù)碼管分為共陽極和共陰極兩種,對數(shù)碼管的驅動針對不同的類型采用不同的芯片,共陰極數(shù)碼管通常采用ttl系列的74ls48驅動,而共陽極數(shù)碼管通常采用cmos系列的cd4543來驅動;僅時鐘顯示電路框圖和實際電路就非常復雜,整體電路將更加煩瑣。而且對于模式的切換需要用到機械開關,機械開關時間久了會造成接觸不良,功能不易實現(xiàn);整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調試。方案二使用單片機來完成設計要求。單片機功能強大,用

7、較少的硬件和適當?shù)能浖嗷ヅ浜峡梢院苋菀椎膶崿F(xiàn)設計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能。針對計費模式的切換,通過軟件編程就可以輕容易的實現(xiàn)。避免了機械開關帶來的不穩(wěn)定因素。方案確定經過上面的兩種方案的比較,顯然第二種方案具有更大的優(yōu)越性、靈活性,所以我們采用第二種設計方案進行設計。本電路以c51單片機為中心,實現(xiàn)對出租車路程的統(tǒng)計,輸出采用8段數(shù)碼顯示管。3.2 總設計框圖 3.2.1 工作原理框圖 路程顯示顯示電路 設置電路 單 片系統(tǒng)開始 機系統(tǒng)暫停存儲電路系統(tǒng)復位 圖1 工作原理框圖 3.2.2 單片機單元框圖 cpu數(shù)碼管顯示功能按鍵8255并行編程時鐘電路 圖2 單

8、片機單元框圖3.3 單元電路設計3.3.1 復位電路設計在單片機的應用系統(tǒng)中,除單片機本身需復位以外,外部擴展的i/o接口電路等也需要復位,因此需要一個系統(tǒng)的同步復位信號:即單片機復位后,cpu開始工作時,外部的電路一定要復位好,以保證cpu有效的對外部電路進行初始化編程。51系列單片機的復位端rst是一個施密特觸發(fā)輸入,高電平有效。復位電路產生的復位信號經施密特電路整形后作為系統(tǒng)復位信號,加到51系列單片機和外部i/o接口電路的復位端.其電路圖如圖3.1所示,其中r1=47k,r2=100,c=10uf。 圖3.1 復位電路3.3.2 時鐘電路設計89c51系列單片機內部有一個可控制的反相放

9、大器,引腳xtal1、xtal2為反相放大器的輸入端和輸出端,在xtal1、xtal2上外接晶振(或陶瓷諧振器)和電容便組成振蕩器。具體的時鐘電路如圖3.2所示。電容1、2的典型值為30pf+10pf(晶振)或40pf+10pf(陶瓷諧振器)。振蕩器頻率主要取決與晶振(或陶瓷諧振器)的頻率,但必須小于器件所允許的最高頻率。振蕩器的工作受控制,復位后0(1)振蕩器工作,可由軟件置1,使振蕩器停止振蕩,從而使整個單片機停止工作,以達到節(jié)電的目的。圖3.2 時鐘電路圖3.2 時鐘電路3.3.3 單片機最小系統(tǒng)主控機系統(tǒng)采用了atmel 公司生產的89c51 單片機,它含有128 字節(jié)數(shù)據存儲器,內置

10、4k 的電可擦除flash rom,可重復編程,大小滿足主控機軟件系統(tǒng)設計,所以不必再擴展程序存儲器。復位電路和晶振電路是89c51 工作所需的最簡外圍電路。單片機最小系統(tǒng)電路圖如圖3.3所示。圖3.3 單片機最小系統(tǒng)電路圖89c51 的復位端是一個史密特觸發(fā)輸入,高電平有效,而系統(tǒng)中的時鐘接口和can 總線接口的復位信號都是低電平有效。在復位電路中,按一下復位開關就使在rs端出現(xiàn)一段時間的高電平,經過74ls14 的一次反相整形,提供給單片機復位端。再經過一次反相整形,通過i/orst 端提供給外部接口電路。外接12m 晶振和兩個20p 電容組成系統(tǒng)的內部時鐘電路。3.4 8255a鍵盤顯示

11、電路設計8255的數(shù)據線片選信號線、地址線、讀寫控制線等分別與系統(tǒng)總線相連,其a、b、c三個端口以排針形式引出,供8255實驗使用,如圖3.4所示。 圖3.4 系統(tǒng)中的8255線路8255端口地址 信 號 線 寄 存 器 編 址ioy3 a口0ff20h b口0ff21h c口0ff22h 控制寄存器0ff23h第四章 程序設計4.1 主程序模塊在主程序模塊中,需要完成對各接口芯片的初始化、中斷向量的設計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器,并對它們進行初始化。然后,主程序將根據各標志寄存器的內容,分別完成啟動、清除、計程等不同的操作。4.

12、2 定時中斷服務程序在定時中斷服務程序中,每1ms產生一次中斷,當產生1000次中斷的時候,也就到了一秒,送數(shù)據到相應的顯示緩沖單元,并調用顯示子程序實時顯示。4.3 里程計數(shù)程序 如下流程圖所示開始8255led顯示監(jiān)聽鍵盤開始等待進入中斷接受鍵盤run程序p1為0p10為0顯示百分位顯示十分位yy y顯示個位p100為00按下f按下e按下循環(huán)顯示各位復位p1000為0顯示十位p10000為0顯示百位p100000為0顯示千位 圖4.1 里程計數(shù)程序流程圖里程計數(shù)程序見附錄第五章 實驗調試及測試結果與分析 通過這兩周的專業(yè)課程設計,所完成的軟件教務管理信息系統(tǒng)基本能達到課程設計的要求,但是,

13、還是存在不少的漏洞,經過老師指導和調試后,修復了錯誤和漏洞。通過用單片機來模擬出租車計價器, 并且使用了單片機上的鍵盤和數(shù)碼顯示管來模擬。硬件各方面相對吻合安全性高、耦合度高,能夠對鍵盤上的0鍵進行啟動、f鍵進行停止、e鍵進行復位的操作。程序首先進行初始化設置(包括數(shù)碼管、字型表、定時中斷設置);然后對鍵盤進行掃描,判斷是否有功能鍵被按下;最后根據哪個功能鍵被按下,執(zhí)行相應的程序以實現(xiàn)功能。 第六章 總結與體會 經過兩周有關于通過模擬出租車計價器的課程設計,使同學們對單片機的應用有了更深的了解。在課程設計的過程中,還是碰到了許多的問題。比如,對于單片機的一些基本代碼及程序還有一些不清楚的地方;

14、對于代碼的前后順序及調用掌握的還不夠好。通過請教老師和同學,最終把問題解決了。此外,去圖書館和網上查相關資料也是一種學習的途徑。通過這次課程設計,我們充分體會到了自己設計東西的樂趣和學習交流的重要性,在動手的過程中,不但增強了實踐能力,而且在理論上有了更深的認識;懂得了實踐與知識結合的重要性,并在以后的學習中不段的提高自己,通過不斷的摸索和實踐來彌補自己在硬件方面的差距。我相信,這次實習將使我受益匪淺,我更相信,我會以更熱忱的態(tài)度去學習并研究這門重要的實踐性課程。參考文獻1 吳開志 等.單片機技術指導.南昌航空出版社,2007.82 張友德 趙志英 涂時亮 .單片微型機原理、應用與實驗 .復旦

15、大學出版社,2006.63 孫涵芳.mcs-51系列單片機原理及應用.北京航空航天大學出版社,1996.4附錄org 0000hsjmp start;定義程序起始位置org 000bhsjmp ds0;定時器t0入口地址start:clr tr0;關閉t0中斷mov a,#81h;將立即數(shù)81h放入a中mov dptr,#0ff23h;定義dptr外部數(shù)據指針為0ff23h,指向8255的控制字口movx dptr,a ;把81h放入8255控制字口,讓8255以pa、pb口0狀態(tài)輸出工作,pc口0狀態(tài)輸入mov tmod,#01h;定義t0為16位計數(shù)器mov th0,#0fch;定義中斷延

16、時mov tl0,#24h;定義中斷延時;1ms = 1000us ,假設晶振頻率為12mhz,延時常數(shù)=(2的16次方 - 1000)將其轉換到16進制mov ie,#82h;定義中斷允許控制字,開cpu中斷,開t0中斷mov 71h,#00h;mov 72h,#00hmov 73h,#00hmov 74h,#00hmov 75h,#00hmov 76h,#00hmov 40h,#50;延時用mov 00h,#00h;標志mov 01h,#00hmov 02h,#00hmov 03h,#00hmov 04h,#00hmov r1,#00h;用來檢測鍵盤開始鍵mov r3,#00h;用來檢測停

17、止鍵mov r4,#00h;用來監(jiān)聽復位鍵 mov 50h,#10;循環(huán)次數(shù)mov 51h,#10;循環(huán)次數(shù)mov 52h,#10mov 53h,#10mov 54h,#10mov 55h,#10setb tr0;允許t0計數(shù)clr c;清空cysjmp $;等待中斷來臨ds0:;中斷處理子程序mov th0,#0fch;把中斷延時還給t0mov tl0,#24hlcall key_state;調用鍵盤掃描子程序,獲取當前的鍵盤狀態(tài),1ms掃描一次cjne r1,#0,run;如果“0”被按下,就跳轉到運行子程序,計算里程數(shù)cjne r3,#0,stop;如果“f”被按下,就跳轉到停止子程序c

18、jne r4,#0,reset;如果“e”被按下,就跳轉到復位子程序reti;如果3個鍵都沒有被按下,不做處理,直接返回中斷,等待下一次中斷來臨reset:;復位的子程序mov 71h,#00h;初始化查表單元數(shù)據mov 72h,#00hmov 73h,#00hmov 74h,#00hmov 75h,#00hmov 76h,#00hmov 51h,#10;初始化循環(huán)次數(shù)mov 52h,#10mov 53h,#10mov 54h,#10mov 55h,#10ljmp xianshi;跳轉到顯示子程序reti;返回中斷stop:;停止子程序ljmp xianshi;跳轉到顯示子程序key_stat

19、e:;鍵盤行掃描處理子程序key_0:;檢查0mov r2,#0fdh;定義8255對第2個led數(shù)碼管進行鍵盤掃描mov dptr,#0ff20hmov a,r2movx dptr,amov dptr,#0ff22h;將dptr指向8255的pc口movx a,dptr;從pc口獲取鍵盤狀態(tài)jb acc.1,key_f;判斷第1列是否為0,如果為0,證明0被按下sjmp key_down0;按下了就跳轉到0被按下的子程序reti;返回中斷key_f:;檢查fmov r2,#0f7hmov dptr,#0ff20hmov a,r2movx dptr,amov dptr,#0ff22hmovx

20、a,dptrjb acc.1,key_esjmp key_downfretikey_e:;檢查emov r2,#0dfhmov dptr,#0ff20hmov a,r2movx dptr,amov dptr,#0ff22hmovx a,dptrjb acc.1,return2sjmpkey_downereturn2:;返回中斷retikey_down0:;0被按下mov r1,#1;把標志r1設置為1mov r3,#0;其他標志設置為0mov r4,#0reti;返回中斷key_downf:;f被按下mov r3,#1;把r3設置為1mov r1,#0;其他標志設置為0mov r4,#0ret

21、i;返回中斷key_downe:;e被按下mov r4,#1;把r4設置為1mov r3,#0;其他標志設置為0mov r1,#0reti;返回中斷run:;運行子程序djnz 40h,xianshi;延時顯示mov 40h,#50inc 71h;百分位查表單元+1djnz 50h,xianshi;循環(huán)10次mov 50h,#10;如果百分位循環(huán)了10次,那么十分位上應該得到進位inc 72h;十分位查表單元+1mov 71h,#00hdjnz 51h,xianshimov 51h,#10inc 73hmov 71h,#00hmov 72h,#00hdjnz 52h,xianshimov 52

22、h,#10inc 74hmov 71h,#00hmov 72h,#00hmov 73h,#00hdjnz 53h,xianshimov 53h,#10inc 75hmov 71h,#00hmov 72h,#00hmov 73h,#00hmov 74h,#00hdjnz 54h,xianshimov 54h,#10inc 76hmov 71h,#00hmov 72h,#00hmov 73h,#00hmov 74h,#00hmov 75h,#00hdjnz 55h,xianshiajmpstartxianshi:;顯示百分位jb 00h,p10;作為標志判斷當前應該去顯示哪個數(shù)碼管jb 01h,p

23、100jb 02h,p1000jb 03h,p10000jb 04h,p100000mov dptr,#0ff20h;定義顯示最右邊的數(shù)碼管mov a,#0fehmovx dptr,amov a,71h;把百分位查表單元的數(shù)據送到a中mov dptr,#tab1;查表movc a,a+dptr;把字型碼送到8255的pb口mov dptr,#0ff21hmovx dptr,acpl 00h;取反標志,能夠讓數(shù)碼管循環(huán)點亮cpl 01hcpl 02hcpl 03hcpl 04hljmp return;返回中斷p10: ;顯示十分位mov dptr,#0ff20hmov a,#0fdhmovx dptr,amov a,72hmov dptr,#tab1movc a,a+dptrmov dptr,#0ff21hmovx dptr,acpl 00hljmp returnp100: ;顯示個位mov dptr,#0ff20hmov a,#0fbhmovx dptr,amov a,73hmov dptr,#tab1movc a,a+dptrmov dptr,#0ff21hmovx dptr,acpl 01hljmp returnp1000: ;顯示十位mov d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論