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

📄 control.c

📁 控制C8051F单片机转动
💻 C
字号:
#include "c8051f320.h"
sbit FRONT_BUTTON=P0^4;
sbit BACK_BUTTON=P0^5;
sbit LEFT_BUTTON=P0^6;
sbit RIGHT_BUTTON=P0^7;
sbit FUCTION_1=P1^0;
sbit FUCTION_2=P1^1;
sbit FUCTION_3=P1^2;
sbit FUCTION_4=P1^3;
sbit SHIFT_1=P0^2;
sbit VOL=P0^0;
sbit OUTPUT_UD_A=P2^5;
sbit OUTPUT_UD_B=P2^4;
sbit OUTPUT_ED_A=P1^5;
sbit OUTPUT_ED_B=P1^4;
sbit OUTPUT_LEFT_A=P1^7;
sbit OUTPUT_LEFT_B=P1^6;
sbit OUTPUT_RIGHT_A=P2^1;
sbit OUTPUT_RIGHT_B=P2^0;

void delayms(unsigned char ms)         // 延时子程序
{                        
    unsigned char i;    
    while(ms--)
    {
        for(i = 0; i < 120; i++);
    }
}
main()
{
     int state1;
     int state2;
     state1=P1&0x0f; 
     state2=P0&0xf0; 
	 switch(state1)
	 {case 1:P1=0x01;
	        delayms(20);
	        {OUTPUT_UD_A=0;
		     OUTPUT_UD_B=0;
		    }
			break;
	  case 2:P1=0x04;
	         delayms(20);
	         {OUTPUT_UD_A=0;
		      OUTPUT_UD_B=1;
		     }
            break;
	  case 3:P1=0x02;
	         delayms(20);
	         {OUTPUT_ED_A=0;
		      OUTPUT_ED_B=0;
		     }
			break;
	  case 4:P1=0x08;
	         delayms(20);
	         {OUTPUT_ED_A=0;
		      OUTPUT_ED_B=1;
		     }
			 break;

     }
	
	 switch(state2)
	 {case 1:P0=0x80;
	        delayms(20);
	        {OUTPUT_LEFT_A=0;
		     OUTPUT_LEFT_B=0;
			 OUTPUT_RIGHT_A=0;
		     OUTPUT_RIGHT_B=1;
			 delayms(200);
             OUTPUT_RIGHT_B=0;
            }
			break;
	  case 2:P0=0x40;
	        delayms(20);
	        {OUTPUT_LEFT_A=0;
		     OUTPUT_LEFT_B=1;
			 OUTPUT_RIGHT_A=0;
		     OUTPUT_RIGHT_B=0;
			 delayms(200);
             OUTPUT_LEFT_B=0;
			 }
			break;
      case 3:P0=0x20;
	        delayms(20);
	        {OUTPUT_LEFT_A=0;
		     OUTPUT_LEFT_B=1;
			 OUTPUT_RIGHT_A=0;
		     OUTPUT_RIGHT_B=1;
		     }
			break;
	  case 4:P0=0x10;
	        delayms(20);
	        {OUTPUT_LEFT_A=0;
		     OUTPUT_LEFT_B=0;
			 OUTPUT_RIGHT_A=0;
		     OUTPUT_RIGHT_B=0;
		     }
			break;
      case 5:P0=0x50;
	        delayms(20);
	        {OUTPUT_LEFT_A=1;
		     OUTPUT_RIGHT_A=0;
		     OUTPUT_RIGHT_B=0;
			 delayms(100);
             OUTPUT_LEFT_A=0;
			 OUTPUT_LEFT_B=0;
			 }
			break;
      case 6:P0=0x90;
	        delayms(20);
	        {OUTPUT_RIGHT_A=1;
		     OUTPUT_LEFT_A=0;
		     OUTPUT_LEFT_B=0;
			 delayms(100);
             OUTPUT_RIGHT_A=0;
			 OUTPUT_RIGHT_B=0;
			 }
			break;
      case 7:P0=0x60;
	        delayms(20);
	        {OUTPUT_LEFT_A=1;
		     OUTPUT_RIGHT_A=0;
		     OUTPUT_RIGHT_B=1;
			 delayms(100);
             OUTPUT_LEFT_A=0;
			 OUTPUT_LEFT_B=1;
			 }
			break;
      case 8:P0=0xA0;
	        delayms(20);
	        {OUTPUT_RIGHT_A=1;
		     OUTPUT_LEFT_A=0;
		     OUTPUT_LEFT_B=1;
			 delayms(100);
             OUTPUT_RIGHT_A=0;
			 OUTPUT_RIGHT_B=1;
			 }
			break;
	
      } 
 }

⌨️ 快捷键说明

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