历史上的今天
返回首页

历史上的今天

今天是:2025年01月28日(星期二)

2020年01月28日 | STM8S103F3--PWM配置

2020-01-28 来源:eefocus

本文使用的芯片是是stm8s103f3。


以下主要说明配置TIM2通道1为PWM输出的过程。


1.寄存器配置

clip_image004

4位预分频器,计数器的计数频率Fck_cnt=Fck_psc/2^(PSC[3:0])=16M/2^0=16M


那么计数周期为1/16us,也就是说计数器会每隔1/16us计数一次。


TIM2_PSCR=0x00; //分频值=0 16M

clip_image006

自动重装载寄存器,


当自动重装载寄存器=0时,计数器处于阻塞状态,也就是不计数状态,因为当CNTR=ARR时,CNTR就会清零,所以配置时自动重装载寄存器应该大于0。另外自动重装载寄存器的值就是PWM波形的周期,比如ARR=0X0100,PWM的周期为0x0100*1/16=16us,PWM的周期就是16us


  TIM2_ARRH=0x01; //自动重装的值 0x0100


  TIM2_ARRL=0x00;

clip_image008

捕获/比较使能寄存器,这个寄存器的配置可以选通相应的Tim2通道。


bit5,bit4为ch2配置,bit1,bit0为ch1配置


如果当前OC1为输出通道,则


bit1:OC1低电平有效


bit0:OC1信号被输出到当前引脚上


  TIM2_CCER1=bit0|bit1; //low level,OC1

clip_image010

clip_image012

clip_image014

捕获/比较模式寄存器,


bit1,bit0


CC1S[1:0]为捕获/比较选择


        00:CC1通道被配置为输出


bit2保留


bit3输出比较预加载使能


    0:不使能


    1:使能


bit6,bit5,bit4输出比较模式


    110:PWM1模式


PWM1和PWM2模式区别


PWM1:CNT

PWM2:CNT>CCR,CH1被激活


TIM2_CCMR1=bit3|bit5|bit6; //MODE

clip_image016

捕获/比较寄存器,这个寄存器决定着PWM的占空比。CCR/ARR=PWM的占空比,例如设置为0x0060,那么占空比为0x0060/0x0100=6/16


  TIM2_CCR1H=0x00;


  TIM2_CCR1L=0x60;

clip_image018

中断使能寄存器,如果需要中断可以在此设置。


bit1:CC1E 捕获/比较1中断使能


    0:CC1 中断不使能


    1:CC1中断使能


  TIM2_IER=0x00; //更新中断使能

clip_image020

控制寄存器,bit0控制计数器的打开和关闭。


bit0,计数器使能


    0:不使能


    1:使能


  TIM2_CR1=bit0; //enable counter


通过逻辑分析仪测试PD4管脚的输出电平,波形图如下所示。

clip_image022

源码如下,


//*******************************************


 1 #define bit0 0x01 

 2 #define bit1 0x02 

 3 #define bit2 0x04 

 4 #define bit3 0x08 

 5 #define bit4 0x10 

 6 #define bit5 0x20 

 7 #define bit6 0x40 

 8 #define bit7 0x80

 9 

10   void Timer2_Init(void) 

11   { 

12     CLK_ICKR|=0x01;         //开启内部HSI 

13    while(!(CLK_ICKR&0x02));//HSI准备就绪 

14     CLK_SWR=0xe1;           //HSI为主时钟源 

15     CLK_CKDIVR=0x00;   //HSI,8分频=16M 

16     TIM2_PSCR=0x00;       //分频值=0 16M 

17     TIM2_ARRH=0x01;       //自动重装的值 0x0100 

18    TIM2_ARRL=0x00; 

19    TIM2_CCER1=bit0|bit1; //low level,OC1

20  

21    TIM2_CCMR1=bit3|bit5|bit6;  //MODE 

22   TIM2_CCR1H=0x00; 

23    TIM2_CCR1L=0x60; 

24    TIM2_IER=0x00;        //更新中断使能 

25 

26    TIM2_CR1=bit0;        //enable counter 

27  }

28 int main( void ) 

29 { 

30   Timer2_Init(); 

31   while(1){}; 

32 }

推荐阅读

史海拾趣

Amerace Electronic Components公司的发展小趣事

Amerace Electronic Components公司自成立以来,一直致力于电子元件的技术创新。在早期的发展阶段,公司投入大量资源进行研发,成功推出了一系列具有创新性的电子元件产品,如高精度电阻器和电容器。这些产品在市场上获得了广泛的认可,为公司赢得了良好的声誉。随着技术的不断进步,Amerace持续引领行业创新,为电子行业带来了更多高性能、高可靠性的元件产品。

芯朋微电子(chipown)公司的发展小趣事

随着公司业务的不断发展,芯朋微电子开始布局国际市场。公司积极寻求与国际知名企业的合作,引进先进技术和管理经验,提升自身竞争力。同时,公司也加强了对海外市场的研究和拓展,努力将产品推向全球市场。

Dialog公司的发展小趣事

Dialog公司在高能效系统电源管理领域积累了丰富的经验和知识,并形成了包括音频、短距离无线、AC/DC电源转换和VoIP技术在内的技术积累。这些技术积累为Dialog公司提供了强大的研发实力,使其能够迅速开发出面向各类个人便携式应用的集成电路(IC)。这些设备包括智能手机、平板电脑、超极本、数字无绳电话等。

CANDD公司的发展小趣事

随着市场竞争的加剧,CANDD公司意识到单打独斗已经无法满足市场的需求。于是,公司开始积极寻求与其他企业的合作机会。通过与知名电子品牌商的合作,CANDD公司成功将其技术应用于更广泛的产品领域,进一步扩大了市场份额。同时,公司还与其他技术提供商建立了战略联盟,共同研发新技术,实现了互利共赢。

思瑞浦微电子科技(3PEAK INCORPORATED)公司的发展小趣事

为了进一步提升品牌影响力和市场份额,CANDD公司开始实施国际化战略。公司首先在欧洲市场设立了分公司,并成功打开了欧洲市场的大门。随后,公司又进军亚洲市场,通过与当地企业的合作,逐渐在亚洲市场站稳了脚跟。随着国际化战略的深入实施,CANDD公司的品牌知名度和市场份额不断攀升。

CONTTEK Group GmbH公司的发展小趣事

CONTTEK Group GmbH公司注重企业文化的建设和团队精神的培养。公司倡导“以人为本、创新驱动”的企业文化,鼓励员工积极参与创新活动,发挥个人潜能。同时,公司还注重团队建设,通过定期的培训和团建活动活动,增强员工的凝聚力和向心力。这种积极向上的企业文化和团结协作的团队精神,为公司的持续发展提供了强大的动力。

这五个故事展示了CONTTEK Group GmbH公司在电子行业中的发展历程和取得的成就。从创立初期的艰难起步到技术创新、市场拓展、品质管理和企业文化建设的不断推进,CONTTEK Group GmbH公司始终保持着积极进取的精神和不断创新的态度,在电子连接器领域取得了显著的成绩。

问答坊 | AI 解惑

“原STC单片机生厂商 笙泉科技 Megawin_8051”——是不是真的?

公司为笙泉科技8051单片机大陆总代理,STC只是从台湾笙泉半导体拿货贴的品牌,两家的协议关系已于2008年12月底终止合作关系. 现委托我公司正式隆重推广 Megawin 8051 系列单片机。 大家可以好好确定!!! [ 本帖最后由 Megawin_8051 于 2009-2-16 ...…

查看全部问答>

bmp的图像能在Maxplus2中显示不??

求高手帮忙解答下 我有一个电路在附件里 由于是BMP格式的 而且线都是断开的 不知道是哪里和哪里连在一起的:L 需要仿真 能不能在Maxplus2中打开不??…

查看全部问答>

大家看看这个示波器,手机射频故障速测仪

http://hi.baidu.com/%CE%B4%B9%FD ... 6543ba0f24442f.html    手机维修用的,能测量发射波形 900--1800mhz呀,那位知道怎么实现的…

查看全部问答>

AR——科幻小说的实现者

AR技术诞生于上世纪90年代前半期,现已广泛应用于电影及电视节目等。例如,通过合成的背景影像使得身在演播室的主持人看上去就像真的置身于大自然一般。除了电视领域以外,AR技术在夜视仪及战斗机飞行员使用的标靶显示等军事应用中也取得较大发展, ...…

查看全部问答>

关于串口的问题

#include #include #include #define uint unsigned int #define uchar unsigned char sbit   clock=P1^1;     // 时钟信号(数据输入) sbit   date_out=P3^2;    // 数据输出 sbit&nbs ...…

查看全部问答>

单片机和C语言Windows环境编程宝典

寻求文章内容。有能够把内容发过来者,奖励10分~~《单片机和C语言Windows环境编程宝典》电子版的哦~~…

查看全部问答>

WINCE的版本 与开发工具的匹配问题

要开发wince下的软件,查到如下资料     开发工具的版本号是与Windows CE的版本号对应的。微软提供给应用程序开发者的工具包括:Embedded Visual Tools 3.0,其中包括Embedded Visual C++ 3.0和Embedded Visual Basic 3.0;Embedded Vis ...…

查看全部问答>

新手急求---keil中ulink setting失去响应

电脑可以发现keil ULINK.驱动应该没什么问题.连上过一次.因为上来就要做串口.不知道哪里的问题...貌似是没成功,后来再连.在keil中设置ULINK就会失去响应.不能结束进程.要注销windows.. 用的keil是RVMDK 3.80a ,ulink1,STM32 103系 另外win7系统 ...…

查看全部问答>

高性能,低成本,TI针对Altera Cyclone IV: 3.3-V的TPS54318解决方案

The Altera® Stratix™ IV FPGA参考设计展示了TI TPS54318…

查看全部问答>

【 信号处理】一种基于FPGA的语音录制与回放系统的设计

随着微电子技术的发展,系统集成向高速、高集成度、低功耗发展已经成为必然,同时SoPC技术也应用而生。SoPC将软硬件集成于单个可编程逻辑器件平台,使得系统设计更加简洁灵活。SoPC综合了SoC,PLD和FPGA的优点,集成了硬核和软核CPU、OSP、存储器、 ...…

查看全部问答>