單片機(jī)課程設(shè)計(jì)——出租車計(jì)費(fèi)器_第1頁
單片機(jī)課程設(shè)計(jì)——出租車計(jì)費(fèi)器_第2頁
單片機(jī)課程設(shè)計(jì)——出租車計(jì)費(fèi)器_第3頁
單片機(jī)課程設(shè)計(jì)——出租車計(jì)費(fèi)器_第4頁
單片機(jī)課程設(shè)計(jì)——出租車計(jì)費(fèi)器_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、湖南工業(yè)大學(xué)課 程 設(shè) 計(jì)資 料 袋 電氣與信息工程 學(xué)院(系、部) 2011 - 2012 學(xué)年第 1 學(xué)期 課程名稱 單片機(jī)應(yīng)用系統(tǒng) 指導(dǎo)教師 譚 兮 職稱 教 授 學(xué)生姓名 王 樂 專業(yè)班級(jí) 電氣工程及自動(dòng)化091 學(xué)號(hào) 09401700635 題 目 對外部脈沖計(jì)數(shù)及出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) 成 績 起止日期 2011 年 12 月 19 日 2011 年 12 月 30 日目 錄 清 單序號(hào)材 料 名 稱資料數(shù)量備 注1課程設(shè)計(jì)任務(wù)書12課程設(shè)計(jì)說明書13課程設(shè)計(jì)圖紙13張456 湖南工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書2011 2012 學(xué)年第 1 學(xué)期 電氣與信息工程 學(xué)院(系、部) 電氣工程及自

2、動(dòng)化 專業(yè) 091 班級(jí)課程名稱: 單片機(jī)應(yīng)用系統(tǒng) 設(shè)計(jì)題目: 對外部脈沖計(jì)數(shù)及出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) 完成期限:自 2011 年 12 月 19 日至 2011 年 12 月 30 日共 2 周內(nèi)容及任務(wù)11 外部脈沖自動(dòng)計(jì)數(shù),自動(dòng)顯示。111設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0255計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。112設(shè)計(jì)一個(gè)50000計(jì)數(shù)器:050000計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。12 設(shè)計(jì)一個(gè)出租車計(jì)費(fèi)系統(tǒng): 起步價(jià)為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8位數(shù)碼管中,前3位顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示價(jià)

3、錢(角,元,十元,百元)進(jìn)度安排起止日期工作內(nèi)容201112.19講述設(shè)計(jì)內(nèi)容及基本原理201112.21-2011.12.24進(jìn)行系統(tǒng)的設(shè)計(jì)201112.25-2011.12.30進(jìn)行系統(tǒng)的調(diào)試主要參考資料1 劉苗生、潘宗預(yù). 單片機(jī)測控系統(tǒng)設(shè)計(jì). 中國物質(zhì)出版社,2006年2王爽 匯編語言 清華大學(xué)出版社, 2009年3 郭天祥 新概念51單片機(jī)教程 電子工業(yè)出版社 ,2009年指導(dǎo)教師(簽字): 年 月 日系(教研室)主任(簽字): 年 月 日(單片機(jī)應(yīng)用系統(tǒng))設(shè)計(jì)說明書(題目)對外部脈沖計(jì)數(shù)及出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)起止日期: 2011 年 12 月 19 日 至 2011年 12 月 3

4、0 日學(xué)生姓名王 樂班級(jí)電氣工程自動(dòng)化091學(xué)號(hào)09401700635成績指導(dǎo)教師(簽字)電氣與信息工程學(xué)院(部)2011年 12 月 日一、設(shè)計(jì)任務(wù):11 外部脈沖自動(dòng)計(jì)數(shù),自動(dòng)顯示。111設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0255計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。112設(shè)計(jì)一個(gè)50000計(jì)數(shù)器:050000計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。12 設(shè)計(jì)一個(gè)出租車計(jì)費(fèi)系統(tǒng): 起步價(jià)為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8位數(shù)碼管中,前3位顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示價(jià)錢(角,元,十元,百元)注:要求首先采用proteu

5、s完成單片機(jī)最小系統(tǒng)的硬件電路設(shè)計(jì)及仿真;程序仿真測試通過后,再下載到單片機(jī)實(shí)訓(xùn)板上執(zhí)行。二、設(shè)計(jì)原理及思路1. 設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0255計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。原理:255可用8位二進(jìn)制數(shù)表示,故本設(shè)計(jì)可直接采用可以重裝載的計(jì)數(shù)器t1模式二進(jìn)行計(jì)數(shù)。然后對tl1的內(nèi)容進(jìn)行相應(yīng)的二進(jìn)制-十進(jìn)制轉(zhuǎn)換:首先tl1的內(nèi)容除以64h,所的商就是十進(jìn)制的百位,然后用余數(shù)除以0ah,所得的商就是十進(jìn)制數(shù)的十位,余數(shù)即相應(yīng)的十進(jìn)制的個(gè)位。接著將相應(yīng)的十進(jìn)制數(shù)進(jìn)行譯碼,并在led數(shù)碼管上顯示出來。每來一個(gè)脈沖其顯示的結(jié)果加一,直加至255然后t1重新開始計(jì)數(shù)。2設(shè)計(jì)一個(gè)5000

6、0計(jì)數(shù)器:050000計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。原理: 將th1和tl1中的十六進(jìn)制數(shù)轉(zhuǎn)為bcd碼,;入口:ht1,tl1中是 16 位二進(jìn)制數(shù),其中th1中是高 8 位;;出口:r2 r3 r4 中是 bcd 碼,其中r2中是萬位,r3中是千、百位,r4中是十、個(gè)位。再轉(zhuǎn)為對應(yīng)的個(gè).十.百.千.萬位。送到緩沖區(qū)。接著調(diào)用顯示子程序。3.設(shè)計(jì)一個(gè)出租車計(jì)費(fèi)系統(tǒng): 起步價(jià)為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8為數(shù)碼管中,前3為顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示價(jià)錢(角,元,十元,百元)原理:計(jì)數(shù)器每計(jì)數(shù)100個(gè)外部脈沖就

7、產(chǎn)生中斷,里程加1百米,大于兩千米百位就和5和0比較,如果相等就調(diào)用價(jià)格計(jì)算子程序,價(jià)格加0.8元。然后返回中斷,調(diào)用里程和價(jià)格顯示子程序。三、proteus硬件電路圖1.255計(jì)數(shù)器2.50000計(jì)數(shù)器3. 出租車計(jì)費(fèi)系統(tǒng) 四、調(diào)試程序1.255計(jì)數(shù)器org 0000hajmp startorg 001bhajmp tint1org 0030hstart:mov tmod,#60h ;計(jì)數(shù)工作方式2mov th1,#00h ;初值0mov tl1,#00h setb tr1setb et1setb ealoop:lcall dispsjmp looptint1:retidisp: mov a

8、,tl1 mov b,#64hdiv ab;a為百位 mov dptr,#segtabmovc a,a+dptr mov p2,#03h ;位選4 mov p0,a ;送百位數(shù)據(jù) acall delaymov a,bmov b,#0ahdiv ab;a為十位,b為個(gè)位movc a,a+dptr mov p2,#04h ;位選5 mov p0,a ;送十位數(shù)據(jù) acall delay mov a,bmovc a,a+dptr mov p2,#05h;位選6 mov p0,a ;送個(gè)位數(shù)據(jù) acall delay retdelay: mov r5,#05h ;延時(shí)1msloop1: mov r6,

9、#0ffh djnz r6,$ djnz r5,loop1 retsegtab: db 3fh,06h,5bh,4fh,66h ;0,1,2,3,4db 6dh,7dh,07h,7fh,6fh ;5,6,7,8,9end2.50000計(jì)數(shù)器org 0000hajmp startorg 0030hwanwei equ 20hqianwei equ 21hbaiwei equ 22hshiwei equ 23hgewei equ 24hstart: mov r0, #20h;顯示緩沖數(shù)據(jù)mov r1, #01h;位選緩沖mov tmod,#50h ;計(jì)數(shù)工作方式1mov th1, #00h ;初值

10、0mov tl1, #00hsetb tr1setb et1setb ealoop:lcall dispsjmp loopdisp: lcall readdisp1:mov p2, r1mov p0, r0lcall delayinc r0inc r1cjne r1,#06h,dispmov r1, #01h mov r0, #20hsjmp disp1read: mov r5, th1 mov r6, tl1 cjne r5, #0c3h,read1 cjne r6, #51h,read1 mov th1,#00h ;初值0 mov tl1,#00h;-;調(diào)用子程序把r5 r6中的數(shù)字,轉(zhuǎn)換

11、成bcd碼,送到r2 r3 r4read1:lcall txbcd mov a, r4 mov b, #16 div ab ;除以16,目的是分離出高、低四位 mov dptr,#segtab movc a, a+dptr mov shiwei, a ;存放十位 mov a,b movc a,a+dptr mov gewei, a ;存放個(gè)位 mov a, r2 movc a,a+dptr mov wanwei, a ;存放萬位 mov a, r3 mov b, #16 div ab movc a,a+dptr mov qianwei, a mov a,b movc a,a+dptr mov

12、baiwei, a ret;-;兩個(gè)字節(jié)的二進(jìn)制數(shù)轉(zhuǎn)換成bcd碼的程序如下:;功能:16位二進(jìn)制數(shù)變換成為 bcd 碼;;入口:r5 r6 中是 16 位二進(jìn)制數(shù),其中r5中是高 8 位;;出口:r2 r3 r4 中是 bcd 碼,其中r2中是萬位,r3中是千、百位,r4中是十、個(gè)位。txbcd:clr a mov r2, a ;先清零 mov r3, a mov r4, a mov r7, #16 ;共轉(zhuǎn)換十六位數(shù)read2: clr c mov a, r6 ;從待轉(zhuǎn)換數(shù)的高端移出一位到cy rlc a mov r6, a mov a, r5 rlc a mov r5, a mov a, r

13、4 ;送到bcd碼的低端 addc a, r4 ;帶進(jìn)位加。自身相加,相當(dāng)于左移一位 da a ;十進(jìn)制調(diào)整,變成bcd碼 mov r4, a mov a, r3 addc a, r3 da a mov r3, a mov a, r2 addc a, r2 mov r2, a djnz r7,read2 ;共轉(zhuǎn)換十六位數(shù) retdelay: mov r5,#05h ;延時(shí)1msloop2: mov r6,#0ffh djnz r6,$ djnz r5,loop2 retsegtab: db 3fh,06h,5bh,4fh,66h ;0,1,2,3,4db 6dh,7dh,07h,7fh,6fh

14、 ;5,6,7,8,9end3. 出租車計(jì)費(fèi)系統(tǒng) org 0000hajmp startorg 001bhsjmp t1intorg 0030hshiqian equ 20hqianmi equ 21hbaimi equ 22hshiyuan equ 24hyuan equ 25hjiao equ 26h;-;程序初始化start: clr p2.3 mov r3,#02h mov shiqian,#00h mov qianmi ,#00h mov baimi,#00h mov shiyuan,#00h mov yuan,#05h mov jiao,#00h mov tmod, #60h mo

15、v th1,#9ch mov tl1,#9ch setb tr1 setb et1 setb ea;-;主程序main: lcall dispm lcall displ sjmp main;-;中斷處理程序t1int: lcall long mov a,qianmi clr c subb a,#02h jnc t1 ;大于兩千米轉(zhuǎn)到t1 retit1: djnz r3,t2 mov r3,#01h mov a,baimi cjne a,#05h,next ;和5相等,就更新價(jià)格,否則判斷是否和0相等 lcall money retinext: cjne a,#00h,t2 ;和0相等,更新價(jià)格

16、,否則返回 lcall moneyt2: reti;-; 顯示里程displ: mov r0, #20hmov a,r0mov dptr,#segtabmovc a,a+dptr mov p2,#09h ;位選mov p0, a ;段選lcall delayinc r0mov a,r0movc a,a+dptradd a,#80h ;顯示小數(shù)點(diǎn)mov p2,#0ah ;位選 mov p0,a ;段選 lcall delay inc r0mov a,r0movc a,a+dptrmov p2,#0bh ;位選 mov p0,a ;段選 lcall delay ret;-;顯示價(jià)格dispm: m

17、ov r0, #24h mov a, r0 mov dptr,#segtab movc a,a+dptr mov p2,#0dh mov p0,a ;顯示十元 lcall delayinc r0 mov a,r0 movc a,a+dptr add a,#80h mov p2,#0eh mov p0,a ;顯示元 lcall delay inc r0 mov a,r0 movc a,a+dptr mov p2,#0fh ;顯示角 mov p0,a lcall delayret;-;價(jià)格計(jì)算子程序money:mov r6,28h ;mov a,r6mov dptr,#nummovc a,a+dp

18、trmov jiao,ainc r6mov 28h,r6cjne r6,#05h,m1mov 28h,#00hm1:cjne a,#08h,m2 ;等于8沒有進(jìn)位sjmp m4m2:mov a,yuancjne a,#09h,m3 ;等于9,進(jìn)位inc shiyuanmov yuan,#00h sjmp m4m3:inc yuanm4:retnum: db 08h,06h,04h,02h,00h;-;里程計(jì)算子程序long:mov a,baimicjne a,#09h,l1;和9相等就置0,不等就跳到l1mov baimi, #00hinc qianmimov a,qianmi;千米加1cjn

19、e a,#0ah,l2;等于10就置0,不等跳到l2mov qianmi,#00hinc shiqianl1: inc baimi;百米加1l2:ret;-;延時(shí)子程序delay: mov r5,#05h ;延時(shí)2.5msloop1: mov r6,#0ffh djnz r6,$ djnz r5,loop1 retsegtab: db 3fh,06h,5bh,4fh,66h ;0,1,2,3,4db 6dh,7dh,07h,7fh,6fh ;5,6,7,8,9end五、心得體會(huì)作為一名電氣工程及自動(dòng)化專業(yè)的大三學(xué)生,我覺得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必要的。在已度過的大學(xué)時(shí)間里,

20、我們大多數(shù)接觸的是專業(yè)課。我們在課堂上掌握的僅僅是專業(yè)課的理論知識(shí),如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識(shí)運(yùn)用到實(shí)踐中去呢?我想做類似的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)。 開始的第一天就自己做的是0到255的計(jì)數(shù)器,我們上課是只上到定時(shí)器那一章節(jié),對于后面的數(shù)碼管顯示沒有講到,但是這次卻要用到數(shù)碼管顯示數(shù)據(jù),所以開始知識(shí)知道要用到定時(shí)器,在th、tl里面放個(gè)初值,然后啟動(dòng)定時(shí)/計(jì)數(shù)器就可以開始計(jì)數(shù)了,然后到了255個(gè)后又重新開始,但是怎么把所記的脈沖數(shù)顯示出來卻不懂。專門把書好好看了遍,數(shù)碼管顯示知道是怎么回事后就可以開始了。 完成這次的單片機(jī)課程設(shè)計(jì)花費(fèi)將近一周時(shí)間

21、,但是卻從理論到實(shí)踐,學(xué)到了很多的東西。同時(shí)不僅鞏固了以前所學(xué)過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在這次課程設(shè)計(jì)后我發(fā)現(xiàn)自己在一點(diǎn)一滴的努力中對單片機(jī)的興趣也在逐漸增加。這次的課程設(shè)計(jì)還讓我學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會(huì)了堅(jiān)持不懈,不輕言放棄。回顧起此次單片機(jī)課程設(shè)計(jì),我感慨頗多,最重要的是感觸是:遇到一個(gè)問題時(shí),最重要的一件事就是馬上思考檢查問題出在哪邊,而不是抱怨或者馬上請教同學(xué)老師。只有這樣我

溫馨提示

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

最新文檔

評論

0/150

提交評論