基于定时器的长按与短按
【1】选择内部16MHz时钟的128分频作为计数器1的计数信号。
【2】在定时器1的模模式中实现0.1秒的间隔定时。
【3】当SW1按键长按松开后,切换D4灯的开光状态,当SW1按键短按松开后,切换D6灯的开光状态。
【注】按键按下时间大于0.5秒,可定义为长按,反之为短按。

# include"ioCC2530.h"
#define D4 P1_1
#define D6 P1_4
#define SW1 P1_2
unsigned int count=0;
unsigned char K_Press=0;
void Delay(unsigned char t)
{
while(t--);
}
void Init_Port()
{
P1SEL &=~0X1B;
P1DIR |=0X1B;
P1&=~0X1B;
P1SEL &
本文介绍了如何基于定时器实现按键的长按和短按功能。通过设置内部16MHz时钟的128分频作为计数器1的计数信号,在定时器1的模模式下实现0.1秒间隔定时。当SW1长按时,切换D4灯的状态,短按时切换D6灯的状态。同时讨论了按键消抖问题,强调了K_Press变量的重要性,以确保仅在确认人为按下时才执行相应操作。
最低0.47元/天 解锁文章
439

被折叠的 条评论
为什么被折叠?



