红外避障小车设计报告
红外线小车避障实训报告

一、实训目的本次实训旨在让学生了解红外线避障技术的原理,掌握红外线避障小车的制作方法,培养学生的动手能力、实践能力和创新精神。
二、实训内容1. 红外线避障原理红外线避障技术是利用红外线发射器和接收器检测前方障碍物,并根据距离调整小车行驶速度和方向的技术。
当红外线发射器发出的红外线遇到障碍物时,部分红外线会被反射回来,被接收器接收,从而实现避障功能。
2. 红外线避障小车制作(1)材料与工具材料:红外线发射器、红外线接收器、STC89C52单片机、电机驱动模块、电源模块、车轮、支架等。
工具:万用表、焊接工具、电烙铁、线路板等。
(2)制作步骤① 设计电路图:根据红外线避障原理,设计电路图,确定各元器件的连接方式。
② 制作线路板:根据电路图,制作线路板,并进行元器件焊接。
③ 安装元器件:将红外线发射器、接收器、单片机、电机驱动模块等元器件安装在车体上。
④ 编写程序:编写单片机程序,实现红外线避障功能。
⑤ 调试与测试:调试程序,测试小车避障效果。
三、实训过程1. 学习红外线避障原理,了解红外线发射器和接收器的工作原理。
2. 根据红外线避障原理,设计电路图,确定元器件连接方式。
3. 制作线路板,进行元器件焊接。
4. 编写单片机程序,实现红外线避障功能。
5. 调试程序,测试小车避障效果。
四、实训结果与分析1. 实训结果通过本次实训,成功制作了一台红外线避障小车,小车能够根据前方障碍物的距离调整行驶速度和方向,实现避障功能。
2. 分析(1)红外线避障原理:红外线避障技术利用红外线发射器和接收器检测前方障碍物,当红外线遇到障碍物时,部分红外线会被反射回来,被接收器接收,从而实现避障功能。
(2)电路设计:电路设计合理,元器件连接正确,程序编写正确,实现了红外线避障功能。
(3)程序调试:程序调试过程中,发现问题并及时解决,提高了小车避障效果。
五、实训总结1. 通过本次实训,使学生掌握了红外线避障技术的原理和制作方法。
避障测距小车设计报告

目录摘要 (2)ABSTRACT (2)第一章绪论 (3)1.1智能小车的意义和作用 (3)1.2智能小车的现状 (3)第二章方案设计与论证 (4)2.1 主控系统 (4)2.2 电机驱动模块 (5)2.3避障模块 (7)2.4测距模块 (8)2.5机械模块 (8)2.6电源模块 (9)2.7总体设计的方案选择 (9)第三章硬件设计 (9)3.1总体设计 (9)3.2驱动电路 (10)3.3主控电路 (11)第四章软件设计 (11)4.1主程序模块 (12)4.2电机驱动程序 (12)4.3避障模块 (14)4.4超声波测距模块 (15)4.5软件与硬件的整合 (17)第五章制作安装与调试 (18)结束语 (19)附录摘要:利用红外对管检测黑线与障碍物,并以ATC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动避障的功能;用超声波进行测距,并用一个液晶进行测距显示。
其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波控制。
关键词:智能小车;ATC89C52单片机; L298N;红外对管;超声波Intelligent obstacle-avoid carAbstract:Based infrared detection of black lines and the road obstacles, and use a ATC89C52 MCU as the controlling core for the speed and direction, A electronic drived, which can automatic track and avoid the obstacle, was designed and fabricated.Distance is measured by ultrasonic, and a liquid crystal display range. In which, the car is drived by the L298N circuit,its speed is controlled by the output PWM signal from the STC89C52.Keywords: Smart Car; STC89C52 MCU; L298N; Infrared Emitting Diode;Ultrasonic第一章绪论1.1智能小车的意义和作用自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
玩具避障小车实验报告.

(1)模拟电子技术
(2)数字电子
(3)谭浩强,《c语言设计》
(4)苏丽萍,《电子技术基础》
图3总体硬件电路图
3.2 驱动电路
小车电机装有减速齿轮组,考虑不需调速功能,采用市面易购的电机驱动芯片L293D,该芯片是利用TTL电平进行控制,对电机的操作方便,通过改变芯片控制端的输入电平,即可以对电机进行正反转操作,很方便单片机的操作,亦能满足直流减速电机的要求。
智能小车驱动电路实现如图所示。
(2)在确保电路没有问题的时候,小车还是不能行走。
解决方法:检查元器件好坏,在排除元器件问题后,检查程序问题。
(3)在红外避障功能中,小车不能按程序设计一样走,当遇到障碍物时不是先后退在左转而是直接停止。
解决方法:检查电路连接有没有问题,当排除电路连接问题后,检查程序问题,确保程序没有问题时,我们想到可能是接受管的接收参数问题,所以我们在接受管1、2管脚加上一个滤波电路。
利用2位LED显示秒值,实现秒表计时显示。以2个按键KE1、KE2、分别实现启动、停止等功能。用中断的编程使用定时器,定时器工作在定时方式,实现1秒定时,每50ms溢出中断一次,中断20次后就到1秒钟;秒表计时显示用动态显示方式实现,通过键盘扫描方式取得KE1、KE2的键值,用键盘的中断处理程序实现秒表的启动、停止等功能。
6实验心得
经过一学期的努力,我们的红外避障小车项目如期完成,并取得预期的成果。作为该项目的参与者,我们都有各自的分工协作。
回首这个项目的制作,我们都得益匪浅。最初开始制作小车的前半部分对我们来说并不困难,因为其中涉及到的电路图我们也能看懂,焊接我们在之前的专业学课也学习过。但越到后期制作就越困难重重。首先是程序的编写问题,程序总是不稳定,达不到预期的功能效果。后来在添加红外避障功能的时候更是屡屡出现问题,例如,发射管不亮,发射管亮了,但是接收管又出现不能很好接收信号,数码管显示不完整,蜂鸣器不响等问题。但是经过我们组成员的努力和坚持,才将问题一一排除,成功解决。
避障小车设计实验报告

福州大学至诚学院题目:避障小车设计实验报告姓名:学号: 210992044同组者:专业:电气工程及其自动化专业年级: 09级指导教师:2011年04月24日1、实验材料:MultiFLEX™2-A VR控制器;红外线接近传感器两个;红外线测距传感器一个;碰撞传感器一个;轮子四个;舵机四个;结构件若干。
(“创意之星”机器人套件)2、原理:碰撞传感器是由一个按钮开关和外围电路构成,其输出信号为数字信号。
当按钮按下时,信号输出端输出低电平;按钮被释放时,信号输出高电平。
可以充当开关使用。
红外接近传感器是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。
光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。
当红外线传感器遇到障碍时,信号输出端输出低电平,没有障碍时,信号输出端输出高电平,从而实现小车的避障功能。
红外线测距传感器GP2D12主要是由红外发射器、PSD(位置敏感检测装置)及相关处理电路构成,红外发射器发射一束红外光线,红外光线遇到障碍物被反射回来,通过透镜投射到PSD上,投射点和PSD的中心位置存在偏差值a,GP2D12根据下图所示的a、b、α三个值就可以计算出H的值,并输出相应电平的模拟电压。
利用此功能来实现小车判断前方是否有坑的功能。
3、小车的功能介绍:(1)按下碰撞传感器按钮,小车停止运动,再次按,小车继续运动;(2)检测前方是否有障碍,有则避之;(3)检测前方是否有坑,有则避之;(4)在一个由两堵墙构成的死角,通过左右避障次数的累计绕出死角。
4、步骤:(1)熟悉机器人零件及其应用;(2)搭建小车,调试舵机及其编号;(3)编程——编译——下载程序;(4)检验程序结果,对小车进行调试,并对程序进一步改进。
5、机器人逻辑判断流程:6、总结及心得体会:(1)在对模块化机器人的组装调整中,我们熟悉了各种结构件的使用技巧,为设计更复杂的构型打好了基础;(2)通过“避障小车”的设计实验,我们走过了一个工程设计的简要流程,从需求分析到整体方案设计,再到设备选型和细节设计,最终完成样机调试,且这方法在工程实践中具有一定的通用性;(3)熟悉了用控制器联机调试舵机工作状态编号及其部分传感器的使用。
红外避障小车实验

红外避障小车实验报告一、实验简介在本实验中,我们在“创意之星”模块化学习套件所提供的机械构件基础上,组装出四轮驱动式小车结构。
利用机器人的控制器和系统程序,通过多传感器融合技术结合逻辑判断算法对智能小车的运行状态进行实时调控,最终实现自主探路、判断及选择正确的行进路线功能,完成自主躲避障碍物的任务。
二、实验目的(1)掌握基本构型和传感器的安装方法,并能搭建出能完成一定功能的机器人,利用创意之星组件,进行避障小车的组装,调试,利用红外传感器进行路障感应,完成避障功能。
(2)会用控制器联机调试舵机工作状态,会查询各种传感器的数据。
(3)通过 NorthStar 的流程图功能,实现简单的逻辑控制(4)能通过编程实现智能小车自主躲避障碍物的功能(5)对避障小车的避障原理有充分的理解,掌握其避障的方法,能够对实验过程中出现的问题进行解决,发现问题,解决问题。
三、实验器材计算机( 1 台);标准版控制器( 1 个);红外接近传感器( 2 个);红外测距传感器( 1 个);直流电源( 1 个);充电器( 1 个);数字舵机( 4 个);多功能调试器( 1 个);轮子( 4 个);螺丝刀( 1 个); KD ( 4 个); L3-1 ( 4 个); U3H ( 5 个);I7 ( 1 个);螺丝和垫片(若干)四、实验原理利用红外传感器,其优点是对近距离的障碍物反应速度灵敏,不同方位的传感器之间信号不会相互干扰,最终选择红外传感器作为小车的眼睛,进行避障。
由于本次实验小车轮子没有实现转弯功能,所以通过设定左右两组轮子的不同前进速度来实现转弯功能。
当向右转时,左侧轮子的速度要比右侧轮子的前进速度快,反之实现左转功能,此设计需小心谨慎,防止出现轮子不同步,无法实现转弯功能。
五、实验内容( 1 )搭建智能小车,掌握基本构型的组装方法,主要包括舵机和轮子的连接、传感器的安装以及舵机和传感器的接线( 2 )通过编程控制智能小车的前进、后退、变速以及转向( 3 )将控制策略的流程图用真正的程序语言实现,并下载到控制器上,实现智能小车自主躲避障碍物的功能六、程序设计1.程序流程图当前方没有障碍物的的时候车就一直直走。
避障小车制作讲解

智能避障小车实验报告与总结学院:机电工程学院专业年级:09级电气工程及其自动化队员姓名:智能避障小车实验报告与总结摘要:本设计制作的是单片机控制的自动避障小汽车,以单片机为小汽车的“大脑”,红外线探头为小汽车的“眼睛”,电机为小汽车的“双足”。
“大脑”控制“眼睛”去看前方是否有障碍物,当“眼睛”看到障碍后,由大脑来控制“双足”的行动方向。
从而实现小汽车的自动避障。
关键词:单片机红外线传感器避障小车一、设计任务与要求小车从无障碍地区启动前进,感应前进路线上的障碍物后,根据障碍物的位置选择下一步行进方向。
二、方案设计与论证本设计制作的是单片机控制的自动避障小汽车,以单片机为小汽车的“大脑”,红外线探头为小汽车的“眼睛”,电机为小汽车的“双足”。
“大脑”控制“眼睛”去看前方是否有障碍物,当“眼睛”看到障碍后,由大脑来控制“双足”的行动方向。
从而实现小汽车的自动避障。
电路原理简单,结构明了。
如图为整个系统的框图。
根据设计要求,我们的自动避障小车主要由六个模块构成:车体框架、主控模块、探测模块、电机驱动模块组成。
各模块分述如下:1、小车车体在设计车体框架时,我们有两套起始方案,自己制作和直接购买车身。
方案二:自己设计制作车架自己制作小车底盘,用两个直流减速电机作为主动轮,利用两电机的转速差完成直行、左转、右转、左后转、右后转、倒车等动作。
减速电机扭矩大,转速较慢,易于控制和调速,符合避障小车的要求。
而且自己制作小车框架,可以根据电路板及传感器安装需求设计空间,使得车体美观紧凑。
但这种方法费时费力且成本较高。
方案二:购买半成品小车底盘改装,此种方案方便简洁而且价格低廉,小车各个机械部分安装完整,只需稍加改装就可以使用。
而且我们主要是目的是小车控制系统的设计,因此我们采取该方案。
2、主控板小车的主控系统,即小车的大脑,我们采用了STC89C52单片机制作的最小系统。
3、避障模块避障方案选择,方案一:采用超声波避障。
红外避障小车设计1

智能红外避障小车的设计与制作以前用LM393做过红外避障小车,但避障效果不佳。
究其原因主要有两点,一是发射的红外信号未经调制探测范围窄;二是LM393本身只是个电压比较器,在输出电压翻转时没有延时,我们看到的现象就是小车在障碍物前面一前一后的瞎磨蹭,看了很是不爽。
现在介绍智能红外避障小车的设计与制作。
一.设计思想与总体方案1,设计思想小车沿直线行驶,当探测到前方有障碍物时停止,再后退,然后右转弯,最后继续前进,如此反复。
2,总体设计方案和框图本设计以AT89C2051单片机作为检测和控制核心,用红外光电开头探测障碍物,RP5履带式坦克底盘作车体。
框图如下:二.系统硬件组成及设计原理本系统硬件部分由单片机单元,红外传感器单元,电机驱动单元,蜂鸣器单元,键盘输入单元及电源单元组成。
1,单片机单元本系统采用AT89C2051单片机作为中央处理器,其主要任务是扫描键盘输入的信号启动小车,读P3.5判断前方有无障碍物,并执行相关动作(本设计中P3.5=0时,前方有障碍;P3.5=1时前方无障碍),P1.4----P1.7是电机驱动口;P3.7是蜂鸣器信号输出;P3.5接红外传感器。
2,红外传感器单元为简化硬件电路,传感器单元采用了发射/接收一体化的红外光电开头,型号E3F-DS30C4,点击图片可以查看其详细资料。
该传感器为漫反射型,使用电压范围宽(DC6V--36V),探测距离可调节,最大可达30CM,输出信号可直接与单片机的I/O口相连接。
3,电机驱动单元PR5履带式坦克底盘为双电机驱动,转弯非常灵活,本系统用常用的电机驱动集成电路L293D控制两只电机。
L293D内含2个H桥的高电压大电流双全桥式驱动器,接收标准的TTL逻辑电平信号,可驱动36V,2A以下的电机。
2,7,10,15接输入控制电平;3,6和11,14脚分别接两只电机,1,9脚接控制使能端,控制电机停转,单片机输出两组PWM信号,每一组PWM信号用来控制一个电机的转速。
红外小车避碍实验报告

车辆工程实验报告实验名称:基于Arduino的循迹小车设计姓名:邓玉兵学号:13102000指导老师:宋宇日期:2016/11/27摘要:本设计基于Arduino平台,运用红外发射检测模块让小车实现黑线循迹的功能。
黑色易吸收红外线,白色反射红外线,红外线接收管对反射回来信号进行解调,使电频发生变化。
由此,平台不断控制电机的转动情况,从而使小车沿黑线行驶。
循迹小车是Arduino单片机的一种典型应用。
设计采用Arduino单片机作为小车的控制核心,采用红外传感器作为小车的检测模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被ardiuno单片机识别的数字信号;采用H桥控制直流电机。
其中软件系统采用C程序。
关键词:Arduino红外发射检测避障驱动模块一,实验目的:熟悉arduino单片机和红外传感器,驱动模块等硬件的运用,制作基于arduino的巡线小车。
二,实验器材1、小车底盘+电机+联轴器+轮子+万向轮2、巡线传感器+arduino主控器+电机驱动板+传感器扩板3、尼龙柱+螺丝+螺母+杜邦线4、供电电池(两节3.7V 单节容量2600mah)三,实验过程1,组装小车:先将电机车轮,电池盒装入底盘,再将主板,传感器,驱动电桥,红外检测模块装上,最后由小车原理图将相关元器件用插线连接起来.小车原理图2,对驱动电桥,电机,传感器等电路模块进行硬件测试,硬件测试成功后才能进行下一步3,将编写好的程序导入至单片机4,调试小车,在有黑线的路面上进行实际测试,小车最终完成图如下:小车完成图四,实验现象红外检测模块信号灯不断闪烁,小车轻微左右摇摆,并不断沿黑线行驶.五,结论红外检测模块信号灯不断闪烁,说明红外传感器可以感知黑线位置.小车沿黑线行驶,说明单片机可以根据导入的程序和红外传感器信号不断地控制电机的转动,进而控制小车运动状态,从而使小车不断地沿黑线行驶.说明所设计的方案可以完成设计要求.六,感悟经过努力《基于Arduino的循迹小车设计》设计终于接近尾声。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
红外避障小车学校: .senxiao.学院:电子信息学院: .lovebjb.班级: 07级电子二班前言---------------------------------------------------随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。
红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。
智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。
由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。
本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。
目录前言------------------------------------------------------------------------------1目录------------------------------------------------------------------------------2摘要------------------------------------------------------------------------------3功能概述------------------------------------------------------------------------3硬件设计------------------------------------------------------------------------3避障电路------------------------------------------------------------------------4单片机电路---------------------------------------------------------------------7电机转速控制电路------------------------------------------------------------7电源电路------------------------------------------------------------------------8电机驱动电路---------------------------------------------------------------9主程序设计--------------------------------------------------------------------12小结-----------------------------------------------------------------------------23参考文献-----------------------------------------------------------------------231.【摘要】:本文提出一种智能避障小车的设计方法,利用红外技术检测障碍物信息,采用AT89S51单片机进行实时控制,实现智能避障,智能小车采用后轮驱动,两轮各用一个直流电机控制,避障用的传感器采用红外漫反射式传感器。
【关键词】: 避障光电开关差分控制 LCD2. 功能概述智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,分别控制两个轮子的转动从而达到转向的目的,后轮是万向轮,起支撑的作用。
将三个红外线光电传感器分别装在车体的左中右,当车的左边的传感器检测到障碍物时,主控芯片控制右轮电机停止左轮转动,车向右方转向,当车的右边传感器检测到障碍物时,主控芯片控制左轮电机停止转动,车向左方转向,当前面有障碍物时规定车右转。
于此同时测定速度并显示,在避障小车前进的同时从LCD点阵液晶显示器上显示小车当时速度。
在小车左转或右转时在显示器上显示出左或右。
3.硬件设计如下图所示,是本次设计智能小车的电路框图。
以AT89S51为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机。
电源部分是为整个电路模块提供电源,以便能正常工作。
4. 避障电路(1)障碍物探测方案的选择方案一:脉冲调制的反射式红外线发射接受器。
由于采用该有交流分量的调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大工作电流取决于平均电流。
如果采用占空比小的调制信号,再品均电流不变的情况下,顺势电流很大(50—100mA),则大大提高了信噪比。
并且其反应灵敏,外围电路也很简单。
它的优点是消除了外界光线的干扰提高了灵敏度。
方案二:采用超声波传感器,如果传感器接收到反射的超声波,则通知单片机前方有障碍物,如则通知单片机可以向前行驶。
市场上很多红外光电探头也都是基于这个原理。
这样不但能准确完成测量,而且能避免电路的复杂性由以上两种方案比较可知。
方案二要比方案一优势大,市场上很多红外观点探头也都基于这个原理。
其电路简单,工作可靠,性能比较稳定。
从而避免了电路的复杂性,因此我先用方案二作为小车的监测系统。
避障电路采用漫反射式光电开关进行避障。
光电开关是集发射头和接收头于一体的检测开关,其工作原理是根据发射头发出的光束,被障碍物反射,接收头据此做出判断是否有障碍物。
当有光线反射回来时,输出低电平;当没有光线反射回来时,输出高电平。
单片机根据接收头电平的高低做出相应控制,避免小车碰到障碍物,由于接收管输出TTL电平,有利于单片机对信号的处理。
光电开关工作原理:光电开关是通过把光强度的变化转换成电信号的变化来实现控制的。
光电开关在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。
避障电路如下:避障电路功能表:传感器 避障电路输出(上升沿动作)待执行命令 左 中 右 左转信号(P2.1)右转信号(P2.0)0 0 0 √ 右转0 0 1 √ 右转 0 1 0 √ 右转 0 1 1 √ 右转 1 0 0 √ 左转 1 0 1 √ 右转 11√左转.注解(“0”表示有障碍物;“1”表示无障碍物)4. 单片机电路本设计的主控芯片选择AT89S51,负责检测传感器的状态并向电机驱动电路发出动作命令。
复位电路采用手动复位。
单片机电路如下:5. 电机转速控制电路由555时基电路构成多谐振荡器提供一个 PWM信号,通过控制该.信号的占空比来实现电机调速。
阻容元件的取值初步定为图中所示。
多谐振荡器如下:其中占空比:q=(R1+Rx1)/(R1+R2+Rx)周期:T=(R1+R2+Rx)Cln26. 电源电路本系统所有芯片都需要+5V的工作电压,而干电池只能提供的电压为1.5V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,则需要LM7805稳压芯片。
L7805能提供300至500mA的电流,足以满足芯片供电的要求。
虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。
电源电路拟定为:7.电机驱动电路市场上用很多种类的小电压直流电动机,很方便的选择到。
主要有普通电动机、和步进电动机。
方案一:采用步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。
如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。
其转换灵敏度比较高。
正转、反转控制灵活。
但是步进电机的价格比较昂贵,对于我们的现状相差太远。
方案二:采用普通的直流电机。
直流电机具有优良的调速特性,调速平滑、方便。
调整围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。
能满足各种不容的特殊运行要求。
由于普通直流电机价格适宜,更易于购买,并且电路相对简单,因此采用直流电机作为动力源本设计采用差分放大驱动使电机正反转从而做到前进,左转右转。
采用四个大功率晶体管组成H桥式电路,四个大功率晶体管分为两组,交替导通和截止,用单片机控制使之工作在开关状态,进而控制电机的运行。
该控制电路由于四个大功率晶体管只工作在饱和与截止状态下,效率非常高,并且大功率晶体管开关的速度很快,稳定性也极强,是一种广泛采用的电路。
采用与门对两电机进行选择控制,从而实现前进、左转、右转。
驱动电路原路框图如下:电路图如下:注释:将圆盘12等分半径2CM,周长4*pi .用程序设定1S采集到的脉冲数可以转化为速度。
单位时间前进距离为S ,则:速度V大小为S 。
驱动状态表:注解:(“0”代表低电平“1”代表高电平)输入小车状态P1.0 P1.1 P1.2 P1.3 P1.4 P1.51 1 1 1 1 0 前进1 1 1 1 0 0 停止1 0 0 0 1 1 左转0 1 0 0 1 1 右转8. 主程序流程图源程序:RS BIT P2.2 RW BIT P2.3 E BIT P2.4ORG 0000H LJMP MAINORG 0030HMAIN: MOV P2,#0FFHMOV P1,#1FH ;前进MOV TMOD,#10HMOV R1,#0C8HSETB TR1TIME:MOV TH1,#0D8HMOV TL1,#0F0HJNB TF1,$DJNZ R1,TIMECLR TR1MOV R7, #00H ;脉冲个数MOV R1, #64HMOV TMOD, #10HSETB TR1LOOP6: MOV TH1, #08HMOV TL0, #0F0HNEXT: MOV C, 0JB TF1, LOOP7 ;判断TF1是否溢出 ORL C, P3.4JNC LOOP6 ;判断C是否为1INC R7 ;1S出现的脉冲个数JB TF1, LOOP7SJMP NEXTLOOP7: DJNZ R1, LOOP6CLR TR1CLR CMOV A,R7 ;脉冲个数乘以2ADDC A,R7MOV R7,AMOV A, #01H ;一个码格的弧长MOV B, R7MUL AB ;计算总弧长DA A ;十进制调整MOV R5, AMOV A, B ;B的值给AJNC LOOP8 ;判断十进制调整是CY有没有被置1 INC ACLR CLOOP8: DA A ;十进制调整MOV R6, AJNC LOOP9INC 70H ;十进制调整如果CY被置1,70H赋值1 CLR CLOOP9: MOV A, R6 ;解释R6,R5分别表示总长的高位和低位ANL A, #0F0H ;取R6的高四位,赋给71H SWAP AMOV 71H, AMOV A, R6ANL A, #0FH ;取R6的低四位,赋给72H MOV 72H, AMOV A, R5ANL A, #0F0H ;取R5的高四位,赋给73H SWAP AMOV 73H, AMOV A, R5ANL A, #0FH ;取R5的低四位,赋给74H MOV 73H, A/******显示前进******/MOV SP, #50HACALL INITMOV A, 10000000BACALL WC51RACALL WC51DDRMOV A, "0"ACALL WC51DDRMOV A, " "ACALL WC51DDRMOV A, "A"ACALL WC51DDRMOV A, "H"ACALL WC51DDRMOV A, "E"ACALL WC51DDRMOV A, "A"ACALL WC51DDRMOV A, "D"ACALL WC51DDRMOV A, 11000101B ACALL WC51RMOV A, 70HACALL WC51DDRMOV A, 71HACALL WC51DDRACALL WC51DDRMOV A, "."ACALL WC51DDRMOV A, 73HACALL WC51DDRMOV A, 74HACALL WC51DDRMOV C,P2.0JC LOOP1 ;判断P2.0 MOV P1,#0FH ;停车LCALL LOOP2MOV P1,#32H ;右转LCALL RIGHTLJMP LOOP4LOOP1:MOV C,P2.1JC NEXT1 ;判断P2.1 MOV P1,#0FH ;停车LCALL LOOP2MOV P1,#31H ;左转LCALL LEFT.LJMP LOOP4NEXT1:LJMP MAIN/*****停车定时*****/LOOP2:MOV TMOD,#10HMOV R0,#64HSETB TR1LOOP3:MOV TH1,#0D8HMOV TL1,#0F0HJNB TF1,$DJNZ R0,LOOP3CLR TR1RET/*****转向定时*****/LOOP4:MOV TMOD,#10HMOV R1,#0C8HSETB TR1LOOP5:MOV TH1,#0D8HMOV TL1,#0F0HJNB TF1,$DJNZ R1,LOOP5CLR TR1MOV P1,#1FH ;前进LJMP MAIN/*****显示左转*****/LEFT: MOV SP, #50HACALL INITMOV A, 10000000B ACALL WC51RMOV A, "L"ACALL WC51DDRMOV A, "E"ACALL WC51DDRMOV A, "F"ACALL WC51DDRMOV A, "T"ACALL WC51DDRRET/*****显示右转*****/RIGHT: MOV SP, #50HACALL INITMOV A, 10000000B ACALL WC51RMOV A, "R"ACALL WC51DDRMOV A, "I"ACALL WC51DDRMOV A, "G"ACALL WC51DDRMOV A, "H"ACALL WC51DDRMOV A, "T"ACALL WC51DDRRET/***********初始化子程序***********/INIT: MOV A, #00000001H ;清屏ACALL WC51RMOV A, #00111000B ;使用8位数据LCALL WC51RMOV A, #00000110B ;字符不动,光标自动右移一格 LCALL WC51R/*****检查忙子程序*****/F_BUSY:PUSH ACC ;保护现场PUSH DPHPUSH DPLPUSH PSWWAIT: CLR RSSETB RWCLR ESETB EMOV A, P1CLR EJB ACC.7,WAIT ;忙,等待POP PSW ;不忙,恢复现场 POP DPLPOP DPHPOP ACCACALL DELAYRET/*****写入命令子程序*****/WC51R: ACALL F_BUSYCLR ECLR RSCLR RWSETB EMOV P1, ACCCLR EACALL DELAYRET/*****写入数据子程序*****/WC51DDR:ACALL F_BUSYCLR ESETB RSCLR RWSETB EMOV P1, ACC CLR EACALL DELAYRET/*****延时子程序*****/DELAY: MOV R6, #5 D1: MOV R7, #248 DJNZ R7, $DJNZ R6, D1 RETEND9. 小结本文提出了一种经济实用的智能小车设计方法,给出了从硬件电路设计到软件设计的一系列步骤。