直流电机.c

来自「单片机和电机的简单结合运用」· C语言 代码 · 共 92 行

C
92
字号
#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 + =
减小字号Ctrl + -
显示快捷键?