单片机解密单片机源程序如下:
- #include "headfile.h"
- int flag;
- void Para_Init()
- {
- PID_ANGLE.P=0.10;
- PID_ANGLE.D=0.001;
- PID_SPEED.P=1.5;
- PID_SPEED.I=0.05;
- PID_TURN.P=0.01;
- PID_TURN.D=0.005;
- Fuzzy_Kp=0.005;
- Fuzzy_Kd=0.0005;
- SetSpeed=2.5;
- Set_Angle=20;
- Control_Para[0]=SetSpeed;
- Control_Para[1]=PID_ANGLE.P;
- Control_Para[2]= PID_ANGLE.D;
- Control_Para[3]= PID_SPEED.P;
- Control_Para[4]= PID_SPEED.I;
- Control_Para[5]= PID_TURN.P;
- Control_Para[6]= PID_TURN.D;
- }
- void main(void)
- {
- DisableInterrupts ;
-
- ADC_Init(ADC_CHANNEL_AD4,ADC_12BIT); //电磁采集0
- ADC_Init(ADC_CHANNEL_AD5,ADC_12BIT); //电磁采集1
- ADC_Init(ADC_CHANNEL_AD2,ADC_12BIT); //电磁采集2
- ADC_Init(ADC_CHANNEL_AD3,ADC_12BIT); //电磁采集3
- ADC_Init(ADC_CHANNEL_AD6,ADC_12BIT); //电磁采集4
- ADC_Init(ADC_CHANNEL_AD7,ADC_12BIT); //电磁采集5
- ADC_Init(ADC_CHANNEL_AD10,ADC_12BIT); //电池电压采集实验
-
- button_init(); //按键初始化
- switch_init(); //拨码开关初始化
- FTM_PWM_init(CFTM2, FTM_CH5, 20000, 0); //PWM0 PTG7 电机驱动
- FTM_PWM_init(CFTM2, FTM_CH4, 20000, 0); //PWM1 PTG6 电机驱动
-
- FTM_PWM_init(CFTM2, FTM_CH3, 20000, 0); //PWM2 PTG5 电机驱动
- FTM_PWM_init(CFTM2, FTM_CH2, 20000, 0); //PWM3 PTG4 电机驱动
-
- PULSE_INIT(CFTM0); //编码器1采集
- PULSE_INIT(CFTM1); //编码器1采集
-
- uart_init(UARTR1,1500000); //wifi模块传输初始化
-
- BEEP_ON;
- OLED_Init(); //OLED 初始化
- OLED_Draw_Logo(); //画logo专用函数
- delay(300);
- OLED_Fill(0); //初始清屏
- BEEP_OFF;
- I2C_Init(); //初始化加速度陀螺仪传感器
- PIT_Init(PIT_CHANNEL0,2*BUS_CLK_KHZ); //定时中断 2ms 初始化
- EnableInterrupts;
- Para_Init();
- led_init();
- water_lights();
- while(1)
- {
- if(beep)
- {
- BEEP_ON;
- delay(50);
- BEEP_OFF;
- beep=0;
- }
- Read_Switch();
- Check_BottonPress();
- if(SendPara)
- {
- SendPara=0;
- Send_Parameter();
- }
-
|