历史上的今天

今天是:2024年08月31日(星期六)

2020年08月31日 | STM8L101F3P6 TIM4 实现呼吸灯效果(1)

发布者:532829319hmk 来源: eefocus关键字:STM8L101F3P6  TIM4  呼吸灯 手机看文章 扫描二维码
随时随地手机看文章

要实现呼吸灯效果,主要就是确定 频率,两个方面的频率:①以多快的频率开关LED,②以多块的频率 修改脉冲宽度。我们的例子的频率是:产生100us 中断 来开关LED, 每10ms 修改一次  脉冲宽度,100个等级,1s的频率呼吸。


有两种实现方式:直接PWM 输出   另一种 是用定时器 模拟PWM  优点是任意引脚都可以实现。这里先用后一种方式实现。


主要代码


#define LED_GPIO_PORT  GPIOD

#define LED_GPIO_PINS  GPIO_Pin_0 

#define led_on    GPIO_SetBits(LED_GPIO_PORT,LED_GPIO_PINS)

#define led_off   GPIO_ResetBits(LED_GPIO_PORT,LED_GPIO_PINS)

 


void led_pwm_init(void)

{

    GPIO_Init(LED_GPIO_PORT, LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Slow);//初始化LED,GPD0低速推挽输出

    

    CLK_PeripheralClockConfig (CLK_Peripheral_TIM4,ENABLE); //使能外设时钟,STM8L外设时钟默认关闭,使用前需使能

    

   

     TIM4_TimeBaseInit(TIM4_Prescaler_2, 0x64);//16M/8/2=1M,0xff=255,100*(1/1M)=100uS,大约61次中断是1S

   // Clear TIM4 update flag 

    TIM4_ClearFlag(TIM4_FLAG_Update);//向上清除溢出标志

    //Enable update interrupt 

    TIM4_ITConfig(TIM4_IT_Update, ENABLE);//向上溢出中断使能,中断向量号25

   TIM4_Cmd(ENABLE);//TIM4使能

   enableInterrupts();//开启中断总开关     

}

 


/**

  * @brief  Timer4 Update/Overflow Interrupt routine.

  * @param  None

  * @retval None

  */

INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 25)

{

    /* In order to detect unexpected events during development,

       it is recommended to set a breakpoint on the following instruction.

    */

   /*  i++;

 if(i==61)

    {

GPIO_ToggleBits(GPIOD, GPIO_Pin_0);//翻转GPD0输出状态

i=0;

    }*/

  

  if((++timenum)>=100)//每10mS调整一下led的占空比  100us中断;

 {

    time_second_count++;

    timenum=0;

  if(leddirection==0)  //如果是渐亮方向变化,则占空比递增

  {

    ledpwm++;

   if (ledpwm > pwm_max)

  {

  ledpwm = pwm_max;

   // leddirection =1;

  }

  }


 if(leddirection==1) //如果是渐暗方向变化,则占空比递减

 {

 ledpwm--;

   if(ledpwm<=pwm_min)

  {

   ledpwm=pwm_min;

 //leddirection=0;

  }

 }


  ledpwm_temp=ledpwm;//获取LED的占空比

}

 

  if(ledpwm_temp>0)//占空比大于0,则点亮led,否则熄灭led 

 {

 //led_on;

  led_off;

   ledpwm_temp--; //? 就是来控制亮的时间 

 }

 else

 { 

   led_on;

 //led_off;

 }

    TIM4_ClearITPendingBit(TIM4_IT_Update);

}


关键字:STM8L101F3P6  TIM4  呼吸灯 引用地址:STM8L101F3P6 TIM4 实现呼吸灯效果(1)

上一篇:STM8L探索套件学习笔记-GPIO端口操作(一)
下一篇:关于我对IIC协议的一些理解

推荐阅读

近年来,移动互联网促进了电商的快速发展,线上交易规模所占比例不断扩大,尤其在遇上“618”和“双十一”等大的网上促销购物节时,电商希望商品能够安全无损地送到用户手里。另一头的用户同样关心物流的速度,这都对物流巨头仓储订单的处理能力形成了巨大挑战。正是在这种“互联网+”的大背景下,基于大数据、云计算和现代管理技术等信息技术的“云仓”概...
楼宇经济是近年来中国城市经济发展中涌现的一种新型经济形态。浦东区一项最新调查显示,陆家嘴金融贸易区、外高桥保税区等地的105栋新建楼宇,去年每栋高楼平均营业收入超过16亿元,楼均上缴税超过6000万元,一幢大楼的经济规模相当一家大型企业。楼宇经济的爆发也让智慧楼宇的发展进入了快车道。8月29 日-31日,世界人工智能大会在上海举行。作为世界范...
美国9月返校潮将至,但教育笔电大缺货,学生面临“没笔电上学”的问题,品牌业者急找代工厂广达支援。因应美国市场庞大急单需求,广达上海松江厂扩大招募普工,新员工入职90天,奖励金可达人民币4,500元。这是多年来,笔电代工大厂罕见在大陆大规模招募普工,凸显相关订单来得又急又快,广达既有生产线编制无法因应,只能扩大招工加速赶工出货的盛况。目前...
跑马灯1.GPIO简介每个GPIO端口有两个32位配置寄存器(GPIOx_CRL和GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR),GPIO端口的每个位可以由软件分别配置成多种模式:输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、推挽式输出...

史海拾趣

问答坊 | AI 解惑

[ 经典系列]Real-Time Concepts for Embedded Systems

正好我这有一种嵌入式开发的资料,号称是Embedded Systems 开发探秘之类的经典书,英文版的。拿出共享,希望大家喜欢。…

查看全部问答∨

EVC启动报错,重新安装了也不行,请高手指教。

最初我安装好了evc,也能运行例子程序。不知道我中间运行了什么冬冬,结果在运行evc时,运行不起来了,出现如下问题:    Failed   to   connect   the   Drop-in   CPU    ...…

查看全部问答∨

配置好NFS后,telnet登录ARM板问题

目的:通过NFS远程登录ARM开发板,使得其它PC机也能通过远程调试ARM板 NFS配置正常 主机PC机的ip:192.168.0.1 ARM板ip:192.168.0.20 客户端PC机去telnet  192.168.3.20  连上后出现:(none)login:   不是自 ...…

查看全部问答∨

ARM7+W5300的源代码

想通过ARM7+W5300完成两个通道的模数转换试验,但是不知道源代码该怎么写?? 会的大侠帮我啊…

查看全部问答∨

急死人了,

我想做了一个看门狗,我需要申请一个中断资源,然后使用它, 我知道要用到IOREPORTRESOURCEUSAGE,和资源转换 ,但我 不知道怎么用 那位大虾能给一下代码呢…

查看全部问答∨

求救:本本没有串、并口,大侠们提供一个USB下载线制作资料或地址吧(用于AT89S52单片机的)。

我的本本只有USB口,我买了个USB转串口的线是可以用的,但转并口的线不能用。 现在想自做一个USB下载线或串口下载线,但网上资料全是并口的资料,还求前辈们给个资料或地址。 注:是用于AT89S52芯片的ISP下载线。…

查看全部问答∨

大家觉得明达科此类的培训如何啊?

大家觉得明达科此类的培训如何啊? 说还有去日本的机会?…

查看全部问答∨

我的Stm32F103zeFlash坏了?!

   这段时间在玩这颗片子,用RVMDK+Jlink调试环境,大概两周后,发现用jlink调试的时候下载不了程序了,老是蹦出对话框"cannot stop arm device"。上网查一了一下,说是片子执行了random instruction, ...…

查看全部问答∨

【为C2000做贡献】【组委会推荐论文】湖北省TI杯优秀论文

湖北省的优秀论文。 [ 本帖最后由 wanghongyang 于 2011-4-25 20:23 编辑 ]…

查看全部问答∨
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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