小车相关论文范文资料,与焊接文摘要浙江相关论文格式模板
本论文是一篇小车相关论文格式模板,关于焊接文摘要浙江相关毕业论文的格式范文。免费优秀的关于小车及参考文献及模块方面论文范文资料,适合小车论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
容易看懂,外部扩展电路不在最小系统图上显示.)如图6.1所示图6.1最小系统的PCB板图
7程序框图:
52单片机主程序框图,障碍物感应程序框图和寻迹程序框图分别如图7.1所
图7.1程序流程图
8系统程序:
寻迹子程序:
按照预定的功能,系统实现预定的功能的程序如下所示:
voidinte_infrared(void)interrupt0
{unsignedinti,
unsignedintdatapackettemp等于0,
unsignedintdatapacketend等于0,
unsignedintdatapacketstart等于0,
decode_counter++,EX0等于0,datapacketend等于0,
if(decode_counter等于等于1)
{TR0等于1,
while(remotein等于等于1&,(TH0<,53)),//低电平
datapacketstart等于TH0,
datapacketstart等于datapacketstart<,<,8,
datapacketstart等于datapacketstart|TL0,
while(remotein等于等于0&,(TH0<,35)),//记录起始时间
while(remotein等于等于1&,(TH0<,53)),//脉冲结速
datapackettemp等于TH0,
datapackettemp等于datapackettemp<,<,8,
datapackettemp等于datapackettemp|TL0,
datapacketend等于datapackettemp-datapacketstart,
TR0等于0,TH0等于0,TL0等于0,
}//记下13.5ms的引导码
if((datapacketend<,0x34BC)&,&,(datapacketend>,0x2EE0))//确认是红外信号
{
TR0等于1,TH0等于0,TL0等于0,//确认时间
datapacket等于i等于0,//初始化
for(i等于0,i<,等于31,i++)
{TR0等于1,TH0等于0,TL0等于0,
datapackettemp等于TH0,
datapackettemp等于datapackettemp<,<,8,
datapackettemp等于datapackettemp|TL0,//已经为低电平,应该马上记下时间
while(remotein等于等于0&,(TH0<,3)),
while(remotein等于等于1&,(TH0<,9)),
datapackettemp等于TH0,
datapackettemp等于datapackettemp<,<,8,
datapackettemp等于datapackettemp|TL0,
datapacketend等于datapackettemp-datapacketstart,
if(i>,23){
if((datapacketend>,0x0630)&,&,(datapacketend<,0x08cb))//为1
{datapacket等于(datapacket<,<,1)+1,}
if((datapacketend>,0x0231)&,&,(datapacketend<,0x0465))//为零
{datapacket等于datapacket<,<,1,}
elsedatapacketend等于0,//无效操作
}
TR0等于0,TH0等于0,TL0等于0,EX0等于0,
}//endfor
}
run_key(),
TCON等于TCON&,0xfd,EX0等于1,TR0等于0,TH0等于0,TL0等于0,decode_counter等于0,
}
按键子程序:
voidrun_key()
{
switch(datapacket){
case0xfe:
ahead(0),
break,
case0xde:
right(0),
break,
case0xee:
left(0),
break,
case0xce:
stop(0),
break,
case0x7e:
flag_follow等于1,//循迹开
break,
case0x5e:
flag_follow等于0,//循迹关
default:
break,
}
datapacket等于0x00,
}
voidtime_1s()interrupt3
{
k--,
if(!k){
count_time++,
k等于4000,
count++,
if(count等于等于5)flag_display等于1,
if(count等于等于10){
flag_display等于0,
count等于0,}
}
}
voiddistance()interrupt2
{
caculate_distance等于caculate_distance+1,
}
voiddisplay_t()
{
n_1等于count_time%60%10,
n_2等于count_time%60/10,
n_3等于count_time/60%10,
n_4等于count_time/60/10,
P1_3等于0,
P0等于time[n_1],
if(flag_follow&,P2_1){left(15),ahead(0),}
delay_small(20),
P1_3等于1,
P0等于0xff,
P1_2等于0,
P0等于time[n_2],
if(flag_follow&,P2_2){right(15),ahead(0),}
delay_small(20),
P1_2等于1,
P0等于0xff,
P1_1等于0,
P0等于distance_point[n_3],
if(flag_follow&,P2_1){left(15),ahead(0),}
delay_small(20),
P1_1等于1,
P0等于0xff,
P1_0等于0,
P0等于time[n_4],
if(flag_follow&,P2_2){right(15),ahead(0),}
delay_small(20),
P1_0等于1,
P0等于0xff,
}
voiddisplay_d()
{
n_1等于caculate_distance%10,
n_2等于caculate_distance/10%10,
n_3等于caculate_distance/100%10,
n_4等于caculate_distance/1000%10,
P1_3等于0,
P0等于time[n_1],
if(flag_follow&,P2_1){left(15),ahead(0),}
delay_small(20),
P1_3等于1,
P0等于0xff,
P1_2等于0,
P0等于distance_point[n_2],
if(flag_follow&,P2_2){right(15),ahead(0),}
delay_small(20),
P1_2等于1,
P0等于0xff,
P1_1等于0,
P0等于time[n_3],
if(flag_follow&,P2_1){left(15),ahead(0),}
delay_small(20),
P1_1等于1,
P0等于0xff,
P1_0等于0,
P0等于time[n_4],
if(flag_follow&,P2_2){right(15),ahead(0),}
delay_small(20),
P1_0等于1,
P0等于0xff,
}
9调试
能正确的按照遥控指令进行启动,左转,右转,停止,在进行寻迹调试时发现在驶出轨道左面时能快速灵敏的驶回原轨道,但在驶出右面时有时不能驶回原轨道,反应不是很灵敏,后来发现右面的红外对管的反射距离没有左面的反射距离大,最后我们决定采用垫高右面的轨道来达到右面红外对管的反射距离,经过这一处理基本可以达到寻迹的要求了.
致谢
在本次设计过程中,我们小组得到了很多来自各方面的帮助,特别是左希庆老师,从最初设计方向的确立,搜集各方资料,到真正进入到软硬件实际操作,反复更正补充,修改都得到了他的全程指导.其次,感谢同学们的帮助.由于工作比较的忙,耽误了一些设计的时间,是一些同学在默默的帮助我,使我的毕业设计能够在这段期间比较成功完成.
最后,谢谢学校领导对我们毕业设计的关注
参考文献
[1]《红外技术》,吕惠智主编,哈尔滨工程大学出版社,1998年
[2]《传感器及其应用电路》,何希才主编,电子工业出版社,2001年
[3]《单片机原理及其接口技术》,胡汉才主编,清华大学出版社,1996年
[4]《单片机编程与应用入门》,杨西明主编,机械工业出版社,2005年
[5]《单片机原理与应用技术》,张友德主编,机械工业出版社,2004年
[6]《MCS-51单片机应用教程》,谭浩强主编,清华大学出版社,2000年
[7]《电路原理与电路板
小车相关论文范文资料,与焊接文摘要浙江相关论文格式模板参考文献资料: