汽车车灯控制系统DOC

合集下载

汽车车灯调光系统简述

汽车车灯调光系统简述

汽车车灯调光系统简述随着汽车工业的发展,车辆的操控和安全性能越来越得到重视。

汽车的灯光系统也是非常重要的一个方面,特别是在夜间行驶和复杂的路况下,车灯才能发挥最大的作用。

然而,过亮或过暗的车灯都会造成驾驶者疲劳、误差等问题。

因此,汽车厂商普遍采用车灯调光系统来解决这个问题。

车灯调光系统就是通过调节车灯发出的光线亮度和分布,以达到更好的照明效果,同时避免对其他车辆和行人造成干扰和危险。

主要有远光灯、近光灯、转向灯等组成,下面我们来简单介绍一下这几种灯光的调光原理。

1. 远光灯调光系统:远光灯要求亮度和照射距离都比较大,在高速公路、较为空旷的道路上使用,但如果将远光灯长时间开启,会给其他车辆和行人造成很大的困扰。

因此,车灯调光系统可以根据天气、路况、车速等实时调整远光灯照明范围和高度,避免过度照明。

2. 近光灯调光系统:近光灯可以避免照射其他车辆和行人,但是如果近光灯的亮度调节不当,则会使驾驶员疲劳、视野不清等问题。

因此,车灯调光系统可以根据转向、速度等实时调节近光灯照明范围和高度,避免突然照亮过亮的区域。

3. 转向灯调光系统:转向灯是一种用于指示车辆转向方向的灯,开启时会造成车辆前方的照明范围减小,甚至消失。

为此,车灯调光系统可以将侧前方的灯光调暗,同时向侧面照射更强的光束,达到同时照明和转向的效果。

对于车灯调光系统来说,最重要的原理就是根据车辆的实际情况,使车灯光线的亮度和分布在不同路况下能够达到最佳的状态。

通常,传感器、摄像头等技术都会被用于车灯调光系统中,通过实时获取前方的路况信息,然后将这些信息加入到灯光系统中去进行调节和配合。

总之,随着汽车科技的不断发展和计算机技术的不断提高,车灯调光系统也会不断改进和完善,以确保驾驶员和行人的安全。

除了以上介绍的三种灯光调光系统,现代汽车还采用了自适应前照灯系统,简称AFS系统,也叫防眩目灯系统。

这种系统会根据车速、光照条件和方向盘转向等信息,实时地调整前照灯的光线,来提高夜间行车的安全性。

汽车车灯智能控制系统的设计

汽车车灯智能控制系统的设计

一、汽车电子概述汽车是现代化高速发展社会中人们普遍使用的交通工具,也是技术密集和资本密集的工业产品。

世界上近乎所有的经济强国都是以汽车产业作为国民经济支柱产业的。

几乎所有的现代化科学技术都能在汽车技术中体现出来,当今世界上汽车技术是衡量一个国家的科技水平的主要标志。

从汽车技术的发展现状看,汽车电子技术是现代汽车发展的主要技术之一。

现代的汽车电子技术不再是简单地对汽车中某些机械零部件进行电子控制,而是根据汽车实际使用条件多变的需要,对汽车整体性能进行优化综合控制。

另外,汽车中各种功能的不断完善,使汽车电子控制单元越来越多,控制装置的数量和复杂性也不断增加,庞大的线束不但会占去大量的车内空间、增加系统成本,同时也降低了系统的可靠性和可维护性。

传统的控制方案和布线方法已不能适应汽车技术发展的需要,繁琐的现场连线正在被单一简洁的现场总线网络所代替。

因此,汽车电子技术已经从单部件电子化转向为集成电子化、模块化,整车智能化、模块化的总线式控制器网络技术是汽车电子技术发展的新方向。

随着现场总线技术的不断发展和其内容的不断丰富,以及各种控制、应用功能与功能块、控制网络的网络管理、系统管理等内容的不断扩充,现场总线已经超出了原有的定位范围,不再只是通信标准和通信技术,而成为网络系统和控制系统。

CA N总线作为现场总线的重要成员,其本身就是作为一种汽车车内串行数据通信总线而提出的,现今CAN总线己经广泛的应用在国外汽车上。

汽车电子共分为发动机电子、底盘电子、车身电子、信息通信与娱乐系统四大类。

二、汽车网络与控制器的现状汽车网络和控制器是汽车的神经和大脑,它需要频繁的接收和发送数据,对汽车进行实时检测和控制。

控制器通过对执行机构控制系统发出控制指令,控制汽车运行状态。

传统的汽车电气系统大多采用点对点的单一通信方式,相互之间很少有联系,这样必然造成整车信号和控制系统的庞大,造成汽车电路系统的复杂及生产成本的增加。

一般的汽车控制器,采用查询方式发送信息,采用中断方式接收信息,管理和共享车辆的运行数据,执行驾驶员发出的各种命令。

汽车车灯控制电路设计

汽车车灯控制电路设计

汽车车灯控制电路设计车灯控制电路设计是汽车电子控制系统中的一个重要部分,它负责控制车辆的前大灯、后尾灯、刹车灯、转向灯等车灯的亮灭状态。

在这篇文章中,我将从基本原理、电路设计、保护等方面介绍汽车车灯控制电路的设计。

一、基本原理1.根据车辆的外部环境条件来自动控制车灯的开关,比如根据光线强弱来自动开启或关闭大灯。

2.根据车辆的操作来控制车灯的开关,比如根据转向灯开关的状态来控制转向灯的亮灭。

3.根据车辆的故障状态来控制车灯的开关,比如在车辆刹车时自动点亮刹车灯。

根据不同的工作原理,车灯控制电路可以分为直流控制电路和脉冲控制电路两种。

二、电路设计1.直流控制电路设计:直流控制电路可以根据车辆操作或环境条件的信号直接将电源电压转换为车灯开关信号,从而控制车灯的亮灭。

其电路设计主要包括信号采集、信号处理和信号输出三个部分。

信号采集部分主要通过传感器、开关等采集车辆操作或环境条件的信号,比如光敏电阻、开关等。

信号处理部分主要通过电路元件如运算放大器、比较器等对采集的信号进行放大、滤波、逻辑判断等处理。

信号输出部分主要通过继电器、晶体三极管等将处理后的信号转换为适合车灯的控制信号,并驱动车灯的开关。

2.脉冲控制电路设计:脉冲控制电路主要通过脉冲信号来控制车灯的亮灭。

其电路设计主要包括信号采集、信号处理、信号输出和信号保护四个部分。

信号采集和信号处理部分与直流控制电路相似。

信号输出部分主要通过脉冲宽度调制(PWM)技术生成合适的脉冲信号,并通过晶体三极管等驱动车灯的开关。

信号保护部分主要通过电压稳压、过流保护等措施来保护电路和车灯,确保其正常工作。

三、保护措施为了保护车灯控制电路和车灯,我们需要采取一些保护措施:1.过流保护:在电路中设置保险丝等过流保护装置,当电路中的电流超过额定值时,保险丝会熔断,断开电路,起到保护设备的作用。

2.电压稳压:在电路中加入稳压电路,通过调节电路中的电阻和电容等元件,使电路中的电压稳定在一定的范围内,从而防止过高或过低的电压对电路和车灯的损坏。

车灯控制架构

车灯控制架构

车灯控制架构随着汽车科技的不断发展,车辆的安全性和便利性也得到了极大的提升。

车灯作为汽车中非常重要的组成部分之一,其控制架构也不断地进行创新和改进。

本文将介绍当前主流的车灯控制架构,并探讨未来在这一领域的发展趋势。

一、传统车灯控制架构传统的车灯控制架构以车辆的电气系统为基础,通过开关控制车灯的亮灭。

这种架构通常具有简单、成本低的特点,但功能较为有限。

传统车灯控制架构主要包括以下几个组件:1. 电气系统:传统车灯控制架构采用车辆的电气系统作为基础,通过电能传输来控制车灯的亮灭。

2. 开关:车辆中设有车灯开关,通过手动操作来控制车灯的开启和关闭。

3. 车灯:传统的车灯使用普通的灯泡作为光源,通过电气系统提供电能使灯泡发出光芒。

传统的车灯控制架构存在一些不足之处,比如功能有限、能效低下等。

而随着科技的进步,新的车灯控制架构被提出并得到广泛应用。

二、现代车灯控制架构现代车灯控制架构通过引入先进的技术和创新的设计,提供了更多的功能和便利性。

以下是一些主要的现代车灯控制架构:1. 智能车灯控制:基于智能化技术的车灯控制架构,可以根据车辆的行驶状态和环境情况来自动调节车灯的亮度和光照范围。

例如,智能大灯系统可以根据车速和转向角度调整灯光的方向和强度,提供更好的照明效果和安全性。

2. LED矩阵车灯:LED矩阵车灯是一种基于LED技术的创新车灯解决方案。

它将车灯分割成多个小灯珠,并配备独立的控制系统,可以实现灯光的分区和动态调节。

这种架构可以根据需要实现更精准的照明效果,比传统车灯更节能且寿命更长。

3. 自适应远光灯控制:自适应远光灯控制架构可以实现根据前方车辆和路灯的情况智能切换远光灯和近光灯。

通过使用摄像头和传感器来感知前方环境,系统可以自动调整灯光的亮度和范围,提高夜间驾驶的安全性和舒适性。

三、未来发展趋势车灯控制架构在未来还将有更多的创新和发展。

以下是一些可能的未来发展趋势:1. 激光照明技术:激光照明技术被认为是未来车灯照明的一个重要方向。

理想汽车的智能车灯系统设计

理想汽车的智能车灯系统设计

理想汽车的智能车灯系统设计随着科技的不断发展,汽车行业也在不断创新。

作为汽车的重要组成部分,车灯在提供安全驾驶的同时,也需要适应时代的变化和人们对汽车的需求。

在这样的背景下,理想汽车的智能车灯系统应运而生。

一、智能车灯系统的概述智能车灯系统是指通过车辆内部传感器和外部信息的感知,实现智能化的车辆照明调控系统。

它不仅满足了传统车灯的基本功能,如照明和指示,还具备了自动调节、环境感知、交通行为识别等先进特性。

二、智能车灯系统的技术原理1. 传感器技术智能车灯系统利用车辆内部安装的传感器来感知外部环境。

例如,通过光线传感器感知外部环境的亮度,从而自动调节车灯的亮度;同时,通过温度传感器感知外部的温度变化,以此来自动调节车灯的发热量和亮度。

2. 环境感知技术智能车灯系统通过环境感知技术,可以准确识别道路状况、天气变化和周围车辆等信息。

例如,在弯道行驶时,系统可以自动调节车灯的照射范围,确保驾驶者能够清晰地看到前方的道路情况;在雨天或雾天行驶时,根据感知到的降雨量或能见度,自动调节车灯的亮度和灯光效果,提高行车安全性。

3. 交通行为识别技术智能车灯系统可以通过感知其他车辆和行人的存在,准确识别交通行为。

例如,在夜间行驶时,系统可以识别到前方车辆的尾灯,并进行跟车行驶时对前方车辆的灯光遮挡或干扰进行自动调整,避免因光线干扰而影响驾驶者的视线。

三、智能车灯系统的功能特点1. 自动调节亮度和照射范围智能车灯系统可以根据环境光线和道路条件自动调节车灯的亮度和照射范围,确保驾驶者和行人的安全。

2. 交通行为识别与提示智能车灯系统能够识别前方车辆和行人的存在,并通过灯光提示交通行为,提醒驾驶者注意前方情况,有效地减少事故风险。

3. 节能环保智能车灯系统通过自动调节亮度和发光面积,能够降低能耗,增加电池寿命,实现节能环保的效果。

4. 个性化设计智能车灯系统支持个性化的设置,驾驶者可以根据自己的喜好和需求进行灯光效果的调节,增加驾驶的乐趣和舒适度。

基于单片机的汽车车灯控制器的设计

基于单片机的汽车车灯控制器的设计

基于单片机的汽车车灯控制器的设计近年来,车灯控制器逐渐成为汽车电子控制系统中不可或缺的组成部分。

由于单片机的性能优良、易于编程,因此基于单片机的汽车车灯控制器在汽车行业中得到了广泛的应用。

为了更好地了解基于单片机的汽车车灯控制器的设计,本文将对其进行详细讲解。

首先,需要明确的是,车灯控制器的设计基本上是由两个部分组成的,即硬件设计和软件设计。

在硬件设计方面,需要使用单片机负责控制汽车的灯光,因此需要考虑单片机的硬件连接和外设的接口。

在软件设计方面,主要包括编程和算法设计两个方面。

针对硬件设计,单片机应选择性能优良、价格合适的芯片,这样可以在有限的资源下取得最优秀的性价比。

同时,需要考虑到单片机外设的连接接口,比如模拟输入输出口、数字输入输出口、计时计数器、串行通讯接口等,以便更好地控制汽车的灯光。

接着,就是软件设计的部分。

在软件设计中,需要使用微处理器的编程语言以及对算法的掌握。

对于单片机的编程语言,一般使用的是C语言。

同时,还需要编写针对不同车灯状态的控制算法,以便更好地控制汽车的交通安全。

最终的目的是要实现对车灯状态的时时刻刻监控和控制。

所以,基于单片机的汽车车灯控制器的设计需要耐心和技术,而设计的过程中还需要注意以下几点:1. 应根据实际需要选择合适的计算器。

2. 对于电路的接线方法和分析要仔细,避免出现故障。

3. 需要将编程的代码经过正确的测试和验证,确保网站的正常运作。

总之,设计基于单片机的汽车车灯控制器是一项非常重要的任务。

通过合理、准确的硬件连接和精确的软件设计,可以实现对车灯状态的精确控制,保证交通安全。

相信在不久的将来,基于单片机的汽车车灯控制器将在汽车行业中发挥更加重要的作用。

汽车车灯控制电路设计

汽车车灯控制电路设计

成绩课程设计说明书课程设计名称:电子技术课程设计题目:汽车车灯控制电路设计学院:电气与电子信息学院***名:***专业:电气工程及其自动化卓越工程师学号:****************师:**日期:2015年 7 月 10 日汽车车灯控制电路设计摘要:本设计是在TTL系列的逻辑门时序逻辑芯片基础上设计的模拟汽车车灯工作情况的电路。

主要阐述了通过NE555来设计脉冲产生器,三进制的计数器和译码器的改用等一系列方法,以及显示驱动和模式控制的电路设计。

显示电路的核心部分主要是将数字信号转换为光信号显示出来,控制电路的核心部分就在于对行驶状态信号的数字化改变。

设计通过发光二极管模拟汽车车灯来实现汽车在行驶时候的四种情况:正常行驶,左拐弯,右拐弯,紧急刹车。

关键词:脉冲发生电路,译码显示电路,模拟控制电路Abstract:This design is based on the TTL series of logic gate time series logic chip based on the design of the simulation of the car lamp working condition of the circuit. This essay mainly describes the design of a series of methods, such as the design of the pulse generator, the three counter and the decoder of the NE555, and the circuit design of the driver and mode control. Display circuit is the core part of the digital signal is converted to optical signal display, the core part of the control circuit is the driving status of the signal to change the signal. Design of the light emitting diode to simulate the car headlights to achieve four kinds of situations: normal driving, left corner, right corner, emergency brake.Keywords:pulse generator circuit, decoding circuit, analog control circuit目录1前言 (1)2总体方案设计 (2)2.1方案比较 (2)2.2 方案一 (2)2.3 方案二 (3)2.4方案论证 (3)2.5方案选择 (3)3单元模块设计 (4)3.1各单元模块功能介绍及电路设计 (4)3.2 脉冲模块设计 (4)3.3 三进制模块设计 (5)3.4 开关控制模块设计 (6)3.5 驱动译码模块设计 (7)3.6 显示模块设计 (8)4 系统调试 (10)4.1调试环境 (10)4.2 L、R都闭合,B断开时的调试 (12)4.3 L、B都断开、R闭合时的调试 (12)4.4 R、B都断开,L闭合时的调试 (13)4.5 L、R、B都闭合时的调试 (14)5 系统功能 (15)6结论 (16)7总结与体会 (17)8谢辞 (18)9参考文献 (19)附录 (21)1前言随着科技时代的进一步发展,人们的生活也在飞速变化,现在城市里有经济能力购买汽车的人越来越多,对汽车的需求量也越来越多。

智能汽车的智能车载智能车灯

智能汽车的智能车载智能车灯

智能汽车的智能车载智能车灯智能汽车是现代科技的杰出成果之一,其具备了许多先进的技术和功能,其中之一就是智能车载智能车灯。

智能车载智能车灯不仅可以提供照明功能,还能感知周围环境,根据需要自动调整亮度和方向。

本文将探讨智能车载智能车灯的工作原理、功能特点以及其对行车安全的重要影响。

一、智能车载智能车灯的工作原理智能车载智能车灯通过传感器和智能控制系统实现智能调节。

传感器可感知周围环境,包括光线强度、雨雪天气、道路状况等。

智能控制系统利用传感器的数据进行分析和处理,根据不同情况下的需求,自动调节车灯的亮度和方向。

二、智能车载智能车灯的功能特点1. 自动调节亮度:智能车载智能车灯可以根据光线强度自动调节亮度,确保车辆在夜间行驶时具备足够的照明效果。

在光线较暗的情况下,车灯亮度会增加,提供更好的视野,保障驾驶者的安全。

2. 雨雪天气模式:当传感器检测到雨滴或雪花时,智能车载智能车灯会自动调节亮度和灯光分布,以防止被雨雪遮挡而影响视野。

这种功能可以有效增加驾驶者在恶劣天气下的可见度,减少交通事故的发生。

3. 弯道照明:智能车载智能车灯可以根据车辆行驶轨迹自动调整灯光的方向,确保在弯道行驶时能够提供适当的照明。

它可以根据车辆转向角度和车速,实时调节车灯的照射方向,使驾驶者更清晰地看到前方弯道,提高行车安全性。

4. 交通信号识别:智能车载智能车灯还具备交通信号识别功能。

通过摄像头和图像处理技术,它可以识别交通信号灯,有针对性地调节车灯的亮度和颜色,以便驾驶者更准确地感知交通信号,降低因看错或忽略交通信号而引发的事故风险。

三、智能车载智能车灯对行车安全的影响智能车载智能车灯的功能特点使其对行车安全起着至关重要的作用。

首先,自动调节亮度和方向的功能可以提供最佳的照明效果,大大改善驾驶者的视野,减少夜间和恶劣天气下的盲区。

其次,在弯道行驶时,智能车载智能车灯的弯道照明功能可以让驾驶者提前准确看清前方弯道,降低因转向不及时而导致的事故风险。

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

信息科学与技术学院微机原理与接口技术课程设计报告题目名称:汽车车灯控制系统目录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.总结 (7)6、程序代码 (8)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,330dw 262,262,294,262,392,349dw 262,262,523,440,349,330,294dw 466,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 ;小车的初始列坐标mov ah,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 ;行坐标减1CALL DRAW ;画小车CMP ROW,1 ;小车在最上边吗?JNZ DRAW_D ;不是则转移CALL CLEAR ;是则清除小车MOV ROW,24 ;把小车置于最下边DRAW_D:CMP AL,53H ;向下?JNZ DRAW_L ;没有则转移CALL CLEAR ;清除小车INC 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,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 P ROC 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: P USH CXMOV CX,1MOV AH,09HINT 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,+3MOV AH,02HINT 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,alwait1:mov cx,663call waitfdelay: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。

相关文档
最新文档