基于单片机PID电机控制系统设计
PID电机控制系统设计:TPWM:电机控制PWM;AS:电机的实际速度;P:为PI参数调节;
S:设定的电机速度;+:电机正转 -:电机反转.四个按键,控制P参数调节和电机转速设定调节。
同时又点解切换方向按键。
#include <reg52.h>
#include "lcd1602.h"
sfr T2MOD = 0x0c9;
#define uchar unsigned char
#define uint unsigned int
sbit Q0 = P2^4;
sbit Q1 = P2^5;
sbit Q2 = P2^6;
sbit Q3 = P2^7;
sbit PWM = P1^7; /* PWM输出 */
sbit UP = P1^0; /* 增加P */
sbit DOWM = P1^1; /* 减少P */
sbit GORB = P2^3; /* 换相 */
sbit ADDSPEED = P1^2; /* 增加速度 */
sbit SUBSPEED = P1^3; /* 减少速度 */
uint tuint = 65535;
uint tpwm = 1; /* pwm周期为10000us tpwm变量表示pwm高电平时间,也相当于占空比 (仿真时,频率高时,电机反应慢。在实物上要加大频率) */
uchar t1_flag = 0;
uint pulse = 0;
uint t0_flag = 0;
uchar t2_flag = 0;
bit t2_over = 0;
bit Just_Get = 1;
#define ZZ { Q0 = 0; Q1 = 0; Q2 = 1; Q3 = 1; } /* 正转 */
#define FZ { Q0 = 1; Q1 = 1; Q2 = 0; Q3 = 0; } /* 反转 */
#define STOP { Q0 = 1; Q1 = 0; Q2 = 1; Q3 = 0; } /* 停止 */
/* ************************ PI ************************************* */