STM8S103之tim2PWM输出

发布者:AdventureSeeker最新更新时间:2019-11-21 来源: eefocus关键字:STM8S103  tim2  PWM输出 手机看文章 扫描二维码
随时随地手机看文章

一、简介


本文以STM8S103F3P6编程为例,介绍STM8S103F3P6定时器2输出PWM。


二、实验平台


电脑平台:Windows7 64位旗舰


编译软件:IAR


硬件平台:STM8S103F3P6



四、实验前提


1、在进行本文步骤前,请先安装IAR  EWSTM8-EV-1311版本;准备好STM8S103F3P6硬件平台。

      

五、基础知识


暂无


六、源码地址


暂无


七、关联文章


链接:http://blog.csdn.net/qq_18842031/article/details/77104097



八、实验内容


1.系统时钟初始化为内部16M


CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);    //时钟   初始化时钟为1分频 16M   2分频8M

 

2.初始化定时器1设置PC4为PWM输出


void Init_Timer2(void)

{

    GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_OUT_PP_LOW_FAST);//输出推拉,低电平,10MHz

    TIM2_DeInit();

    TIM2_TimeBaseInit(TIM2_PRESCALER_16, 10000-1);            //F = 16000000 / 16  T = 1 / F = 1us  1us*10000 = 10ms = 100hz

    TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, 5000-1, TIM2_OCPOLARITY_HIGH);    //占空比一半

    TIM2_Cmd(ENABLE);

}

 

3.编写主函数


void main(void)  

{

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);    //内部时钟16M

  Init_Timer2();

  enableInterrupts();

  while(1);

}

 

4、结果

输出100Hz,实验成功。

关键字:STM8S103  tim2  PWM输出 引用地址:STM8S103之tim2PWM输出

上一篇:stm8s103调试注意点
下一篇:STM8S103-STVD建立汇编代码项目

推荐阅读最新更新时间:2024-11-11 17:07

stm32库函数下,输出可调频率pwm
//////////////////////////////////////////////////////////// //基于库函数的不完全代码 //////////////////////////////////////////////////////////// TIM3_PWM_Init(899,0); //不分频。PWM频率=72000000/900=80Khz while(1) { TIM3- ARR=led0pwmval+50; //改变此句话的值,调节pwm频率 TIM_SetCompare2(TIM3,49); delay_ms(500); led0pwmval++; if(led0
[单片机]
STM32F103C8T6定时器TIM4通道1、2输出PWM
这美妙的波形,真好,我他喵的终于把你弄出来了。 STM32F103C8T6使用定时器TIM4进行双通道的PWM输出: 下面的图是从STM32中文参考手册中截取的,定时器TIM4的通用和复用功能I/O 我选用的是TIM4_CH1和TIM4_CH2也就是PB6和PB7输出。 注意事项: 输出PWM是属于IO口的复用功能,所以在设置GPIO_Mode的时候一定要设置为GPIO_Mode_AF_PP也就是推挽复用。 我就是被这个卡了好长时间……,感觉自己蠢到家了。 我是用的正点原子的精英板学的32,所以一些写代码的习惯都是学的正点原子的。 下面是代码 timer.c #include timer.h //TIM
[单片机]
STM32F103C8T6定时器TIM4通道1、2<font color='red'>输出</font><font color='red'>PWM</font>
STM32学习笔记(PWM输出
本人采用Cube 进行的STM32库函数编程,PWM波的输出配置以及代码如下所示:(经过实际实验证明非常好用) 以下为定时器PWM输出函数,注意:使用时一定要把原来输出函数注释掉。 注释代码如下: // sConfigOC.OCMode = TIM_OCMODE_PWM1; // sConfigOC.Pulse = 0; // sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; // sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; // if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL
[单片机]
利用STM32定时器的PWM输出功能,直接获取PWM波形
本实验向大家展示如何输出占空比固定的PWM波形。 1.工程的建立: 2.主函数代码: 3.pwm_output.c代码: 4.output.h代码: 5.结果: 6.结果显示不出来的请看上几节的文章,已解决。
[单片机]
STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比
概述 本章STM32CUBEMX配置STM32F103输出PWM,并在示波器中查看效果。 需要样片的可以加Qun申请:615061293。 生成例程 使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板 查看原理图,PA8设置为PWM输出管脚。 生成独立的文件。 工作过程 查看下面工作原理图可以得知,时钟可以由内部Internal clock产生或者外部ETR。 同时可以设置复位,使能,向上/向下,计数。 查看下列文档可以得知,定时器主要有TIMx_CNT、TIMx_PSC、TIMx_ARR、TIMx_RCR控制。 同时预分频器(TIMx_PSC)范围位1-65535。 查看TIMx
[单片机]
STM32CUBEIDE(11)----<font color='red'>输出</font><font color='red'>PWM</font>及修改<font color='red'>PWM</font>频率与占空比
STM32F103输出多路死区互补PWM
阅读数:39 TIM1,TIM8可以产生死区互补PWM波,学习后发现stm32的定时器功能确实很强大,小总结一下方便以后使用的时候做参考。Stm32定时器一共分为三种:tim1和tim8是高级定时器,6和7是基本定时器,2—5是通用定时器。从名字就可以看得出来主要功能上的差异。今天我主要是用定时器做pwm输出,所以总结也主要是针对pwm方面的。 先大致说下通用和高级定时器的区别。通用的可以输出四路pwm信号互不影响。高级定时器可以输出三对互补pwm信号外加ch4通道,也就是一共七路。 所以这样算下来stm32一共可以生成4*5+7*2=30路pwm信号。接下来还有功能上的区别:通用定时器的pwm信号比较简单,就是普通的调节
[单片机]
STM8L学习笔记一 TIM2定时器设定系统工作计时
//定时器2配置,1毫秒产生一次中断,用于系统计时 void TIM2_Init(void) { CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);//将主时钟信号送给定时器4(L系列单片机必需) TIM2_TimeBaseInit(TIM2_Prescaler_16,TIM2_CounterMode_Up,0x7D); //定时器4,将主时钟16分频.自动装载FA=125 TIM2_SetCounter(0xFA); //设定计数值FA=125 TIM2_ITConfig(TIM2_IT_Update,ENABLE);
[单片机]
单片机PWM控制输出电路
电子发烧友为您提供了单片机 PWM 控制输出电路,输出电路的电流在4~20MA之间。希望对您的工作学习有所帮助。其具体电路图如下所示:
[单片机]
单片机<font color='red'>PWM</font>控制<font color='red'>输出</font>电路
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved