找回密码
 立即注册

QQ登录

只需一步,快速开始

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

我做的51单片机循迹小车 改PWM1和PWM2就可以达到理想状态对吗?

[复制链接]
跳转到指定楼层
楼主
ID:219079 发表于 2017-7-22 17:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用51做循迹小车,不知道程序错没错,我觉得改PWM1和PWM2就可以达到理想状态对吗?还有轮子的松紧会不会影响轮子的转动啊?

  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #include "xunji.h"


  4. int t=0,PWM1=10,PWM2=1;
  5. unsigned long int shijian=0;

  6. void delayms(unsigned int xms)   //误差 0us
  7. {
  8.         unsigned int i,j;
  9.     for(i=0;i<xms;i++)
  10.                 for(j=0;j<110;j++);
  11. }

  12. void Init_T0()
  13. {

  14.     TH0 = (65536-10)/256;                           //0.1ms
  15.     TL0 = (65536-10)%256;                                                                                                                                          
  16.          EA=1;        //开总中断
  17.          ET0=1;        //开定时器1中断
  18.          TR0=1;        //启动定时器1         程序开始在此等待中断
  19. }

  20. void zhi()
  21.         {
  22.         IN1=1;IN2=0;IN3=0;IN4=1;                        
  23.         }
  24.                                                                                                   
  25. void zuo()
  26.         {
  27.         IN1=0;IN2=0;IN3=0;IN4=1;                                
  28.         }
  29. void you()
  30.         {
  31.         IN1=1;IN2=0;IN3=0;IN4=0;        
  32.         }
  33.                                                                                                                                                 
  34. void ting()
  35. {
  36.                  IN1=0;
  37.                 IN2=0;
  38.                 IN3=0;
  39.                 IN4=0;
  40. }                  

  41. void  xunji()
  42. {
  43.                
  44.                 if((z==1)&&(y==0))          //  左转          (亮为高,暗为低)
  45.                 {               
  46.                         zuo();                        
  47.                         PWM1=20;   
  48.                         PWM2=20;
  49.                    }            

  50.            if((z==0)&&(y==1))           //          右转
  51.                 {                                                        
  52.                      you();
  53.                          PWM1=20;
  54.                          PWM2=20;                                                                          
  55.                 }                                                                                 
  56.                 if((z==0)&&(y==0))                     //          直走
  57.                 {                                                
  58.                      zhi();         
  59.                         PWM1=20;
  60.                         PWM2=20;
  61.                 }
  62.                 if((z==1)&&(y==1))           //          停止
  63.                 {
  64.                          ting();
  65.                         PWM1=0;
  66.                         PWM2=0;               
  67.                 }        
  68. }






  69. /************电机中短*****************/
  70. void T0_time() interrupt 1
  71. {
  72.     TH0 = (65536-10)/256;                           //0.1ms
  73.     TL0 = (65536-10)%256;
  74.            t++;
  75.            shijian++;        
  76.         if(t==100)                           //1s
  77.           t=0;                          //清零        
  78.           if(t<=PWM1)
  79.              ENA=1;                  //当计数变量小于占空比时输出高电平,大时输出低电平   
  80.            else
  81.                  ENA=0;  
  82.                                                                
  83.           if(t<=PWM2)
  84.            ENB=1;                  //当计数变量小于占空比时输出高电平,大时输出低电平      
  85.         else                          
  86.            ENB=0;         
  87.    }
复制代码




评分

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

查看全部评分

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

使用道具 举报

沙发
ID:221642 发表于 2017-7-22 22:27 | 只看该作者
你说的循迹   是黑胶带还是铁丝之类的?    改变PWM可以控制轮子的速度   轮子一定要拧紧
回复

使用道具 举报

板凳
ID:219079 发表于 2017-7-23 08:55 | 只看该作者
陶墨一 发表于 2017-7-22 22:27
你说的循迹   是黑胶带还是铁丝之类的?    改变PWM可以控制轮子的速度   轮子一定要拧紧

黑胶带,改变了pwm但经常还是会经常跑出去
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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