当前位置: 首页 > news >正文

河北网站建设模板企业网站建设需求文档

河北网站建设模板,企业网站建设需求文档,中英网站模板 照明,青海省高等级公路建设管局网站一#xff1a;PWM介绍 PWM 是 Pulse Width Modulation 的缩写#xff0c;中文意思就是脉冲宽度调制#xff0c;简 称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有 效的技术#xff0c;其控制简单、灵活和动态响应好等优点而成为电力电子技术最广…一PWM介绍 PWM 是 Pulse Width Modulation 的缩写中文意思就是脉冲宽度调制简 称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有 效的技术其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应 用的控制方式其应用领域包括测量通信功率控制与变换电动机控制、伺 服控制、调光、开关电源甚至某些音频放大器因此学习 PWM 具有十分重要的 现实意义。 二PWM输出配置步骤 STM32F1 除了基本定时器 TIM6 和 TIM7其他定时器都可以产生 PWM 输出。 其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。 而通用定 时器也能同时产生多达 4 路的 PWM 输出这些在定时器中断章节中已经介绍 过。 1使能定时器及端口时钟并设置引脚复用器映射 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能 TIM3 时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); 最后还要记得将 PA7 管脚模式配置为复用推挽输出 GPIO_InitStructure.GPIO_ModeGPIO_Mode_AF_PP; //复用推挽输出 2初始化定时器参数,包含自动重装值分频系数计数方式等 要使用定时器功能必须对定时器内相关参数初始化其库函数如下voidTIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseI nitStruct); 这个在定时器中断章节就已经介绍// 第二步 初始化定时器参数包含自动重装值分频系数计数方式等 TIM_TimeBaseInitStruct.TIM_Period per; // 自动从装载值设置 TIM_TimeBaseInitStruct.TIM_Prescaler psc; // 预分频该设置 TIM_TimeBaseInitStruct.TIM_ClockDivision TIM_CKD_DIV1; // 时钟分频 不分频 TIM_TimeBaseInitStruct.TIM_CounterMode TIM_CounterMode_Up; //向上模式 TIM_TimeBaseInit(TIM4,TIM_TimeBaseInitStruct); 3初始化 PWM 输出参数包含 PWM 模式、输出极性、使能等 void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) 主要用到的是 比较输出模式、 比较输出使能、 脉冲宽度、输出极性 4开启定时器 void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)第一个参数是用来选择定时器。 第二个参数是用来使能或者失能定时器也就是开启或者关闭定时器功能。同样可以选择 ENABLE 和 DISABLETIM_Cmd(TIM3,ENABLE); //开启定时 5修改 TIMx_CCRx 的值控制占空比 其实经过前面几个步骤的配置PWM 已经开始输出了 只是占空比和频率是 固定的例如本章要实现呼吸灯效果 那么就需要调节 TIM3 通道 2 的占空比 通过修改 TIM3_CCR2 值控制。调节占空比函数是void TIM_SetCompare2(TIM_TypeDef* TIMx, uint32_t Compare1); 6使能 TIMx 在 CCRx 上的预装载寄存器 使能输出比较预装载库函数是 void TIM_OCxPreloadConfig(TIM_TypeDef* TIMx,uint16_tTIM_OCPreload); 第一个参数用于选择定时器 第二个参数用于选择使能还是失能输出比较预 装载寄存器 可选择为 TIM_OCPreload_Enable、TIM_OCPreload_Disable 7使能 TIMx 在 ARR 上的预装载寄存器允许位 使能 TIMx 在 ARR 上的预装载寄存器允许位库函数是 void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalStateNewState); 第一个参数用于选择定时器第二个参数用于选择使能还是失能。将以上几步全部配置好后我们就可以控制通用定时器相应的通道输出 PWM 波形了这里要特别提醒下虽然高级定时器和通用定时器类似但是高级定时 器要想输出 PWM 波形必须要设置一个 MOE 位(TIMx_BDTR 的第 15 位)以使 能主输出否则不会输出 PWM。高级定时器特殊函数 库函数设置的函数为 void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalStateNewState); 三案例 PWM波控制LED #include pwm.hvoid TIM3_CH2_PWM_Init(u16 per,u16 psc) {GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;TIM_OCInitTypeDef TIM_OCInitStruct;// 第1步1使能定时器及端口时钟并设置引脚复用器映射RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能TIM3时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); // GPIOA 使能// GPIOA 初始化设置GPIO_InitStructure.GPIO_PinGPIO_Pin_7; //选择你要设置的IO口GPIO_InitStructure.GPIO_ModeGPIO_Mode_AF_PP; //复用的推挽输出GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz; //设置传输速率GPIO_Init(GPIOA,GPIO_InitStructure); /* 初始化GPIO */GPIO_SetBits(GPIOA,GPIO_Pin_7); // 第2步2初始化定时器参数,包含自动重装值分频系数计数方式等TIM_TimeBaseInitStructure.TIM_Periodper; //自动装载值TIM_TimeBaseInitStructure.TIM_Prescalerpsc; //分频系数TIM_TimeBaseInitStructure.TIM_ClockDivisionTIM_CKD_DIV1;TIM_TimeBaseInitStructure.TIM_CounterModeTIM_CounterMode_Up; //设置向上计数模式TIM_TimeBaseInit(TIM3,TIM_TimeBaseInitStructure);// 第3步3初始化 PWM 输出参数包含 PWM 模式、输出极性、使能等TIM_OCInitStruct.TIM_OCMode TIM_OCMode_PWM1; // PWM1模式TIM_OCInitStruct.TIM_OCPolarity TIM_OCPolarity_Low; //输出极性TIM_OCInitStruct.TIM_OutputState TIM_OutputState_Enable; // 使能TIM_OC2Init(TIM3,TIM_OCInitStruct);// 第5步 5修改 TIMx_CCRx 的值控制占空比// 等使用的时候调用 void TIM_SetCompare2(TIM_TypeDef* TIMx, uint32_t Compare1);// 第6步6使能 TIMx 在 CCRx 上的预装载寄存器TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);// 第7步7使能 TIMx 在 ARR 上的预装载寄存器允许位TIM_ARRPreloadConfig(TIM3,ENABLE);// 第4步4开启定时器TIM_Cmd(TIM3,ENABLE);}控制main.c #include system.h #include SysTick.h #include led.h #include pwm.hint main() {u8 i0;u16 j 0;u8 fx 0;SysTick_Init(72);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);LED_Init();TIM3_CH2_PWM_Init(500,72-1);//频率是 2Khwhile(1){ if(fx0){j;if(j300)fx1;}else{j--;if(j0)fx0;} TIM_SetCompare2(TIM3,j);i;if(i%100)LED0!LED0;delay_ms(10);} }
http://www.zqtcl.cn/news/66483/

相关文章:

  • 网站建设工资郑州wordpress 手机端优化
  • ps做网站画布大小是多少龙岩微信小程序定制
  • wordpress 创建子主题关键词优化seo多少钱一年
  • 退工在那个网站上做餐饮网站界面
  • 9.9网站怎么做三明企业网站建设
  • 用vs2010做的网站的源码html代码特效
  • 高级网站开发培训邯郸网站建设品牌公司
  • 营销类网站建设如何做收费会员定制网站
  • 寺庙网站开发建设方案$post wordpress
  • 营销型网站头部布局的元素微信名片制作小程序
  • 网站建设的技术保证怎么写wordpress 黑链
  • 什么是外包seo网站优化专家
  • 布吉网站建设公司h5 和手机网站
  • wang域名建的网站最新新闻热点大事件
  • 免费的cms视频网站模板长沙做网站排名
  • 网站正在建设中模板下载建设工程施工合同名词解释
  • 毕业设计做视频网站php做网站要多久
  • 公司申请网站建设申请理由如何进行网站运营与规划
  • 房地产网站建设公司猪八戒网做网站被骗
  • 如何申请域名建网站网页设计制作多少钱
  • 适合个人网站的名称洛阳霞光网络建站公司
  • 怎么做网站排版佛山免费发布信息的网站
  • 营销型网站搭建公司企业邮箱注册申请一般多少钱
  • 从seo角度做网站流量查看网站cms
  • 网站建设基本目标张店网站制作哪家好
  • 两个网站放在同一个空间有什么影响吗网页设计入门课程
  • 建一个全部由自己控制的网站需要多少钱手机百度快照
  • 免费做的网站怎么设置域名企业网站设计经典案例
  • 网站布局设计软件怎样做网站建设的程序
  • 网站开发 参考文献做国外服务器网站吗