历史上的今天

今天是:2024年09月03日(星期二)

正在发生

2021年09月03日 | STM8S003 STM8S103 PWM实现

发布者:美好梦想 来源: eefocus关键字:STM8S003  STM8S103  PWM 手机看文章 扫描二维码
随时随地手机看文章

通过仔细看stm8参考手册里有关pwm这一节,我们可以根据手册上的讲解,很容易配置出来一个pwm通道。


具体讲解下,首先看参考手册17.5.7 pwm模式这一节,这一节是针对TIM1定时器来实现的pwm:

pwm

通过看这些内容,我们知道如下信息:

1:设置TIM1_ARR寄存器设定频率,TIM1_CCR1确定占空比;

至于为何通过TIM1_ARR来设定寄存器频率,可以参考如下图:

pwm_1

看完上图就知道这个计数器的频率公式为:

F = 时钟频率/(预装载计数+1)

2:TIM1_CCMR1寄存器的OC1M位写入110或者111来确定PWM模式1或者2,而且,必须设置TIM1_CCMR1寄存器的OC1PE位使能预装载寄存器,也可以设置TIM1_CR1寄存器的ARPE位使能自动重装预装载寄存器;

3:必须通过设置TIM1_EGR寄存器的UG位来初始化寄存器。

知道如上信息后,我们针对TIM1的通道3设置为pwm,占空比位50%,代码如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include
 
#ifndef BIT
    #define BIT(n)    (1<<(n))
#endif
 
void pwm320k(void)
{
    TIM1_CR1 &= ~BIT(0);   //关闭TIM1
    //
    TIM1_PSCRH = 0;
    TIM1_PSCRL = 0;        //不分频16MHz
    //
    TIM1_ARRH = 0;
    TIM1_ARRL = 49;        //16MHz/(49+1) = 320KHz
    //
    TIM1_CR1 |= BIT(7);    //使能ARP
    TIM1_EGR |= BIT(0);    //更新TIM1,使PSC有效
    //
    TIM1_CCR3H = 0;
    TIM1_CCR3L = 25;       //占空比50%
    //
    TIM1_CCMR3 = 104;      //配置TIM1_CH3为PWM1模式输出
    //
    TIM1_CCER2 |= BIT(0);  //使能TIM1_CH3通道
    //
    TIM1_CR1 |= BIT(0);    //使能TIM1
 
    TIM1_BKR |= BIT(7);    //禁止刹车
}
 
//***********端口配置******************/
void IO_Config(void) {     
    //接收端led定义
    PC_DDR |= 0X08;     //设置PA3端口为输出模式
    PC_CR1 |= 0X08;     //设置PA3端口为推挽输出模式
}
/***********************************/
 
void main() {
    IO_Config();
    while (1) {
        pwm320k();
    }
}


关键字:STM8S003  STM8S103  PWM 引用地址:STM8S003 STM8S103 PWM实现

上一篇:STM8S103 IO口控制
下一篇:STM8使用TIM1测量PWM波

推荐阅读

8月29-30日,备受瞩目的2018GLSC全球供应链大会在上海隆重举行,来自全球的顶尖专家、行业领军人物齐聚一堂,共赴一场供应链新趋势的思想盛宴。杭州迦智科技有限公司(以下简称:迦智科技)作为国内专注于室内外自主移动机器人研发的领先企业,在本次大会上携最新的物流机器人平台及解决方案亮相,与大家共同探讨供应链数字化升级和产业转型之路。当供应链...
在这一轮技术浪潮中,无论是底层的开发生态、算力的硬件基础,还是五花八门的商业化落地场景,中国企业都有着毋庸置疑的话语输出能力。而另一个全民皆知、中国ICT产业的长期阵痛——国产操作系统,也在2019世界人工智能大会(WAIC)上,经历了一场全球注目的阅兵式。因此,重新踏上自研操作系统之路,甚至跻身世界一流,就成了需要中国科技企业孜孜以求的...
在发烧友和技术控眼中,新能源车更像一件艺术品,每一个核心部件都是其精髓所在。聊到纯电动车,他们会问你电池厂商或是电芯的供应商,这可以视作车辆的第二品牌;聊到混合动力汽车,他们会问你是“P几”,这些黑话究竟代表什么意思呢?今天就跟大家科普下混合动力汽车不同类型的电机架构。目前行业内对于电机架构的应用方式各有不同,对于不同架构下的具...
具体实现功能具体实现功能:(1)实现对电机的控制;(2)红外模块识别上车和下车,仿真中通过按键实现;(3)当上车人数每达到6人时,电路输出一个开车提示的脉冲,红灯亮,同时电机转动;(4)操作简单、功能完善、精确度高。单片机介绍51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CP...

史海拾趣

问答坊 | AI 解惑

概述集成电路测试仪发展

概述集成电路测试仪发展…

查看全部问答∨

有关技能考试的题

本帖最后由 paulhyde 于 2014-9-15 09:43 编辑 Q1:变压器吊装所用绳索的安全系数为____ Q2:变压器在运输和装卸中,要求起吊绳索与垂线间的夹角不超过____ Q3:高压电动机过负荷保护的动作时间应大于电动机起动时间,一般取____ Q4:电缆管弯 ...…

查看全部问答∨

M57959L IGBT驱动电路介绍

日本三菱公司的M57959L集成IGBT专用驱动芯片它可以作为600V/200A或者1200V/100A的IGBT驱动.其最高频率也达40KHz,采用双电源供电(+15V和-15V)输出电流峰值为±2A,M57959L有以下特点: (1) 采用光耦实现电器隔离,光耦是快速型的,适合20KHz左右的高频 ...…

查看全部问答∨

WINCE60下怎么通过模拟器(没有实际的环境,只能玩玩模拟器了)调试一般的流接口驱动?调试消息怎么输出到串口?怎么看调试消息?重新映射串口没效果!

WINCE60下怎么通过模拟器(没有实际的环境,只能玩玩模拟器了)调试一般的流接口驱动?调试消息怎么输出到串口?怎么看调试消息?重新映射串口没效果!…

查看全部问答∨

问个关于路由器配置的问题--PPP

我用一个自己做的手持设备与路由器相连,采用PPP协议。目的是用PPP协议与路由器相连,发送PING包给路由器,并接收路由器回应的包。PPP链路已经建立,但设备去PING路由器后无法收到回应(确定路由器已经收到了包),而路由器去PING设备,设备也无法 ...…

查看全部问答∨

声控电子锁

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 …

查看全部问答∨

基于单片机的信号发生器频率值怎么计算

我在做信号发生器时,一个周期取了256个点。然后通过调节TH0,TL0来调节频率。请问如果我设置初值为50HZ,要求输出频率为1~1000HZ之间,应该怎么设置TH0,TL0初值,怎么计算出频率值,怎么通过增加TH0,TL0或减小TH0,TL0来增大或减小频率能让频率在1~1 ...…

查看全部问答∨

MSP430应用感想

以前应用MSP430比较少一些,只是拿过MSP430F149练过手,知道MSP430的功耗很低,性能也很优越,最近公司里准备做一个手持的检测设备。感觉MSP430在功耗方面还是有很大的优势的。 看到了EEWORLD与TI联合搞活动,我在网上在网上搜了一下,大体的看了 ...…

查看全部问答∨

LPC1769 无法电池供电 怎么解决啊???

LPC1769 无法电池供电 怎么解决啊???各位 高手,,LPC1769 无法电池供电 怎么解决啊???之前 一直 用USB 供电,,现在 用电池 供电,没反应,,怎么办啊???…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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