找回密码
 立即注册

QQ登录

只需一步,快速开始

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

新人,求教写的这个演示L298N的程序是否合理~

[复制链接]
跳转到指定楼层
楼主
ID:59027 发表于 2014-2-10 21:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>    //头文件
sbit ENA=P0^0;    /*   */
sbit IN1=P0^1;    /* 定义针脚  */
sbit IN2=P0^2;    /*   */
sbit IN3=P0^3;    /*   */
sbit IN4=P0^4;    /*   */
sbit ENB=P0^5;    /*   */
  
void MotorMoshi(unsigned nNum)   //电机转向函数
{
                 
/*此段为选择电机转向*/
switch(nNum)
  {
  case 1:    //前进
   IN1=1;
   IN3=1;
   break;
  case 2:    //后退
   IN1=0;
   IN3=0;
   break;
  case 3:    //左前
   IN1=1;
   IN3=1;
   break;
  case 4:    //左后
   IN1=0;
   IN3=1;
   break;
  case 5:    //右前
   IN1=0;
   IN3=1;
   break;
  case 6:    //右后
   IN1=0;
   IN3=0;
   break;
  case 7:    //左旋转
   IN1=0;
   IN3=1;
   break;
  case 8:    //右旋转
   IN1=1;
   IN3=0;
   break;
  }
  /*取IN1和IN3的反值*/
  if(IN1==0)
   IN2=1;
  else
   IN2=0;
  if(IN3==0)
   IN4=1;
  else
   IN4=0;
  
  /*使能ENA,ENB为1或0*/
  if((nNum==1)||(nNum==2)||(nNum==3)||(nNum==4)||(nNum==7)||(nNum==8))      
               
   ENA=1;           
  else            
   ENA=0;                        
  if((nNum==1)||(nNum==2)||(nNum==5)||(nNum==6)||(nNum==7)||(nNum==8))            
   ENB=1;     
  else         
   ENB=0;
}
void delay(void)   //延时5S
{
    unsigned char a,b;
    for(b=19;b>0;b--)
        for(a=130;a>0;a--);
}
void main(void)
{
unsigned a;
a=0;
while(1)
{
  MotorMoshi(a);
  delay();
  a++;
  if(a==9)
  {
  break;
  }
}
}

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

使用道具 举报

沙发
ID:59027 发表于 2014-2-10 21:57 | 只看该作者
还有这段能简写吗
if((nNum==1)||(nNum==2)||(nNum==3)||(nNum==4)||(nNum==7)||(nNum==8))
刚开始以为可以写成if(nNum==(1||2||3||4||7||8))
结果变成了随机
回复

使用道具 举报

板凳
ID:63747 发表于 2014-7-9 21:16 | 只看该作者
俺还没到楼主脚跟,只能仰望了~~
回复

使用道具 举报

地板
ID:63700 发表于 2014-7-10 14:44 | 只看该作者
俺还没到楼主脚跟,只能仰望了~~
回复

使用道具 举报

5#
ID:72577 发表于 2015-1-26 14:36 | 只看该作者
616001467 发表于 2014-2-10 21:57
还有这段能简写吗
if((nNum==1)||(nNum==2)||(nNum==3)||(nNum==4)||(nNum==7)||(nNum==8))
刚开始以为可 ...

直接写if(nNum)就行了
回复

使用道具 举报

6#
ID:73964 发表于 2015-3-15 07:08 来自手机 | 只看该作者
学习学习
回复

使用道具 举报

7#
ID:58502 发表于 2015-3-15 11:25 | 只看该作者
ENA和ENB那直接插上就行了啊,不用单片机来控制
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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