九、基于定时器的长按与短按

本文介绍了如何基于定时器实现按键的长按和短按功能。通过设置内部16MHz时钟的128分频作为计数器1的计数信号,在定时器1的模模式下实现0.1秒间隔定时。当SW1长按时,切换D4灯的状态,短按时切换D6灯的状态。同时讨论了按键消抖问题,强调了K_Press变量的重要性,以确保仅在确认人为按下时才执行相应操作。
摘要由CSDN通过智能技术生成

基于定时器的长按与短按

【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 &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值