历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2020年01月30日 | STM8S的TIM1 PWM设置(寄存器版本)

2020-01-30 来源:eefocus

1. 概述

脉冲宽度调制(PWM)模式可以产生一个由TIM1_ARR寄存器确定频率、由TIM1_CCRi寄存器确定占空比的信号。


2. 芯片资料

参考STM8S datasheet如下资料:


在TIM1_CCMRi寄存器中的OCiM位写入’110’(PWM模式1)或’111’(PWM模式2),能够独立地设置每个OCi输出通道产生一路PWM。必须设置IM1_CCMRi寄存器的OCiPE位使能相应的预装载寄存器,也可以设置TIM1_CR1寄存器的ARPE位使能自动重装载的预装载寄存器(在向上计数模式或中央对称模式中)。 


由于仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置TIM1_EGR寄存器的UG位来初始化所有的寄存器。 


OCi的极性可以通过软件在TIM1_CCERi寄存器中的CCiP位设置,它可以设置为高电平有效或低电平有效。 OCi的输出使能通过(TIM1_CCERi和TIM1_BKR寄存器中)CCiE、 MOE、 OISi和OSSR位和OSSI位的组合来控制。详见TIM1_CCERi寄存器的描述。 


在PWM模式(模式1或模式2)下, TIM1_CNT和TIM1_CCRi始终在进行比较, (依据计数器的计数方向)以确定是否符合TIM1_CCRi≤TIM1_CNT或者TIM1_CNT≤TIM1_CCRi。 


根据TIM1_CR1寄存器中CMS位域的状态,定时器能够产生边沿对齐的PWM信号或中央对齐的PWM信号。

内部架构详细图

参考上图可以确定需要设置的寄存器。


3. 应用

在项目中需要使用TIM1_CH3N作为PWM输出IO,所以暂以这个通道为例,设置PWM输出。


#define BLACKLIGHT_PWM_FRQ      640

void Blacklight_Init(void)

{

    CLK->PCKENR1 |= 0x80;

    //TIM1->EGR=0x01;//重新初始化TIM1

    //TIM1->EGR|=0x20;//重新初始化TIM1


    //初始化自动重装载寄存器,确定PWM 频率(16M的TIM1 CLK)

    TIM1->ARRH = (u8)(BLACKLIGHT_PWM_FRQ >> 8);

    TIM1->ARRL = (u8)(BLACKLIGHT_PWM_FRQ & 0xff);

    //初始化比较寄存器,决定PWM 方波的占空比 , 暂时设置50%的占空比。 

    TIM1->CCR3H = (u8)((BLACKLIGHT_PWM_FRQ/2) >> 8);

    TIM1->CCR3L = (u8)((BLACKLIGHT_PWM_FRQ/2) & 0xff); 

    //初始化比较模式寄存器

    TIM1->CCMR3 = 0x68; 

    //初始化使能寄存器

    TIM1->CCER2 = 0x04;    

    //初始化刹车寄存器  

    TIM1->BKR |= 0x80;

    // 启动计数

    TIM1->CR1 |= 0x01;  

}


注意: STM8S在烧录前,需要将PB2(TIM1_CH3N)的功能重新映射,通过STVP修改OPTION BYTE页中的AFR5项来完成。

推荐阅读

史海拾趣

集创北方(CHIPONE)公司的发展小趣事

2022年2月,北京冬奥会盛大开幕。在这场全球瞩目的体育盛事中,鸟巢LED舞台的璀璨灯光吸引了无数目光。背后的功臣正是集创北方的LED驱动芯片ICND2153和ICND2055。这两款芯片以其卓越的性能和稳定性,确保了舞台效果的完美呈现,为冬奥会增添了无尽的光彩。

ALPS公司的发展小趣事

近年来,集创北方在电子行业的地位日益稳固。从2019年到2021年,公司的营收实现了飞跃式增长,从14.47亿元增长至56.74亿元,复合增长率高达98%。这一成绩的背后,是公司不断创新、积极应对市场变化的结果。

Base Two (2) Systems公司的发展小趣事

Base Two (2) Systems深知技术创新的重要性,因此不断加大对研发的投入。公司引进了一批高端研发人才和先进设备,为研发团队提供了强有力的支持。在研发团队的努力下,公司不断推出新产品,并对现有产品进行升级改进,以满足市场的不断变化和客户的多样化需求。

东晨(DC)公司的发展小趣事

在电子行业的激烈竞争中,东晨(DC)公司凭借一项革命性的技术突破——高效能低功耗的芯片设计,迅速崛起。该公司投入大量研发资源,成功开发出了一款性能卓越、能耗极低的芯片,这一创新成果为智能手机、平板电脑等移动设备提供了更长的续航时间和更快的运行速度。凭借这一技术优势,东晨(DC)公司迅速获得了市场的认可,产品销量节节攀升。

Genesis Microchip公司的发展小趣事

在电子行业竞争日益激烈的背景下,GI通过一系列的战略并购和整合,进一步巩固了其市场地位。公司精心挑选并收购了多家具有技术实力和市场潜力的企业,通过资源整合和优势互补,实现了技术、产品和市场的全面升级。这些并购不仅为GI带来了更多的技术专利和市场份额,还为其在未来的竞争中奠定了更加坚实的基础。

EMC Technology RF Labs公司的发展小趣事

随着对射频技术的深入研究,RF Labs在多个领域取得了技术突破。他们成功开发了一系列高性能的射频电阻、衰减器、定向耦合器等关键元件,这些产品不仅具有优异的性能,而且能够满足各种复杂的应用场景需求。同时,RF Labs还不断推出创新产品,如智能探测器温度测量端子等,这些产品为客户提供了更加便捷和高效的解决方案。

问答坊 | AI 解惑

A/D转换

老师我们的硬件电路做好了,但软件不知道从何入手呢…

查看全部问答>

硬盘被重新分区后重装了系统,如何恢复里面的数据啊!跪求!!

  硬盘被重新分区后重装了系统,如何恢复里面的数据啊!跪求!!急!…

查看全部问答>

请教关于ARM启动代码中堆栈的初始化?

启动代码中堆栈的初始化是不是只是定义一下要用到的堆的长度,比如IRQ中断,按书上说堆空间是要自己申请的,而栈是系统自动分配的,要是这样的话那初始化就应该是只对堆的长度进行定义了?还有就是我怎么确定要定义多长的堆栈空间呢?谢谢了!…

查看全部问答>

大家帮我看看,我用厂家提供的BSP生成的OS 在开发板上无法启动,有详细信息,该如何修改

下面的情况均在厂家提供的开发板上试验 内存情况:       内存:64MByte SDRAM(2片16位的SDRAM芯片组成32位接口)       NOR Flash:32MByte内存(2片intel E28F128组成32位接口) 测试的BSP有下面两个 ...…

查看全部问答>

请问“要通过中断来实时接收100ms的数据”,这个机制怎么建立阿

我最近想做一个红外码学习器,在按下遥控按钮后,就把接收到的红外数据保存下来。但是,在多进程里面由于有调度问题,实时性很难控制,不知哪位高手做过没有,请帮忙指点一下阿…

查看全部问答>

快过年了,希望eeworld能组织个TI DSP开发板的团购!

快过年了,还有点余钱,希望eeworld能组织个TI DSP开发板的团购,这样在假期中能够边玩边学,两不误。 希望有相同想法的同学们顶起!!!!!!!!!!…

查看全部问答>

通过使用MSP430G2452微控制器的LaunchPad Value Line开发包实现基于心电图的心率监测

这是一个基于Launchpad的心率监测评估工程,资料非常详细,包括原理图,光绘文件,BOM表,源码,说明文档(中文)。 好好享受吧! …

查看全部问答>

电源变换

信号输入端加10V交流信号,偏置为5V直流,经电容电阻后怎么变为了正负5V的交流信号,求高手解释…

查看全部问答>

各位大侠,AT070TN94用什么电源驱动芯片啊?告诉一声,不胜感激!

各位大侠,AT070TN94用什么电源驱动芯片啊?告诉一声,不胜感激!…

查看全部问答>