標(biāo)題: 基于單片機(jī)的298電機(jī)按鍵正反轉(zhuǎn)并且可以調(diào)速 [打印本頁]

作者: 褪色的誓言    時(shí)間: 2019-7-7 17:05
標(biāo)題: 基于單片機(jī)的298電機(jī)按鍵正反轉(zhuǎn)并且可以調(diào)速
//解釋下載可見

#include<reg52.h>

#define uchar unsigned char
#define uint unsigned int
sbit IN1=P3^7;
sbit IN2=P3^6;
sbit IN3=P3^1;      //????k3?P3^5
sbit IN4=P3^0;
sbit ENA=P1^7;      //???
sbit ENB=P1^6;      //???
sbit k6=P3^2;      
sbit k5=P3^3;
sbit k4=P3^4;      //????     //??????????ε?????????
sbit k3=P3^5;      //????
uchar pwm_count,count;
void delay(uint z)
{   
uint x,y;
for(x=100;x>0;x--)
     for(y=z;y>0;y--);
}
void Init()
{
count=0;
pwm_count=1;
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
}
void keyscan()
{
if(k6==0)       //??????
{
  delay(5);
  if(k6==0)
  {
    IN2=1;
   IN1=0;
  }
  while(!k6);
}
if(k5==0)         //??????
{
  delay(5);
  if(k5==0)
  {
    IN2=0;
   IN1=1;
  }
  while(!k5);
}
if(k4==0)      
{
  delay(5);
  if(k4==0)
  {
   count=0;
    pwm_count++;
   if(pwm_count==41)
   {
    pwm_count=40;        //
   }
   
   
  }
  while(!k4);
}
if(k3==0)      
{
  delay(5);
  if(k3==0)
  {
   count=0;
    pwm_count--;
   if(pwm_count==0)
   {
    pwm_count=1;          //?????
   }   
  }
  while(!k3);
}
}
void main()
{
Init();
while(1)
{
  keyscan();
}
}
void Timer0() interrupt 1
{
TR0=0;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
if(count<pwm_count)
{
  ENA=1;
}
else
{
  ENA=0;
}
count++;
if(count==40)
{
  count=0;
}
TR0=1;  
}



作者: admin    時(shí)間: 2019-7-7 22:42
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者: 褪色的誓言    時(shí)間: 2019-7-11 10:51


作者: 褪色的誓言    時(shí)間: 2019-7-11 10:54
這是按鍵模塊,IO口如下使用L298N來驅(qū)動(dòng)模塊,L298N模塊的接線可以按照我這個(gè)或者按照你的意愿接。








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