基于单片机的自动往返小车
- 格式:docx
- 大小:130.91 KB
- 文档页数:11
基于单片机的自动往返小车毕业设计基于单片机的自动往返小车摘要:本设计以一片单片机STC89C52作为核心来控制自动往返小车,其中控制芯片L298N和单片机联合控制小车的前进与后退。
路面的黑带检测使用反射式红外传感器,并通过STC89C52对输入的信号进行处理;行驶距离使用霍尔元件进行检测。
最后以动态显示的形式通过一个LCD液晶显示即时黑带个数,运行时间,实时路程等。
关键词:微控制器 L298N电机控制霍尔检测液晶显示The Automatic round-trip car based on SCMAbstract:This design use a microcontroller STC89C52 as the core to control the automatic round-trip car, the control chip L298N and single chip microcomputer to control the car forward and backward together. The reflective infrared sensor detection the black belt on the road surface, then deal with input signal processing through the STC89C52. Using the hall element to test the distance. At last displaying instant black belt, running time, real-time distance, etc through a number of LCD liquid crystal in the form of dynamic displayKeywords:MCU L298N Motor control Hall detection LED display目录摘要 (I)关键字 (I)Abstract (I)Keywords (I)0绪论 (2)1.1 设计任务 (3)1.2方案介绍 (4)2.1 系统元器件的选择与介绍 (5)2.1.1 STC89C52R芯片 (5)2.1.2 L298N芯片 (11)2.1.3霍耳传感器(HD3020) (14)2.1.4液晶LCD (15)2.2电路模块的设计 (18)2.2.1检测系统 (18)2.2.2距离计算系统 (19)2.2.3显示系统 (20)2.2.4电机驱动以及正反转控制模块 (20)3.1主程序 (21)3.2中断程序 (22)3.2.1外部中断0 (22)3.2.2外部中断1 (23)3.2.3定时器中断0 (24)3.2.4定时器中断1 (24)4总结 (21)致谢 (21)参考文献 (21)附录 (21)0绪论当今社会,随着科技发展的日新月异,特别是计算机技术突飞猛进的发展,计算机技术带来了科研和生产的许多重大飞跃,同时计算机也越来越广泛的被应用到人们的生活、工作领域的各个方面。
开题报告电气工程及其自动化基于单片机的自动往返小汽车的设计一、综述本课题国内外研究动态,说明选题的依据和意义随着汽车工业的迅速发展,其与电子信息产业的融合速度也显著提高,汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。
关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大。
本设计就是在这样的背景下提出的,为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。
设计的智能电动小车应该能够具有自动寻迹、小灯显示等功能。
由于单片机教学例子有限,因此,单片机智能车能综合学生课堂上的知识来实践,使学习者更好的了解单片机的发展。
通过此次的单片机寻轨车制作,使学生从理论到实践,初步体会单片机项目的设计、制作、调试和成功完成项目的过程及困难,以此学会用理论联系实际。
通过对实践中出现的不足与学习来补充教学上的盲点。
智能汽车是一种高新技术密集的新型汽车,是在网络环境下利用信息技术、智能控制技术、自动控制、模式识别、传感器技术、汽车电子、电气、计算机和机械等多个学科的最新科技成果,使汽车具有自动识别行驶道路、自动驾驶等先进功能.随着控制技术、计算机技术和信息技术的发展,智能车在工业生产和日常生活中已经扮演了非常重要的角色.近年来,智能车在野外、道路、现代物流及柔性制造系统中都有广泛运用,已成为人工智能领域研究和发展的热点。
二、研究的基本内容。
智能寻迹小车采用后轮驱动,左右后轮各用一个直流减速电机驱动,通过调制后面两个轮子的转速从而达到控制转向的目的在车体前部分别装有左中右三或者两个红外反射式传感器,当小车左边的传感器检测到黑线时,说明小车车头向右边偏移,这时主控芯片控制左轮电机减速,车体向左边修正同理当小车的右边传感器检测到黑线时,主控芯片控制右轮电机减速,车体向右边修正当黑线在车体的中间,中间的传感器一直检测到黑线,这样小车就会沿着黑线一直行走。
自动往返电动小汽车的设计学生:指导老师:摘要: 本文采用了基于单片机的小车控制系统的硬件设计和软件设计。
自动控制系统是电子系统和机械系统必不可少的纽带,它的存在具有着非常重要的作用。
本文研究的重点是小车运行控制系统,而该系统硬件部分的重心在于单片机,黑线检测采用了光敏传感器和电压比较器来实现。
单片机采用STC89C51来实现,硬件部分是以单片机为核心,还包括电机驱动器模块,数码显示模块等部分。
该小车通过检测地面黑线来实现对应的流程控制,按照预先设定好的程序,实现全速前进,减速前进,倒退等功能。
并用数码显示器来显示当前运行到的位置的结果。
关键词:89C51单片机;光敏电阻;自动小车The Designing of Automatically Back and Forth Electric CarUndergraduate:Supervisor:Abstract: In this paper, the hardware design and software design of control system based on MCU. Automatic control system is the necessary connection of electronic system and mechanical system, it has an very important role. This paper is focused on the trolley control system, the hardware of the system focuses on MCU, line detection using a photosensitive sensor and a voltage comparator to achiev e.Single chip microcomputer u sing STC89C51 to achieve, the hardware part is a single-chip microcomputer as the core, also includes a motor driver module, digital display module etc. The car through the detection of ground line to achieve process control corresponding, according to the preset program, to achieve full speed ahead, slow forward, rewind. With digital display to display the current operation to the location of the results.Key words: 89C51 MCU; photosensitive resistance; automatic car目录第一章绪论 (1)1.1 研究背景及其目的意义 (1)1.2 该课题研究的设计思路 (1)第二章本课题方案论证 (2)2.1 主控制器部分 (2)2.2 小车运行状态显示部分 (2)2.3 小车驱动方案选择 (3)2.4 电机驱动方案选择 (3)2.5 电机调速方案选择 (3)2.6 电源模块的选择 (4)2.7 检测黑线设计方案比较与选择 (4)2.8 本章总结 (4)第三章硬件设计 (6)3.1电源部分 (6)3.2数据显示部分 (7)3.2.1 七段数码管(LED)显示电路选择 (7)3.2.2 七段数码管(LED)静态显示方式 (7)3.2.3 LED动态显示方式 (7)3.3黑线检测部分 (8)3.4 电机调速部分芯片简介 (9)第四章软件设计 (10)4.1 简介KeilUvision2 (10)4.2 程序设计 (14)第五章 PROTUES仿真设计 (16)结论 (19)致谢 (21)附录1 系统硬件图 (22)附录2 程序源代码 (23)第一章绪论1.1 研究背景及其目的意义随着历史的发展,那些采集系统原本由小规模的数字逻辑电路及硬件程序控制器组成,而现在微处理器控制的采集系统取代了原本的这些采集系统。
89c52的单片机自动往返电动小汽车设计报告范文-图文1.设计任务:设计并制作了一个自动往返小汽车,其行驶路线满足所需的要求。
1.1要求:1.1.1基本要求:(1)分区控制:如(图1)所示:(图1)车辆从起跑线出发(出发前,车体不得超出起跑线)。
在第一个路程C~D区(3~6米)以低速行驶,通过时间不低于10;第二个路程D~E区(2米)以高速行驶,通过时间不得多于4秒;第三个路程E~F区(3~6米)以低速行驶,通过时间不低于8。
1.1.2.发挥部分(1)自动记录、显示一次往返时间(记录显示装置要求安装在车上)。
(2)自动记录、显示行驶距离(记录显示装置要求安装在车上)。
(3)其它特色与创新。
2.方案设计:根据设计任务要求,并且根据我们自己的需要而附加的功能,该电路的总体框图可分为几个基本的模块,框图如(图2)所示:555定时器控速模块路面检测测速模块AT89S51LCD显示模块(图2)2.1路面检测模块:路面黑线检测模块采用反射式红外发射--接收器,在车底的前部和中部安装了两个反射式红外传感器.2.2LCD显示模块:采用1602LCD,由单片机的总线模式连接。
为节约电源电量并且不影响LCD的功能,LCD的背光用单片机进行控制,使LCD的背光在小车行驶的过程中不亮,因为我们不必看其显示;在其它我们需要看显示的内容的时候LCD背光亮。
2.3测速模块:采用采用霍尔开关元器件A44E检测轮子上的小磁铁从而给单片机中断脉冲,达到测量速度的作用。
霍尔元件具有体积小,频率响应宽度大,动态特性好,对外围电路要求2简单,使用寿命长,价格低廉等特点,电源要求不高,安装也较为方便。
霍尔开关只对一定强度的磁场起作用,抗干扰能力强,因此可以在车轮上安装小磁铁,而将霍尔器件安装在固定轴上,通过对脉冲的计数进行车速测量。
其原理图接线如(图3)所示:(图3)2.4控速模块:采用由双极性管组成的H桥电路。
用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。
目录摘要 (2)第一章MCS-8031单片机及其外围电路 (3)一.MCS-8031引脚及功能简介 (3)二.时钟电路 (5)三.复位及复位电路 (6)四.8031片外ROM连接 (7)第二章数码管显示里程方案设计 (8)一.检测电路方案选择 (8)二.数码管显示电路 (9)第三章直流调速方案讨论 (11)一.确定调速方案 (11)二.直流调速的实现 (12)第四章程序 (15)程序1小车电机调速程序 (15)程序2里程显示程序 (19)结论 (23)致谢 (24)参考文献 (25)摘要本设计要完成自动往返行驶汽车,要求使用MCS-8031单片机,并且用七段数码管显示里程。
要求采用调压调速的方法,改变电机的速度和转向。
一并完成自动往返功能。
为了方便调速,本设计拟采用小型直流电动机,为了同时满足对电机转速大小和方向的调节,要选择合适的调节方式,本设计拟采用PWM脉宽调制的方法实现。
对于里程显示,要将小车的车轮转数转换成距离,再将其输入单片机,并由单片机处理输出,并用数码管显示出来。
最后根据所选用的硬件及芯片,设计电路并编程实现要求内容。
关键字:MCS-8031 霍尔传感器数码显示PWM脉宽调速第一章MCS-8031单片机及其外围电路一.MCS-8031引脚及功能简介8031是最常见的mcs51系列单片机,是inter公司早期的成熟的单片机产品,应用范围涉及到各行各业,下面介绍一下它的引脚图等资料。
(图1.1为8031引脚图)图1.11)8031引脚功能:Vcc:+5V电源电压。
Vss:电路接地端。
2)P0.0~P0.7:通道0,它是8位漏极开路的双向I/O通道,当扩展外部存贮器时,这也是低八位地址和数据总线,在编程校验期间,它输入和输出字节代码,通道0吸收/发出二个TTL负载。
3)P1.0~P1.7:通道1是8位拟双向I/O通道,在编程和校验时,它发出低8位地址,吸收/发出一个TTL负载。
4)P2.0~P2.7:通道2是8位拟双向I/O通道,当访问外部存贮器时,用作高8位地址总线。
目录第1章绪论1.1设计的主要内容及目标1.2选题目的及意义第2章总体方案设计与论证 (2)2.1 全面方案 (2)2.2 设计要点、实验难点 (2)2.3设计方案第3章算法的理论分析 (4)3.1 算法比较 (4)3.1.1 常规模糊控制法 (4)3.1.2 公式法 (4)3.2 方案实现 (5)第4章设计电路的分析 (7)4.1 单片机设置 (7)4.2 电光理论设置 (7)4.2.1 基本原理 (7)4.3 具体电路 (8)4.3.1 采样方式 (8)4.3.2 电机控制方法 (9)4.3.3电机驱动模块 (10)4.3.4黑线探测模块 (10)4.4 电路图 (10)4.5 显示屏 (11)4.6 语音芯片 (11)4.6.1 供电方案 (12)4.6.2 供电方式 (12)4.7 红外遥控及解码模块 (12)4.7.1 二进制信号的调制 (13)4.7.2 二进制的调解 (13)4.7.3 二进制信号的调码 (13)4.8 道路设置模块 (14)4.8.1轨道模块 (14)4.8.2防撞模块 (14)第5章软件系统设计 (14)5.1 软件系统的任务及总体流程 (15)5.2 扩展软件功能实现 (16)5.3 遥控解码 (16)5.4 驱动软件 (17)5.5 小车轨道设计 (17)5.6 防撞击与警报装置 (18)5.7 行车距离 (18)5.8 抗干扰设置 (19)第六章测试方法与数据 (19)6.1 系统仿真调试 (19)6.2 对于电机的调试 (19)第七章总结 (21)致谢 (22)参考文献 (23)基于单片机的自动往返小车摘要:改革开放以来,单片机的技术不断进步,他原来所具有的各种各样有效的端口和他原本具有的自带的技术功能,被整合到了一张芯片上。
所以单片机在所有的机器上具有重要的地位。
最常见的单片机AT89s51具有低功率的特效并且保持在一个较高水平上面适用于各种单片机,具有非常优秀的普适性。
文献综述电气工程及其自动化基于单片机的自动往返小汽车的设计一、前言智能车辆是一个运用计算机、传感、信息、通信、导航、人工智能及自动控制等技术来实现环境感知、规划决策和自动行驶为一体的高新技术综合体。
它在军事、民用和科学研究等方面已获得了应用,对解决道路交通安全提供了一种新的途径。
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,许多国家已经把电子设计比赛作为创新教育的战略性手段。
电子设计涉及到多个学科,机械电子、传感器技术、自动控制技术、人工智能控制、计算机与通信技术等等,是众多领域的高科技。
电子设计技术,它是一个国家高科技实例的一个重要标准,可见其研究意义很大。
本次设计虽然只是一个模型,但是具有充分的科学性和实用性。
首先我们按照适当的比例制作出一个路况模型。
在行驶路段中,脉冲调制的红外线传感器将检测到的信号发送给单片机,单片机根据程序发出相应的控制信号控制小车进行动作。
二、主题部分科技的进步带动了产品的智能化,单片机的应用更是加快了发展的步伐,它的应用范围日益广泛,已经远远的超出了计算机科学领域。
小到玩具、信用卡,大到航天飞机、机器人,从实现数据采集、远程控制、模糊控制等智能系统带人类的日常生活,到处离不开单片机,此设计正是单片机的一个典型的应用。
此设计通过实现了小车的无人驾驶,通过对路面的检测,由单片机来判断控制其小车的反应情况,使其变得智能化,实现自动的前进,转弯,停止功能,此系统还不断的完善后可以应用到道路检测,安全巡逻中,能满足社会的需求。
智能小车是智能车辆研究的一个分支。
它以车轮作为移动机构、能够实现自主行驶,所以我们称之为智能小车。
智能小车具有机器人的基本特征——易于编程。
它与遥控小车的不同之处在于,后者需要操作员来控制其转向、启停和进退,比较先进的遥控车还能控制其速度(常见的模型小车都属于这类遥控车);而智能小车则可以通过计算机编程来实现其对小车启停、行驶方向以及速度的控制,无需人工干预。
基于单片机的自动往返小车Document number【980KGB-6898YT-769T8CB-246UT-18GG08】基于单片机的自动往返小车摘要本设计以一片单片机STC89C52作为核心来控制自动往返小车,加以控制芯片L298N 和单片机联合控制小车的前进与后退。
路面的黑带检测使用反射式红外传感器,通过STC89C52对输入的信号进行处理,以动态显示的形式通过一个四位的数码管显示即时里程,另外一个四位数码管动态显示小车行驶时间。
以红外传感器对路面黑线检测用,行驶距离使用霍尔元件进行检测。
关键词:光电检测霍尔检测动态显示L298N控制电动机小组成员:李亚昊、陈国翠、成晓斌、丁玉娇1.电机驱动调速模块采用L298N来控制电机的正转和反转来实现小车的前进和后退。
加上单片机的程序PWM,实现整车的加速与减速,精确小车的速度。
2.路面黑带检测模块黑带检测的原理是:红外光线照射到路面并反射,由于黑带和白纸的系数不同,可根据接的红外线的强弱判断是否到达黑带。
反射式的红外发射—接收器。
由于采用红外管代替普通可见光管,可以降低环境干扰。
3.电源选择双电源供电,将电动机驱动电源与单片机以及周边电路电源完全隔离,这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统的稳定性。
4.控制单元模块用单片机控制用光电检测不同的信号,并经单片机对其处理,传送给L298信号,使其控制电机的正转和反转,配合PWM程序控制,来实现加速减速和刹车。
通过单片机内部定数器/计数器进行定时、计数,在用单片机串行输入/输出口进行显示控制。
此方案电路成熟、工作稳定、容易实2. STC89C52单片机基本系统此系统以89C52为核心,每检测到一个黑带由光电检测部分产生一个的脉冲,使单片机产生一个外部中断1,定义检测黑带数的变量加1,同时车轮每转一圈,霍尔元件输出一个脉冲,是安单片机产生一个外部中断0,定义圈数的变量加1.通过和控制L298来控制电机的正转与反转及刹车。
当输出低电平,输出高电平时,电机正转,相反则电机反转,当和都是低电平时,使电动机被短路,提高了刹车效率,基本杜绝了由于制动惯性造成的小车的前冲现象。
通过P0口进行两个数码管的位选,P2口进行段码输出,其中一个数码管显示行驶时间,另外一个数码管显示行驶路程。
如图所示:3. L298N电动机驱动模块部分该电路采用电动机驱动芯片L298来控制电动机的正转与反转,加以第二路电机电源保证了电动机启动时有足够的电流。
在试验中控制电压为单片机输出的高低电平直接控制。
具体电路图连接如下:4. 电源部分由于电动机工作电流大,需要选用内阻小,供电电流强,质量轻,可反复使用的经济型电池,我们选用可充电电池组。
为使单片机工作稳定,避免电动机开关机和其转动时对其电源的影响,在此用两个电池组和稳压块7805分别为89C52和电动机驱动显示部分分别进行供电。
保证小车工作和显示的稳定性。
5.软件设计部分单片机控制电路主要由一片STC89C52组成,通过P3口控制小车正转与反转,刹车,加速减速,通过两个四联数码管控制显示时间和里程以及小车行驶的时间。
其中P0口进行位选,P2口进行显示段码输出。
该系统采用上电复位加上手动复位联合复位系统进行初始化,单片机通过,输出脉冲控制电机正转反转以及刹车,当,分别输出01是电动机正转,输出10时电动机反转,输出00时电动机两边短路,小车立即刹车。
流程图如下:(1)外部中断0车轮美转一次,霍尔元件产生一个脉冲,通过下降沿触发外部中断0,并且在每进行一次外部中断记录圈数的变量加1.(2)外中断1 1,=1,=1,小车的电动机由于短路(3)定时器中断0使用定时器T0产生5ms定时中断,每次执行该中断前要先给定时器0赋初值,定时器中断每执行一次,变量加1。
当i=200时,即每当计时1秒时,时间变量t加1,速度等于一秒转的圈数和小车车轮的周长相乘。
(41要赋初值。
(5个四联数码管按位不断循环亮点,当小车行驶时动态显示时间和路程,小车停止时显示小车行驶过程中的时间和路程。
6.安装与调试自动小车为玩具遥控小汽车的改装品,在改装的过程中最重要的是考虑设计光电检测管的位置,检测黑带的光电管放在车体的中央,用遮光管将其以一定反射角度压到跑道上。
路程检测用槽型光耦,放在小车的从动轮上。
轮子的周长约为厘米,在轮子上用了一个霍尔元件,每转一圈一个脉冲。
在组装前对每一个单元电路进行测试,以保证外部硬件电路的无误,有利于最后的统调。
调整是以点到线,最后到整体调试的方法。
在调整的过程中我们发现了许多问题,如响应中断的次数的调整等。
并且为了小车碰到墙壁不至于停车,我们在小车的四角上都加上了导向轮,导向轮用随身听的压带轮制作即可。
7.附录元器件及程序如下:基本元器件列表一个STC89C52单片机2个四位共阳数码管一个L298N芯片一个霍尔元件和小磁钢片一路循迹模块晶振(12M)及30pf电容开关电阻 10k 100欧姆 1k 20k可调程序:#include<> //包含头文件#define uint unsigned int //宏常量定义#define uchar unsigned char //宏常量定义sbit dianji1=P1^0; //P1_0设置为电机控制一sbit dianji2=P1^1; //P1_1设置为电机控制二sbit hdjc=P3^2; //P3_2设置为黑带检测位uchar code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //段编码uchar code dianduma[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //带小数点段编码uchar code wema[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0xff}; //位编码uchar num,ge,shi,bai,qian; //定义几个字符型变量uint miao,lc,heidai=0; //定义几个整形变量long int qs; //定义一个长整形变量用来记录小车所转的圈数void fenwei(uint); //声明一个分位函数用来把要显示的数分位void shuma(uchar,uchar); //声明一个数码上显示函数用来在数码管上显示数据void shumadian(uchar,uchar); //声明另一个数码显示函数用来显示带小数点的数据void miaoxianshi(uint); //声明一个显示时间的函数void lcxs(uint); //声明一个显示路程的函数void djkz(); //声明一个电机控制函数void delay(uchar); //声明一个延时函数void delay10s(); //声明另一个延时函数用来延时十秒钟void fenwei(uint x) //把需要在数码管上显示的数据分位{g e=x%10;s hi=(x%100)/10;b ai=(x%1000)/100;q ian=x/1000;}void shuma(uchar x,uchar y) //将需要显示的数据显示在数码管上{P0=wema[8];P2=duma[x];P0=wema[y];d elay(5);}void shumadian(uchar x,uchar y) //将需要显示的数据显示在数码管上{P0=wema[8];P2=dianduma[x];P0=wema[y];d elay(5);}void miaoxianshi(uint x) //将定时器0输出的时间显示在数码管上{f enwei(x);s huma(ge,3);s huma(shi,2);s humadian(bai,1);s huma(qian,0);}void lcxs(uint z) //将外部中断1输出的路程显示在数码{f enwei(z);s huma(ge,7);s huma(shi,6);s humadian(bai,5);s huma(qian,4);}void djkz() //控制电机运转{u char n=20,m=60;s witch(heidai){case 0:case 1:case 2:dianji1=1;dianji2=0;miaoxianshi(miao);lcxs(lc);break;case 3:while(m--){dianji1=1;dianji2=0;delay(70);dianji1=0;dianji2=0;delay(30);miaoxianshi(miao);lcxs(lc);}while(heidai==3){dianji1=1;dianji2=0;delay(13);dianji1=0;dianji2=0;delay(1);miaoxianshi(miao);lcxs(lc);}break;case 4:while(heidai==4){dianji1=1;dianji2=0;delay(25);dianji1=0;dianji2=0;delay(1);miaoxianshi(miao);lcxs(lc);}break;case 5:case 6:while(n--){dianji1=1;dianji2=0;delay(50);dianji1=0;dianji2=0;delay(50);miaoxianshi(miao);lcxs(lc);}dianji1=1;dianji2=1;delay10s();while(heidai==6){dianji1=0;dianji2=1;}break;case 7:break;case 8:dianji1=0;dianji2=1;miaoxianshi(miao);lcxs(lc);case 9:while(n--){dianji1=0;dianji2=1;delay(50);dianji1=0;dianji2=0;delay(50);miaoxianshi(miao);lcxs(lc);}while(heidai==7){dianji1=0;dianji2=1;delay(90);dianji1=0;dianji2=0;delay(1);miaoxianshi(miao);lcxs(lc);}break;case 10:dianji1=0;dianji2=1;miaoxianshi(miao);lcxs(lc);break;case 11:dianji1=0;dianji2=1;miaoxianshi(miao);lcxs(lc);case 12:while(n--){dianji1=0;dianji2=1;delay(50);dianji1=0;dianji2=0;delay(50);miaoxianshi(miao);lcxs(lc);}dianji1=1;dianji2=1;TR0=0;while(1){miaoxianshi(miao);lcxs(lc);}default:break;}}void delay(uchar x) //延时{u char i,j;f or(i=x;i>0;i--)for(j=50;j>0;j--);}void delay10s() //延时十秒钟{u int i,j;f or(i=15;i>0;i--)for(j=123;j>0;j--){miaoxianshi(miao);lcxs(lc);}}void ext0() interrupt 0 //外部中断0,用来检测黑带{d elay(50);i f(hdjc==0)h eidai++;}void time0() interrupt 1 //函数功能:定时器中断0,用来记录时间{TH0=(65536-500)/256;TL0=(65536-500)%256;n um++;i f(num==20){num=0;miao++;}}void ext1() interrupt 2 //函数功能:外部中断1,记录车轮转过的圈数{qs++;lc=(int)(qs*;}void main(){E A=1; //打开总中断ET0=1; //打开定时器中断0E X0=1; //打开外部中断1IT0=1; //外部中断0设置为跳变沿触发方式EX1=1; //打开外部中断1IT1=1; //外部中断1设置为跳变沿触发方式T MOD=0x01; //设置定时器0为方式1TH0=(65536-500)/256; //定时器0高八位装初值T L0=(65536-500)%256; //定时器0低八位装初值T R0=1; //打开定时器0while(1) //进入主循环{djkz(); //进入电机控制函数}}。