基于单片机直流电机速度控制系统设计
【资源下载】下载地址如下1549:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
两种方式调速:ADC采集阻值变速和按键档位变速两种方式使用按键切换来实现分别的速度控制。注:开关键对按键调速有效,对阻值调速无效。


#define T0LOWW 0x8a
/*********************************************
*
*********************************************/
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
typedef bit BOOL;
/*********************************************
* 单片机管脚定义
*********************************************/
sbit KEY_ON_PIN = P2 ^ 0;
sbit KEY_INC_PIN = P2 ^ 1;
sbit KEY_DEC_PIN = P2 ^ 2;
sbit MOTO_LEFT = P3 ^ 6;
sbit MOTO_RIGHT = P3 ^ 7;
sbit CLOCK = P2 ^ 4;
sbit ST = P2 ^ 5;
sbit EOC = P2 ^ 6;
sbit OE = P2 ^ 7;
sbit CHANGE = P2 ^ 3;
/*********************************************
* 按键定义
*********************************************/
#define KEY_NULL 0xff
#define KEY_LONG_PERIOD 25
#define KEY_CONTINUE_PERIOD 20
#define KEY_DOWN 0x80
#define KEY_CONTINUE 0x40
#define KEY_UP 0x20
#define KEY_STATE_INIT 0
#define KEY_STATE_WOBBLE 1
#define KEY_STATE_PRESS 2
#define KEY_STATE_LONG 3
#define KEY_STATE_CONTINUE 4
#define KEY_STATE_RELEASE 5
#define KEY_ON_VALUE 1
#define KEY_INC_VALUE 2
#define KEY_DEC_VALUE 3
#define KEY_ON (KEY_ON_VALUE | KEY_DOWN)
#define KEY_INC (KEY_INC_VALUE | KEY_DOWN)
#define KEY_INC_CON (KEY_INC_VALUE | KEY_CONTINUE)
#define KEY_DEC (KEY_DEC_VALUE | KEY_DOWN)
#define KEY_DEC_CON (KEY_DEC_VALUE | KEY_CONTINUE)
/*********************************************
* 常量定义
*********************************************/
#define true 1
#define false 0
#define MOTO_ON MOTO_LEFT = false; \
MOTO_RIGHT = true
#define MOTO_OFF MOTO_LEFT = true; \
MOTO_RIGHT = true
/*********************************************
* 全局变量定义
*********************************************/
code u8 DisCode[] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0xff };
u8 PWMpercent = 0;
u8 DisNum[4] = { 0x0a, 0x0a, 0x0a, 0x00 };
u8 DisPosition = 0;
u8 SecCount = 0;
u8 u10msNum = 0;
u16 ADTemp;
u8 start = 0;


浙公网安备 33010602011771号