• 大小: 46.67MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-24
  • 语言: 其他
  • 标签: SPWM  调频调压  

资源简介

使用STM32F103C8T6高级定时器TIM1查表法实现三相六路互补输出带死区的SPWM信号,相位互差120°,可调频调压,使用恒压频比的方式用于驱动三相电机。程序使用KEIL5编写,带详细注解,可进行在线仿真观察SPWM输出波形。文件还包含一些SPWM生成原理学习文档和SPWM正弦表生成工具、死区计算器。分享给大家一起学习。本人水平有限,如有错误请评论指正。

资源截图

代码片段和文件信息

#include “key.h“




void Key_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB  ENABLE);  //使能GPIO模块时钟

//设置该引脚为上拉输入功能
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;  //上拉输入
GPIO_Init(GPIOB &GPIO_InitStructure);//初始化GPIO


}


u8 Key_Scan(void)
{
static u8 State = 0;
static u8 Key_val = 0;


switch (State)
{
case 0:
if(KEY1==0||KEY2==0||KEY3==0||KEY4==0||KEY5==0)
{
State = 1;
}
break;

case 1:
if(KEY1==0||KEY2==0||KEY3==0||KEY4==0||KEY5==0)
{
State = 2;
}
else
{
State = 0;
}

break;

case 2:
if(!KEY1) Key_val = 1;
if(!KEY2) Key_val = 2;
if(!KEY3) Key_val = 3;
if(!KEY4) Key_val = 4;
if(!KEY5) Key_val = 5;
State = 3;
break;

case 3:
if(KEY1&&KEY2&&KEY3&&KEY4&&KEY5)
{
State = 0;
return Key_val;
}
break;

default:
break;
}
return 0;
}




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-04-11 00:36  SPWM学习资料包\SPWM学习资料包\
     目录           0  2020-04-11 00:47  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\
     目录           0  2020-04-11 00:36  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\DebugConfig\
     文件        6956  2015-12-10 17:06  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\DebugConfig\_____STM32F103C8_1.0.0.dbgconf
     文件        2403  2017-11-23 15:41  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\DebugConfig\SPWM___________________________STM32F103C8_1.0.0.dbgconf
     文件        2403  2017-11-23 15:41  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\DebugConfig\SPWM___________________STM32F103C8_1.0.0.dbgconf
     文件        6956  2015-12-10 17:06  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\DebugConfig\Target_1_STM32F103C8_1.0.0.dbgconf
     文件        6956  2015-12-10 17:06  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\DebugConfig\Target_1_STM32F103ZE_1.0.0.dbgconf
     文件          46  2020-04-06 14:16  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\desktop.ini
     文件         339  2020-04-11 00:46  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\EventRecorderStub.scvd
     目录           0  2020-04-11 00:36  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\HARDWARE\
     文件        1092  2018-12-07 18:36  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\HARDWARE\Key.c
     文件         463  2018-12-07 18:36  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\HARDWARE\Key.h
     文件         639  2018-12-06 13:12  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\HARDWARE\LED.c
     文件         160  2018-12-06 13:09  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\HARDWARE\LED.h
     文件        9551  2020-04-06 14:06  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\HARDWARE\spwm.c
     文件         102  2020-04-06 14:03  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\HARDWARE\spwm.h
     文件         401  2017-03-19 12:41  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\keilkill.bat
     目录           0  2020-04-11 00:36  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\Listings\
     文件      123041  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\Listings\SPWM三相六路互补输出+死区+调压.map
     文件       45021  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\Listings\startup_stm32f10x_md.lst
     目录           0  2020-04-11 00:36  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\
     文件      296088  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\clkconfig.crf
     文件        1997  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\clkconfig.d
     文件      320764  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\clkconfig.o
     文件      303317  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\delay.crf
     文件        2307  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\delay.d
     文件      330128  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\delay.o
     文件      304300  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\key.crf
     文件        2235  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\key.d
     文件      329352  2020-04-06 14:13  SPWM学习资料包\SPWM学习资料包\1. SPWM程序:三相六路互补+相位差120°+死区+调压\objects\key.o
............此处省略157个文件信息

评论

共有 条评论