基于STM32三相SPWM逆变电源设计(程序+原理图)
# 基于STM32三相SPWM逆变电源设计(程序+原理图)
程序编译器:keil 5
编程语言:C语言
程序流程图:

硬件框架图:

实物图:

原理图(提供源文件):

PCB(提供源文件):

源程序(提供源文件):

void GPIO_init(void);
u16 temp,key;
u8 Hz=50;
float K_Temp; //输出比例系数
float Ti=0.15;
float qiwang;
int main(void)
{
SYSTICK_Init();//延时初始化
RCC_Configuare();//时钟初始化
//TIM1_Configuare(); //定时中断初始化
NVIC_Configuration2(); // 中断分组
TIM3_GPIO_Config(); //spwm
TIM3_Mode_Config(); //spwm
ADC_Configuration(); //模数转换初始化
NVIC_Configuration1(); //spwm
GPIO_init();
OLED_Init(); //显示初始化
OLED_Clear();
delay_ms(2);
InitKey();
K_Temp=1;
InitKey();
OLED_ShowString(10,0, "DC_AC_Power",16);
OLED_ShowString(0,2, "Ui= V",16);
OLED_ShowString(0,4, "Fre= Hz",16);
OLED_ShowString(0,6, "K= ",16);
while(1)
{
adc_mean();
key=KEY_Scan(0);
key_mode(key);
temp=(u16)(ADC_MEAN[0]*3.3*1000/4095)*11;//11倍电阻分压
// OLED_ShowNum (36,3,ADC_MEAN[0],4,12); //采样电压显示
OLED_ShowNum (28,2,temp/10000,1,16);
OLED_ShowNum (36,2,(temp%10000)/1000,1,16);
OLED_ShowChar(46,2,'.',16);//显示ASCII字符
OLED_ShowNum (54,2,(temp%1000)/100,1,16);
OLED_ShowNum (30,6,(int)(K_Temp*10)/10,1,16);
OLED_ShowChar(38,6,'.',16);//显示ASCII字符
OLED_ShowNum (46,6,((int)(K_Temp*10)%10)/1,1,16);
OLED_ShowNum (40,4,Hz/10,1,16);
OLED_ShowNum (48,4,Hz%10,1,16);
}
}
资料清单如下:

微信公众号:嘉盛单片机
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 嘉盛单片机!