ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:143.07KB ,
资源ID:11862817      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-11862817.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汽车车灯控制系统DOC.docx)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

汽车车灯控制系统DOC.docx

1、信息科学与技术学院微机原理与接口技术课程设计报告题目名称:汽车车灯控制系统目录1题目及要求 .11.1题目 .11.2要求 .12.功能设计 .12.1汽车图形 .12.2汽车左转 .12.3汽车右转 .12.4汽车前进 .12.5汽车倒退 .12.6汽车停止 .12.7响铃模块 .13.主流程图 .24.详细设计 .34.1汽车图形显示 .33.2汽车停止、转向、倒车的指示 .35.结果显示 .45.总结.76、程序代码 .81题目及要求1.1题目汽车车灯控制系统1.2 要求1) 实现停止时的指示灯;2) 实现汽车转向时指示3) 实现倒车指示4) 扩展功能:实现倒车的声音提示2. 功能设计2

2、.1 汽车图形功能:用汇编语言在dos 下实现一个汽车的图形,和四盏灯。2.2汽车左转功能:按 A键,实现汽车的左转,左前、左后指示灯亮,右前、右后指示灯灭。2.3汽车右转功能:按 D键,实现汽车的右转,左前、左后指示灯灭,右前、右后指示灯亮。2.4汽车前进功能:按 W键,实现汽车的向前行驶,并且四盏指示灯全灭。2.5汽车倒退功能:按 S键,实现汽车的倒退行驶,并且后面 2 盏指示灯全亮,前面 2 盏指示灯全灭。2.6汽车停止功能:按 B键,实现汽车的停止,并且四盏指示灯全亮和倒车提示音。2.7响铃模块功能:汽车停止时,提供倒车提示音。13. 主流程图开始等待No有无按健YesYesRET与

3、W 比较NoYes 与 A 比较RETNo调用 DRAW_W调用 DRAW_AYes与 D 比较 RETNoYes与 S 比较No调用 DRAW_D调用 DRAW_S 和响铃函数RET与 B 比较YesRET调用 STOPNo非定义字符 RET与空格比 较Yes退出24. 详细设计4.1汽车图形显示字符图形既可以在显示器上以简单的黑白图形字符显示,也可以在彩色显示器上以彩色的图形字符显示。通过调用 INT 10H的AH=0, AL=07可设置不同的显示方式,调用 INT 10H的AH=09H,AH=0AH等可显示字符。在屏幕上显示出汽车的效果,可分 5步进行:1) 在屏幕上显示图形(单字符或多

4、字符图形)2) 延迟一个时间周期,这样图形更清晰3) 清除图形4) 改变图形的行列坐标5) 返回第一步,重复上述过程。“汽车”各字符的相对位移量:4.2汽车停止、转向、倒车的指示首先是检测键盘的输入,根据输入的字符(A,D,W,S, B)来调用相应的函数,执行相应的操作实现:在屏幕上显示小车, 延迟一个时间周期这样图形更清晰, 清除图形,改变汽车图形的行列坐标,返回第一步,重复上述过程。35. 结果显示1、开始2、左转43右转4、前进55、后退和响铃6、停止65. 总结两周的 程 束了,在 次的 程 中不 了我所学 的知 ,也培养了我如何去把握一件事情, 如何去做一件事情, 又如何完成一件事情

5、。 在 程中,和同学 相互探 ,相互学 ,相互 督。学会了合作,学会了运筹帷幄,学会了 容,学会了理解,也学会了做人与 世。 程 是我 程知 合 用的 践 , 着是我 向社会, 从事 工作前一个必不少的 程 ”千里之行始于足下 ”,通 次 程 ,我深深体会到 句千古名言的真正含 我今天 真的 行 程 , 学会脚踏 地 开 一步,就是 明天能 健地在社会大潮中奔跑打下 的基 程 是培养学生 合运用所学知 ,发现 ,提出 ,分析和解决 ,锻 践能力的重要 ,是 学生 工作能力的具体 和考察 程 .随着科学技 展的日新日异, 当今 算机 用在是生活中可以 得是无 不在。 因此作 二十一世 的大学来

6、掌握 算机开 技 十分重要的。我的 目是汽 灯控制系 , 于我 些新手来 , 是很大的考 ,我一千次一万次的 自己, 怎么才能找到 堂所学与 用的最佳 合点?怎么才能 自己的程序在篇幅上 , 在使用价 上丰富?怎 自己的 余更靠近 ?怎 自己的 划更具有序性,而不会忙无一用?机会是老 ,学校,以及无数代教育工作者 的, 而能力是自己的, 耐性是需要的。 自己的琢磨,听取了 姐, 兄 的建 , 了很多 籍,才做到了心中有数,才了解了接口 程 的真正用意培养自学能力, 养成程序 的好 。 我从来不相信 到山前必有路的 法, 那只是 惰者自 惰的借口, 我要 极,要把握,要努力。回 起此次 程 ,

7、至今我仍感慨 多, 的确,从从拿到 目到完成整个 程,从理 到 践,在整整半个月的日子里,可以学到很多很多的的 西,同 不 可以巩固了以前所学 的知 , 而且学到了很多在 本上所没有学到 的知 。通 次 程 使我懂得了理 与 相 合是很重要的, 只有理 知 是 不 的,只有把所学的理 知 与 践相 合起来, 从理 中得出 ,才能真正 社会服 , 从而提高自己的 手能力和独立思考的能力。 在 的 程中遇到 , 可以 得是困 重重, 竟第一次做的, 免会遇到 各种各 的 , 同 在 的 程中 了自己的不足之 , 以前所学 的知 理解得不 深刻,掌握得不 牢固,比如 构体通 次 程 之后,一定把以前

8、所学 的知 重新温故。在 程 程中, 我学到了很多人生的哲理, 懂得怎么 去制定 划, 怎么 去 个 划,并掌握了在 行 程中怎么 去克服心理上的不良情 ,黑夜 去了,我 收 的是黎明。 老 的指 。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 时画小车, MODE=0 时清除小车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;小车的初始行坐标MOV COLUMN,38;小车的初始列坐标mov ah,09h;显示系统提示信息mov dx,seg messagemov ds,dxmov dx,offset messageint 21hCALL DRAW ; 画小车CALL DIREC

11、TION;检查是否有控制键按下?MOV AX,4C00H;退出程序8INT 21H;DIRECTION PROC NEAR ;键盘检测子程序DRAW_U:MOV AH,0;接收键盘输入INT 16HCMP AL,57H;向上 ?JNZ DRAW_D;没有则转移CALL CLEAR;清除小车DEC ROW;行坐标减 1CALL DRAW ; 画小车CMP ROW,1;小车在最上边吗?JNZ DRAW_D;不是则转移CALL CLEAR;是则清除小车MOV ROW,24;把小车置于最下边DRAW_D:CMP AL,53H;向下?JNZ DRAW_L;没有则转移CALL CLEAR;清除小车INC

12、ROW;行坐标加 1CALL DRAW_DD ;画小车CMP ROW,24 ; 小车在最下边吗?JNZ DRAW_L;不是则转移CALL CLEAR;清除小车MOV ROW,1;把小车置于最上边jmp DRAW_LA1:jmp DRAW_UDRAW_L:CMP AL,41H;向左?JNZ DRAW_R;没有则转移CALL CLEAR;清除小车DEC ROW;行坐标减1DEC COLUMN;列坐标减1CALL DRAW_LL;画小车CMP COLUMN,0;小车在最左边吗?JNZ DRAW_R;不是则转移CALL CLEAR;清除小车MOV COLUMN,76;把小车置于最右边MOV ROW,2

13、49DRAW_R:CMP AL,44H;向右?JNZ DRAW_STOP;没有则转移CALL CLEAR;清除小车INC COLUMN;列坐标加1DEC ROW;行坐标减1CALL DRAW_RR ;画小车CMP COLUMN,76;小车在最右边吗?JNZ DRAW_STOP;不是则转移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;置光标列ADD DL,DI+1;置光标行MOV AH,2INT 10H10MOV AL,DI+2;显示字符的 ASCII 码MOV BL,DI+3;显示字符的属性CMP MODE,0;MODE=1 时画小车, MODE=0 时清除小车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;置光标行ADD DL,DI+1;置光标列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;置光标行ADD DL,DI+1;置光标列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;置光标行ADD DL,DI+1;置光标列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;置光标行ADD DL,DI+1;置光标列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;置光标行ADD DL,DI+1;置光标列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;置光标行ADD DL,DI+1;置光标列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;置光标行ADD DL,DI+1;置光标列MOV AH,02HINT 10HMOV AL,DI+2;显示字符的ASCII 码

22、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,1MOV AH,09HINT 10HPOP CX;右后灯

23、亮ADD DL,+3MOV AH,02HINT 10HMOV AL,4FH;显示字符的ASCII 码MOV BL,4;显示字符的属性PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXRETCAR_STOP ENDPmusic proc nearONE_m:LEA SI,MUS_FREGLEA BP,DS:MUS_TIMEfreq:mov di,si16cmp di,-1jeENDMUSmov bx,ds:bpcall soundfadd si,2add bp,2jmp freqENDMUS:RETmusic endp;*soundfproc nearpushaxpus

24、hbxpushcxpushdxpushdimoval,0b6hout43h,almovdx,12hmovax,348chdivdiout42h,almoval,ahout42h,alinal,61hmovah,aloral,3out61h,alwait1:movcx,663callwaitfdelay:loopdelaydecbxjnzwait1moval,ahout61h,alpopdipopdxpopcxpopbx17popaxretsoundfendpq0 proc nearmov ah,2sub bh,bhmov dh,0mov dl,0int 10hretq0 endpwaitfproc nearpushaxwaitf1: inal,61handal, 10hcmpal, ahjewaitf1movah,alloopwaitf1popaxretwaitfendp;*END START18

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报