找回密码
 立即注册

QQ登录

只需一步,快速开始

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

简单的51直流电机控制

[复制链接]
跳转到指定楼层
楼主
ID:254794 发表于 2017-11-28 17:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
sbit Key_UP=P3^2;   //正转按键 对应实验板上的K1
sbit Key_DOWN=P3^3;//反转按键  对应实验板上的K2
sbit Key_STOP=P3^4;//停止键    对应实验板上的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()                //蜂鸣器响一声函数
{
  unsigned char i;
  for (i=0;i<100;i++)
   {
   Delay(1);
   BEEP=!BEEP;       //BEEP取反
   }
   BEEP=1;           //关闭蜂鸣器
   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;
}
}


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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