main.c

来自「用 PWM +键盘控制 直流电机转动 SPCE061A 的处理器」· C语言 代码 · 共 65 行

C
65
字号
////////////////////////////////////////////////////////////
//
//  功能:用IOA口的低8为做键盘输入,1.2.3.4.5分别为 正转启动,
//			反转启动,加速、减速、和停止键
//	IOB8、9为PWM控制出口 接直流电机的正负级 控制正转,反转。
//   
////////////////////////////////////////////////////////////


#include "SPCE061A.h"
//////////////////////////////////////////////////////////////////////////////////////
//   unsigned int flag=0;
//  unsigned int get_key(void);
//
//  unsigned int get_key_value(unsigned int key);
//
// void delay(unsigned int num);
//
//  void pwm_ctrl(unsigned int TIM_data ,unsigned int keyvalue);
//  void pwm_ctrl( unsigned int TIM_data , unsigned int PWM,unsigned int keyvalue);
//
//////////////////////////////////////////////////////////////////////////////////////
void main()
{
	unsigned int key,keyvalue;
	*P_IOB_Dir=0x0300;        //IO8 IOB9 同向带数据缓冲器输出
	*P_IOB_Attrib=0x0300;
	*P_IOB_Data=0x0000;
	
	
	*P_Feedback=0x0000;
	
	
	*P_IOA_Dir=0x0000;        //IOA8 输入 下拉
	*P_IOA_Attrib=0x0000;
	*P_IOA_Data=0x0000;
	
	while(1)
	{
		*P_Watchdog_Clear=0x0001;
		key=get_key();
		keyvalue=get_key_value(key);
		while(keyvalue)
		{
			switch (keyvalue)
			{
				case 1 : pwm_ctrl(0x00f0,keyvalue);break;
				case 2 : pwm_ctrl(0x00f0,keyvalue);break;
				case 3 : pwm_ctrl(0x00f0,keyvalue);break;
				case 4 : pwm_ctrl(0x00f0,keyvalue);break;
				case 5 : pwm_ctrl(0x00f0,keyvalue);break;
				case 6 : pwm_ctrl(0x00f0,keyvalue);break;
				case 7 : pwm_ctrl(0x00f0,keyvalue);break;
				case 8 : pwm_ctrl(0x00f0,keyvalue);break;
				default : break;
				
			}
			keyvalue=0;		
		}
	}
	
	
}

⌨️ 快捷键说明

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