智能寻迹小车以及程序修订稿
智能循迹小车___设计报告

智能循迹小车___设计报告设计报告:智能循迹小车一、设计背景智能循迹小车是一种能够通过感知地面上的线条进行导航的小型机器人。
循迹小车可以应用于许多领域,如仓库管理、物流配送、家庭服务等。
本设计旨在开发一款功能强大、性能稳定的智能循迹小车,以满足不同领域的需求。
二、设计目标1.实现循迹功能:小车能够准确地识别地面上的线条,并按照线条进行导航。
2.提供远程控制功能:用户可以通过无线遥控器对小车进行控制,包括前进、后退、转向等操作。
3.具备避障功能:小车能够识别和避开遇到的障碍物,确保行驶安全。
4.具备环境感知功能:小车能够感知周围环境,包括温度、湿度、光照等参数,并将数据传输给用户端。
5.高稳定性和可靠性:设计小车的硬件和软件应具备较高的稳定性和可靠性,以保证长时间的工作和使用。
三、设计方案1.硬件设计:(1) 采用Arduino控制器作为主控制单元,与传感器、驱动器等硬件模块进行连接和交互。
(2)使用红外传感器作为循迹传感器,通过检测地面上的线条来实现循迹功能。
(3)使用超声波传感器来检测小车前方的障碍物,以实现避障功能。
(4)添加温湿度传感器和光照传感器,以提供环境感知功能。
(5)将无线模块与控制器连接,以实现远程控制功能。
2.软件设计:(1) 使用Arduino编程语言进行程序设计,编写循迹、避障和远程控制的算法。
(2)设计用户界面,通过无线模块将控制信号发送给小车,实现远程控制。
(3)编写数据传输和处理的程序,将环境感知数据发送到用户端进行显示和分析。
四、实施计划1.硬件搭建:按照设计方案中的硬件模块需求,选购所需元件并进行搭建。
2.软件开发:根据设计方案中的软件设计需求,编写相应的程序并进行测试。
3.功能调试:对小车的循迹、避障、远程控制和环境感知功能进行调试和优化。
4.性能测试:使用不同场景和材料的线条进行测试,验证小车的循迹性能。
5.用户界面开发:设计用户端的界面,并完成与小车的远程控制功能的对接。
智能循迹避障小车完整程序(亲测好使)

智能循迹避障小车完整程序(亲测好使)/*******************************************//利用51定时器产生PWM波来调节电机速度//速度变化范围从0-100可调//使用三路做寻迹使用,哪一路检测在黑线哪一路为//高电平//没检测到黑线表示有反射对应输出低电平信号*********************************************/#include<>#define uint unsigned int#define uchar unsigned char/*电机四个接口定义*/sbit in1=P0^0;sbit in2=P0^1;sbit in3=P0^2;sbit in4=P0^3;/*计时器*/uchar j,k,i,a,A1,A2,second,minge,minshi;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};void delay(uchar i){for(j=i;j>0;j--)for(k=110;k>0;k--);}void display(uchar sh_c,uchar g_c,uchar min_ge,uchar min_shi) {dula=1;P0=table[sh_c];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(5);dula=1;P0=table[g_c];dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(5);dula=1;P0=table[min_shi];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(5);dula=1;P0=table2[min_ge];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(5);}/*左、中、右三路循迹传感器接口定义*/ sbit zuo=P1^0; sbit zhong=P1^1;sbit you=P1^2;/*避障接口定义*/sbit bz_zuo=P1^3;sbit bz_zhong=P1^4;sbit bz_you=P1^5;uchar count = 0;/*利用定时器0定时中断,产生PWM波*/ void Init_timer() {TH0 = (65535-10)/256;TL0 = (65535-10)%256;TMOD = 0x01;TR0 = 1;ET0 = 1;EA = 1;}/*左轮速度调节程序*/void zuolun(uchar speed){if(count <= speed) //count计数变量{in1 = 1;in2 = 0;}else{in1 = 0;in2 = 1;}}void youlun(uchar speed) //同上{if(count<= speed){in3 = 1;in4 = 0;}else{in3 = 0;in4 = 1;}}void Inline() //检测黑线信号{uchar temp;temp =P1;switch(temp){case 0x01:zuolun(0); youlun(90);break; //左侧循迹传感器压线,小车向左前修正case 0x02:zuolun(100);youlun(100);break; //中间循迹传感器压线,保持直走此处两值使电机速度保持相同case 0x04:zuolun(90); youlun(0);break; //右侧循迹传感器压线,小车向右前修正case 0x08:zuolun(90); youlun(0);break; //左侧避障传感器有信号小车右转case 0x10:zuolun(90); youlun(0);break; //中间避障传感器有信号小车左转case 0x20:zuolun(90); youlun(0);break; //右侧避障传感器有信号小车左转}/*if(zuo==1){zuolun(10);youlun(50);}else if(zhong==1){zuolun(99);youlun(99);}else if(you==1){zuolun(50);youlun(10);} */}void main() //主函数{Init_timer(); //调用函数while(1){Inline();minge=0;minshi=0;second++;if(second==60)second=0,minge++;A1=second/10;A2=second%10;if(minge==10)minge=0,minshi++;for(a=200;a>0;a--){display(A1,A2,minge,minshi);};}}void Timer0_int()interrupt 1 //定时器中断计数{TH0 = (65535-10)/256;TL0 = (65535-10)%256;count ++;if(count >= 100){count = 0;}}。
《2024年自循迹智能小车控制系统的设计与实现》范文

《自循迹智能小车控制系统的设计与实现》篇一一、引言随着人工智能与自动控制技术的快速发展,智能小车已经广泛应用于各种领域,如物流配送、环境监测、智能家居等。
本文将详细介绍一种自循迹智能小车控制系统的设计与实现过程,该系统能够根据预设路径实现自主循迹、避障及精确控制。
二、系统设计(一)系统概述自循迹智能小车控制系统主要由控制系统硬件、传感器模块、电机驱动模块等组成。
其中,控制系统硬件采用高性能单片机或微处理器作为主控芯片,实现对小车的控制。
传感器模块包括超声波测距传感器、红外线测距传感器等,用于感知周围环境并实时传输数据给主控芯片。
电机驱动模块负责驱动小车行驶。
(二)硬件设计1. 主控芯片:采用高性能单片机或微处理器,具备高精度计算能力、实时响应和良好的可扩展性。
2. 传感器模块:包括超声波测距传感器和红外线测距传感器。
超声波测距传感器用于测量小车与障碍物之间的距离,红外线测距传感器用于检测小车行驶路径上的标志线。
3. 电机驱动模块:采用直流电机和电机驱动器,实现对小车的精确控制。
4. 电源模块:为整个系统提供稳定的电源供应。
(三)软件设计1. 控制系统软件采用模块化设计,包括主控程序、传感器数据处理程序、电机控制程序等。
2. 主控程序负责整个系统的协调与控制,根据传感器数据实时调整小车的行驶状态。
3. 传感器数据处理程序负责对传感器数据进行处理和分析,包括距离测量、方向判断等。
4. 电机控制程序根据主控程序的指令,控制电机的运转,实现小车的精确控制。
(四)系统实现根据设计需求,通过电路设计与焊接、传感器模块的安装与调试、电机驱动模块的安装与调试等步骤,完成自循迹智能小车控制系统的硬件实现。
在软件方面,编写各模块的程序代码,并进行调试与优化,确保系统能够正常运行并实现预期功能。
三、系统功能实现及测试(一)自循迹功能实现自循迹功能通过红外线测距传感器实现。
当小车行驶时,红外线测距传感器不断检测地面上的标志线,并根据检测结果调整小车的行驶方向,使小车始终沿着预设路径行驶。
智能循迹小车-电子设计大赛优选全文

智能寻迹小车总结报告08电本3袁坤朱昊汪武杰1.设计任务:设计并制作了一个智能电动车,通过车前方的感光模块引导小车沿黑色路径运行,并记录小车整个运动过程的时间。
(1)感光模块引导小车运动:小车黑色轨迹白色背景图1如图1,小车运行在以白色背景的黑色轨迹上。
小车在整个运行过程中沿黑色轨迹运动,当黑色轨迹向左转时,小车能够自动左转弯,左转弯灯亮;当黑色轨迹向右转时,小车能够自动右转弯,右转弯灯亮。
(2)小车能记录整个运行过程的时间:在小车开始运行时,单片机控制计时,当小车收到停止指令后,计时器停止计时,并通过小车上的数码管显示小车整个运行过程的时间。
2.程序框图寻迹小车的主程序如下3.系统的具体设计与实现根据设计任务要求,并且根据我们自己的需要而附加的功能,该电路的总体框图可分为几个基本的模块,框图如(图2)所示:红外传感模块3.1设计中选用红外传感器来准确检测黑色寻迹线。
共设置2个传感器,传感器检测到黑色的寻迹线时,输出逻辑电平1,检测不到黑色寻迹线时,输出逻辑电平0。
在小车正前方中间安装两个标号是1号和2号的传感器用于定位寻迹线中心线,如图。
实物图:由电路图可以看出,在整个运行过程中,红外线发射管一直工作,发出红外线,由于黑色对红外线的反射量很小,而白色背景对红外的反射量很大,这样经过红外接收管的电压值的不同,可以判断出小车的运行情况。
当小车在黑色轨迹上正常运行时,1号和2号传感器输出1,当小车右偏时,2号由输出1转变为0,此时单片机驱动电机模块,调控小车左右两轮的转速,调整车身向左转;当小车左偏时,1号由输出1转变为0,单片机调控小车车身向右转。
传感器部分是小车的“眼睛”,只有通过它的引导小车才能正常在轨道上运行。
在小车的调试过程中,遇到了一些问题。
第一,两个传感器中的红外管有时一直感光,有时感光很差;第二,在黑线上运行时,在一些弯路传感器可以判断出来,一些反应迟钝,并且恢复直行的时候,传感器却依然保持上一状态运行。
循迹避障智能小车设计(2023最新版)

循迹避障智能小车设计
循迹避障智能小车设计文档范本:
⒈摘要
本文档旨在详细介绍循迹避障智能小车的设计方案。
介绍了小车的硬件组成、软件设计和算法实现,以及测试结果和优化方案。
⒉引言
介绍循迹避障智能小车的背景和应用场景,解释设计的目的和意义。
⒊系统架构
详细介绍循迹避障智能小车的系统组成,包括传感器模块、控制器、执行器等硬件部分,以及软件部分的整体架构。
⒋传感器设计
说明循迹避障智能小车所使用的传感器,包括红外线传感器、超声波传感器等的选择原因和工作原理,以及如何与控制器进行连接。
⒌控制器设计
介绍循迹避障智能小车的控制器设计,包括主控芯片的选择、引脚分配以及与传感器和执行器的连接方式。
⒍执行器设计
详细说明循迹避障智能小车的执行器设计,包括电机控制模块、转向模块等的选择和工作原理。
⒎算法设计
阐述循迹避障智能小车所采用的算法设计,包括循迹算法和避障算法的原理和实现方法。
⒏系统测试与优化
描述循迹避障智能小车的测试方法和实验结果分析,以及针对存在的问题进行的优化措施。
⒐结论
总结循迹避障智能小车设计的成果,评估其性能和应用前景,并展望未来的发展方向。
⒑附件
提供循迹避障智能小车的原理图、源代码、测试数据等附件,以供读者参考使用。
1⒈法律名词及注释
在文档末尾提供相关法律名词的注释,并进行对应解释,以确保读者对相关法律概念的理解和使用的合法性。
智能小车循迹报告

电工电子实习报告学院:专业班级:学生姓名:指导教师:完成时间:成绩:智能循迹小车设计报告一. 设计要求(1).通过理论学习掌握基本的焊接知识以及电子产品的生产流程。
(2).熟悉掌握手工焊接的方法与技巧。
(3).完成循迹智能小车的安装与调试二. 设计的作用、目的1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力;2.巩固本课程所学的理论知识和实验技能;3.掌握常用电子电路的一般设计方法,提高设计能力和实验、动手能力,为今后从事电子电路的设计、研制电子产品打下基础。
三.设计的具体实现1. 系统概述智能机器人小车的设计中我们使用的是一体反射式红外对管,所谓一体就是发射管和接受管固定在一起,反射式的工作原理就是接收管接收到的信号是发射管发出的红外光经过反射物的反射后得到的,所以使用红外对管进行循迹时必须是白色地板红外寻迹是利用红外光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。
(为简化操作,本次实习只安装了两侧的探头)1)行驶直线的控制:利用红外传感器的左右最外端的探头检测黑线,如果全白则说明在道中间,没有偏离轨道,走直线;一旦右侧探头检测到黑线,说明小车外侧探头已跑出轨道,让车左拐;同理一旦左侧检测到黑线,说明左侧探头已经出线,执行右拐命令。
2)拐直角弯的控制:当车前探头检测到黑线,执行直走,让车中心探头去检测,一旦探头检测到黑线开始左拐,直到车位探头检测到跳出左拐命令,继续开始执行循迹,通过设置车中间探头与车尾探头的间距,便可以实现拐弯的角度,进而顺利入弯。
小车的硬件主要包括4大模块:即电源模块、电机驱动模块、红外循迹模块、简易控制模块。
系统工作框图如下:2.单元电路设计与分析1)电源模块电源模块电路板LM2596 开关电压调节器是降压型电源管理单片集成电路,能够输出3A 的驱动电流,同时具有很好的线性和负载调节特性。
智能寻迹避障小车报告

智能小车摘要本小车以MSP超低功耗单片机系列MSP430F5438为核心,完成寻迹、避障、测速、测距等功能。
在机械结构上,对普通的小车作了改进,即用一个万用轮来代替两个前轮,使小车的转向更加灵敏。
采用PWM 驱动芯片控制电机,红外传感器来寻迹,超声波传感器来避障、测距,霍尔传感器测速。
基于可靠的硬件设计和稳定的软件算法,实现题目要求。
而且附加实现显示起跑距离、行驶时间、行驶速度等扩展功能。
关键词:MSP430 寻迹避障测速测距AbstractThis design is controlled with the MCU(MSP430F5438) to complete the function of finding trace, detecting medal, avoiding barrier, tending to light and measure speed. By using infrared sensor to locate the trace, photo, electrical sense to measure the light、metal sensor to detect the metal and ultrasonic wave sensor to avoid the barrier. Based on the reliable hardware and software designing, this design is well fulfilled. In addition, such extended functions as measuring the distance and recording the running-time are completed well. On the level of machine structure, we use a perfect wheel to make the car turning more convenience.Key Words: MSP430 find trace detect medal avoid barrier and tend to light.一、系统设计1.1设计要求1、基本要求(1) 小车跑道如下图所示,要求小车在跑道上实现寻迹、避障、测距、测速等基本功能。
机器人创新实验智能巡线小车报告

机器人创新实验智能巡线小车报告一、引言智能巡线小车是一种基于机器视觉和控制系统的机器人,能够在预定的路径上进行准确的行驶。
本报告旨在总结机器人创新实验中智能巡线小车的设计过程、关键技术和性能评估,以及未来的改进方向。
二、设计过程1.硬件设计智能巡线小车的硬件设计包括底盘、传感器和控制模块。
底盘采用高强度材料制作,轮子安装在底盘上,并由直流电机驱动。
传感器主要包括摄像头和红外线传感器,摄像头用于采集路径图像,红外线传感器用于检测小车是否偏离轨道。
控制模块由单片机和驱动电路组成,用于接收传感器数据并控制电机运动。
2.软件设计智能巡线小车的软件设计主要包括路径识别和控制算法。
路径识别算法通过对摄像头采集到的图像进行处理,提取出图像中的路径信息。
控制算法根据传感器数据判断小车是否偏离轨道,并相应调整电机速度和转向角度,使小车保持在预定的路径上。
三、关键技术1.图像处理图像处理是智能巡线小车的核心技术之一、通过对摄像头采集的图像进行二值化、滤波和边缘检测等操作,可以提取出路径信息,并进行路径的识别和跟踪。
2.控制算法控制算法是智能巡线小车的另一项关键技术。
通过对传感器数据进行实时分析和判断,可以实现小车对路径的跟踪和调整。
常用的控制算法包括PID控制和模糊控制等。
四、性能评估为评估智能巡线小车的性能,可以从准确性、稳定性和速度等方面进行考察。
在实际测试中,可以将小车放置在不同形状和颜色的路径上,观察小车能否准确识别路径并保持在上面。
同时,可以通过测量小车的行驶速度和转向精度来评估小车的稳定性和速度。
五、改进方向尽管智能巡线小车在设计上已经取得了一定的成绩,但还存在一些改进的方向。
首先,可以加强图像处理算法,提高路径识别的准确性和鲁棒性。
其次,可以进一步优化控制算法,提高小车对路径的精准度和响应速度。
此外,可以将智能巡线小车与其他机器人技术相结合,如避障、自主导航等,实现更复杂的任务。
六、结论智能巡线小车是一种基于机器视觉和控制系统的机器人,能够在预定的路径上进行准确的行驶。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能寻迹小车以及程序 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】寻迹小车在历届全国大学生电子设计竞赛中多次出现了集光、机、电于一体的简易智能小车题目。
笔者通过论证、比较、实验之后,制作出了简易小车的电路系统。
整个系统基于普通玩具小车的机械结构,并利用了小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。
总体方案整个电路系统分为检测、控制、驱动三个模块。
首先利用对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。
系统方案方框图如图1所示。
图1 智能小车寻迹系统框图传感检测单元小车循迹原理该智能小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。
笔者在该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。
红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。
在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。
传感器的选择市场上用于红外探测法的器件较多,可以利用反射式传感器外接简单电路自制探头,也可以使用结构简单、工作性能可靠的集成式红外探头。
ST系列集成红外探头价格便宜、体积小、使用方便、性能可靠、用途广泛,所以该系统中最终选择了ST168反射传感器作为红外光的发射和接收器件,其内部结构和外接电路均较为简单,如图2所示:图2 ST168检测电路ST168采用高发射功率红外光、电二极管和高灵敏光电晶体管组成,采用非接触式检测方式。
ST168的检测距离很小,一般为8~15毫米,因为8毫米以下是它的检测盲区,而大于15毫米则很容易受干扰。
笔者经过多次测试、比较,发现把传感器安装在距离检测物表面10毫米时,检测效果最好。
R1限制发射二极管的电流,发射管的电流和发射功率成正比,但受其极限输入正向电流50mA的影响,用R1=150的电阻作为限流电阻,Vcc=5V作为电源电压,测试发现发射功率完全能满足检测需要;可变电阻R2可限制接收电路的电流,一方面保护接收红外管;另一方面可调节检测电路的灵敏度。
因为传感器输出端得到的是模拟电压信号,所以在输出端增加了比较器,先将ST168输出电压与进行比较,再送给单片机处理和控制。
传感器的安装正确选择检测方法和传感器件是决定循迹效果的重要因素,而且正确的器件安装方法也是循迹电路好坏的一个重要因素。
从简单、方便、可靠等角度出发,同时在底盘装设4个红外探测头,进行两级方向纠正控制,将大大提高其循迹的可靠性,具体位置分布如图3所示。
图3 红外探头的分布图图中循迹传感器全部在一条直线上。
其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。
小车前进时,始终保持(如图3中所示的行走轨迹黑线)在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。
第二级方向探测器实际是第一级的后备保护,它的存在是考虑到小车由于惯性过大会依旧偏离轨道,再次对小车的运动进行纠正,从而提高了小车循迹的可靠性。
软件控制单元单片机选型及程序流程此部分是整个小车运行的核心部件,起着控制小车所有运行状态的作用。
控制方法有很多,大部分都采用单片机控制。
由于51单片机具有价格低廉是使用简单的特点,这里选择了ATMEL公司的AT89S51作为控制核心部件,其程序控制方框图如图4所示。
图4 系统的程序流程图小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号变化,程序就进入判断程序,把相应的信号发送给电动机从而纠正小车的状态。
车速的控制车速调节的方法有两种:一是用步进电机代替小车上原有的直流电机;二是在原有直流电机的基础上,采用调速法进行调速。
考虑到机械装置不便于修改等因素,这里选择后者,利用单片机输出端输出高电平的脉宽及其占空比的大小来控制电机的转速,从而控制小车的速度。
经过多次试验,最终确定合适的脉宽和占空比,基本能保证小车在所需要的速度范围内平稳前行。
电机驱动单元从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。
根据驱动功率大小以及连接电路的简化要求选择L298N,其外形、管脚分布如图5所示。
图5 L298N管脚分布图从图中可以知道,一块L298N芯片能够驱动两个电机转动,它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。
另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够这个问题。
结语此方案选择的器件比较简单,实际中也很容易实现。
经过多次测试,结果表明在一定的弧度范围内,小车能够沿着黑线轨迹行进,达到了预期目标。
不足之处,由于小车采用直流电机,其速度控制不够精确和稳定,不能实现急转和大弧度的拐弯。
程序#include<>#define uchar unsigned char#define uint unsigned intuchar pro_left,pro_right,i,j; //左右占空比标志sbit left1=P2^0;sbit left2=P2^1;sbit right1=P2^2;sbit right2=P2^3;sbit en1=P1^0;sbit en2=P1^1;//循迹口三个红外传感器sbit left_red=P1^2; //白线位置sbit mid_red=P1^3; //黑线位置sbit right_red=P1^4; //白线位置void delay(uint z){uchar i;while(z--){for(i=0;i<121;i++);}}void init(){left_red=0; //白线位置mid_red=1; //黑线位置right_red=0;TMOD=0X01;TH0=(65536-100)/256;TL0=(65536-100)%256;EA=1;ET0=1;TR0=1;en1=1;en2=1;}void time0(void)interrupt 1 {i++;j++;if(i<=pro_right) {en1=1;} else en1=0;if(i==40) {en1=~en1;i=0;} if(j<=pro_left) {en2=1;}else en2=0;if(j==40) {en2=~en2;j=0;} TH0=(65536-100)/256;TL0=(65536-100)%256;}void straight() //走直线函数{pro_right=39;pro_left=39;left1=0;left2=1;right1=1;right2=0;}void turn_left() //左转弯函数{pro_right=5;pro_left=39;left1=0;left2=1;right1=1;right2=0;}void turn_right() //右转弯函数{pro_right=39;pro_left=5;left1=0;left2=1;right1=1;right2=0;}void turn_back() //后退(反转)函数{left1=1;left2=0;right1=0;right2=1;pro_right=39;pro_left=39;}void infrared() //循迹{uchar flag;if(left_red==1){flag=1;}elseif(right_red==1){flag=2;}elseif((left_red==0)&(mid_red==0)&(right_red==0)) {flag=3;}else flag=0;switch (flag){case 0: straight();break;case 1: turn_left();break;case 2: turn_right();break;case 3: turn_back();break;default:break;}}void main(void){init();delay(1);while(1){infrared();// straight();}}void int0(void)interrupt 0{ }。