微機原理與接口技術(shù)課程設(shè)計報告計程車計價器_第1頁
微機原理與接口技術(shù)課程設(shè)計報告計程車計價器_第2頁
微機原理與接口技術(shù)課程設(shè)計報告計程車計價器_第3頁
微機原理與接口技術(shù)課程設(shè)計報告計程車計價器_第4頁
微機原理與接口技術(shù)課程設(shè)計報告計程車計價器_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信息科學(xué)與技術(shù)學(xué)院微機原理與接口技術(shù)課程設(shè)計報告課 程 題 目: 計程車計價器 學(xué) 生 姓 名: 劉郁 學(xué) 號: 2009082212 專業(yè)、年級 : 計科09級一班 指 導(dǎo) 教 師: 裘 祖 旗 時 間: 2012年1月11 1.題目要求11.1 題目:計程車計價器11.2 要求12、 功能設(shè)計12. 1 輸出字符串宏 (str)122 定義光標(biāo)定位宏123 清屏宏 (clearscreen)124 延時模塊125 數(shù)字顯示模塊126 數(shù)字自增模塊22.7 設(shè)置單價模塊23、 詳細(xì)設(shè)計23.1 主函數(shù)23.2 輸出字符串宏模塊33.1.1 本設(shè)計的方法,計算公式33.1.3 本設(shè)計的重點、難

2、點和解決方法333將數(shù)字顯示成數(shù)管的形式的disp子程序334 實現(xiàn)自加功能435 延時模塊的實現(xiàn)44.程序運行界面55總結(jié)56參考文獻(xiàn):67附原程序:61.題目要求1.1 題目:計程車計價器1.2 要求1實現(xiàn)計價功能;2實現(xiàn)手動設(shè)計單價3實現(xiàn)顯示里程、單價與總價2、 功能設(shè)計2. 1 輸出字符串宏 (str) 功能:將字符串定義在宏里面,然后輸出。22 定義光標(biāo)定位宏 功能:指定光標(biāo)的位置。23 清屏宏 (clearscreen)功能:設(shè)置開始和結(jié)尾的行列數(shù)以及屬性。24 延時模塊 功能:延緩每次顯示的時間,使之能夠準(zhǔn)確的輸出。25 數(shù)字顯示模塊 功能:顯示所有的數(shù)字內(nèi)容,其中包括行駛過程中

3、的價格,和里程的顯示。在數(shù)據(jù)段中定義數(shù)字的格式,通過中斷顯示出數(shù)字能容。光標(biāo)定位,使數(shù)字顯示在指定的位置。26 數(shù)字自增模塊 功能:設(shè)計程車每走100m,總價格增加0.2元,起步價為5元。此時在行駛的里程中,不斷的加100m,當(dāng)達(dá)到3km的時候,通過cx的判斷,使價格從5元開始,每走100m加0.2元。需要用到延時程序,和跳轉(zhuǎn)功能。2.7 設(shè)置單價模塊 功能:手動設(shè)置單價,設(shè)定每公里要走的單價。在數(shù)據(jù)段定義后,每輸入一次,通過取數(shù)據(jù)段的數(shù)據(jù),完成定價的功能3、 詳細(xì)設(shè)計3.1 主函數(shù)主函數(shù)main定義界面inc cx顯示總價,顯示里程顯示總價,價格增加0.2元/100m顯示不響應(yīng)從鍵盤輸入字符

4、cxdx輸出ax dx出棧結(jié)束3.1.2 本模塊的流程圖 3.1.3 本設(shè)計的重點、難點和解決方法 我認(rèn)為本設(shè)計的重點和難點在于字符串的傳送,解決方法在于用09輸出和字符串的定義一起搭配使用。33將數(shù)字顯示成數(shù)管的形式的disp子程序置光標(biāo)位置取disptime中的時的十位至al將取得數(shù)字乘以16得到其對應(yīng)在shuzi段的對應(yīng)顯示顯示字符串重復(fù)上述過程,將時分秒全部顯示置光標(biāo),并顯示字符串置光標(biāo),并顯示字符串dx加0634 實現(xiàn)自加功能moval, valuenum+6inc almov valuenum+6,alcmp al,10nymov valuenum+6,00hmov al,valu

5、enum+4inc almov valuenum+4,al直到最后完成最高位進(jìn)位35 延時模塊的實現(xiàn)mov bl,75d36mov cx,6632d檢測61h端口的第四位,直到第四位發(fā)生改變cx-10ynbl-10yn結(jié)束4.程序運行界面5總結(jié)在這次的課程設(shè)計中,學(xué)到的知識有很多,收獲也不小??梢詮睦碚摻Y(jié)合實際,可以把身邊的一些所涉及到的編程工具自己也能夠體會和學(xué)習(xí)一下。比如這次所做的計程車計價器。由于能力有限不能拿單片機或仿真的工具來做,只是用匯編基礎(chǔ)的模擬了一下,其中也了解到了最基本的原理,鍛煉了自己的基礎(chǔ)知識水平??梢杂玫綄淼膶嶋H應(yīng)用當(dāng)中。能夠體會到其中的樂趣。但是這次也有許多的問題,

6、首先是自己的編程水平不好,所以做起來速度很慢,需要以后多多練習(xí),實驗。有些功能還沒有能夠?qū)崿F(xiàn),所以還需要進(jìn)一步的學(xué)習(xí),要學(xué)的知識還有很多,還應(yīng)該花更多的精力在這些方面,這樣才能夠提高自己的專業(yè)水平。匯編語言和微機接口原理也是最基層的計算機語言和最接近硬件的,只有了解了這里的本質(zhì),才能更有效準(zhǔn)確的運用其他工具。6參考文獻(xiàn): 1 ibm-pc匯編語言程序設(shè)計 沈美明 清華大學(xué)出版社 2001年8月第2版 2 ibm-pc匯編語言程序設(shè)計例題習(xí)題集沈美明 清華大學(xué)出版社 1991年6月第1版 3 微機系統(tǒng)和接口應(yīng)用技術(shù)朱世鴻 著 清華大學(xué)出版社 2006年9月第1版 7附原程序:data segme

7、nt valuenum db 00,00,00,.,00,$;distance valuenum3 db 00,00,05,.,00,$;price num1 db total value,$ num2 db distance,$ num3 db km,$ num4 db yuan,$ stop db *press s to stop!,$ go_on db*press g to go on,$shuzi db _ ,0dh,0ah,$ db | |,0dh,0ah,$ db |_|,0dh,0ah,$ db ,0dh,0ah,$db |,0dh,0ah,$ db |,0dh,0ah,$ db

8、 _ ,0dh,0ah,$ db _|,0dh,0ah,$ db |_ ,0dh,0ah,$ db _ ,0dh,0ah,$ db _|,0dh,0ah,$ db _|,0dh,0ah,$ db ,0dh,0ah,$ db |_|,0dh,0ah,$ db |,0dh,0ah,$ db _ ,0dh,0ah,$ db |_ ,0dh,0ah,$ db _|,0dh,0ah,$ db _ ,0dh,0ah,$ db |_ ,0dh,0ah,$ db |_|,0dh,0ah,$ db _ ,0dh,0ah,$ db |,0dh,0ah,$ db |,0dh,0ah,$ db _ ,0dh,0ah,

9、$ db |_|,0dh,0ah,$ db |_|,0dh,0ah,$ db _ ,0dh,0ah,$ db |_|,0dh,0ah,$ db _|,0dh,0ah,$data endsposcurse macro dh1,dl1 ;定義光標(biāo)定位宏 push ax push bx push dx mov ah,2h mov bh,0h mov dh,dh1 mov dl,dl1 int 10h pop dx pop bx pop axendmcode segmentassume cs:code,ds:datamain proc far mov ax,data mov ds,ax clear m

10、acro al1,bh1,ch1,cl1,dh1,dl1 mov ah,06h mov al,al1 mov bh,bh1 mov ch,ch1 mov cl,cl1 mov dh,dh1 mov dl,dl1 int 10h endm clear 0,01000000b,2,3,20,75 clear 0,00011110b,5,5,18,73 mov cx,0b: inc cxcmp cx,32jz ccall disp3call delay call disp2 call delay call delay call inc_2 call delaymov ah,0bhint 21hinc

11、 aljnz bmov ah,01hint 21hcmp al,sjnz bjmp ac: clear 0,01000000b,2,3,20,75 clear 0,00011110b,5,5,18,73 call disp1;顯示價格 call delay call inc_1;價格加2 call delay call disp2;顯示里程 call delay call inc_2;里程加2 call delaymov ah,0bhint 21hinc aljnz cmov ah,01hint 21hcmp al,sjnz cjmp am:jmp ba:mov ah,0bhint 21hin

12、c aljnz amov ah,01hint 21hcmp al,gjnz amov al,valuenumcmp al,0ja cmov al,valuenum+1cmp al,0ja cmov al,valuenum+2cmp al,3ja ccmp al,3jnz mjmp cretmain endp;-output子程序-output proc nearpush axmov ah,09hint 21hpop axretoutput endp;inc_1 子程序inc_1 proc near push ax mov al,valuenum3+4 inc al inc al mov val

13、uenum3+4,al cmp al,0ah jnz return3 mov valuenum3+4,00h mov al,valuenum3+2 inc al mov valuenum3+2,al cmp al,0ah jnz return3 mov valuenum3+2,00h mov al,valuenum3+1 inc al mov valuenum3+1,al cmp al,0ah jnz return3 mov valuenum3+1,00h mov al,valuenum inc al mov valuenum3,al cmp al,0ah jnz return3 mov va

14、luenum3,00h return3:pop axretinc_1 endp;inc_2 子程序inc_2 proc near push ax mov al,valuenum+4 inc al mov valuenum+4,al cmp al,0ah jnz return mov valuenum+4,00h mov al,valuenum+2 inc al mov valuenum+2,al cmp al,0ah jnz return mov valuenum+2,00h mov al,valuenum+1 inc al mov valuenum+1,al cmp al,0ah jnz r

15、eturn mov valuenum+1,00h mov al,valuenum inc al mov valuenum,al cmp al,0ah jnz return mov valuenum,00h return:pop axretinc_2 endp ;-delay子程序-delay proc nearpush bxpush axpush cxmov bl,75dwaitf2:mov cx,1000d waitf1:in al,61hand al,10hcmp al,ahje waitf1mov ah,alloop waitf1dec blcmp bl,0jnz waitf2pop c

16、xpop axpop bx retdelay endp;-disp1子程序, 從5開始顯示-disp1 proc near lea dx,num1 poscurse 09h,6h call output lea dx,num2 poscurse 0ch,08h call output lea dx,num3 poscurse 0ch,23h call output lea dx,num4 poscurse 09h,23h call output lea dx,stop poscurse 12h,06h call output lea dx,go_on poscurse 12h,30h mov

17、ah,09h int 21h mov al,valuenum3 mov bl,12h mul bl mov dx,offset shuzi poscurse 07h,13h add dx,ax call output poscurse 08h,13h add dx,06h call output poscurse 09h,13h add dx,06h call output poscurse 07h,16h mov al,valuenum3+1 mov bl,12h mul bl mov dx,offset shuzi poscurse 07h,16h add dx,ax call outpu

18、t poscurse 08h,16h add dx,06h call output poscurse 09h,16h add dx,06h call output poscurse 07h,19h mov al,valuenum3+2 mov bl,12h mul bl mov dx,offset shuzi poscurse 07h,19h add dx,ax call output poscurse 08h,19h add dx,06h call output poscurse 09h,19h add dx,06h call output poscurse 09h,1ch mov dl,2

19、eh mov ah,02h int 21h poscurse 07h,1eh mov al,valuenum3+4 mov bl,12h mul bl mov dx,offset shuzi poscurse 07h,1eh add dx,ax call output poscurse 08h,1eh add dx,06h call output poscurse 09h,1eh add dx,06h call output ret disp1 endp;-disp2子程序-disp2 proc near push ax mov al,valuenum mov bl,12h mul bl mo

20、v dx,offset shuzi poscurse 0ah,13h add dx,ax call output poscurse 0bh,13h add dx,06h call output poscurse 0ch,13h add dx,06h call output poscurse 0ah,16h mov al,valuenum+1 mov bl,12h mul bl mov dx,offset shuzi poscurse 0ah,16h add dx,ax call output poscurse 0bh,16h add dx,06h call output poscurse 0c

21、h,16h add dx,06h call output poscurse 0ah,19h mov al,valuenum+2 mov bl,12h mul bl mov dx,offset shuzi poscurse 0ah,19h add dx,ax call output poscurse 0bh,19h add dx,06h call output poscurse 0ch,19h add dx,06h call output poscurse 0ch,1ch mov dl,2eh mov ah,02h int 21h poscurse 0ah,1eh mov al,valuenum

22、+4 mov bl,12h mul bl mov dx,offset shuzi poscurse 0ah,1eh add dx,ax call output poscurse 0bh,1eh add dx,06h call output poscurse 0ch,1eh add dx,06h call output pop axret disp2 endp;-disp3子程序-disp3 proc near lea dx,num1 poscurse 09h,6h mov ah,09h int 21h lea dx,num2 poscurse 0ch,8h mov ah,09h int 21h lea dx,num3 poscurse 0ch,23h call output lea dx,num4 poscurse 09h,23h call output lea dx,stop poscurse 12h,06h mov ah,09h int 21h lea dx,go_on poscurse 12h,30h call output mov al,valuenum3 mov bl,12h mul bl mov dx,offset shuzi poscurse 07h,13h a

溫馨提示

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

評論

0/150

提交評論