找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2031|回復(fù): 0
收起左側(cè)

簡單的51直流電機控制

[復(fù)制鏈接]
ID:254794 發(fā)表于 2017-11-28 17:29 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
sbit Key_UP=P3^2;   //正轉(zhuǎn)按鍵 對應(yīng)實驗板上的K1
sbit Key_DOWN=P3^3;//反轉(zhuǎn)按鍵  對應(yīng)實驗板上的K2
sbit Key_STOP=P3^4;//停止鍵    對應(yīng)實驗板上的K3
sbit ZZ=P1^0;//控制端
sbit FZ=P1^1;//控制端
sbit BEEP = P3^6; //蜂鳴器控制端口P36
unsigned char KeyV,TempKeyV;                                                           
void Delay(unsigned int ii)
{
unsigned int jj;
for(;ii>0;ii--)
for(jj=0;jj<125;jj++)
{;}
}
/*********************************************************/
void beep()                //蜂鳴器響一聲函數(shù)
{
  unsigned char i;
  for (i=0;i<100;i++)
   {
   Delay(1);
   BEEP=!BEEP;       //BEEP取反
   }
   BEEP=1;           //關(guān)閉蜂鳴器
   Delay(250);       //延時     
}
void main()
{
   FZ=1;
   ZZ=1;
while(1){
        if (!Key_UP)
    KeyV = 1;
  if (!Key_DOWN)
    KeyV = 2;
            if (!Key_STOP)
    KeyV = 3;
   if (KeyV!= 0)     
    {
      Delay(10);   
      if (!Key_UP)
        TempKeyV = 1;       
      if (!Key_DOWN)
        TempKeyV = 2;       
      if (!Key_STOP)
        TempKeyV = 3;
                 if (KeyV == TempKeyV)  
           {
                 
                      if (KeyV == 1){
                    beep();
                ZZ=1;
                FZ=0;
}
if(KeyV==2){
beep();
                ZZ=0;
                FZ=1;
        }
        if(KeyV==3){
         beep();
                ZZ=0;
                FZ=0;
        }                                       
        }  
}
KeyV=0;
TempKeyV=0;
}
}


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表