红外避障传感器原理图
- 格式:doc
- 大小:91.01 KB
- 文档页数:8
光电传感器一、反射式光电传感器简介反射式光电传感器在机器人中有着广泛的应用。
可以用来检测地面明暗和颜色的变化,也可以探测有无接近的物体。
这种光电传感器的基本原理是,自带一个光源和一个光接收装置,光源发出的光经过待测物体的反射被光敏元件接收,再经过相关电路的处理得到所需要的信息。
相应的,光谱范围,灵敏度,抗干扰能力,输出特性等都是反射式光电传感器的重要参数。
二、简单比较型光电传感器在上左图中,JP1是光电管,接收光强在上面转换成电流,在R上成为电压信号,与RA1的标准值进行比较,从LM339输出逻辑电平给单片机。
R越大,光电流产生的电压变化越大,传感器也就越灵敏。
但是若R过大,当光比较强的时候,R上的电压会达到VCC而不再变化,这就是所谓的饱和。
在这种比较型的传感器电路中,饱和只会使强光与强光难以分辨,但仍可以区分强光和弱光,它并不是影响比较结果的重要因素。
但在后面介绍的几种调制型传感器中,饱和是必须避免的,因为它会掩盖交流分量。
高灵敏度和饱和是一对矛盾,在后面提到了一些相关的解决方案。
LM339是开路输出的,10K的电阻是为了使输出电压正确。
如果后面是51之类开路输入的单片机,这个电阻可以省略。
假如把光敏管放在下边,电阻放在上边。
这样当光线较暗时比较器输入电压接近VCC,超过比较器LM339能够正常工作的最高输入电压Vm,比较器不能正常工作(LM339的共模输入电压最低能低到0,但是最高达不到VCC),因此灵敏度做不高。
为了使比较器正常工作,电阻值应使得光照时比较器输入电压Vi大幅下降,满足VCC-I*R<Vm(I是光电流),就是I*R>VCC-Vm。
这样,光再强一点,I*R接近VCC,Vi 就会降到0附近,光敏管就会饱和,降低了区分颜色的可靠性。
而现在把光敏管放在上边,电阻放在下边,就可以解决这个问题:这时Vi=I*R,使用较小的R可以保证Vi<Vm<VCC,不会发生电压范围溢出或者光敏管饱和。
二.红外避障传感器避障传感器主要包括:超声波避障传感器,红外避障传感器,激光避障传感器等等。
1.可以希望在相当短的时间内获得较多的红外传感器测量值以及测距范考虑到发射光线是光,30cm以内,所以我们选择红外避障传感器安装在机器人上。
围较近,大致为 2.红外避障传感器的优点:1)环境适应性好,在夜间和恶劣气象条件下的工作能力优于可见光;(2)被动式工作,隐蔽性好,不易被干扰;()靠目标和背景之间各部分的温度和发射率形成的红外辐射差进行探测,因而识别伪装(3 目标的能力优于可见光;)红外系统的体积小、质量轻、功耗低;(4 )不受电磁波的干扰、非噪声源、可实现非接触性测量。
(5 红外避障传感器的不足: 3.周围的光线都能导方向、由于传感器测量光的差异,其受环境的影响非常大,物体的颜色、致较大的测量误差。
工作原理: 4. )红外避障传感器:(1接收管接收这发射管发射一定频率的红外信号,具有一对红外信号发射与接收二极管,红外信号反射回来被接当传感器的检测方向遇到障碍物(反射面)时,种频率的红外信号,机器人即可利用红外波经过处理之后,通过数字传感器接口返回到机器人主机,收管接收,的返回信号来识别周围环境的变化。
光学系统按结构不同可分为透射式红外线传感器包括光学系统、检测元件和转换电路。
热敏元件应用最和反射式两类。
检测元件按工作原理可分为热敏检测元件和光电检测元件。
通过转换电路变成热敏电阻受到红外线辐射时温度升高,电阻发生变化,多的是热敏电阻。
电信号输出。
)热敏检测元件(2 热阻效应:物质的电阻率随温度变化的物理现象叫热阻效应。
金属热电阻的电阻值和温度一般可以用以下的近似关系式表示,即)t0]Rt=Rt0[1+α(t-为温度系α(通常t0=0℃)时对应电阻值;Rt0Rt式中,为温度t时的阻值;为温度t0 数。
半导体热敏电阻的阻值和温度关系为Rt=AeB/t 取决于半导体材料的结构的常数。
B、A时的阻值;t为温度为Rt式中(3)光电检测元件光电效应:在高于某特定频率的电磁波照射下,某些物质内部的电子会被光子激发出来而形成电流,即光生电,分为外光电效应和内光电效应。
LM393红外避障模块电原理图LM393红外避障模块电原理图模块电原理图模块描述该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3V-5V。
该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。
模块参数说明1 当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离2~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。
2、传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。
其中黑色探测距离小,白色大;小面积物体距离小,大面积距离大。
3、传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器;连接方式:VCC-VCC;GND-GND;OUT-IO4、比较器采用LM393,工作稳定;5、可采用3-5V直流电源对模块进行供电。
当电源接通时,红色电源指示灯点亮;6、具有3mm的螺丝孔,便于固定、安装;7、电路板尺寸:3.2CM*1.4CM8、模块已经将阈值比较电压通过电位器调节好,非特殊情况,请勿随意调节电位器。
模块接口说明1 VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)2 GND 外接GND3 OUT 小板数字量输出接口(0和1)4.工作电流是10ma以内如图所示壁障传感器模块。
TCRT5000红外反射式开关传感器寻黑白线循迹模块避障小车寻迹TCRT5000一体化光电传感器,具有抗干扰性强,使用方便等优点,是寻迹智能小车必备,检测距离10MM,多路可以适应多种黑线轨道,输入电压5V,黑线输出0V,白线输出5V,数字量输出,+:接直流DC5V正极-:接直流DC5V负极S:信号输出端,光敏三极管饱和,此时模块的输出端为高电平,指示二极管被点亮。
概述TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。
传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。
应用场合:1.电度表脉冲数据采样2.传真机碎纸机纸张检测3.障碍检测4.黑白线检测基本参数:1.外形尺寸:长32mm~37 mm;宽7.5mm;厚2mm2.工作电压:DC 3V~5.5V,推荐工作电压为5V3.检测距离:1mm~8mm适用,焦点距离为2.5mm模块原理和应用电路原理图:图 1 TCRT5000传感器模块电路原理图传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平,指示二极管被点亮。
驱动芯片:L298N双H桥驱动芯片2.驱动部分端子供电范围Vs:+5V~+35V;如需要板内输出5V,则供电范围Vs:+7V~+35V3.驱动部分峰值电流Io:2A4.逻辑部分端子供电范围Vss:+5V~+7V(可板内取电+5V)5.逻辑部分工作电流范围:0~36mA6.控制信号输入电压范围:低电平:-0.3V≤Vin≤1.5V高电平:2.3V≤Vin≤Vss7.最大功耗:20W(温度T=75℃时)8.存储温度:-25℃~+130℃9.驱动板尺寸:55mm*49mm*33mm(带固定铜柱和散热片高度)10.驱动板重量:33g11.其他扩展:控制方向指示灯、逻辑部分板内取电接口。
光电传感器一、反射式光电传感器简介反射式光电传感器在机器人中有着广泛的应用。
可以用来检测地面明暗和颜色的变化,也可以探测有无接近的物体。
这种光电传感器的基本原理是,自带一个光源和一个光接收装置,光源发出的光经过待测物体的反射被光敏元件接收,再经过相关电路的处理得到所需要的信息。
相应的,光谱范围,灵敏度,抗干扰能力,输出特性等都是反射式光电传感器的重要参数。
二、简单比较型光电传感器在上左图中,JP1是光电管,接收光强在上面转换成电流,在R上成为电压信号,与RA1的标准值进行比较,从LM339输出逻辑电平给单片机。
R越大,光电流产生的电压变化越大,传感器也就越灵敏。
但是若R过大,当光比较强的时候,R上的电压会达到VCC而不再变化,这就是所谓的饱和。
在这种比较型的传感器电路中,饱和只会使强光与强光难以分辨,但仍可以区分强光和弱光,它并不是影响比较结果的重要因素。
但在后面介绍的几种调制型传感器中,饱和是必须避免的,因为它会掩盖交流分量。
高灵敏度和饱和是一对矛盾,在后面提到了一些相关的解决方案。
LM339是开路输出的,10K的电阻是为了使输出电压正确。
如果后面是51之类开路输入的单片机,这个电阻可以省略。
假如把光敏管放在下边,电阻放在上边。
这样当光线较暗时比较器输入电压接近VCC,超过比较器LM339能够正常工作的最高输入电压Vm,比较器不能正常工作(LM339的共模输入电压最低能低到0,但是最高达不到VCC),因此灵敏度做不高。
为了使比较器正常工作,电阻值应使得光照时比较器输入电压Vi大幅下降,满足VCC-I*R<Vm(I是光电流),就是I*R>VCC-Vm。
这样,光再强一点,I*R接近VCC,Vi 就会降到0附近,光敏管就会饱和,降低了区分颜色的可靠性。
而现在把光敏管放在上边,电阻放在下边,就可以解决这个问题:这时Vi=I*R,使用较小的R可以保证Vi<Vm<VCC,不会发生电压范围溢出或者光敏管饱和。
二.红外避障传感器1.避障传感器主要包括:超声波避障传感器,红外避障传感器,激光避障传感器等等。
考虑到发射光线是光,可以希望在相当短的时间内获得较多的红外传感器测量值以及测距范围较近,大致为30cm以内,所以我们选择红外避障传感器安装在机器人上。
2.红外避障传感器的优点:(1)环境适应性好,在夜间和恶劣气象条件下的工作能力优于可见光;(2)被动式工作,隐蔽性好,不易被干扰;(3)靠目标和背景之间各部分的温度和发射率形成的红外辐射差进行探测,因而识别伪装目标的能力优于可见光;(4)红外系统的体积小、质量轻、功耗低;(5)不受电磁波的干扰、非噪声源、可实现非接触性测量。
3.4.(1检测(2式中(3即光生(4红外发射二极管分为很多种。
红外发射二极管一般按峰值波长(λp)主要为:850nm、870nm、880nm、940nm、980nm,现在市场上使用较多为850nm和940nm两种。
本次设计所使用的是峰值波长为940nm的红外发射二极管。
940nm红外发射二极管优点:光强度高,响应速度快,可用脉冲驱动,无色透明环氧树脂。
其主要应用领域:红外遥控系统,红外探测系统,红外幕墙保安系统,磁带、光盘监测器,光电开关/光传感器,主动红外夜视仪,电脑、手机等便携设备的红外数据传输系统。
在使用红外发射二极管时,发射管的辐射强度(Power)与输入电流(If)成正比。
辐射强度:Power(单位:W,W/sr,W/cm2),用以表示红外线发光二极管(IR)其辐射红外线能量之大小。
发射距离与辐射强度(Power)成正比。
W/sr:表示红外线辐射强度的单位,为IR发射红外线光之单位立体角(sr)所辐射出的光功率的大小。
W/cm2:表示照度的单位,为sensor单位面积(cm2)所接收IR发射之辐射功率的大小。
半功率角:2θ?指红外线二极管其上下或左右两边所辐射出之红外线强度为该组件最大辐射强度的50%时,其上下或左右两边所夹的角度称为半功率角。
红外避障传感器原理一、红外避障传感器原理红外避障传感器是一种非接触式无损伤传感器,能够检测物体的位置和运动方向,最常用的是发射红外线和接收红外线来实现运动物体的避障。
红外避障传感器包括发射器和接收器,发射器发射出一束红外线,照射到要检测的物体,当物体处在红外线照射范围内,发射器能接收到红外线,这时接收器将发出报警信号提醒运动物体,从而避免发生安全事故。
红外避障传感器可以检测物体的位置和移动方向,在自动化装置的设计中得到了广泛应用,如机器人的避障,自动门的开启,智能家居的安全报警系统等,具有检测距离远,无损伤、不受环境影响、安全可靠等优点。
二、红外避障传感器结构红外避障传感器结构主要包括红外发射模块、红外接收模块和控制模块。
1、红外发射模块:由LED发射红外线,控制LED发射的红外线照射到物体,当物体处在红外线照射范围内时,红外线就会被反射或吸收。
2、红外接收模块:由探测器接收红外线,探测器是一种特殊的电路,能够探测物体是否处在红外线照射范围内,探测器还可以测量物体的距离,检测物体的运动方向等。
3、控制模块:由控制器控制LED的开启,检测物体的情况,当发现物体处在红外线照射范围内时,控制器会发出报警信号提醒运动物体,从而避免发生安全事故。
三、红外避障传感器应用1、机器人避障:红外避障传感器可以用于机器人的避障,在机器人运动的过程中,可以检测到物体的位置,当发现物体处在红外线照射范围内,控制器会发出报警信号提醒机器人,从而避免发生安全事故。
2、自动门:红外避障传感器也可以用于自动开启门,在门的两侧安装红外避障传感器,当探测到物体出现在红外线照射范围内时,通过控制模块自动开启门,方便人们的出入。
3、智能家居:红外避障传感器还可以用于智能家居的安全报警系统,当发现有人破门入室时,报警器会发出警报,保护家庭安全。
红外避障电路(LM567ban)D1发射红外线,D2接收红外信号。
LM567第⑤、⑥脚为译码中心频率设定端,一般通过调整其外接可变电阻W改变捕捉的中心频率。
图中红外载波信号来自LM567的第5角,也即载波信号与捕捉中心频率一致,能够极大的提高抗干扰特性。
音频译码器LM567作用器要领1、LM567输出部分与普通数字IC等有所不同,其内部是一个集电极开路的NPN型三极管,使用时,⑧脚与正电源间必须接一电阻或者其它负载,才能保证IC译码后输出低电平。
2、实验表明:LM567接通电源瞬间,⑧脚会输出一低电平脉冲。
因此,用于作遥控器译码控制时,应在输出端后加装RC积分延时电路,以免每次断电后,重新复电时产生误动作。
3、LM567第⑤、⑥脚为译码中心频率设定端,一般通过调整其外接可变电阻W改变频率,经笔者实验发现,当W阻值变为0Ω或无限大时,⑧脚电平状态即使无信号输入时也会变为低电平,因此,在调整W时,不能使其短路或开路。
4、LM567的工作电压对译码器的中心频率有所影响,故最好采用稳压供电。
5、LM567②脚外接电容决定着锁相环捕捉带宽,容量越小,捕捉带宽越宽,但使用时,不可为增大捕捉带宽而一味减小电容容量,否则,不但会降低抗干扰能力,严重时还会出现误触发现象,降低整机的可靠性1. 概述集成锁相环路解码器LM567是美国国家半导体公司生产的56系列集成锁相环路中的一种,其同类产品还有美国Signetics公司的SE567/INE567等。
LM567是一个高稳定性的低频集成锁相环路解码器,由于其良好的噪声抑制能力和中心频率稳定性而被广泛应用于各种通讯设备中的解码以及AM、FM信号的解调电路中。
2. LM567内部结构及工作原理LM567为8脚直插式封装,其内部结构、引脚定义及外围元件连接方法如图1所示。
LM567内部包含了两个鉴相器PD1及PD2、放大器AMP、电压控制振荡器VCO等单元电路。
鉴相器PD1、PD2均采用双平衡模拟乘法器电路,在输入小信号情况下(约几十mV),其输出为正弦鉴相特性,而在输入大信号情况下(几百mV以上),其输出转变为线性(三角)鉴相特性。
红外避障传感器简介红外避障传感器介绍(反射型)日期:2006-5-16 14:05:14 来源: 点击: 1572 添加到收藏夹实图:技术指标:主体外形尺寸:23×15.3×15.1mm(长×宽×高)重量:7g额定电压:直流电源5.0V检测范围(反射面为白色木板):1~ 40cm(挡板为白色时检测距离在40cm时达到临界点,超过此数值后检测效果变差)调节方式:多圈电阻式调节,逆时针方向旋转功率变小,顺时针方向旋转功率变大返回值:有信号(高电平)返回值为“1”,无信号(低电平)返回值为“0” 状态指示方式:检测到信号指示灯亮红灯,无信号不亮安装方式:单颗Ø3螺丝安装线长:17.4cm?0.2cm(有效距离)连接方式:单条3芯排线,2510型3脚插头有效角度:30:左右原理与功能红外避障传感器(以下简称红外)。
红外具有一对红外信号发射与接收二极管,发射管发射一定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物(反射面)时,红外信号反射回来被接收管接收,经过处理之后,通过数字传感器接口返回到机器人主机,机器人即可利用红外波的返回信号来识别周围环境的变化。
应用介绍:红外是通过发射端发射红外信号,接收端接收由障碍物反射回来的红外信号,来判断是否有障碍物。
项目应用红外避障传感器在很多项目中都有使用。
在初中灭火、高中搜救项目中,机器人可以通过红外避障传感器走迷宫;在轨迹项目中,机器人可以通过黑、白色对红外线的反射和吸收值不同而用红外避障传感器来识别黑色的轨迹线。
注意事项:1、红外是数字传感器,红外接收管只有在接收到一定强度的红外信号时才会有数值的变化。
障碍物(反射面)太小时,红外会检测不到;障碍物(反射面)颜色为黑色或深色时,会被吸收大部分的红外信号,而只反射回一小部分,导致红外接收管接收到的红外信号强度不够,不足以产生有障碍物(反射面)的信号。
一、实验原理:避障传感器基本原理,和循迹传感器工作原理基本相同,利用物体的反射性质。
在一定范围内,如果没有障碍物,发射出去的红外线,因为传播距离越远而逐渐减弱,最后消失。
如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头。
传感器检测到这一信号,就可以确认正前方有障碍物,并送给单片机,单片机进行一系列的处理分析,协调小车两轮工作,完成一个漂亮的躲避障碍物动作,传感器原理图如图6。
图6 红外避障传感器原理图二、实验接线:实验时只需把信号输出端(signal)与单片机的P1^0口相连。
VCC端接5V电源,GND接电源负极或单片机上的逻辑地。
注意:如果对红外避障传感器的使能感兴趣,可以把传感器的TC端接单片机的I/O口,通过控制TC实现是否开启红外避障传感器,当TC 为高电平时传感器工作,为低电平时,传感器关闭,参照图7。
三、实验任务:1、把红外避障传感器固定在小车的正前方,接好线。
注意:红外传感器的避障距离也是可调,调节滑动变阻器可以调节避障距离。
2、编制程序,实现小车检测到前方有障碍物时,向左转弯,再检测,没有障碍物,继续前进,有障碍物,继续左转弯。
图7 避障传感器与单片机连接图四、红外避障传感器电路分析:电路中HEF4011BT是一个4通道2输入与非门。
455是晶振,它产生38k的方波,HEF4024BT是7位二进制计数器,38k的方波作为计数器HEF4024BT的时钟输入。
HEF4024BT的O2与O3接与非门加一个非门去控制HEF4024BT的复位端。
也就是说当HEF4024BT计数到第四位与第三位同时为1时,HEF4024BT就会被清零。
同时当HEF4024BT的O3为1时,HEF4011BT的O4为低电平,触发红外发光二极管发送信号。
当HEF4024BT的O3为0时,HEF4011BT的O4为高电平,关闭发光二极管,这段时间为4个方波周期。
也就实现了38k载波调制的红外。
接收头是红外线一体化接收头是集红外接收、放大、滤波和比较器输出的模块。
当收到信号时,OUT端输出低电平,LEDR被点亮,指示收到信号,前方有障碍物。
没有收到信号,OUT端输出反之。
五、实验源程序:/************************************************************* ******模块名称:007.c功能:小车躲避障碍物。
说明:通过定时器0产生PWM调速。
设计时间:2009.09.15版本号:************************************************************** *******/#define uchar unsigned char#define uint unsigned int#define MOTOR_C P0 //P0口作为电机的控制口。
#define SIGNAL P1 //P2口的低两位为循迹传感器输入口。
#define SHELVES 25 //速度总档数。
#define BACK 0xA5 //后退#define FORWARD 0xC6 //前进sbit PWM_R = P0^7; //右电机PWM输入口sbit PWM_L = P0^2; //左电机PWM输入口void timer_init( void ); //定时器初始化函数。
void left( void ); //右转弯函数。
void left( void ); //左转弯函数。
void forward( void ); //前进函数。
uchar percent_l = 0; //左轮占空比uchar percent_r = 0; //右轮占空比uint run_time = 0; //车轮运行一步的时间/************************************************************* *******说明:无入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/{TMOD = 0x02; //定时器0工作在方式2,定时值自动重载,启动仅受TR0的控制。
TH0 = 256 - 200; //定时周期为200us * SHELVESEA = 1; //开总中断。
ET0 = 1; //开定时器0中断。
TR0 = 1; //启动定时器0。
}/************************************************************* *******说明:通过控制左右轮不同的占空比,实现左右转。
入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/{// timer_init(); //初始化定时器0。
MOTOR_C = FORWARD; //方向向前percent_r = 0; //右轮速度慢。
percent_l = 4; //左轮速度快。
}/************************************************************* *******说明:通过控制左右轮不同的占空比,实现左右转。
入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/{// timer_init(); //初始化定时器0。
MOTOR_C = FORWARD; //方向向前percent_r = 4; //右轮速度快。
percent_l = 2; //左轮速度慢。
}/************************************************************* *******说明:入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/{// timer_init(); //初始化定时器0。
MOTOR_C = FORWARD; //方向向前percent_r = 3; //右轮同速度。
percent_l = 3; //左轮同速度。
}/************************************************************* *******说明:入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/{// timer_init(); //初始化定时器0。
MOTOR_C = BACK; //方向向前percent_r = 3; //右轮同速度。
percent_l = 3; //左轮同速度。
}/************************************************************* *******功能:停车说明:入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/void stop( void ){// timer_init(); //初始化定时器0。
MOTOR_C = FORWARD; //方向向前percent_r = 0; //右轮零速度。
percent_l = 0; //左轮零速度。
}/************************************************************* *******函数名:uchar check_sig()功能:检测信号,并返回信号代码。
说明:入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/uchar check_sig( void ){uchar temp = 0;temp = SIGNAL & 0x01; //信号输入口就只有低两位,得到信号码。
return temp;}/************************************************************* *******函数名:avoid()功能:实现避障功能。
说明:对采集的信号进行分析,转换为对电机的控制。
入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/void avoid( void ){uchar sig = 0; //存储采集的信号timer_init(); //初始化定时器0while( 1 ){run_time = 0; //清计时器,重新开始。
sig = check_sig(); //存储信号码switch( sig ){case 1: //没有检测到障碍物。
forward();break;case 0: //检测到障碍物,首先小车倒退一段距离,让后左转弯,最后继续前进。
back();while(run_time < 350); //决定后退的时间。
run_time = 0;left();while(run_time < 180); //决定左转弯角度。
run_time = 0;forward();break;default:break;}while(run_time < 3); //运行一步,时间为3*5ms}}/************************************************************* *******函数名:timer_zero()功能:定时器0中断服务函数说明:无入口参数:无返回值:无设计:tongwei 日期:2009.09.15修改:日期:************************************************************** *********/void timer_zero( void ) interrupt 1{static uchar temp = 0; //中断次数计数,EA = 0; //关总中断,屏蔽其他中断。