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

📄 main.c

📁 用凌阳61单片机输出PWM实现电机的转速
💻 C
字号:
//通过控制PWM来达到控制电机的速度  
//控制电机的正反转  计算速度
#include "SPCE061A.h"
#include "Key.h"
#define P1         (0x0180)  //6/16
#define P2         (0x01c0)  //7/16
#define P3         (0x0200)  //8/16
#define P4         (0x0240)  //9/16
#define P5         (0x0280)    //10/16
#define P6         (0x02c0)    //11/16
#define P7         (0x0300)    //12/16
#define P8         (0x0340)    //13/16
#define P9         (0x0380)    //14/16
#define Pa          P3
#define Pb          P3

#define CW        0x1000
#define Enable      0x2000

#define D1  0xfff8
#define D2  0xfff0
#define D3  0xff00
#define D4  0xf000
#define D5  0x0000
#define A_Data  *P_TimerA_Data
#define B_Data  *P_TimerB_Data
#define A_Ctrl  *P_TimerA_Ctrl
#define B_Ctrl  *P_TimerB_Ctrl
#define IOB     *P_IOB_Data
void key_value_process(int Key);
void zhengzuan()
{IOB|=CW; }
void fangzuan()
{IOB&=~CW;}	
void stop()
{
  IOB|=0x2000;	
}
void start()
{
	IOB&=~0x2000;
}
int main (void)
{   
	
	*P_IOB_Dir=0xff00;							
	*P_IOB_Attrib=0xff00;
	*P_IOB_Data=0x0000;
	Key_Init();
	while(1)
   {
   	unsigned int Key_value;	
	Key_value = Key_Get();		
	switch(Key_value)
		{
			case KEY_0:
			    A_Ctrl=P1;			
			  	break;
			case KEY_1: 
                 A_Ctrl=P2;                               	    	               	    
	            break;
	        case KEY_2: 
                 A_Ctrl=P3;                               	    	               	    
	            break;
	        case KEY_3: 
                 A_Ctrl=P4;                               	    	               	    
	            break;
	        case KEY_4: 
                 A_Ctrl=P5;                               	    	               	    
	           break;
	        case KEY_5: 
                A_Data=D1;                                	    	               	    
	            break;
	        case KEY_6: 
                A_Data=D2;                                	    	               	    
	           break;
	        case KEY_7: 
               A_Data=D3;                                 	    	               	    
	           break;
	        case KEY_8: 
                A_Data=D4;                                	    	               	    
	           break;
	        case KEY_9: 
               A_Data=D5;                                 	    	               	    
	           break;
	     case KEY_A: 
               zhengzuan();                                 	    	               	    
	           break;
             case KEY_B: 
               fangzuan();                                 	    	               	    
	           break;
	      case KEY_C: 
               stop();                               	    	               	    
	                                            	    	               	    
	           break;
	      case KEY_D:      
	          start();
	          break;
			default:
			
				break;
		}

	*P_Watchdog_Clear=0x0001; 	
   }
   

		  
}	







⌨️ 快捷键说明

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