智能循迹小车程序i
cludereg52hdefi
eucharu
sig
edchardefi
eui
tu
sig
edi
tD0D7fbaedhcg共阴依次编码74LS04反相器驱动数码管ucharcodetable100x5F0x420x9E0xD60xC30xD50xDD0x460xDF0xD7uchari0ui
tj0ui
ttime0ui
tpwm16ui
tspeedsbitRP32sbitLP33用于03数码管轮流显示计时的次数计时占空比调制PWM波的当前的值右边传感器P32左边传感器P33
电机驱动口定义sbitENBP10sbitENAP11sbitIN1P12sbitIN2P13sbitIN3P14sbitIN4P15
前轮电机停止控制使能后轮控制调速控制端口前轮前轮后轮后轮
voidI
itTMOD0x12定时器0用方式2定时器1用方式1TH0256200256pwmTL0256200256TH10x0F8定时2msTL10x30EA1ET01ET11TR01TR11voidtim0voidi
terrupt1speedifspeedpwm产生PWM
pwm就相当于占100的比例
fENA1elseifspeed100ENA0elsespeed0voidtime1i
terrupt3定时2msTH10x0F8TL10x30ii1403循环jifi0显示最低位数码管P00x00段选清零防止乱码P0tabletime10送段码信号ifi1P00x00P0tabletime1010ifi2P00x00P0tabletime10010ifi3P00x00P0tabletime100010P20x10i送位选信号ifj500time500次为1秒j0
fvoidforwardIN21IN10
前进
voidback后退IN20IN11voidleft左转ENB1打开使能IN31IN40voidright右转ENB1打开使能IN30IN41voidstop停止IN20IN10IN30IN40voidmai
I
it定时器初始化while1ifR0L1右传感器检测到黑线right右转forwardwhileR0L1ifR1L0左传感器检测到黑线left
fforwardwhileR1L0ifR0L0stopj0elseENB0forward都检测到黑线则停止
定时器仍在工作,计数时间清空都没有检测到黑线关闭转向控制
fr