找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机循迹小车 PWM 红外

[复制链接]
跳转到指定楼层
楼主
ID:596946 发表于 2019-8-7 15:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REGX51.H>

sbit out1 = P1^0;
sbit out2 = P1^1;

sbit PWMA  = P2^0;
sbit PWMB  = P2^1;
sbit AIN1  = P2^2;
sbit AIN2  = P2^3;
sbit BIN1  = P2^4;
sbit BIN2  = P2^5;
sbit STBY = P2^6;
unsigned char flag;
unsigned char model;
void init()
{
   TMOD = 0X01;
   TH0 = (65535 - 10) / 256;
   TL0 = (65535 - 10) % 256;
   TR0 = 1;
   EA = 1;
   ET0 = 1;
}

void main()
{
   init();
   while(1)
   {
            STBY = 1;
         AIN1 = 1;
         AIN2 = 0;
         BIN1 = 1;
         BIN2 = 0;
         if(out1 == 0 && out2 == 0)
         {
          flag = 50;
          model = 0;
         }

         if(out1 == 0 && out2 == 1)
         {
           flag =30;
           model = 1;
         }

         if(out1 == 1 && out2 == 0)
         {
           flag = 30;
           model = 2;
         }

         if(out1 == 1 && out2 == 1)
         {
           PWMA = 0;
           PWMB = 0;
         }
   }
}

void timer0() interrupt 1
{                                
  static unsigned char PWMflag = 0;
  static int time;
   TH0 = (65535 - 200) / 256;
   TL0 = (65535 - 200) % 256;
   time ++;
   if(time == 1000)
   {
    time = 0;
        PWMflag ++;
        if(PWMflag == 100)PWMflag = 0;
        }
  if(model == 0)
  {
     if(PWMflag<flag)
          {
                  PWMA = 1;
                PWMB = 1;
          }
          else
          {
                  PWMA = 0;
                PWMB = 0;
          }
  }
  if(model == 1)
  {
           if(PWMflag<flag)
         {
                 PWMA = 1;
                PWMB = 0;
         }
         else
         {
                 PWMA = 0;
                PWMB = 0;
         }
  }
         if(model == 2)
         {
                 if(PWMflag<flag)
                {
                   PWMA = 0;
                   PWMB = 1;
                }
                else
                {
                         PWMA = 0;
                    PWMB = 0;
                }
         }




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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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