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

下载链接

程序流程图:

image-20220915001548172

硬件框架图:

image-20220915001600692

实物图:

image-20220915001607793

原理图(提供源文件):

image-20220915001617100

PCB(提供源文件):

image-20220915001624284

源程序(提供源文件):

image-20220915001635781

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);


   } 
}

资料清单如下:

image-20220915001643068

资料下载链接

更多资源

微信公众号:嘉盛单片机

img