利用定时器中断方式控制led灯的闪烁速度_单片机编程中软定时器应用实例1——多路LED的闪烁...

【单片机高级编程之软定时器的实现】文中介绍了软定时器的实现,本文及后面几篇将介绍其应用实例,一来帮大家扩展应用思路,二来通过不同的实例更好的了解软定时器的用法及性能。

本文介绍利用软定时器实现三路LED的快闪,慢闪,常亮,关闭,将多种控制封装成一个简单的接口,让你能放心而优雅的调用。

硬件电路:

1b58ac95bc4d5df87ad849f41747ee0c.png

电路采用GPIO直驱方式,当GPIO输出低LED亮,输出高LED灭。

软件实现:

1.定义三颗灯

typedef enum{

LED1=0,

LED2,

LED3,

LED_MAX,

}led_t;

2.定义四种状态

typedef enum{

LED_OFF=0x00,

LED_FLASH_SLOW=0x10,

LED_FLASH_QUICK=0x20,

LED_ON=0x30,

}ledCtrl_t;

3.灯的开关函数,根据原理图来设置相应GPIO的输出电平

static void _ledSwitch(led_t led,u8 on)

{

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值