找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2371|回复: 0
打印 上一主题 下一主题
收起左侧

基于单片机的简易射门机器人设计论文

[复制链接]
跳转到指定楼层
楼主
ID:387608 发表于 2018-8-18 15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
引 言
1、 系统方案设计、比较与论证
1.1、寻迹线探测模块
1.2、电动机及其驱动模块的选择
1.3、信息显示模块
1.4、电源选择
2、系统总体设计方案
3、系统硬件电路设计
3.1、单片机最小系统
3.2、寻迹线探测电路设计
3.3、声控检测电路设计
3.4、光电检测乒乓球位置电路设计
3.5、 电动机驱动电路设计
4、系统软件设计
4.1、系统流程图
5 系统测试
5.1测试条件
5.2测试参数
参考文献


简易射门机器人

摘要:本设计采用了STC89C52单片机作为电动车的检测和控制核心,通过光电探头检测路面黑色寻迹线,使小车按预定轨道行驶,由光电传感器检测乒乓球位置,并进行射门。通过键盘控制和LCD12864液晶显示电路对小车的运动轨迹进行记录和显示切换,最后通过软件设计,实现了小车按轨道行驶、射门等功能。

引 言
为使机器人能在设定的场地范围内行动,能在指定区域内寻找到乒乓球,并进行射门动作,按题目要求准确运行,故采用了单片机STC89C52最小系统作为电动车的检测和控制系统。通过光电探头检测路面黑色寻迹线,使小车按预定轨道行驶。
1、 系统方案设计、比较与论证
根据题目要求分以下部分进行方案设计与论证

1.1、寻迹线探测模块
       探测路面黑色寻迹线的原理:光线照射到路面并反射,由于黑线和白纸的反射系数不同,可根据接受到反射光强弱由传感器产生高低电平并最终通过单片机判断是否到达黑线偏离跑道。
方案一:由可见光发光二极管与光敏二极管组成的发射-接收电路。该方案成本较低,易于制作,但其缺点在于周围环境光源会对光敏二极管的工作产生很大干扰,一旦外界光亮条件改变,很可能造成误判和漏判;如果采用超高亮发光管和高灵敏度光敏管可以降低一定的干扰。
                   图1  光电检测电路
方案二:自制红外探头电路。此种方法简单,价格便宜,灵敏度可调,但易受到周围环境影响,特别是较强光照对检测信号的影响,会造成系统不稳定。再加上时间有限,制作分立电路较繁琐。
基于上述考虑,为了提高系统信号采集检测的精度,我们采用方案一。
1.2、电动机及其驱动模块的选择
根据题目中小车行驶全程的时间要求,可知小车的行驶速度很慢,普通的电机很难满足此速度要求,而伺服电机可以满足此要求,伺采用脉冲控制比较容易实现起跑停,并且其具有很大的转动力矩,不会在倾斜面出现堵转情况。故我们采用伺服电机。
在选用驱动模块方面由以下两种方案:采用专用驱动芯片。该芯片集成度高,占用空间小,主要应用于电机调速场合。采用分立三极管驱动电路。经分析此机器人小车所要求的功能比较简单,不需复杂的调速,采用脉冲控制。故我们最后决定用后方案。
1.3、信息显示模块
              采用LED,缺点是占用单片机接口太多,显示信息量少,需要循环显示,占用太多程序资源。采用LCD12864,占用11个单片机接口,同时显示信息量大,灵活多变显示多种信息。因此,我们拟采用后者。
1.4、电源选择
方案一:所有器件采用单一电源(6节五号电池)。这样供电比较简单,但是由于电动机启动瞬间电流很大,会造成电压不稳、有毛刺等干扰,严重时可能会造成单片机系统掉电,使之不能完成预定行程。
方案二:单电源两路供电。电动机驱动电源采用6节五号电池无稳压供电,单片机及其外围电路电源采用5V稳压电源供电,这样两路互不影响。
根据以上综合考虑,故拟采用方案二。
经过一番仔细的论证比较,我们最终确定的系统详细方框图如下:
                图2     系统方案设计图      
2、系统总体设计方案
根据题目的基本要求,设计任务主要完成机器人在规定时间内按规定路径稳定行驶,并能进行射门,同时对行程中的有关数据进行处理显示。整个系统的模块框图如图1所示。
                     图3   系统总体设计框图
该系统主要由电动机驱动模块、寻迹线探测模块、红外避障碍、信息显示模块几个部分组成。由89C52单片机为系统控制的CPU对小车寻迹、乒乓球检测和LED显示进行控制,使小车在规定的时间内完成规定的路线,并检测乒乓球送入球门,完成题目的要求。
3、系统硬件电路设计
3.1、单片机最小系统
                       图4    单片机最小系统

该最小系统主要采用STC89C52用为电路的控制芯片。
3.2、寻迹线探测电路设计
采用光电探测器,该探头输出端只有三根线(电源线、地线、信号线),只要将信号线接在单片机的I/O口,然后不停地对该I/O口进行扫描检测,当其为低电平时则检测到白纸,否则为高电平时则检测到黑线区域。小车前进(倒退)时,始终保持黑线在车头二个传感器之间,当小车偏离黑线时,探测器一旦探测到有黑线,单片机就会按照预先编定的程序发送指令给小车的控制系统,控制系统再对小车路径予以纠正。当小车回到了轨道上时,车头两个探测器都只检测到白纸,则小车继续直线行走,否则小车会持续进行方向调整操作,直到小车恢复正常。
3.3、声控检测电路设计
电路采用LM358作为比较器。当有响声时,话筒将声音信号转换为电信号,经三极管放大,运放比较输出。因为输出信号有抖动,对单片机的接收有所干扰。考虑到I/O口接收的问题,电路多加了延时电路,能更好的防止抖动。
                  图5    声控检测电路
3.4、光电检测乒乓球位置电路设计
图6     光电乒乓球检测电路
乒乓球检测电路与寻迹电路相原相同,只是乒乓球检测电路光电传感器灵敏度不要寻迹那么灵敏。
3.5、 电动机驱动电路设计
该电路电机采用脉冲击驱动,根据脉PWM不同进而控制电机的前进和后退以及左右转向。
4、系统软件设计
4.1、系统流程图
                   图7    系统流程图

当开机时,系统上电复位,各项初始化,系统等待1秒钟,检测声控,然后进入自动运行状态。
为机器人小车运行及方向调整程序,使小车按预定路线运行,并且在小车偏离轨道后自动调整走向使小车自动返回预定路线,当检测到兵时,停两秒并声音提示,然后进行射门,并且控制LCD实时显示运行时间,轨迹,距离。
5 系统测试5.1测试条件
在指定区域内测试,指定区域用白纸铺设,黑线宽度为2cm,防守者为易拉罐,直径为5.5cm,高度为13.2cm,防守者为黑色。
乒乓球为白色,内填充物重量为45克。
5.2测试参数
5.2.1电机转速测试
函数名
运动方式
角度
速度
脉宽
脉冲数
Rotate_Left
原地左转
90
中速
1350
30


原地左转
180
中速
1350
61


原地左转
270
中速
1350
91


原地左转
360
中速
1350
121












Rotate_right
原地右转
90
中速
1650
28


原地右转
180
中速
1650
57


原地右转
270
中速
1650
87


原地右转
360
中速
1650
118












Pivot_Left
单边左转
90
中速
1350
54


单边左转
180
中速
1350
112


单边左转
270
中速
1350




单边左转
360
中速
1350














Pivot_Right
单边右转
90
中速
1650
52


单边右转
180
中速
1650
108


单边右转
270
中速
1650
164


单边右转
360
中速
1650
220
5.2.2小车行驶过程测试
次数
行驶路程
全程时间
是否有
提示音
是否显示时 间
是否显示轨迹
1
2.43m
17s
2
2.50m
18s
3
2.57m
18s
5.2.3系统误差测试
总行驶路程
2.45m±5cm
误差
±5cm
总行驶时间
17S±1S

参考文献
【1】   吴少军、刘光斌  编著《单片机实用低功耗设计》 人民邮电出版社
【2】周航慈   编著  《单片机应用程序设计》 北京航空航天大学出版社
【3】谭浩强. C语言程序设计(第二版). 北京:清华大学出版社,2000







附录:
  •          系统电路图
  •          系统软件


单片机源程序如下:
  1. #include<reg51.h> //库函数
  2. #include<delay_12t.h>//调用延时函数
  3. #include<Interrupt.h>//中断函数
  4. #include"12864.h"              //显示程序

  5. unsigned char code pic2[];               //定义地图表格

  6. uchar tr_num[]={243,245,240,249,252,241,239,247};

  7. /********特殊功能位定义********/
  8. sbit               SE_right=P3^6;                                          //右电机
  9. sbit               SE_left=P3^7;                                //左电机
  10.                                                                                                                               
  11. sbit               Road_IR_right=P1^2;                //右光电接收
  12. sbit               Road_IR_center=P1^1;               //中光电接收
  13. sbit               Road_IR_left=P1^0;                            //左光电接收

  14. sbit              key1              =P3^4;                                          //按键1
  15. sbit    key2              =P3^5;                                          //按键2

  16. sbit    Voice_IR=P1^7;                                          //声控接收            
  17. sbit               Speaker=P2^4;                                //声光报警控制

  18. sbit              Ball_IR1=P1^3;                                          //球检测到位2
  19. sbit              Ball_IR2=P1^4;                                          //球检测到位1                                                                                                                 
  20. /************end******************/

  21. /***********位定义***************************/
  22. bit Cross_flag=0;                                          //十字交点检测标志位
  23. bit Ball_OK=0;                                                        //球找到
  24. bit Ball_turn=0;                                          //带球
  25. bit Start_flag=0;                                          //启动标志位
  26. bit End_flag =0;                                          //结束标志位
  27. bit Ball_detection=0;                            //启动检测球 标志位
  28. bit Sub_flag=0;                                                        //减速标志位            
  29. bit key_flag=0;                                                        //
  30. bit key_start=0;
  31. /*************end***************************/

  32. /******全局变量声明************/
  33. uchar               motor_num=0;                            //小车速度控制
  34. uchar               road_miao=0;                            //小车行走的时间              秒
  35. uchar              road_fen=0;                                          //小车行走的时间              分
  36. uchar              Cross_num=0;                            //十字交点计数
  37. uint              Ex_num=0;                                          //进入中断次数
  38. uint              Travel_num=0;                            //路程计算
  39. uchar               End_num=0;                                          //忙区距离检测距离数

  40. /************end*******************/

  41. /************函数声明******************/
  42. void                forward(void);                                                         //小车向前行走
  43. void               backward(void);                                                        //向后走
  44. void               left_turn(uchar z);                                          //左转
  45. void               right_turn(uchar z);                            //右转
  46. void               Tracing_forward(void);                            // 寻迹检测向前
  47. void               Turn_control(void);                                          //转弯控制
  48. void               Find_ball(void);                                          //寻找球
  49. void    Start_tract();                                                        //出发函数
  50. void               display_init(void);                                          //显示初始化
  51. void               display_end(void) ;                                          //最后数据综合显示
  52. void              cease();                                                                      //小车停止
  53. void               display_end_dispose(void);  //最后显示处理优化
  54. void               keyboard();//按键扫描

  55. /*************end*********************/

  56. //******定时器0中断入口*****
  57. void to() interrupt  1
  58. {
  59.               static  unsigned char T0_num1,T0_num2,T0_num3;
  60.               TH0=(65536-10000)/256;                           
  61.               TL0=(65536-10000)%256;  

  62.               /*********行走时间计算 *****************/            
  63.               if(End_flag==0)
  64.               {
  65.                             T0_num1++;
  66.                             if(T0_num1==100) //行走时间计算
  67.                             {
  68.                                           T0_num1=0;
  69.                                           road_miao++;
  70.                                           if(road_miao==60)
  71.                                           {
  72.                                                         road_miao=0;
  73.                                                         road_fen++;            
  74.                                           }            
  75.                             }
  76.               }
  77.               /*********十字路口计数***********/
  78.               if(Cross_flag==1)              //十字路口计数
  79.               {
  80.                             T0_num2++;
  81.                             if(T0_num2==25)
  82.                             {
  83.                                           Cross_num++; //十字路口计数加1
  84.                                           picture(Cross_num);
  85.                                           Turn_control();
  86.                                           Cross_flag=0;                                                                       
  87.                                           T0_num2=0;            
  88.                             }            
  89.               }
  90.               /***************检测到球停止两秒************************/
  91.               if(Ball_OK==1&&Ball_turn==0)            
  92.               {
  93.                             T0_num3++;
  94.                             if(T0_num3==200)
  95.                             {
  96.                                           T0_num3=0;            
  97.                                           Ball_turn=1;  //准备运球
  98.                                           Speaker=1;
  99.                             }            
  100.               }            
  101. }

  102. /**********************************
  103. 函数名称:EX1() interrupt
  104. 功能    :外部中断1入口              ,用来测行
  105. 参数    :无
  106. 返回值  :无
  107. ***** ******************************/
  108. void ex2() interrupt 2 using 2
  109. {
  110. //              Travel_num+=11;            
  111.               Ex_num++;
  112.               if(Ex_num==8)
  113.               {
  114.                             Ex_num=0;
  115.               }            
  116. }

  117. /****************************************/
  118. /*                 主函数              */
  119. /****************************************/
  120. void main()
  121. {
  122.               display_init();                                          //显示初始化,启动默认模式初始化
  123.               EX_init();                                                        //外部              中断初始化
  124.               _delay_ms(1000);
  125.               while(!Voice_IR);
  126.               Start_tract();
  127.               Timer_init();                      //定时器初始化
  128.               while(1)
  129.               {
  130.                             if(End_flag==0)
  131.                             {
  132.                                           Find_ball(); //避开障碍,找到球射门
  133.                             }
  134.                             else
  135.                             if(End_flag==1&&key_start==0)
  136.                             {
  137.                                           display_end_dispose();//最后显示处理优化               
  138.                                           _delay_ms(10);
  139.                                           key_start=1;
  140.                             }
  141.                             if(key_start)
  142.                             {
  143.                                           keyboard();            
  144.                             }
  145.               }                              
  146. }

  147. /**********************************
  148. 函数名称:Forward(void)
  149. 功能    :小车向前行走
  150. 参数    :无
  151. 返回值  :无
  152. ***********************************/
  153. void  forward(void)
  154. {
  155.               SE_left=1;
  156.               _delay_us(1700);
  157.               SE_left=0;
  158.               SE_right=1;
  159.               _delay_us(1300);
  160.               SE_right=0;
  161.               _delay_ms(20);                                         
  162. }

  163. /**********************************
  164. 函数名称:Forward(void)
  165. 功能    :小车向前行走减速
  166. 参数    :无
  167. 返回值  :无
  168. ***********************************/
  169. void  forward_s(void)
  170. {
  171.               SE_left=1;
  172.               _delay_us(1680);
  173.               SE_left=0;
  174.               SE_right=1;
  175.               _delay_us(1320);
  176.               SE_right=0;
  177.               _delay_ms(20);                                         
  178. }

  179. /**********************************
  180. 函数名称:backward(void)
  181. 功能    :小车向后行走
  182. 参数    :无
  183. 返回值  :无
  184. ***********************************/
  185. void backward(void)
  186. {
  187.               SE_right=1;
  188.               _delay_us(1700);
  189.               SE_right=0;
  190.               SE_left=1;
  191.               _delay_us(1300);
  192.               SE_left=0;
  193.               _delay_ms(20);
  194. }

  195. /**********************************
  196. 函数名称:Left_turn
  197. 功能    :小车左转
  198. 参数    :z:设定旋转量
  199. 返回值  :无
  200. ***********************************/
  201. void left_turn(uchar z)
  202. {
  203.               uchar i;
  204.               for(i=z;i>0;i--)
  205.               {
  206.                             SE_left=1;
  207.                             _delay_us(1300);
  208.                             SE_left=0;
  209.                             SE_right=1;
  210.                             _delay_us(1300);
  211.                             SE_right=0;
  212.                             _delay_ms(20);
  213.               }
  214. }

  215. /**********************************
  216. 函数名称:cease()
  217. 功能    :小车停止
  218. 参数    :无
  219. 返回值  :无
  220. ***********************************/
  221. void cease()
  222. {
  223.               SE_left=1;
  224.               _delay_us(1500);
  225.               SE_left=0;
  226.               SE_right=1;
  227.               _delay_us(1500);
  228.               SE_right=0;
  229.               _delay_ms(20);            
  230. }

  231. /**********************************
  232. 函数名称:Right_turn
  233. 功能    :小车右转
  234. 参数    :z:设定旋转量
  235. 返回值  :无
  236. ***********************************/
  237. void right_turn(uchar z)
  238. {
  239.               uchar i;
  240.               for(i=z;i>0;i--)
  241.               {
  242.                             SE_left=1;
  243.                             _delay_us(1700);
  244.                             SE_left=0;
  245.                             SE_right=1;
  246.                             _delay_us(1700);
  247.                             SE_right=0;
  248.                             _delay_ms(20);
  249.               }
  250. }


  251. /**********************************
  252. 函数名称:              Tracing_forward
  253. 功能    :走黑线
  254. 参数    :无
  255. 返回值  :无
  256. ***********************************/
  257. void Tracing_forward(void)
  258. {
  259. if(Road_IR_right==0&&Road_IR_center==1&&Road_IR_left==0)
  260.               {
  261.                                if(Sub_flag)
  262.                                {
  263.                                                            forward_s();//减速            
  264.                                }
  265.                                else
  266.                                forward();
  267.               }
  268.               else
  269.               if(Road_IR_right==1&&Road_IR_center==1&&Road_IR_left==1)
  270.               {
  271.                             forward();
  272.                             Cross_flag=1;
  273.               }
  274.               else
  275.               if(Road_IR_right==1&&Road_IR_center==1&Road_IR_left==0)
  276.               {
  277.                             forward();
  278.               }
  279.               else
  280.               if(Road_IR_right==0&&Road_IR_center==1&&Road_IR_left==1)
  281.               {
  282.                             forward();
  283.               }
  284.               else
  285.               if(Road_IR_right==1&&Road_IR_center==0&&Road_IR_left==0)
  286.               {
  287.                             right_turn(2);            
  288.               }
  289.               else
  290.               if(Road_IR_right==0&&Road_IR_center==0&&Road_IR_left==1)
  291.               {
  292.                             left_turn(2);
  293.               }
  294. }

  295. /**********************************
  296. 函数名称:Start_tract
  297. 功能    :出发
  298. 参数    :z:设定旋转量
  299. 返回值  :无
  300. ***********************************/
  301. void Start_tract()
  302. {
  303.               uchar i;
  304.               while(Start_flag==0)            
  305.               {
  306.                             if(Road_IR_right==0&&Road_IR_center==0&&Road_IR_left==0)
  307.                             {
  308.                                              forward();
  309.                             }
  310.                             else
  311.                             if(Road_IR_right==1&&Road_IR_center==1&&Road_IR_left==1)
  312.                             {
  313.                                           for(i=0;i<12;i++)
  314.                                           {
  315.                                                         forward();            
  316.                                           }
  317.                                           Start_flag=1;
  318.                             }
  319.               }
  320.               left_turn(25);            
  321.               motor_num=100;
  322. }

  323. /**********************************
  324. 函数名称:Turn_control
  325. 功能    :转弯控制
  326. 参数    :无
  327. 返回值  :无
  328. ***********************************/
  329. void Turn_control(void)
  330. {
  331.               if(Cross_num==4)
  332.               {
  333.                             right_turn(22);            
  334.               }
  335.               else
  336.               if(Cross_num==6)
  337.               {
  338.                             left_turn(22);
  339.                             Ball_detection=1;
  340.                             Sub_flag=1;              //减速标志位            
  341.               }            
  342. }

  343. /**********************************
  344. 函数名称:Find_ball
  345. 功能    :寻找球
  346. 参数    :无
  347. 返回值  :无
  348. ***********************************/
  349. void Find_ball(void)
  350. {
  351.               uchar i=0;
  352.               if(Ball_OK==0)
  353.               {
  354.                             Tracing_forward();
  355.                             if(Ball_detection==1)
  356.                             {
  357.                                           if(Ball_IR1==0||Ball_IR2==0)  //检测到球
  358.                                           {
  359.                                                         Sub_flag=0;                           
  360.                                                         Cross_num++;
  361.                                                         picture(Cross_num);
  362.                                                         Speaker=0;
  363.                                                         Ball_OK=1;                                                      
  364.                                                         cease();                                            //停止两秒
  365.                                           }            
  366.                             }
  367.               }
  368.               if(Ball_turn==1&&End_flag==0)
  369.               {
  370.                             for(i=0;i<30;i++)              //后退
  371.                             {
  372.                                           backward();            
  373.                             }                           
  374.                             _delay_ms(1000);                 //后退延时,准备射门
  375.                             for(i=0;i<180;i++)               
  376.                             {
  377.                                           Tracing_forward();              //再次检测黑线,对正
  378.                             }
  379.                             for(i=0;i<125;i++)               
  380.                             {
  381.                                           forward();                               //向前
  382.                             }
  383.                             cease();   //射完门,车停
  384.                             Cross_num++;
  385.                             picture(Cross_num);                               //显示坐标
  386.                             End_flag=1;
  387.                             for(i=0;i<6;i++)
  388.                             {
  389.                                           display_twinkle();//球进,球门闪烁15次
  390.                                           Speaker=~Speaker;
  391.                             }
  392.                             Speaker=1;
  393.                            
  394.                             display_basiccls();                              //显示初始化
  395.                             display_expandcls();
  396.                             init_12864_1();
  397.               }
  398. }


  399. /**************************************
  400. 函数名:display_init()
  401. 功能  :初始化显示,显示默认模式,地图+坐标
  402. ***********************************/
  403. void display_init(void)
  404. {
  405.               Speaker=0;
  406.               _delay_ms(500);
  407.               Speaker=1;
  408.               LCD_BK=0;                                                        //开背光
  409.               init_12864_1();                                          //lcd初始化
  410.               display_basiccls();               //清屏
  411.               init_12864_2();                                            // 画图初始化
  412.               display_picture(pic4);              //初始显示
  413.               _delay_ms(4000);
  414.               init_12864_1();                                          //lcd初始化
  415.               display_basiccls();               //清屏
  416.               init_12864_2();                                            // 画图初始化
  417.               display_picture(pic2);              //显示地图              (默认显示)
  418. }

  419. /*********************************************
  420. 函数名:display_end
  421. 功能  :显示最后数据            
  422. **********************************************/
  423. void display_end(void)
  424. {
  425.               display_char(0X80,"行驶路程:");
  426.               display_char(0X90,"行驶时间:");
  427.               display_char(0X88,"行驶速度:");
  428.               display_baishige(0x80+5,(tr_num[Ex_num])); //路程显示
  429.               display_shige(0x90+5,road_fen);                                          //分显示
  430.               display_char(0X90+6," :");                                                      
  431.               display_shige(0x90+7,road_miao);                            //秒显示
  432.               display_qianbaishige(0x98+2,(tr_num[Ex_num]*10)/road_miao);                           
  433.             
  434. }

  435. /**************************************
  436. 函数名:display_end_dispose()
  437. 功能  :结束显示优化处理
  438. ***********************************/
  439. void display_end_dispose(void)
  440. {
  441.               display_end();                                         
  442. }

  443. void keyboard()
  444. {
  445.               uchar i;
  446.               if(key1==0)
  447.               {
  448.                             _delay_ms(5);
  449.                             if(key1==0)
  450.                             {
  451.                                           while(!key1);
  452.                                           key_flag=~key_flag;
  453.                             }
  454.                             if(key_flag==1)
  455.                             {
  456.                                           init_12864_1();                                          //lcd初始化
  457.                                           display_basiccls();               //清屏
  458.                                           init_12864_2();                                            // 画图初始化
  459.                                           display_picture(pic2);
  460.                                           for(i=0;i<9;i++)
  461.                                           {
  462.                                                         picture(i);
  463.                                           }
  464.                             }
  465.                             else
  466.                             if(key_flag==0)
  467.                             {
  468.                                           display_basiccls();               //清屏
  469.                                           init_12864_1();                                          //lcd初始化            
  470.                                           display_end();
  471.                             }
  472.               }
  473. }

  474. /*********行走地图****************/
  475. unsigned char code pic2[]=
  476. {
  477. 0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,
  478. 0x80,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
  479. 0x98,0x61,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
  480. 0x90,0x41,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
  481. 0x9F,0xF1,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
  482. ……………………

  483. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
简易射门机器人论文.doc (1.05 MB, 下载次数: 15)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表