⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 直流电机.c

📁 单片机和电机的简单结合运用
💻 C
字号:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dianji=P1^7;
sbit zen=P1^0;
sbit jian=P1^1;
uchar table[]={0xc0,0xf9,0xa4,0xb0,
               0x99,0x92,0x82,0xf8,
               0x80,0x90,0x88,0x83,
               0xc6,0xa1,0x86,0x8e};//数码管对应显示0123456789abcdef
int num;
void delay(uint z)  //延时子函数
{
   uint x,y;
   for(x=z;x>0;x--)
     for(y=110;y>0;y--);
}
void key()  //按键扫描函数
{
   if(zen==0)
   {
      delay(5);
      if(zen==0)
      {
          num++;
          if(num==5)
          num=4;
      }
      while(!zen);
   }
   if(jian==0)
   {
      delay(5);
      if(jian==0)
      {
          num--;
          if(num==-1)
          num=0;
      }
      while(!jian);
   }
}
void display(int x) //显示函数
{
   if(x==0)
      P2=0;  
   else if(x==1)
   {
      P2=0x01;
      P0=table[1];
      delay(5);
   }
   else if(x==2)
   {
      P2=0x02;
      P0=table[2];
      delay(5);
   }
    else if(x==3)
   {
      P2=0x04;
      P0=table[3];
      delay(5);
   }
   else
   {
      P2=0x08;
      P0=table[4];
      delay(5);
   }
}
void main()
{  
   int di,gao;
   num=0;
   while(1)
   {
      for(di=4-num;di>0;di--)
      {
         dianji=0; 
         display(num);
         key();
      }
      for(gao=num;gao>0;gao--)
      {  
         dianji=1;
         display(num);
         key();
      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -