欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: ATMEGA168+L298控制電機正反轉的代碼與Proteus仿真 [打印本頁]

作者: 1502559011    時間: 2018-11-21 15:29
標題: ATMEGA168+L298控制電機正反轉的代碼與Proteus仿真
這是之前課程設計做的遙控小車,簡單的控制電機轉速使小車前進和后退,左轉右轉也是參考了網上別人的,有需要的可以看看,哪里有不足也請指出

ATMEGA168單片機+L298仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源碼:

int Foreward_key=2;//正轉按鈕
int Reverse_key=3;//反轉按鈕
int Stop_key=4;//停止按鈕
int Trunleft_key=0;//左轉按鈕
int Trunright_key=1;//右轉按鈕
int Foreward_led=5;//正轉指示燈
int Reverse_led=6;//反轉指示燈
int Stop_led=7;//停止指示燈
int pinI1=8;//定義電機1正轉接口
int pinI2=9;//定義電機1反轉接口
int pinI3=13;//定義電機2正轉接口
int pinI4=12;//定義電機2反轉接口
int speedpin=14;//定義EA(PWM調速)接口
int speedpin1=14;//定義EB(PWM調速)接口
void setup()
{
  pinMode(Foreward_key,INPUT);
  pinMode(Reverse_key,INPUT);
  pinMode(Trunleft_key,INPUT);
  pinMode(Trunright_key,INPUT);
  pinMode(Stop_key,INPUT);
  pinMode(Foreward_led,OUTPUT);
  pinMode(Reverse_led,OUTPUT);
  pinMode(Stop_led,OUTPUT);
  pinMode(pinI1,OUTPUT);//定義該接口為輸出接口
  pinMode(pinI2,OUTPUT);
  pinMode(pinI3,OUTPUT);//定義該接口為輸出接口
  pinMode(pinI4,OUTPUT);
  pinMode(speedpin,OUTPUT);
  pinMode(speedpin1,OUTPUT);
  digitalWrite(Foreward_led,HIGH);
  digitalWrite(Reverse_led,HIGH);
  digitalWrite(Stop_led,HIGH);
}
void loop()
{
  if(digitalRead(Foreward_key)==HIGH)//正轉
  {
    while(digitalRead(Foreward_key)==HIGH);
    digitalWrite(Foreward_led,LOW);
    digitalWrite(Reverse_led,HIGH);
    digitalWrite(Stop_led,HIGH);
    digitalWrite(pinI1,LOW);//使直流電機順時針轉
    digitalWrite(pinI2,HIGH);
    analogWrite(speedpin,100);
    digitalWrite(pinI3,LOW);//使直流電機順時針轉
    digitalWrite(pinI4,HIGH);
    analogWrite(speedpin1,100);
  }
  if(digitalRead(Reverse_key)==HIGH)//反轉
  {
    while(digitalRead(Reverse_key)==HIGH);
    digitalWrite(Foreward_led,HIGH);
    digitalWrite(Reverse_led,LOW);
    digitalWrite(Stop_led,HIGH);
    digitalWrite(pinI1,HIGH);//使直流電機逆時針轉
    digitalWrite(pinI2,LOW);
    analogWrite(speedpin,100);
    digitalWrite(pinI3,HIGH);//使直流電機逆時針轉
    digitalWrite(pinI4,LOW);
    analogWrite(speedpin1,100);

  }
  if(digitalRead(Stop_key)==HIGH)//停止
  {
    while(digitalRead(Stop_key)==HIGH);
    digitalWrite(Foreward_led,HIGH);
    digitalWrite(Reverse_led,HIGH);
    digitalWrite(Stop_led,LOW);
    digitalWrite(pinI1,LOW);//使直流電機逆時針轉
    digitalWrite(pinI2,LOW);
    analogWrite(speedpin,100);
    digitalWrite(pinI3,LOW);//使直流電機逆時針轉
    digitalWrite(pinI4,LOW);
    analogWrite(speedpin1,100);
  }
  if(digitalRead(Trunleft_key)==HIGH)//左轉
  {
    while(digitalRead(Trunleft_key)==HIGH);
    digitalWrite(Foreward_led,LOW);
    digitalWrite(Reverse_led,HIGH);
    digitalWrite(Stop_led,HIGH);
    digitalWrite(pinI1,LOW);//使直流電機順時針轉
    digitalWrite(pinI2,HIGH);
    analogWrite(speedpin,100);
    delay(120);
    digitalWrite(pinI3,LOW);//使直流電機順時針轉
    digitalWrite(pinI4,HIGH);
    analogWrite(speedpin1,100);

  }
    if(digitalRead(Trunright_key)==HIGH)//右轉
  {
    while(digitalRead(Trunright_key)==HIGH);
    digitalWrite(Foreward_led,LOW);
    digitalWrite(Reverse_led,HIGH);
    digitalWrite(Stop_led,HIGH);
    digitalWrite(pinI3,LOW);//使直流電機順時針轉
    digitalWrite(pinI4,HIGH);
    analogWrite(speedpin1,100);
    delay(120);
    digitalWrite(pinI1,LOW);//使直流電機順時針轉
    digitalWrite(pinI2,HIGH);
    analogWrite(speedpin,100);
  }

}



全部資料51hei下載地址:
小車模擬.rar (80.2 KB, 下載次數: 24)



作者: taotie    時間: 2018-11-25 22:32
嘿嘿~~仿真圖上的按鍵不帶這么玩的!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1