📄 pid.lst
字号:
C51 COMPILER V7.06 PID 11/14/2008 21:02:39 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE PID
OBJECT MODULE PLACED IN PID.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PID.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <ADUC842.H>
2 #include <math.h>
3 #include "feedback.h"
4 #include "PID.h"
5 #include"lcd.h"
6
7 #define VMAX 250 //最大速度
8
9 #define BACKWARD_L 1 //定义前进为一
10 #define FORWARD_L 0
11 #define BACKWARD_R 0
12 #define FORWARD_R 1
13
14 sbit DIR_R = P0^1;
15 sbit DIR_L = P0^3;
16
17 /*************速度PID相关参数定义*******************/
18 float xdata V_Kp; //V_PID参数
19 float xdata V_Ki;
20
21 int xdata e_V_L; //速度反馈PID变量ei
22 int xdata e1_V_L; //e(i-1)
23 int xdata e_V_R;
24 int xdata e1_V_R;
25
26 float xdata d_u_V_L; //速度PID u的增量
27 float xdata d_u_V_R;
28
29 float xdata tem_data; //中间变量,用于解决中断中表达式过长引起的得数错误问题
30
31 int xdata beta_V_L;
32 int xdata beta_V_R;
33
34 int interval_V; // 速度间隔
35 char dis_V; // 允许速度误差
36
37 int tem_V_L; //暂时目标速度
38 int tem_V_R;
39
40 int aim_V_R; //最终目标速度,全局变量
41 int aim_V_L;
42 /*************速度PID相关参数定义*******************/
43
44 float xdata u_L; //占空比
45 float xdata u_R;
46
47 //------------------------------超级PID函数---------------------------------------
48 //函数名:MOTOR_PID
49 //参数:(左轮目标速度、右轮目标速度)
50 //说明:采用遇限削弱积分PID控制算法,目标速度和加速度值是与实际速度和电流成比例的值,各个值的上限要根据不
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -