汽车车灯控制系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息科学与技术学院微机原理与接口技术课程设计报告

题目名称:汽车车灯控制系统

目录

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 ;退出程序

相关文档
最新文档