|
STC32 !!{:5_332:}==数字电源实验平台==
-----------为高校建设奉献一份力量!!!!!
ELAB电源实验平台推出STC32G12K128为主控的BUCK电源板卡~~(已经有小伙伴成功申请到了~{:5_273:})
下面展示各项测试参数~
代码部分:(测试代码:
demo.zip
(1.13 MB, 下载次数: 72)
)
各项配置~~
/******************** IO口配置 ********************/
void GPIO_config(void)
{
P0_MODE_IN_HIZ(GPIO_Pin_6)//ADC转换脚
P7_PULL_UP_ENABLE(GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2);//p7.0 p7.1 p7.2上拉按键检测
}
void GPIO_PWM_config(void)
{
P6_MODE_IO_PU(GPIO_Pin_All); //P6 设置为准双向口(启动PWM功能后输出脚自动设置为推挽输出模式)
}
/************************ 定时器配置 ****************************/
void Timer_config(void)
{
TIM_InitTypeDef TIM_InitStructure; //结构定义
TIM_InitStructure.TIM_Mode = TIM_16BitAutoReload; //指定工作模式, TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMask
TIM_InitStructure.TIM_ClkSource = TIM_CLOCK_1T; //指定时钟源, TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_Ext
TIM_InitStructure.TIM_ClkOut = DISABLE; //是否输出高速脉冲, ENABLE或DISABLE
//TIM_InitStructure.TIM_Value = (u16)(65536UL - (MAIN_Fosc / 2400UL)); //中断频率, 100次/秒 100Hz
TIM_InitStructure.TIM_PS = 0; //8位预分频器(n+1), 0~255
TIM_InitStructure.TIM_Run = ENABLE; //是否初始化后启动定时器, ENABLE或DISABLE
Timer_Inilize(Timer0,&TIM_InitStructure); //初始化Timer0
TIM_InitStructure.TIM_Value = (u16)(65536UL - (MAIN_Fosc / 20000UL)); //中断频率, 20KHz
Timer_Inilize(Timer1,&TIM_InitStructure);
NVIC_Timer1_Init(ENABLE,Priority_0); //中断使能, ENABLE/DISABLE; 优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
//定时器1开启
}
/*************** PWM初始化函数 *****************/
void PWM_config(void)
{
// PWMx_InitDefine PWMx_InitStructure;
PWMA_Duty.PWM1_Duty = 600;//占空比0.5
PWMx_InitStructure.PWM_Mode = CCMRn_PWM_MODE1;
PWMx_InitStructure.PWM_Duty = PWMA_Duty.PWM1_Duty;//PWM占空比时间, 0~Period
PWMx_InitStructure.PWM_EnoSelect = ENO1P | ENO1N;//输出通道选择
PWM_Configuration(PWM1, &PWMx_InitStructure);//初始化PWM1
PWMx_InitStructure.PWM_Period = (MAIN_Fosc/20000)-1; //周期时间, 0~65535 (MAIN_Fosc/频率)-1
PWMx_InitStructure.PWM_DeadTime = 0x50;//死区发生器设置, 0~255
PWMx_InitStructure.PWM_MainOutEnable= ENABLE;//主输出使能, ENABLE,DISABLE
PWMx_InitStructure.PWM_CEN_Enable = ENABLE;//使能计数器, ENABLE,DISABLE
PWM_Configuration(PWMA, &PWMx_InitStructure);//初始化PWM通用寄存器, PWMA,PWMB
PWM1_USE_P60P61();//PWM引脚
NVIC_PWM_Init(PWMA,DISABLE,Priority_0);
}
/******************** ADC 配置 ********************/
void ADC_config(void)
{
ADC_InitTypeDef ADC_InitStructure; //结构定义
ADC_InitStructure.ADC_SMPduty = 32;//ADC 模拟信号采样时间控制, 0~31(注意: SMPDUTY 一定不能设置小于 10)
ADC_InitStructure.ADC_CsSetup = 0; //ADC 通道选择时间控制 0(默认),1
ADC_InitStructure.ADC_CsHold = 1; //ADC 通道选择保持时间控制 0,1(默认),2,3
ADC_InitStructure.ADC_Speed = ADC_SPEED_2X16T;//设置 ADC 工作时钟频率 ADC_SPEED_2X1T~ADC_SPEED_2X16T
ADC_InitStructure.ADC_AdjResult = ADC_RIGHT_JUSTIFIED;//ADC结果调整, ADC_LEFT_JUSTIFIED,ADC_RIGHT_JUSTIFIED
ADC_Inilize(&ADC_InitStructure);//初始化
ADC_PowerControl(ENABLE); //ADC电源开关, ENABLE或DISABLE
NVIC_ADC_Init(DISABLE,Priority_0);//中断使能, ENABLE/DISABLE; 优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
}
硬件参数~~
板卡展示
STC32G12K128
STC
ELAB电源实验平台自研BUCK板卡
输入参数
输出参数
计算效率:98.226%!!
纹波系数:0.02%
演示视频:
最后再次STCAI支持~~
|
|