汽車車燈控制系統(tǒng)DOC_第1頁
汽車車燈控制系統(tǒng)DOC_第2頁
汽車車燈控制系統(tǒng)DOC_第3頁
汽車車燈控制系統(tǒng)DOC_第4頁
汽車車燈控制系統(tǒng)DOC_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、信息科學(xué)與技術(shù)學(xué)院微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告題目名稱:汽車車燈控制系統(tǒng)目錄1題目及要求 .11.1題目 .11.2要求 .12.功能設(shè)計(jì) .12.1汽車圖形 .12.2汽車左轉(zhuǎn) .12.3汽車右轉(zhuǎn) .12.4汽車前進(jìn) .12.5汽車倒退 .12.6汽車停止 .12.7響鈴模塊 .13.主流程圖 .24.詳細(xì)設(shè)計(jì) .34.1汽車圖形顯示 .33.2汽車停止、轉(zhuǎn)向、倒車的指示 .35.結(jié)果顯示 .45.總結(jié).76、程序代碼 .81題目及要求1.1題目汽車車燈控制系統(tǒng)1.2 要求1) 實(shí)現(xiàn)停止時(shí)的指示燈;2) 實(shí)現(xiàn)汽車轉(zhuǎn)向時(shí)指示3) 實(shí)現(xiàn)倒車指示4) 擴(kuò)展功能:實(shí)現(xiàn)倒車的聲音提示2. 功能設(shè)計(jì)2

2、.1 汽車圖形功能:用匯編語言在dos 下實(shí)現(xiàn)一個(gè)汽車的圖形,和四盞燈。2.2汽車左轉(zhuǎn)功能:按 A鍵,實(shí)現(xiàn)汽車的左轉(zhuǎn),左前、左后指示燈亮,右前、右后指示燈滅。2.3汽車右轉(zhuǎn)功能:按 D鍵,實(shí)現(xiàn)汽車的右轉(zhuǎn),左前、左后指示燈滅,右前、右后指示燈亮。2.4汽車前進(jìn)功能:按 W鍵,實(shí)現(xiàn)汽車的向前行駛,并且四盞指示燈全滅。2.5汽車倒退功能:按 S鍵,實(shí)現(xiàn)汽車的倒退行駛,并且后面 2 盞指示燈全亮,前面 2 盞指示燈全滅。2.6汽車停止功能:按 B鍵,實(shí)現(xiàn)汽車的停止,并且四盞指示燈全亮和倒車提示音。2.7響鈴模塊功能:汽車停止時(shí),提供倒車提示音。13. 主流程圖開始等待No有無按健YesYesRET與

3、W 比較NoYes 與 A 比較RETNo調(diào)用 DRAW_W調(diào)用 DRAW_AYes與 D 比較 RETNoYes與 S 比較No調(diào)用 DRAW_D調(diào)用 DRAW_S 和響鈴函數(shù)RET與 B 比較YesRET調(diào)用 STOPNo非定義字符 RET與空格比 較Yes退出24. 詳細(xì)設(shè)計(jì)4.1汽車圖形顯示字符圖形既可以在顯示器上以簡單的黑白圖形字符顯示,也可以在彩色顯示器上以彩色的圖形字符顯示。通過調(diào)用 INT 10H的AH=0, AL=07可設(shè)置不同的顯示方式,調(diào)用 INT 10H的AH=09H,AH=0AH等可顯示字符。在屏幕上顯示出汽車的效果,可分 5步進(jìn)行:1) 在屏幕上顯示圖形(單字符或多

4、字符圖形)2) 延遲一個(gè)時(shí)間周期,這樣圖形更清晰3) 清除圖形4) 改變圖形的行列坐標(biāo)5) 返回第一步,重復(fù)上述過程?!捌嚒备髯址南鄬?duì)位移量:4.2汽車停止、轉(zhuǎn)向、倒車的指示首先是檢測(cè)鍵盤的輸入,根據(jù)輸入的字符(A,D,W,S, B)來調(diào)用相應(yīng)的函數(shù),執(zhí)行相應(yīng)的操作實(shí)現(xiàn):在屏幕上顯示小車, 延遲一個(gè)時(shí)間周期這樣圖形更清晰, 清除圖形,改變汽車圖形的行列坐標(biāo),返回第一步,重復(fù)上述過程。35. 結(jié)果顯示1、開始2、左轉(zhuǎn)43右轉(zhuǎn)4、前進(jìn)55、后退和響鈴6、停止65. 總結(jié)兩周的 程 束了,在 次的 程 中不 了我所學(xué) 的知 ,也培養(yǎng)了我如何去把握一件事情, 如何去做一件事情, 又如何完成一件事情

5、。 在 程中,和同學(xué) 相互探 ,相互學(xué) ,相互 督。學(xué)會(huì)了合作,學(xué)會(huì)了運(yùn)籌帷幄,學(xué)會(huì)了 容,學(xué)會(huì)了理解,也學(xué)會(huì)了做人與 世。 程 是我 程知 合 用的 踐 , 著是我 向社會(huì), 從事 工作前一個(gè)必不少的 程 ”千里之行始于足下 ”,通 次 程 ,我深深體會(huì)到 句千古名言的真正含 我今天 真的 行 程 , 學(xué)會(huì)腳踏 地 開 一步,就是 明天能 健地在社會(huì)大潮中奔跑打下 的基 程 是培養(yǎng)學(xué)生 合運(yùn)用所學(xué)知 ,發(fā)現(xiàn) ,提出 ,分析和解決 ,鍛 踐能力的重要 ,是 學(xué)生 工作能力的具體 和考察 程 .隨著科學(xué)技 展的日新日異, 當(dāng)今 算機(jī) 用在是生活中可以 得是無 不在。 因此作 二十一世 的大學(xué)來

6、掌握 算機(jī)開 技 十分重要的。我的 目是汽 燈控制系 , 于我 些新手來 , 是很大的考 ,我一千次一萬次的 自己, 怎么才能找到 堂所學(xué)與 用的最佳 合點(diǎn)?怎么才能 自己的程序在篇幅上 , 在使用價(jià) 上豐富?怎 自己的 余更靠近 ?怎 自己的 劃更具有序性,而不會(huì)忙無一用?機(jī)會(huì)是老 ,學(xué)校,以及無數(shù)代教育工作者 的, 而能力是自己的, 耐性是需要的。 自己的琢磨,聽取了 姐, 兄 的建 , 了很多 籍,才做到了心中有數(shù),才了解了接口 程 的真正用意培養(yǎng)自學(xué)能力, 養(yǎng)成程序 的好 。 我從來不相信 到山前必有路的 法, 那只是 惰者自 惰的借口, 我要 極,要把握,要努力?;?起此次 程 ,

7、至今我仍感慨 多, 的確,從從拿到 目到完成整個(gè) 程,從理 到 踐,在整整半個(gè)月的日子里,可以學(xué)到很多很多的的 西,同 不 可以鞏固了以前所學(xué) 的知 , 而且學(xué)到了很多在 本上所沒有學(xué)到 的知 。通 次 程 使我懂得了理 與 相 合是很重要的, 只有理 知 是 不 的,只有把所學(xué)的理 知 與 踐相 合起來, 從理 中得出 ,才能真正 社會(huì)服 , 從而提高自己的 手能力和獨(dú)立思考的能力。 在 的 程中遇到 , 可以 得是困 重重, 竟第一次做的, 免會(huì)遇到 各種各 的 , 同 在 的 程中 了自己的不足之 , 以前所學(xué) 的知 理解得不 深刻,掌握得不 牢固,比如 構(gòu)體通 次 程 之后,一定把以前

8、所學(xué) 的知 重新溫故。在 程 程中, 我學(xué)到了很多人生的哲理, 懂得怎么 去制定 劃, 怎么 去 個(gè) 劃,并掌握了在 行 程中怎么 去克服心理上的不良情 ,黑夜 去了,我 收 的是黎明。 老 的指 。76、程序代碼.MODEL SMALL.DATAmessage db Switch A is for zuozhuan,switch D is for youzhuan,switch W is for qianjin,switch S is for houtui,switch B is for shache!db 0ah,0dhdb If you want to quit, please hit

9、kongge!,0ah,0dh,$CARS DW 15DB 0,0,4FH,7,0,1,4FH,7DB 1,0,0BBH,6,0,-1,0BBH,6DB 1,-1,0BBH,6,0,1,0BBH,6DB 0,1,0BBH,6,0,1,0BBH,6DB 1,0,4FH,7,0,-3,4FH,7;定義汽車形狀ROW DB ?COLUMN DB ?MODE DB ?;MODE=1 時(shí)畫小車, MODE=0 時(shí)清除小車MUS_FREGdw 262,262,294,262,349,330dw 262,262,294,262,392,349dw 262,262,523,440,349,330,294dw

10、466,466,440,262,392,349dw -1MUS_TIMEdw 10,20,20,20,20,100dw 10,20,20,20,20,100dw 10,20,20,20,20,20,200dw 10,20,20,20,20,100.CODESTART: MOV AX,DATAMOV DS,AX ;初始化MOV ROW,13;小車的初始行坐標(biāo)MOV COLUMN,38;小車的初始列坐標(biāo)mov ah,09h;顯示系統(tǒng)提示信息mov dx,seg messagemov ds,dxmov dx,offset messageint 21hCALL DRAW ; 畫小車CALL DIREC

11、TION;檢查是否有控制鍵按下?MOV AX,4C00H;退出程序8INT 21H;DIRECTION PROC NEAR ;鍵盤檢測(cè)子程序DRAW_U:MOV AH,0;接收鍵盤輸入INT 16HCMP AL,57H;向上 ?JNZ DRAW_D;沒有則轉(zhuǎn)移CALL CLEAR;清除小車DEC ROW;行坐標(biāo)減 1CALL DRAW ; 畫小車CMP ROW,1;小車在最上邊嗎?JNZ DRAW_D;不是則轉(zhuǎn)移CALL CLEAR;是則清除小車MOV ROW,24;把小車置于最下邊DRAW_D:CMP AL,53H;向下?JNZ DRAW_L;沒有則轉(zhuǎn)移CALL CLEAR;清除小車INC

12、ROW;行坐標(biāo)加 1CALL DRAW_DD ;畫小車CMP ROW,24 ; 小車在最下邊嗎?JNZ DRAW_L;不是則轉(zhuǎn)移CALL CLEAR;清除小車MOV ROW,1;把小車置于最上邊jmp DRAW_LA1:jmp DRAW_UDRAW_L:CMP AL,41H;向左?JNZ DRAW_R;沒有則轉(zhuǎn)移CALL CLEAR;清除小車DEC ROW;行坐標(biāo)減1DEC COLUMN;列坐標(biāo)減1CALL DRAW_LL;畫小車CMP COLUMN,0;小車在最左邊嗎?JNZ DRAW_R;不是則轉(zhuǎn)移CALL CLEAR;清除小車MOV COLUMN,76;把小車置于最右邊MOV ROW,2

13、49DRAW_R:CMP AL,44H;向右?JNZ DRAW_STOP;沒有則轉(zhuǎn)移CALL CLEAR;清除小車INC COLUMN;列坐標(biāo)加1DEC ROW;行坐標(biāo)減1CALL DRAW_RR ;畫小車CMP COLUMN,76;小車在最右邊嗎?JNZ DRAW_STOP;不是則轉(zhuǎn)移CALL CLEAR;清除小車MOV COLUMN,0 ;把小車置于最左邊MOV ROW,24DRAW_STOP:CMP AL,42HJNZ EXITCALL CLEARCALL DRAW_SSEXIT:CMP AL,20H;空格?JNZ A1;沒有則返回RET;退出DIRECTION ENDPDRAW:;畫小

14、車MOV MODE,1CALL CARRETCLEAR:;清除小車MOV MODE,0CALL CARRETCARPROC NEAR;小車圖形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,10LEA DI,CARS+2ONE:ADD DH,DI+0;置光標(biāo)列ADD DL,DI+1;置光標(biāo)行MOV AH,2INT 10H10MOV AL,DI+2;顯示字符的 ASCII 碼MOV BL,DI+3;顯示字符的屬性CMP MODE,0;MODE=1 時(shí)畫小車, MODE=0 時(shí)清除小車JNE SKIPMOV BL,0SKIP:PUSH CXMOV CX,1MOV AH,09HIN

15、T 10HPOP CXADD DI,4LOOP ONERETCAR ENDP;左拐的處理DRAW_LL:;畫小車MOV MODE,1CALL CAR_LRETCAR_LPROC NEAR;小車圖形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,10LEA DI,CARS+2ONE_L:ADD DH,DI+0;置光標(biāo)行ADD DL,DI+1;置光標(biāo)列MOV AH,2INT 10HMOV AL,DI+2;顯示字符的 ASCII 碼MOV BL,DI+3;顯示字符的屬性SKIP_L: PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXADD DI,4LOO

16、P ONE_LMOV DH,ROW;左前燈亮MOV DL,COLUMNLEA DI,CARS+2ADD DH,DI+0;置光標(biāo)行ADD DL,DI+1;置光標(biāo)列11MOV AH,02HINT 10HMOV AL,DI+2;顯示字符的ASCII 碼MOV BL,4;顯示字符的屬性MOV CX,1MOV AH,09HINT 10HPOP CXADD DH,3;左后燈亮ADD DL,-1MOV AH,02HINT 10HMOV AL,DI+2;顯示字符的ASCII 碼MOV BL,4;顯示字符的屬性PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXRETCAR_L ENDP

17、;右拐的處理DRAW_RR:;畫小車MOV MODE,1CALL CAR_RRETCAR_RPROC NEAR ;小車圖形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,10LEA DI,CARS+2ONE_R:ADD DH,DI+0;置光標(biāo)行ADD DL,DI+1;置光標(biāo)列MOV AH,2INT 10HMOV AL,DI+2;顯示字符的ASCII 碼MOV BL,DI+3;顯示字符的屬性SKIP_R: PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CX12ADD DI,4LOOP ONE_R; 右前燈亮MOV DH,ROWMOV DL,COLUMN

18、LEA DI,CARS+6ADD DH,DI+0;置光標(biāo)行ADD DL,DI+1;置光標(biāo)列MOV AH,02HINT 10HMOV AL,DI+2;顯示字符的 ASCII 碼MOV BL,4;顯示字符的屬性MOV CX,1MOV AH,09HINT 10HPOP CXADD DH,3;左后燈亮ADD DL,+1MOV AH,02HINT 10HMOV AL,DI+2;顯示字符的 ASCII 碼MOV BL,4;顯示字符的屬性PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXRETCAR_R ENDP;后退的處理DRAW_DD:;畫小車MOV MODE,1CALL CA

19、R_DRETCAR_DPROC NEAR ;小車圖形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,10LEA DI,CARS+213ONE_D:ADD DH,DI+0;置光標(biāo)行ADD DL,DI+1;置光標(biāo)列MOV AH,2INT 10HMOV AL,DI+2;顯示字符的ASCII 碼MOV BL,DI+3;顯示字符的屬性SKIP_D: PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXADD DI,4LOOP ONE_DMOV DH,ROWMOV DL,COLUMNADD DH,3;左后燈亮ADD DL,-1MOV AH,02HINT 10HMO

20、V AL,4FH;顯示字符的ASCII 碼MOV BL,4;顯示字符的屬性PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CX;右后燈亮ADD DL,+3MOV AH,02HINT 10HMOV AL,4FH;顯示字符的ASCII 碼MOV BL,4;顯示字符的屬性PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXcall musicRETCAR_D ENDP14DRAW_SS:;畫小車MOV MODE,1CALL CAR_STOPRETCAR_STOPPROC NEAR;小車圖形子程序MOV DH,ROWMOV DL,COLUMNMOV CX

21、,10LEA DI,CARS+2ONE_STOP:ADD DH,DI+0;置光標(biāo)行ADD DL,DI+1;置光標(biāo)列MOV AH,2INT 10HMOV AL,DI+2;顯示字符的ASCII 碼MOV BL,DI+3;顯示字符的屬性SKIP_STOP: PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXADD DI,4LOOP ONE_STOP; 右前燈亮MOV DH,ROWMOV DL,COLUMNLEA DI,CARS+6ADD DH,DI+0;置光標(biāo)行ADD DL,DI+1;置光標(biāo)列MOV AH,02HINT 10HMOV AL,DI+2;顯示字符的ASCII 碼MOV BL,4;顯示字符的屬性MOV CX,1MOV AH,09HINT 10HPOP CX;左前燈亮ADD DL,-1MOV AH,02HINT 10HMOV AL,4FH;顯示字符的ASCII 碼MOV BL,4;顯示字符的屬性15PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXMOV DH,ROWMOV DL,COLUMNADD DH,3;左后燈亮ADD DL,-1MOV AH,02HINT 10HMOV AL,4FH;顯示字符的ASCII 碼MOV BL,4;顯示字符的屬性PUSH CXMOV CX,1M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論