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

📄 键盘控制电机.txt

📁 键盘输入控制步进电机运动
💻 TXT
字号:
#include <reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define digit XBYTE[0x0000]
#define stepmotor XBYTE[0xa000]
unsigned char led[10]={0x7E,0x60,0x57,0x75,0x69,0x3D,0x3F,0x70,0x7F,0x7d};

void delay()
{
 uchar i,j;
 for(i=0;i<4;i++)
  for(j=0;j<125;j++);
}

void x_left()
{
 
  stepmotor=0x0c;//A相通
  delay();
  stepmotor=0x0e;//AB相通
  delay();
  stepmotor=0x0a;//B相通
  delay();
  stepmotor=0x0b;//BC相
  delay();
  stepmotor=0x09;//C相
  delay();
  stepmotor=0x0d;//CA相
   delay();
  
}


void x_right()
{
 
  stepmotor=0x0c;//A相通
  delay();
  stepmotor=0x0d;//CA相
   delay();
  stepmotor=0x09;//C相
  delay();
  stepmotor=0x0b;//BC相
  delay();
  stepmotor=0x0a;//B相通
  delay();
  stepmotor=0x0e;//AB相通
  delay();
  
}

void y_front()
{
 //Y轴
 
  stepmotor=0xc0;//A相通
  delay();
  stepmotor=0xe0;//AB相通
  delay();
  stepmotor=0xa0;//B相通
  delay();
  stepmotor=0xb0;//BC相
  delay();
  stepmotor=0x90;//C相
  delay();
  stepmotor=0xd0;//CA相
   delay();
  
}

void y_back()
{

  stepmotor=0xc0;//A相通
  delay();
  stepmotor=0xd0;//CA相
  delay();
  stepmotor=0x90;//C相
  delay();
  stepmotor=0xb0;//BC相
  delay();
  stepmotor=0xa0;//B相通
  delay();
  stepmotor=0xe0;//AB相通
  delay();
  
}

void display(uchar i)
{
  digit=led[i];
}

void jianzhi(uchar number)
{
  switch(number)
  {
   case 0xee:display(1);x_left();break;
   case 0xde:display(2);x_right();break;
   case 0xbe:display(3);y_back();break;
   case 0x7e:display(4);y_front();break;
   case 0xed:display(5);break;
   case 0xdd:display(6);break;
   case 0xbd:display(7);break;
   case 0x7d:display(8);break;
   case 0xeb:display(9);break;
   default:break;
  }
   
}

void delay10ms()
{
 uchar i;
 for(i=200;i>0;i--)
{
}
}
  
void keyboard()
{
 uchar test,shift,value;
 shift=0xfe;
  while(1)
  {
    P1=shift;
    test=P1&0xf8;
    if(test!=0xf8)
      {
        delay10ms();
        if(test!=0xf8)
         {
          value=P1;
         }
      }
    jianzhi(value);
    shift=(shift<<1)|0x01;
    if(shift==0xf7)
      shift=0xfe;
    }
   
}

 
void main()
{
  keyboard();
  
}

⌨️ 快捷键说明

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