历史上的今天
返回首页

历史上的今天

今天是:2025年01月13日(星期一)

正在发生

2020年01月13日 | STM8S PWM 应用 呼吸灯

2020-01-13 来源:eefocus

//主功能接受:使用MCU STM8S105C6 的PWM通道2 PC2 来做呼吸灯 已经验证OK,呵

//呵,这个PWM设置刚开始用还是有点麻烦,因为是自己摸索,花点时间,还是攻克了。

//所用子函数都是调用STM8S的库函数stm8s_tim.c中的。


宏定义:

//分频宏

//计数器的时钟频率(fCK_CNT)等于fCK_PSC/( PSCR[15:0]+1)。

#define  TIM1_PRESCALER_1    ((u16)0x00)

#define  TIM1_PRESCALER_2    ((u16)0x01)

#define  TIM1_PRESCALER_3    ((u16)0x02)

#define  TIM1_PRESCALER_4    ((u16)0x03)

#define  TIM1_PRESCALER_5    ((u16)0x04)

 

 

// PWM 频率设定

#define MDIV2

//16M 2分频的设置

#if defined(MDIV2)

#define TIM1_DIV_SET TIM1_DIV2

#define PWMFRE_8KHZ  1000//主频率 16M/2=8M 1/8K=1/8M*1000 周期 0.125us

#define PWMFRE_4KHZ  2000

#define PWMFRE_2KHZ  4000

#define PWMFRE_1KHZ  8000

#define PWMFRE_05KHZ  16000

#define PWMFRE_025KHZ  32000

#define PWMFRE_020KHZ  40000//200HZ 周期5000us /0.125 =40000

#define PWMFRE_38KHZ  210//用于红外38KHZ载波

#define PWMFRE_OPEN   70//1/3的PWM占空比

#else

//16M 不分频的设置

#define TIM1_DIV_SET TIM1_DIV1

#define PWMFRE_8KHZ  2000

//1/8K=1/16M*2000

#define PWMFRE_4KHZ  4000

#define PWMFRE_2KHZ  8000

#define PWMFRE_1KHZ  16000

#define PWMFRE_05KHZ  32000

#define PWMFRE_025kHZ  64000

#define PWMFRE_38KHZ  421//用于红外38KHZ载波

#define PWMFRE_OPEN   140//1/3的PWM占空比

#endif

//初始化调用:

 

TIM1_PrescalerConfig(TIM1_PRESCALER_2,TIM1_PSCRELOADMODE_IMMEDIATE);

//1分频即不分配 允许事件更新

TIM1_OC2Init

 

(TIM1_OCMODE_PWM1,TIM1_OUTPUTSTATE_ENABLE,TIM1_OUTPUTNSTATE_ENABLE,

             0,TIM1_OCPOLARITY_LOW,TIM1_OCNPOLARITY_HIGH,

             TIM1_OCIDLESTATE_SET,TIM1_OCNIDLESTATE_SET);

//PWM1模式 

 

TIM1_CounterModeConfig(TIM1_COUNTERMODE_UP);//向上计数模式

TIM1_ARRPreloadConfig(ENABLE);//重新预装载使能

TIM1_OC2PreloadConfig(ENABLE);//比较器2预状态使能

 

 

TIM1_SetCounter(0);//初始化计数值

TIM1_SetAutoreload(PWMFRE_020KHZ);//0.125us周期 40*0.125=5us 200khz 周期

 

是5us 5/0.125

TIM1_SetCompare2(0);//占空比值

 

TIM1_CtrlPWMOutputs(ENABLE);//PWM控制使能

TIM1_Cmd(ENABLE);//使能TIM1计数

TIM1_CCxNCmd(TIM1_CHANNEL_2,ENABLE);//第二通道 输出使能

 

//主程序调用(10ms执行1次):

 

//更改占空比

 

if(F_ADD)

         {

            PWMVal += 100;

            if( PWMVal >= 2000)

            {

             

              F_ADD = 0;

              

            }

         }

         else

         {

            PWMVal -= 100;

            if( PWMVal <= 100)

            {

             

                F_ADD = 1;

              

            }

         }

          TIM1_SetCompare2(PWMVal);


推荐阅读

史海拾趣

Alliance Memory公司的发展小趣事

Alliance Memory是一家专注于存储器产品的公司,以下是其发展历程的五个相关故事:

  1. 成立与发展初期: Alliance Memory成立于2006年,总部位于美国南卡罗来纳州。公司专注于提供DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)解决方案。在成立之初,公司致力于与全球供应链建立紧密的合作关系,以确保产品的质量和可靠性。通过与先进制造厂商合作,Alliance Memory能够提供高品质的存储器产品,满足客户的需求。

  2. 扩大产品线: 随着市场需求的增长,Alliance Memory不断扩大其产品线,涵盖各种容量和类型的DRAM和SRAM产品。公司不断改进和优化其制造工艺,并与全球领先的技术合作伙伴密切合作,以确保产品的性能和稳定性。通过不断提供新的存储器解决方案,Alliance Memory成功吸引了更多的客户,并在行业中树立了良好的声誉。

  3. 全球市场拓展: Alliance Memory的产品销售遍布全球各个地区,包括美国、欧洲、亚洲等市场。公司与全球各地的分销商和代理商建立了稳固的合作关系,以扩大其产品的市场份额。通过在全球范围内提供及时和高效的客户服务,Alliance Memory不断增强了其在国际市场上的竞争力。

  4. 技术创新与研发投入: 作为一家技术驱动型公司,Alliance Memory不断投入研发和创新,以提供最先进的存储器产品。公司的研发团队与业界领先的技术合作伙伴密切合作,不断推出具有竞争优势的新产品。通过持续的技术创新,Alliance Memory得以不断满足客户不断增长的需求,并保持在行业中的领先地位。

  5. 可持续发展与社会责任: 除了致力于业务发展,Alliance Memory还积极履行企业社会责任,关注环境保护和社会公益事业。公司采取了一系列可持续发展的举措,包括节能减排、资源循环利用等,努力降低对环境的影响。此外,Alliance Memory还参与各种公益活动,支持教育、环保和社区发展等领域的项目,为社会做出积极贡献。

Gwconnect (Molex)公司的发展小趣事
利用超声波传感器发射超声波并接收回波,通过测量时间差来计算距离,广泛应用于汽车泊车辅助、机器人导航等领域。
CUI Devices公司的发展小趣事

CUI Devices与富昌电子之间的合作关系可以追溯到CUI Inc的时代。多年来,双方建立了深厚的合作基础。在CUI Devices从CUI Inc剥离后,富昌电子继续支持其发展,成为其重要的合作伙伴之一。双方共同致力于推动电子元件行业的发展,为客户提供更优质的产品和服务。这种稳固的合作关系为CUI Devices在市场竞争中提供了有力的支持。

这五个故事展示了CUI Devices在电子行业中的发展历程和取得的成就。从起源与转型到应对全球健康危机的积极举措,再到在压电警报器市场的卓越表现以及电机品牌的崛起与拓展,每一个故事都见证了公司的成长和进步。同时,与富昌电子的稳固合作也为公司的未来发展奠定了坚实的基础。

Cal Crystal Lab Inc / Comclok Inc公司的发展小趣事

随着电子行业的快速发展,技术创新和合作成为了企业发展的重要驱动力。Cal Crystal Lab Inc深知这一点,积极寻求与其他企业的技术合作。通过与国内外知名高校和研究机构的深入合作,公司不断引进新技术、新工艺,提升了产品的技术含量和附加值。同时,Cal Crystal Lab Inc还与其他企业建立了战略合作关系,共同开发新产品、拓展新市场,实现了共赢发展。

Faraday Technology公司的发展小趣事

随着全球化的加速推进,国际化战略成为了企业发展的重要方向。Cal Crystal Lab Inc在稳固国内市场的基础上,积极实施国际化战略。公司不仅在海外设立了研发中心和生产基地,还加大了对国际市场的开拓力度。通过与当地企业的合作与交流,Cal Crystal Lab Inc不断适应国际市场的需求和变化,提升了公司在全球市场的竞争力。

这五个故事只是虚构的示例,并不代表任何真实公司的历史。实际的电子行业公司发展历程往往更加复杂和多样,受到市场、技术、政策等多种因素的影响。如果您需要了解特定公司的真实发展故事,建议查阅相关资料或咨询相关人士。

Heyco公司的发展小趣事

Heyco公司成立于1906年(部分资料提及为1926年或1937年,这里以多个资料综合为准),最初在德国柏林成立。起初,公司专注于制造手工工具,随着汽车工业的兴起,Heyco迅速转型为汽车装配线所需工具的生产商。在二战后,Heyco抓住了汽车工业快速发展的机遇,进一步扩大了生产规模,不仅为德国本土汽车制造商如宝马、奥迪、大众和梅赛德斯奔驰提供定制工具,还逐渐拓展到国际市场。这一时期,Heyco凭借其高质量的产品和卓越的服务赢得了市场的广泛认可。

问答坊 | AI 解惑

单片机控制 3个220V电动机

我现在想用单片机来控制 3个220V电动机  或是 5个电动机     而一般的电路设计是 光偶 加 可控硅 实现关与开  或是继电器实现     但是电动机开与关 到底有没有执行单片机没有得到 ...…

查看全部问答>

LC谐振频率计算器

LC谐振频率计算器,不知道大家用不用得上,可以由他设计滤波器…

查看全部问答>

用电池做电源应当如何稳压?

使用电池做电源时会出现电压下降和内阻等增加等麻烦,因此一直想弄明白:能不能实现稳压以尽可能保持电路稳定?一般使用什么器件和方式?有什么原则和注意的?…

查看全部问答>

SEGA MD5的开发包

SEGA MD是很久以前的TV游戏机, 前些时候整理了一下, 找到完整的开发包: 1)C,汇编开发工具和库; 2)调试工具(免ICE开发); 3)MIDI音乐转换工具; 工具虽老了些,但当初用这个工具开发过很多的商业SEGA游戏, 包括为日本著名游戏厂家BANDAI开发的SEGA ...…

查看全部问答>

高可靠性心电采集电路

按国内医学会制定的心电图标准,心电信息数字化精度不小于12bit,(信号输入范围+/-5mV的情况下,心电信号最小分辨率2.44uV)心电采样率不低于500Hz 我们想做一款心电图的分析软件,想找一个可靠心电电路,当然比上面标准更高的更好 最好有实际使用过 ...…

查看全部问答>

求AT指令截取手机屏幕方法?

请问AT指令怎么样可以截取到手机屏幕内容(全屏,或者部分都可以) 谢谢.…

查看全部问答>

请教高手:应用层关闭后,winlogon占用cpu过高。

一个can卡驱动,通讯时运行良好,可是应用层程序关闭后,winlogon占用cpu过高。请教高手这是什么原因?…

查看全部问答>

赠送3片8962芯片,见图

赠送3片8962芯片,BGA封装的,自己付快递费就行,红线内就是 …

查看全部问答>

问用仿真器仿真的运行速度问题

用仿真器进行仿真运行,速度是不是比实际在板子上运行要慢阿? 如果是的话,怎样设置能使其速度快点阿? 我用的是2812板…

查看全部问答>

请高手给个开关电源设计方案

本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 希望模块比较完整,有过流保护等,  …

查看全部问答>