汽车车灯控制系统
- 格式:doc
- 大小:149.50 KB
- 文档页数:20
信息科学与技术学院微机原理与接口技术课程设计报告
题目名称:汽车车灯控制系统
目录
1.题目及要求 0
1.1 题目 0
1.2 要求 0
2.功能设计 0
2.1 汽车图形 0
2.2 汽车左转 0
2.3 汽车右转 0
2.4 汽车前进 0
2.5 汽车倒退 0
2.6 汽车停止 0
2.7 响铃模块 0
3.主流程图 (1)
4.详细设计 (2)
4.1 汽车图形显示 (2)
3.2 汽车停止、转向、倒车的指示 (2)
5.结果显示 (3)
5.总结 (6)
6、程序代码 (7)
1.题目及要求
1.1 题目
汽车车灯控制系统
1.2 要求
1)实现停止时的指示灯;
2)实现汽车转向时指示
3)实现倒车指示
4)扩展功能:实现倒车的声音提示
2.功能设计
2.1 汽车图形
功能:用汇编语言在dos下实现一个汽车的图形,和四盏灯。
2.2 汽车左转
功能:按’A’键,实现汽车的左转,左前、左后指示灯亮,右前、右后指示灯灭。
2.3 汽车右转
功能:按’D’键,实现汽车的右转,左前、左后指示灯灭,右前、右后指示灯亮。
2.4 汽车前进
功能:按’W’键,实现汽车的向前行驶,并且四盏指示灯全灭。
2.5 汽车倒退
功能:按’S’键,实现汽车的倒退行驶,并且后面2盏指示灯全亮,前面2盏指示灯全灭。
2.6 汽车停止
功能:按’B’键,实现汽车的停止,并且四盏指示灯全亮和倒车提示音。
2.7 响铃模块
功能:汽车停止时,提供倒车提示音。
3.主流程图
4.详细设计
4.1 汽车图形显示
字符图形既可以在显示器上以简单的黑白图形字符显示,也可以在彩色显示器上以彩色的图形字符显示。通过调用INT 10H的AH=0,AL=0~7可设置不同的显示方式,调用INT 10H的AH=09H,AH=0AH等可显示字符。
在屏幕上显示出汽车的效果,可分5步进行:
1)在屏幕上显示图形(单字符或多字符图形)
2)延迟一个时间周期,这样图形更清晰
3)清除图形
4)改变图形的行列坐标
5)返回第一步,重复上述过程。
“汽车”各字符的相对位移量:
4.2 汽车停止、转向、倒车的指示
首先是检测键盘的输入,根据输入的字符(A,D,W,S,B)来调用相应的函数,执行相应的操作实现:在屏幕上显示小车,延迟一个时间周期这样图形更清晰,清除图形,改变汽车图形的行列坐标,返回第一步,重复上述过程。
5.结果显示1、开始
2、左转
3.右转
4、前进
5、后退和响铃
6、停止
5.总结
两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。
我的题目是汽车车灯控制系统,对于我们这些新手来说,这是很大的考验,我一千次一万次的问自己,怎么才能找到课堂所学与实际应用的最佳结合点?怎么才能让自己的程序在篇幅上简单,在使用价值上丰富?怎样让自己的业余更靠近专业?怎样让自己的计划更具有序性,而不会忙无一用?机会是老师,学校,以及无数代教育工作者给的,而能力是自己的,耐性是需要的。经过自己的琢磨,听取了师姐,师兄们的建议,还查阅了很多书籍,才做到了心中有数,才了解了接口课程设计的真正用意——培养自学能力,养成程序编辑的好习惯。我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻懒惰的借口,我要积极,要把握,要努力。
回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。
在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。谢谢老师的指导。
6、程序代码
.MODEL SMALL
.DATA
message 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,0dh
db 'If you want to quit, please hit ''kongge''!',0ah,0dh,'$'
CARS DW 15
DB 0,0,4FH,7,0,1,4FH,7
DB 1,0,0BBH,6,0,-1,0BBH,6
DB 1,-1,0BBH,6,0,1,0BBH,6
DB 0,1,0BBH,6,0,1,0BBH,6
DB 1,0,4FH,7,0,-3,4FH,7
;定义汽车形状
ROW DB ?
COLUMN DB ?
MODE DB ? ;MODE=1时画小车,MODE=0时清除小车
MUS_FREG dw 262,262,294,262,349,330
dw 262,262,294,262,392,349
dw 262,262,523,440,349,330,294
dw 466,466,440,262,392,349
dw -1
MUS_TIME dw 10,20,20,20,20,100
dw 10,20,20,20,20,100
dw 10,20,20,20,20,20,200
dw 10,20,20,20,20,100
.CODE
START: MOV AX,@DATA
MOV DS,AX ;初始化
MOV ROW,13 ;小车的初始行坐标
MOV COLUMN,38 ;小车的初始列坐标
mov ah,09h ;显示系统提示信息
mov dx,seg message
mov ds,dx
mov dx,offset message
int 21h
CALL DRAW ;画小车
CALL DIRECTION ;检查是否有控制键按下?
MOV AX,4C00H ;退出程序