汽车车灯控制系统课程设计报告

合集下载

汽修灯光实训报告

汽修灯光实训报告

一、实训背景随着汽车工业的快速发展,汽车照明系统在车辆安全、驾驶舒适度以及美观度方面扮演着越来越重要的角色。

为了提高学生对汽车照明系统的认识,增强动手实践能力,本实训课程旨在通过实际操作,让学生了解汽车照明系统的组成、工作原理以及故障排查方法。

二、实训目的1. 理解汽车照明系统的基本组成和功能。

2. 掌握汽车照明系统电路图的分析方法。

3. 学会汽车照明系统常见故障的诊断与维修。

4. 提高学生的动手实践能力和团队协作精神。

三、实训内容1. 照明系统组成与功能本实训以桑塔纳XXGSi车型为例,介绍了汽车照明系统的基本组成,包括:- 前照灯:包括远光灯和近光灯,负责夜间或恶劣天气下的道路照明。

- 雾灯:在雾天或雨天提供辅助照明,增加行车安全性。

- 小灯:位于车身前后,用于夜间停车时警示其他车辆。

- 后灯:包括刹车灯、转向灯、尾灯等,负责夜间行车时的警示功能。

- 内部照明:包括仪表盘照明、车内阅读灯等,提高车内照明效果。

2. 照明系统电路分析通过分析汽车照明系统电路图,了解各部分之间的连接关系和工作原理。

例如,前照灯电路包括蓄电池、熔断丝、灯控开关、灯光继电器、变光器、灯及其线路等。

3. 照明系统故障诊断与维修- 故障现象:前照灯不亮。

- 故障排查:1. 检查熔断丝是否熔断。

2. 检查灯光继电器是否工作正常。

3. 检查前照灯线路是否接触不良或断路。

4. 检查前照灯本身是否损坏。

- 维修方法:根据故障现象,依次排查上述故障点,并采取相应的维修措施。

4. 实训操作- 安装前照灯:学习前照灯的安装方法和注意事项。

- 更换熔断丝:掌握更换熔断丝的步骤和技巧。

- 检查灯光继电器:了解灯光继电器的工作原理和检查方法。

- 检查线路:学会使用万用表等工具检查线路是否接触良好或断路。

- 更换前照灯:学习前照灯的拆卸和更换方法。

四、实训总结通过本次实训,我对汽车照明系统有了更深入的了解,掌握了照明系统电路分析、故障诊断与维修的基本方法。

汽车灯光系实训报告

汽车灯光系实训报告

一、实训背景随着汽车行业的快速发展,汽车灯光系统作为汽车的重要组成部分,其安全性和功能性越来越受到重视。

为了提高学生对汽车灯光系统的认识和操作技能,本实训课程针对汽车灯光系统进行了一系列的实验和操作训练。

二、实训目的1. 了解汽车灯光系统的基本组成和工作原理;2. 掌握汽车灯光系统的维护和检修方法;3. 培养学生的动手能力和实际操作技能;4. 提高学生对汽车灯光系统的安全意识和责任感。

三、实训内容1. 汽车灯光系统概述(1)汽车灯光系统的组成:汽车灯光系统主要由前照灯、雾灯、转向灯、尾灯、牌照灯、仪表灯、车内照明灯等组成。

(2)汽车灯光系统的工作原理:汽车灯光系统通过电源向灯光提供电能,使灯光发光,实现照明、信号、警示等功能。

2. 汽车灯光系统的维护(1)定期检查灯光系统的完整性,确保无损坏、无松动现象。

(2)定期检查灯光亮度,如发现亮度不足,应及时更换灯泡。

(3)定期检查灯光的清洁度,确保灯光清晰可见。

(4)定期检查灯光系统的线路,防止短路、漏电等故障。

3. 汽车灯光系统的检修(1)检查灯泡是否损坏,如有损坏,应及时更换。

(2)检查灯光线路是否接触良好,如有松动、老化现象,应及时修复。

(3)检查灯光系统是否短路,如有短路现象,应及时排除。

(4)检查灯光系统是否漏电,如有漏电现象,应及时修复。

4. 汽车灯光系统的故障诊断与排除(1)根据灯光系统的故障现象,初步判断故障原因。

(2)使用诊断仪器对灯光系统进行检测,确定故障点。

(3)针对故障点进行维修,排除故障。

四、实训过程1. 实训准备(1)了解实训课程内容和要求。

(2)熟悉实训设备和工具的使用方法。

(3)分组进行实训,明确各成员的职责。

2. 实训实施(1)讲解汽车灯光系统的基本组成和工作原理。

(2)指导学生进行灯光系统的维护和检修。

(3)进行灯光系统的故障诊断与排除实验。

(4)学生分组进行实际操作,教师进行指导。

3. 实训总结(1)学生汇报实训过程中的心得体会。

微机接口课程设计—汽车车灯控制系统

微机接口课程设计—汽车车灯控制系统

微机原理与接口技术课程设计——汽车车灯控制系统课程题目:汽车车灯控制系统专业班级:学生姓名:学号 :指导老师:目录1、题目及要求: (3)1.1题目:汽车车灯控制系统 (3)1.2要求: (3)1.3选题背景: (3)2、设计说明: (3)3、功能设计: (4)3.1、功能模块: (4)3.1.1 CARS属性设置--(CARS字符图形表,定义小车形状) (4)3.1.2 CLEAR --(擦除小车移动前痕迹) (5)3.1.3 DIRECTION--(键盘检测子程序) (5)DRAW_U(判断是否上移位) (5)DRAW_S(判断是否下移位) (5)DRAW_L(判断是否左转位) (5)DRAW_R(判断是否右转位) (5)CAR PROC NEAR(画小车图形子程序) (5)MUSIC PROC NEAR (音乐子程序) (5)3.2、功能图 (6)3.3、总体结构功能 (6)4、详细设计: (7)4.1、设计思想: (7)4.2、设计方法: (8)4.3、部分功能模块及流程图 (8)4.4、部分截图: (10)左转时 (10)右转时 (10)刹车时 (10)停靠时 (11)5、总结 (11)6、参考文献 (11)7、附录 (12)1、题目及要求:1.1题目:汽车车灯控制系统1.2要求:1.实现停止时的指示灯;2.实现汽车转向时指示3.实现倒车指示扩展功能:实现倒车的声音提示1.3选题背景:随着全球经济的快速发展,人们的生活水平得到了很大的提高,越来越多的人拥有了私家车,虽然这便于人们出行,但随之而来的还有严重的交通问题。

随着交通事故发生的频率逐渐升高,一些国家及发明家意识到了这个问题,仅仅依靠交通信号灯不足以维持交通秩序。

于是,科学家针对发生交通事故的一系列原因,研究出了汽车车灯来解决这一系列问题。

汽车车灯微机控制系统,控制的信号灯由前两灯和后两灯组成,在不同的驾驶操作控制下可驱动相对应的汽车信号灯闪烁或长亮。

汽车信号灯控制系统课程设计

汽车信号灯控制系统课程设计

《微机原理与接口技术课程设计》--汽车信号灯控制系统班级 :姓名:学号:指导教师:完成日期:摘要随着经济的发展,汽车越来越被人们需要,而由此也引发了一系列的问题,比如,一位汽车的突然转向所依法的车祸经常出现。

如果汽车转弯时能够通过尾灯状态的变化来确定就可以提示司机,行人,车子正在转弯,一定程度避免车祸的发生。

本文是关于汽车尾灯控制电路的设计,根据汽车尾灯显示状态与汽车运行状态的关系,分析并设计电路。

整个系统由8255A模块为工作核心,详细介绍了基于8086的汽车尾灯控制电路的设计。

关键字:汽车尾灯;8255A;cpu模块;子程序模块1.课程设计题目:汽车信号灯控制系统2.课程设计目的:汽车作为现代交通工具已大量进入人们的生活,随着电子技术的发展,对于汽车的控制电路,已经从过去的全人工开关控制发展到了智能控制。

在夜晚或因天气原因能见度不高的时候,人们对汽车安全行驶要求很高,汽车尾灯控制系统给大家带来了方便。

汽车尾灯控制器是随汽车智能化技术的发展而迅速发展起来的,汽车尾灯一般是用基于微处理器的硬件电路结构构成,本文主要是介绍汽车信号灯的控制,其中汽车信号灯包括了左前灯、右前灯、左后灯、右后灯、仪表盘上的左右转弯信号灯、故障信号灯。

其主要内容是使汽车在行驶过程中通过信号灯来传达汽车诸如转弯、刹车、闭合紧急开关、停靠等一系列操作信号。

信号灯控制的实现主要是通过电路与汇编程序的结合来完成,电路部分的设计是通过PIT++来完成的,其中灯的模拟采用了发光二极管,发光二极管有熄灭、点亮和闪烁三种信号,其中闪烁信号的产生分别运用了硬件和软件来实现,而汽车一系列的操作采用了相应的开关来模拟,所有的电路元件都是用PIT++软件上的虚拟元件来代替,这样方便了电路图的设计,而且大大提高了调试与仿真的效率。

同时,展示了计算机技术在汽车行业的应用,也为人们的日常交通生活提供了便利与安全保障。

3.课程设计的任务与要求1)任务:1. 任务需求分析2. 设计硬件电路3. 编写汇编程序4. 在PIT++环境下进行仿真与调试5. 开发总结2)要求:要求每个学生(或小组)都要自己动手独立设计完成一个典型的微机应用小系统.。

汽车灯光系统的实训报告

汽车灯光系统的实训报告

一、实训目的通过本次实训,使学生了解汽车灯光系统的基本组成、工作原理及维修方法,掌握汽车灯光系统的调试与故障诊断技术,提高学生的实际操作能力。

二、实训时间2022年X月X日至2022年X月X日三、实训地点汽车维修实训室四、实训内容1. 汽车灯光系统概述(1)汽车灯光系统的作用汽车灯光系统是汽车的重要组成部分,主要作用是提供照明、信号和装饰等功能。

照明功能包括道路照明、车内照明等;信号功能包括转向信号、制动信号、危险信号等;装饰功能包括车身装饰、车标照明等。

(2)汽车灯光系统的组成汽车灯光系统主要由以下几部分组成:1)照明系统:包括前照灯、前雾灯、后雾灯、车内照明灯、仪表照明灯等。

2)信号系统:包括转向信号灯、制动信号灯、危险信号灯、倒车灯等。

3)控制单元:包括灯光开关、继电器、传感器等。

4)电源:包括蓄电池、发电机等。

2. 汽车灯光系统实训(1)实训内容1)观察汽车灯光系统实物,了解其组成及各部件的功能。

2)学习汽车灯光系统电路图,掌握各部件之间的连接关系。

3)学习汽车灯光系统的工作原理,了解各部件之间的协同作用。

4)进行汽车灯光系统调试,包括灯光亮度调节、灯光角度调整等。

5)进行汽车灯光系统故障诊断,包括灯光不亮、灯光闪烁、灯光异常等。

(2)实训步骤1)观察汽车灯光系统实物,了解其组成及各部件的功能。

2)学习汽车灯光系统电路图,掌握各部件之间的连接关系。

3)学习汽车灯光系统的工作原理,了解各部件之间的协同作用。

4)进行灯光亮度调节实训:①打开汽车电源,检查灯光开关是否正常。

②调节灯光亮度旋钮,观察灯光亮度是否发生变化。

③调整灯光亮度,使其达到规定要求。

5)进行灯光角度调整实训:①打开汽车电源,检查灯光开关是否正常。

②调整灯光角度调节机构,观察灯光角度是否发生变化。

③调整灯光角度,使其达到规定要求。

6)进行汽车灯光系统故障诊断实训:①观察灯光不亮现象,分析故障原因。

②检查相关部件,如灯泡、电路等。

嵌入式技术应用课程设计——汽车灯光控制设计

嵌入式技术应用课程设计——汽车灯光控制设计

汽车灯光控制设计——STM32单片机综合课程设计报告班级:姓名:学号:连云港职业技术学院一、控制要求汽车车灯采用发光二极管来设计,汽车前部两侧各有远光灯一部(夜间正常行车时使用,大功率白色发光二极管),当开关k1合上是亮;近光灯一部(夜间行驶汇车时使用,小功率白色发光二极管),开关k2合上是亮;汽车左右各有方向灯(小功率黄色发光二极管),k3合上时右转弯灯闪亮,k4合上时做转弯灯闪亮;紧急情况时,k5合上,左右转向灯同时闪;雾灯(大功率黄色发光二极管),k6合上时亮。

汽车后部有刹车灯一部(小功率红色发光二极管),刹车时,k7合上,刹车灯亮(不闪)。

二、硬件设计本设计采用STM32单片机设计,其硬件电路如图所示:(参考上图画出七个开关,七个灯的电路替换上图,输入输出管脚自己定) (Stm32单片机介绍……自己上网收索)本设计使用STM32F103VE 芯片,(STM32F103VE 芯片介绍……) 三、软件设计本设计采用的是C 程序设计语言设计单片机程序的。

C 语言是一种结构化计算机程序设计语言。

它层次清晰,便于按模块化方式组织程序,易于调试和维护。

C 语言的表现能力和处理能力极强。

它具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。

它既有高级语言的特点,又具有汇编语言的特点。

它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编K1远光灯写不依赖计算机硬件的应用程序。

C程序设计语言设计程序可读性强,可移植性好,适合于编写对硬件依赖性不强的程序。

根据软件的设计思想,程序如下:(填写上设计的程序)四、程序调试本设计采用的MDK开发元件和STM32开发板进行调试。

MDK介绍……五、小结通过这次汽车灯光控制电路的设计,我收获甚多…………参考文献[1]芯达STM32入门系列教程之七《GPIO编程》[2](在网上参考什么文章,列出文章的名字)……严禁抄袭,严禁相互拷贝。

自己上网搜索相关材料,否则0分记。

plc汽车大灯课程设计

plc汽车大灯课程设计

plc汽车大灯课程设计一、课程目标知识目标:1. 学生能够理解PLC(可编程逻辑控制器)的基本原理和在汽车行业中的应用。

2. 学生能够描述汽车大灯控制系统的组成和工作原理。

3. 学生掌握PLC编程的基础知识,能够运用相关指令编写简单的汽车大灯控制程序。

技能目标:1. 学生能够运用所学知识,设计简单的汽车大灯控制电路。

2. 学生能够操作PLC设备,进行程序下载、调试和故障排查。

3. 学生能够通过小组合作,完成汽车大灯控制系统的综合应用设计。

情感态度价值观目标:1. 培养学生对PLC技术及汽车电子控制系统的兴趣,激发其探索精神。

2. 培养学生的团队协作意识和沟通能力,使其在合作中共同进步。

3. 增强学生的环保意识,了解汽车大灯控制系统在节能和安全性方面的作用。

课程性质:本课程为实践性较强的学科课程,结合理论知识与实践操作,培养学生的实际应用能力。

学生特点:学生在本年级已具备一定的电子基础知识,对PLC技术有一定了解,对汽车电子控制系统感兴趣,喜欢动手操作。

教学要求:教师需结合课程内容,设计丰富的教学活动,引导学生主动参与,注重培养学生的实践能力和创新能力。

同时,关注学生的个体差异,提供针对性的指导。

通过课程学习,使学生达到上述课程目标,为后续学习打下坚实基础。

二、教学内容1. PLC基础知识回顾:包括PLC的定义、结构、工作原理及在汽车行业中的应用。

教材章节:《PLC原理与应用》第1章2. 汽车大灯控制系统介绍:分析汽车大灯控制系统的组成、功能及工作原理。

教材章节:《汽车电子控制系统》第3章3. PLC编程基础:讲解PLC编程语言、指令系统及其在汽车大灯控制中的应用。

教材章节:《PLC编程与应用》第2章4. 汽车大灯控制电路设计:学习如何设计汽车大灯控制电路,并进行仿真测试。

教材章节:《汽车电子控制系统设计》第4章5. PLC实操训练:实操练习,包括程序下载、调试及故障排查。

教材章节:《PLC实践操作教程》第3章6. 综合应用设计:以小组形式,完成汽车大灯控制系统的综合应用设计,并进行作品展示。

汽车前照灯系统实训报告

汽车前照灯系统实训报告

一、实训目的本次实训旨在通过实际操作,了解和掌握汽车前照灯系统的结构、工作原理、故障诊断与维修方法,提高学生对汽车照明系统的认识与操作技能。

二、实训时间2023年10月15日至2023年10月20日三、实训地点XX汽车维修实训中心四、实训内容1. 前照灯系统结构认识- 通过实物观察和理论讲解,了解前照灯系统的组成,包括前照灯、灯泡、灯罩、反射镜、电路系统等。

2. 前照灯系统工作原理- 学习前照灯系统的电路原理,了解电流如何通过灯泡产生光线,以及如何通过电路控制灯泡的亮度和开关。

3. 前照灯系统故障诊断- 通过模拟故障和实际操作,学习如何诊断前照灯系统的常见故障,如灯泡损坏、电路短路、灯罩损坏等。

4. 前照灯系统维修与更换- 学习如何安全地拆卸和安装前照灯,如何更换灯泡,如何调整前照灯的照射角度。

5. LED自适应前照灯系统- 研究LED自适应前照灯系统的特点,了解其与传统前照灯系统的区别,以及如何实现自动调节照明强度和照射范围。

五、实训过程1. 理论学习- 通过查阅资料和教师讲解,掌握前照灯系统的基本理论知识。

2. 实操练习- 在实训中心,按照实训指导书的要求,进行前照灯系统的拆卸、安装、故障诊断和维修操作。

3. 模拟故障处理- 通过模拟故障,让学生在实际操作中锻炼故障诊断和维修能力。

4. LED自适应前照灯系统研究- 针对LED自适应前照灯系统,进行专项学习和研究,了解其技术特点和应用前景。

六、实训成果1. 学生能够熟练地识别和拆卸汽车前照灯系统各部件。

2. 学生能够正确地诊断前照灯系统的常见故障,并独立完成维修操作。

3. 学生对LED自适应前照灯系统有了深入的了解,能够分析其优缺点。

4. 学生提高了实际操作能力和故障处理能力。

七、实训总结本次实训使学生系统地学习了汽车前照灯系统的相关知识,提高了学生的实际操作技能和故障处理能力。

通过实训,学生不仅掌握了前照灯系统的基本原理和维修方法,还对新兴的LED自适应前照灯系统有了深入的认识。

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

汽车车灯控制系统课程设计报告信息科学与技术学院微机原理与接口技术课程设计报告题目名称:汽车车灯控制系统学生姓名:吴权权学号: 2009082190 专业年级:计科09-1班指导教师:裘祖旗时间: 2012-1-12目录1.题目及要求 (1)1.1 题目 (1)1.2 要求 (1)2.功能设计 (1)2.1 汽车图形 (1)2.2 汽车左转 (1)2.3 汽车右转 (1)2.4 汽车前进 (1)2.5 汽车倒退 (1)2.6 汽车停止 (1)2.7 响铃模块 (1)3.主流程图 (2)4.详细设计 (3)4.1 汽车图形显示 (3)3.2 汽车停止、转向、倒车的指示 (3)5.结果显示 (4)5.总结 (8)6、程序代码 (9)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.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 ''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_FREG dw 262,262,294,262,349,330dw262,262,294,262,392,349dw262,262,523,440,349,330,294dw466,466,440,262,392,349dw -1MUS_TIME dw 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 ;小车的初始列坐标movah,09h ;显示系统提示信息mov dx,seg messagemov ds,dxmov dx,offset messageint 21hCALL DRAW ;画小车CALL DIRECTION ;检查是否有控制键按下?MOV AX,4C00H ;退出程序INT 21H;DIRECTION PROC NEAR ;键盘检测子程序DRAW_U:MOV AH,0 ;接收键盘输入INT 16HCMP AL,57H ;向上?JNZ DRAW_D ;没有则转移CALL CLEAR ;清除小车DEC ROW ;行坐标减1 CALL DRAW ;画小车CMP ROW,1 ;小车在最上边吗?JNZ DRAW_D ;不是则转移CALL CLEAR ;是则清除小车MOV ROW,24 ;把小车置于最下边DRAW_D:CMP AL,53H ;向下?JNZ DRAW_L ;没有则转移CALL CLEAR ;清除小车INC ROW ;行坐标加1 CALL 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,24DRAW_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: ;画小车MOV MODE,1CALL CARRETCLEAR: ;清除小车MOV MODE,0CALL CARRETCAR PROC NEAR ;小车图形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,10LEA DI,CARS+2ONE: ADD DH,[DI+0] ;置光标列ADD DL,[DI+1] ;置光标行MOV AH,2INT 10HMOV AL,[DI+2] ;显示字符的ASCII码MOV BL,[DI+3] ;显示字符的属性CMP MODE,0 ;MODE=1时画小车,MODE=0时清除小车JNE SKIPMOV BL,0SKIP: PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXADD DI,4LOOP ONERETCAR ENDP;左拐的处理DRAW_LL: ;画小车MOV MODE,1CALL CAR_LRETCAR_L PROC 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,4LOOP ONE_LMOV DH,ROW ;左前灯亮MOV DL,COLUMNLEA DI,CARS+2ADD 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_L ENDP;右拐的处理DRAW_RR: ;画小车MOV MODE,1CALL CAR_RRETCAR_R PROC 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 CXADD DI,4LOOP ONE_R;右前灯亮MOV DH,ROWMOV DL,COLUMNLEA 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 CAR_DRETCAR_D PROC NEAR ;小车图形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,10LEA DI,CARS+2ONE_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,1INT 10HPOP CXADD DI,4LOOP ONE_DMOV 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;右后灯亮ADD DL,+3INT 10HMOV AL,4FH ;显示字符的ASCII码MOV BL,4 ;显示字符的属性PUSH CXMOV CX,1MOV AH,09HINT 10HPOP CXcall musicRETCAR_D ENDPDRAW_SS: ;画小车MOV MODE,1CALL CAR_STOPRETCAR_STOP PROC NEAR ;小车图形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,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码MOV BL,4 ;显示字符的属性MOV CX,1MOV AH,09HINT 10HPOP CX;左前灯亮ADD DL,-1MOV AH,02HINT 10HMOV AL,4FH ;显示字符的ASCII码MOV BL,4 ;显示字符的属性PUSH 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;右后灯亮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_TIME freq:mov di,[si]cmp di,-1je ENDMUSmov bx,ds:[bp]call soundfadd si,2add bp,2jmp freqENDMUS:RETmusic endp;************************************** *************soundf proc nearpush axpush bxpush cxpush dxpush dimov al,0b6hout 43h,almov dx,12hmov ax,348chdiv diout 42h,almov al,ahout 42h,alin al,61hmov ah,alor al,3out 61h,al wait1:mov cx,663call waitf delay:loop delaydec bxjnz wait1mov al,ahout 61h,alpop dipop dxpop cxpop bxpop axretsoundf endpq0 proc nearmov ah,2sub bh,bhmov dh,0mov dl,0int 10hretq0 endpwaitf proc nearpush axwaitf1: in al,61hand al, 10hcmp al, ahje waitf1mov ah,alloop waitf1pop axretwaitf endp;************************************** *************END START。

相关文档
最新文档