1、智能小车的实训报告智能产品设计实训报告书课程名称:智能产品设计班级:应用电子技术15级2班小组成员(学号):商育诚(39) 王少勇(91)实训项目:智能小车实训时间:2017年5月8日指导老师:何敬银老师填表日期:2017年5月14日星期日实训目的-3实训要求-3实训内容-4智能小车元器件清单-4智能小车代码-5智能小车电路图-10智能小车焊接-11智能小车模块系统详解-12实训成果展示-13收获和体会-14实训目的:制作一个基于单片机控制的智能小车,可以进行多种功能。也让我们自己学习,学习到单片机的知识和单片机编程的知识还有电阻的识别和一些电路的知识。提高了我们焊接技术和团队合作能力,增加了
2、我们制作电子产品产品的经验。这个实训还有对于一些需要进行PPT的演讲,不经给我们一个展示自己作品的平台,更重要的是给我一个增强自信心的机会,展现自己和展现自己的作品这个实训不仅让我们学会更多的知识而且还满足我们自己对自己亲自动手制作电子产品的愿望。实训要求:能够熟练对老师进行智能小车源代码的讲解,还有对于电路图的了解和电路知识的应用,还有对于另一些芯片的知识进行学习。还有熟练掌握元器件的名称大小的识别。还有在焊接过程中可以可以让我们的焊接技术更加地熟练,可以让我们的小组成员合作更好,增强了小组成员的合作默契。实训内容-智能小车元器件清单ZYJJB09-C智能循迹、避障机器人发货清单一、主控制板
3、元器件清单二、结构底板(传感器板子)元器件清单序号名称规格位号用量序号名称规格位号用量1瓷片电容104C2, C3, C4, C741电解电容10V 1000uFC112瓷片电容30pC5, C6223MM LEDF3 绿色LEDD1, D2233MM LEDF3 绿色LEDD3, D523红外接收管F3 红外接收管V3, V5,V7,V6443MM LEDF3 红色LEDD414红外发射管F3 红外接收管V2, V4,V9,V845驱动芯片L293DIC115ICLM393IC316IC座16脚IC座子16IC座DIP817单片机芯片STC89C52IC217色环电阻10KR6, R7, R
4、10, R1148IC座40脚IC座子18色环电阻220RR12, R13, R15,R1749排针4P排针P1,P2,P339色环电阻15KR16, R18210色环电阻10KR2, R3210拨动开关S1111色环电阻1.5KR8, R14211可调电阻10K 可调电阻W1, W2212插件排阻10K 排阻RX1112跳线用剪脚的电阻铁丝短路请看黑色底板上面有丝印 接跳线313插件按键6*6*5按键S211314晶振12M 晶振Z1114排针3P排针P5, P72三、额外附件清单序号名称规格备注用量序号名称规格备注用量1直流减速电机210M3*8螺丝325号4节电池盒111M3*25螺丝4
5、32P单头线7CM长212热塑管5CM长14轮子防滑圈213电机固定小板子45M3 螺帽714黑色底板(传感器板子)16有孔轮子215主板一块17无孔轮子216电机与轮子紧锁柱(黄色轮子就用M2.5*8自攻螺丝)28铁棒117说明书一张19紧锁插固定后轮218垫圈2智能小车代码#include /包含51单片机相关的头文件#include sbit xunjiLed=P21; /定义前方左侧指示灯端口sbit bizhangLed=P20; /定义前方右侧指示灯端口sbit LeftIRBZ=P11; /定义前方左侧红外探头端口sbit RightIRBZ=P10; /定义前方右侧红外探头端口
6、sbit LeftIR=P35; /定义前方左侧红外探头端口sbit RightIR=P36; /定义前方右侧红外探头端口sbit M1A=P00; /定义左侧电机驱动A端sbit M1B=P01; /定义左侧电机驱动B端sbit M2A=P02; /定义右侧电机驱动A端sbit M2B=P03; /定义右侧电机驱动B端static unsigned int LedFlash; /定义闪动频率计数变量bit EnableLight=0; /定义指示灯使能位unsigned char temp = 1;void tingzhi() M1A=0; /将M1电机A端初始化为0 M1B=0; /将M1
7、电机B端初始化为0 M2A=0; /将M2电机A端初始化为0 M2B=0;void qianjin() M1A=1; M1B=0; M2A=1; M2B=0;void houtui() M1A=0; M1B=1; M2A=0; M2B=1;void zuozhuan() M1A=0; M1B=1; M2A=1; M2B=0;void youzhuan() M1A=1; M1B=0; M2A=0; M2B=1;void Delay1ms(unsigned int i) unsigned char j,k; do j = 10; do k = 50; do _nop_(); while(-k);
8、while(-j); while(-i); void delay_nus(unsigned int i) /延时:i=12 ,i的最小延时单12 us i=i/10; while(-i); void delay_nms(unsigned int n) /延时n ms n=n+1; while(-n) delay_nus(900); /延时 1ms,同时进行补偿 void delayms(unsigned char x) /0.14mS延时程序 unsigned char i; /定义临时变量 while(x-) /延时时间循环 for (i = 0; i13; i+) /14mS延时 void
9、 Delay() /定义延时子程序 unsigned int DelayTime=30000; /定义延时时间变量 while(DelayTime-); /开始进行延时循环 return; /子程序返回void ControlCar(unsigned char ConType) /定义电机控制子程序 tingzhi(); switch(ConType) /判断用户设定电机形式 case 1: /前进 /判断用户是否选择形式1 /tingzhi(); /进入前进之前 先停止一段时间 防止电机反向电压冲击主板 导致系统复位 /Delay1ms(50); qianjin(); break; case
10、 2: /后退 /判断用户是否选择形式2 / tingzhi(); /进入后退之前 先停止一段时间 防止电机反向电压冲击主板 导致系统复位 / Delay1ms(50); houtui(); /M2电机反转 break; case 3: /左转 /判断用户是否选择形式3 /tingzhi(); /进入左转之前 先停止一段时间 防止电机反向电压冲击主板 导致系统复位 / Delay1ms(50); zuozhuan(); /M2电机正转 break; case 4: /右转 /判断用户是否选择形式4 / tingzhi(); /进入右转之前 先停止一段时间 防止电机反向电压冲击主板 导致系统复位
11、/ Delay1ms(50); youzhuan(); /M1电机正转 /M2电机反转 break; case 8: /停止 /判断用户是否选择形式8 tingzhi(); break; /退出当前选择 void ControlCar_yaokong(unsigned char ConType) /定义电机控制子程序 (红外遥控单独设置一个 switch case 语句 ) tingzhi(); switch(ConType) /判断用户设定电机形式 case 1: /前进 /判断用户是否选择形式1 tingzhi(); /进入前进之前 先停止一段时间 防止电机反向电压冲击主板 导致系统复位 Delay1ms(150); qianjin(); break; case 2: /后退 /判断用户是否选择形式2 tingzhi(); /进入后退之前 先停止一段时间 防止电机反向电压冲击主板 导致系统复位 Delay1ms(150); houtui(); /M2电机反转 break; case 3: /左转 /
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1