循迹小车制作报告
智能循迹小车___设计报告

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

自动寻迹小车设计报告一、系统设计1、设计要求(1)自动寻迹小车从安全区域启动。
(2)小车按检测路线运行,自动区分直线轨道和弯路轨道,在弯路处拐弯,实现灵活前进、转弯、等功能2.小车寻迹的原理这里的寻迹是指小车在白色地板上寻黑线行走,通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
红外探测器探测距离有限,一般最大不应超15cm。
对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。
3、模块方案根据设计要求,本系统主要由控制器模块、寻迹传感器模块、直流电机及其驱动模块等构成。
控制器模块:控制器模块由AT89C51单片机控制小车的行走。
寻迹传感器模块:寻迹传感器用光电传感器ST188检测线路并反馈给单片机执行。
ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。
检测距离:4--13mm直流电机及其驱动模块:直流电机用L298来驱动。
L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。
用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
4.系统结构框图:二、硬件实现及单元电路设计1、微控制器模块的设计在本次设计中我们采用了AT89C51位主控制器。
它具有智能化,可编程,小型便携等优点。
2.光电传感器:本次试验我们采用了ST188光电传感器,ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。
检测距离:4--13mm。
其连接电路图如下:3.直流电机及其驱动模块在直流电机驱动问题上,我们采用一片L298来驱动直流电机。
智能寻迹小车实验报告

智能寻迹小车实验报告
实验目的:
设计一个智能寻迹小车,能够依据环境中的黑线自主行驶,并避开障碍物。
实验材料:
1. Arduino开发板
2. 电机驱动模块
3. 智能车底盘
4. 红外传感器
5. 电源线
6. 杜邦线
7. 电池
实验步骤:
1. 按照智能车底盘的说明书将车底盘组装起来。
2. 将Arduino开发板安装在车底盘上,并与电机驱动模块连接。
3. 连接红外传感器到Arduino开发板上,以便检测黑线。
4. 配置代码,使小车能够依据红外传感器检测到的黑线自主行驶。
可以使用PID控制算法来控制小车的速度和方向。
5. 测试小车的寻迹功能,可以在地面上绘制黑线,观察小车是否能够准确地跟随黑线行驶。
6. 根据需要,可以添加避障功能。
可以使用超声波传感器或红外避障传感器来检测障碍物,并调整小车的行驶路线。
实验结果:
经过实验,可以发现小车能够依据红外传感器检测到的黑线自主行驶,并能够避开障碍物。
小车的寻迹功能和避障功能能够实现预期的效果。
实验总结:
本次实验成功设计并实现了智能寻迹小车。
通过使用Arduino 开发板、电机驱动模块和红外传感器等材料,配合合适的代码配置,小车能够准确地跟随黑线行驶,并能够避开障碍物。
该实验展示了智能小车的基本原理和应用,为进一步研究和开发智能车提供了基础。
智能循迹小车实验报告

智能循迹小车实验报告第一篇:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管 STC89C52 L298N 1 绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
设计任务与要求采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
方案设计与方案选择3.1 硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1 单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。
STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2 传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
循迹小车的实验报告

循迹小车的实验报告循迹小车的实验报告引言:循迹小车是一种基于光电传感器的智能机器人,能够通过感知地面上的黑线,实现自主导航。
本次实验旨在探索循迹小车的工作原理及其应用,并对其性能进行评估。
一、实验背景循迹小车作为一种智能机器人,广泛应用于工业自动化、仓储物流、智能家居等领域。
其基本原理是通过光电传感器感知地面上的黑线,根据传感器信号控制电机的转动,从而实现沿着黑线行进。
二、实验过程1. 实验器材准备本次实验所需器材有循迹小车、黑线地毯、计算机等。
通过连接计算机和循迹小车,可以实现对小车的控制和数据传输。
2. 实验步骤(1)将黑线地毯铺设在实验场地上,并保证地毯表面光滑清洁。
(2)将循迹小车放置在地毯上,确保其底部的光电传感器与黑线接触。
(3)通过计算机控制循迹小车的启动,观察小车是否能够准确跟踪黑线行进。
(4)记录小车在不同条件下的行进速度、转弯半径等数据,并进行分析。
三、实验结果1. 循迹性能评估通过实验观察和数据记录,我们发现循迹小车在较为平整、光线充足的黑线地毯上表现较好,能够准确跟踪黑线行进。
然而,在黑线不明显、光线较暗的情况下,小车的循迹性能会有所下降。
2. 行进速度与转弯半径根据实验数据分析,循迹小车的行进速度受到多种因素的影响,包括地面摩擦力、电机功率等。
在实验中,我们发现增加电机功率可以提高小车的行进速度,但同时也会增大转弯半径。
3. 应用前景循迹小车作为一种智能机器人,具有广泛的应用前景。
在工业自动化领域,循迹小车可以用于物料搬运、装配线操作等任务;在仓储物流领域,循迹小车可以实现货物的自动分拣、运输等功能;在智能家居领域,循迹小车可以作为家庭服务机器人,提供家居清洁、送餐等服务。
四、实验总结通过本次实验,我们深入了解了循迹小车的工作原理和应用前景。
循迹小车的循迹性能受到地面条件和光线影响,需要进一步优化。
在实际应用中,循迹小车可以广泛应用于工业自动化、仓储物流和智能家居等领域,为人们的生活和工作带来便利。
模拟循迹小车实验报告

一、实验目的1. 理解循迹小车的工作原理,掌握模拟循迹技术。
2. 学习使用传感器检测道路情况,并根据检测结果进行小车控制。
3. 提高嵌入式系统设计和编程能力。
二、实验原理循迹小车是一种能够按照预设轨迹运行的智能小车。
其工作原理是:通过安装在车身上的传感器检测道路情况,并将检测到的信息传输给单片机,单片机根据接收到的信息对小车进行控制,使小车按照预设轨迹运行。
本实验中,我们采用红外对管作为传感器,通过检测红外对管对光线反射的强弱来判断小车是否偏离预设轨迹。
当红外对管检测到光线反射较强时,表示小车偏离了预设轨迹;当红外对管检测到光线反射较弱时,表示小车位于预设轨迹上。
三、实验器材1. 单片机开发板(如STC89C52)2. 红外对管传感器3. 电机驱动模块4. 电机5. 轮胎6. 跑道7. 电阻、电容等电子元件8. 编程软件(如Keil)四、实验步骤1. 硬件连接:将红外对管传感器连接到单片机的I/O口,将电机驱动模块连接到单片机的PWM口,将电机连接到电机驱动模块。
2. 编程:编写程序,实现以下功能:(1)初始化红外对管传感器和电机驱动模块;(2)读取红外对管传感器的状态,判断小车是否偏离预设轨迹;(3)根据红外对管传感器的状态,控制电机驱动模块使小车按照预设轨迹运行。
3. 调试:将程序烧录到单片机中,进行调试。
观察小车是否能够按照预设轨迹运行。
五、实验结果与分析1. 实验结果:经过调试,小车能够按照预设轨迹运行。
2. 分析:(1)红外对管传感器能够有效地检测道路情况,判断小车是否偏离预设轨迹;(2)单片机能够根据红外对管传感器的状态,及时调整电机的转速,使小车按照预设轨迹运行;(3)电机驱动模块能够稳定地驱动电机,使小车运动平稳。
六、实验总结通过本次实验,我们掌握了模拟循迹小车的工作原理,学会了使用传感器检测道路情况,并根据检测结果进行小车控制。
同时,我们还提高了嵌入式系统设计和编程能力。
七、改进建议1. 可以尝试使用其他类型的传感器,如光电传感器、红外线传感器等,以提高循迹精度。
巡迹小车实验报告

巡迹小车实验报告摘要:1.实验背景与目的2.实验设备与材料3.实验步骤与方法4.实验结果与分析5.实验结论与展望正文:一、实验背景与目的随着科技的快速发展,智能小车在物流、仓储等领域的应用越来越广泛。
为了提高小车的路径规划和自主导航能力,研究者们开展了许多实验。
本次实验旨在通过设计一款具有自主寻迹能力的小车,验证其路径跟踪精度和速度,为进一步优化和应用提供参考。
二、实验设备与材料1.小车底盘:采用常见的Arduino 开发板和直流电机驱动,配以车轮组件;2.电子元件:包括Arduino 开发板、电机驱动模块、电池、开关、传感器等;3.软件工具:使用Arduino IDE 编程环境进行程序开发。
三、实验步骤与方法1.搭建小车底盘:根据电路图和设计方案,将电子元件连接到Arduino开发板上,并将电机驱动模块与车轮组件相连;2.编写程序:利用Arduino IDE 编写程序,实现小车的路径跟踪功能;3.测试实验:将小车放置在预设的轨迹上,运行程序,观察小车是否能准确地跟踪轨迹。
四、实验结果与分析实验结果显示,小车能够准确地跟踪预设轨迹,且路径跟踪精度和速度均达到了预期目标。
通过对实验数据的分析,可以得出以下结论:1.小车底盘设计合理,能够满足路径跟踪的需求;2.程序设计有效,实现了小车的自主寻迹功能;3.实验结果表明,小车在实际应用中具有较高的可行性和可靠性。
五、实验结论与展望本次实验成功地设计并实现了一款具有自主寻迹能力的小车。
实验结果表明,小车具备较高的路径跟踪精度和速度,为进一步研究和应用提供了有力支持。
巡迹小车实验报告

巡迹小车实验报告
【原创版】
目录
1.实验目的
2.实验设备与材料
3.实验步骤
4.实验结果与分析
5.实验结论
正文
一、实验目的
本次实验的主要目的是通过制作和测试巡迹小车,了解并掌握机器人的控制原理及其在实际应用中的表现。
巡迹小车作为一种基础的机器人系统,可用于研究传感器、执行器、控制算法等方面的技术,为后续的机器人开发奠定基础。
二、实验设备与材料
1.巡迹小车套件
2.电脑
3.面包板
4.跳线
5.电子元件(如电阻、电容等)
6.工具(如镊子、钳子等)
7.5V 电源
三、实验步骤
1.准备阶段:检查实验设备是否齐全,将面包板、电子元件等摆放在桌面上,为接下来的焊接工作做好准备。
2.焊接阶段:根据电路图和说明书,将电阻、电容等元件焊接到面包板上,并连接电源、电机等设备。
3.调试阶段:使用电脑上的编程软件对小车进行编程,设置其运动轨迹和速度等参数,并通过串口通信将程序下载到小车。
4.测试阶段:将小车放置在实验平台上,观察其运动轨迹是否正确,调整参数以达到最佳效果。
四、实验结果与分析
经过多次调试和测试,巡迹小车能够准确地按照预定轨迹行驶,运动速度和方向控制准确。
这表明本次实验中,我们成功地掌握了机器人的控制原理,并为后续的机器人研究和开发积累了经验。
五、实验结论
本次巡迹小车实验的成功,证明了我们团队在机器人领域的研究能力。
通过这次实验,我们不仅学会了如何制作和控制巡迹小车,还深入了解了机器人的构造和运行原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合电子设计与实践课程实验报告课题名称:循迹小车的制作班级:XXXXXX实验者:XXXXXX实验时间:XXXXX摘要本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。
信号检测模块采用红外光对管,用以对黑线进行检测。
主控电路采用宏晶公司的8051核心的STC89C52单片机为控制芯片。
电机驱动模块采用意法半导体的L298N专用电机驱动芯片,单片控制与传统分立元件电路相比,使整个系统有很好的稳定性。
信号检测模块将采集到的路况信号传入STC89C52单片机,经单片机处理过后对L298N发出指令尽心相应的调整。
小车速度由单片机输出的PWM波控制。
控制电动小车的速度及转向,从而实现自动循迹的功能。
关键词:智能小车STC89C52单片机L298N 红外光对管一.绪论(一)智能小车的作用和意义自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。
人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。
随着科学技术的发展,机器人的感系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。
视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。
但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。
视觉的典型应用领域为自主式智能导航一种实用有效的方法。
机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。
避障控制系统是基于自动导引小车(A VG—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。
使用传感器感知路线和障碍并作出判断和相应的执行动作。
该智能小车可以作为机器人的典型代表。
它可以分为三大组成部分:传感器检测部分、CPU、执行部分。
机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。
可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。
基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。
智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。
单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。
考虑到实际情况,本文选择第二种方案。
CPU使用STC89C52单片机,配合软件编程实现(二)智能小车的现状现智能小车发展很快,从智能玩具到其它各行业都有实质成果。
其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。
比较出名的飞思卡尔智能小车更是走在前列。
我此次的设计主要实现循迹避障这两个功能。
二、方案设计与论证根据要求,确定如下方案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
(一)循迹模块小车循迹原理是小车在贴有黑胶带的地板上行驶,由于黑色和白色对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。
在该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。
红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。
在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。
循迹模块原理图(二)主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。
据此,拟定了以下两种方案并进行了综合的比较论证,具体有如下两种方案:1.采用PLC作为主控系统,PLC虽然性能稳定但是价格昂贵,为此,我们不采用该种方案,进而提出了第二种设想。
2.采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。
充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。
这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。
因此,这种方案是一种较为理想的方案。
针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。
根据这些分析,我选定了AT89S51单片机作为本设计的主控装置,51系列单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余。
在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用AT89S51单片机的资源。
AT89S51单片机的主控部分原理图(三)电机驱动模块电机驱动模块拟用两种解决方案,分别如下: 1.采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。
2.采用功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的PWM 调速技术,这里我们采用L298N驱动模块的步进电机驱动模块。
L298N驱动模块(四)机械系统本题目要求小车的机械系统稳定、灵活、简单,因此采用前驱,后轮采用两个万向轮。
小车上装有电池、电机、电子器件等,使得电机负担较重。
为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。
(五)电源系统采用2节普通1.5V干电池单电源供电,但6V的电压太小不能同时给单片机与与电机供电。
电机在运行过程中产生的反向电动势可能会影响单片机的正常工作。
所以决定独立供电,即单片机控制系统和光对管与电机分开供电。
由于单片机为低功耗元件而可采用普通 1.5v 电池(共2节)供电,电机为大功耗器件因而单独采用锂电(900mAh)供电(如图2-6)。
三.硬件设计(一)信号检测模块为了防止因传感器太少引起的误动作,因而在车体前段安装了4个红外光对管(如图3-1),有效的减小了误动作的发生,减小了小车冲出跑道的几率。
黑白线检测模块实物图(二)主控电路本模块主要是对采集信号进行分析,同时控制电机起停、正反转。
,该模块包括电源模块,串口电平转换模块,以及I/O口扩展模块。
电源模块为系统提供稳定的电源,串口电平转换模块可以将电脑与单片机串口相连从而实现程序的下载以及串口打印debug调试功能。
I/O扩展排针将单片机的管脚引出,可以实现灵活的扩展功能。
主控电路的实物图(三)驱动电路本模块主要是对单片机传送过来的高低电平信号进行处理,控制电机起停、正反转。
驱动模块的实物图(四)总体设计智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万向轮,起支撑的作用。
将循迹光对管分别装在车体下的左右。
当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。
由于系统采用模块化结构,各个模块之间采用杜邦线连接。
四.软件设计(一)总体程序流程图(二)系统的总体程序*********************************************/ #include<reg52.h>#define uint unsigned int#define uchar unsigned char/*电机四个接口定义*/sbit left_f = P2^4;sbit left_b = P2^5;sbit right_f = P2^6;sbit right_b = P2^7;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 Wheel_l(uchar speed){if(count <= speed) //count计数变量{left_f = 1;left_b = 0;}else{left_f = 1;left_b = 1;}}void Wheel_r(uchar speed) //同上{if(count<= speed){right_f = 1;right_b = 0;}else{right_f = 1;right_b = 1;}}void Inline() //检测黑线信号{uchar temp;temp = P1;switch(temp){case 0xe7:Wheel_l(50); Wheel_r(10);break; //右侧传感器压线,小车向左前修正case 0xd7:Wheel_l(99);Wheel_r(95);break; //中间传感器压线,保持直走此处两值使电机速度保持相同case 0xcf:Wheel_l(10); Wheel_r(50);break; //左侧传感器压线,小车向右前修正}}void main() //主函数{Init_timer(); //调用函数while(1)。