找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3552|回复: 1
收起左侧

51单片机制作循迹小车的仿真源码与实物

[复制链接]
ID:335610 发表于 2018-5-22 14:18 | 显示全部楼层 |阅读模式
小车制作 IMG_2956.JPG

IMG_2957.JPG

QQ图片20170914181158.jpg

循迹小车电路板仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
1、设计循迹小车电路图
0.png
2、新建循迹小车工程,开始画原理图部分
3、新建原理图库和pcb库,将电路图中缺少的器件画在原理图库和pcb库中(元器件和封装),并为元器件添加相应的封装
4、调用画好的器件,继续完成原理图的绘制
5、新建PCB图,并将原理图导入到PCB图中
6、完成PCB图的绘制(包括布局,布线,覆铜等)

单片机源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar temp,signal,tt1,t0,t1,t2,t3,t4,t5,t6;

  5. sbit  D1 = P0^7;
  6. sbit  D2 = P1^3;

  7. void delay_1ms(uint d)
  8. {
  9.         uint i;
  10.         while(d--)
  11.                 for(i=0;i<75;i++);
  12. }

  13. void motor_run()                   //电机起动
  14. {
  15.           P1=0x35;
  16.         delay_1ms(200);
  17.         P1=0x53;
  18.         delay_1ms(10);

  19. }
  20. void motor_left()                         //左进
  21. {
  22.         P1=0x30;

  23.         D1=1;

  24.         delay_1ms(200);
  25.         P1=0x00;
  26.         delay_1ms(20);
  27. }

  28. void motor_right()                   //右进
  29. {
  30.         P1=0x05;
  31.         D2=1;
  32.         delay_1ms(200);
  33.         P1=0x00;
  34.         delay_1ms(20);
  35. }

  36. void motor_big_right()                         //粗右进
  37. {
  38.         P1=0x35;
  39.         D2=1;
  40.         delay_1ms(200);
  41.         P1=0x00;
  42.         delay_1ms(20);
  43. }
  44. void motor_big_left()
  45. {
  46.         P1=0x53;
  47.         D1=1;
  48.         delay_1ms(200);
  49.         P1=0x00;
  50.         delay_1ms(20);
  51. }
  52. void motor_stop()                                        //电机停止
  53. {
  54.          P1=0x00;
  55. }
  56. void motor_back()
  57. {
  58.         P1=0x53;
  59. }
  60. void main()
  61. {
  62.         signal=0xff;
  63.         while(1)
  64.         {

  65.                  temp=P2;
  66.                 if(temp!=0xff)        signal=temp&0xff;                   //得到红外反向信号
  67.                 switch(signal)
  68.                 {
  69.                         case 0xff:           //无偏差
  70.                                 motor_run();
  71.                                 break;
  72.                         case 0xfe:           //右细                       
  73.                                 motor_right();
  74.                                 break;
  75.                         case 0xfd:            //右粗                          
  76.                                 motor_big_right();
  77.                                 break;
  78.                         case 0xef:           //左细                                               
  79.                                 motor_left();
  80.                                 break;
  81.                         case 0xdf:      //左粗
  82.                                 motor_big_left();
  83.                                 break;
  84.                         default:
  85.                                 motor_back();
  86.                                 delay_1ms(200);
  87.                                 motor_run();
  88.                                 delay_1ms(200);
  89.                                 motor_stop();
  90.                                 break;
  91.                 }  
  92.         }
  93.                        
  94. }

复制代码
0.png
所有资料51hei提供下载(附件有详细的电路图和软件程序):
循迹小车制作.rar (148.38 KB, 下载次数: 44)

评分

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

查看全部评分

回复

使用道具 举报

ID:341867 发表于 2018-5-31 21:44 来自手机 | 显示全部楼层
感谢楼主资源
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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