作者wuzen (我我我....)
看板ASM
标题Re: [问题] 8051 外部中断 用C语言
时间Fri Apr 25 12:45:44 2008
※ 引述《dream3325 (忧郁蓝调)》之铭言:
: 最近刚接触8051
: 想请问依下
: 外部中断要如何用C语言写(INT0)
: 还有要如何消弹跳(像按个一秒钟 程式就判断我按了9下 类似的问题)?
: 拜托了><"
bool PressDownDebounce(){
int i=0xffff; //视情况更改数值
if (!P1^0) { //若按键被按下(P1^0 == 0)执行for回圈
for( ; i!=0; i--){ //在回圈期间P1^0 == 1 就return false
if (P1^0) return false;
}
return true;
}
return false;
}
只要按键没有被按下或是还在bounce期间都会return false
像你所说的按下一秒钟会误判断按了九次,这个你可以在第一次承认按键被按下之後
就等待按键被释放的事件被启动。
等到按键被释放之後 在继续去侦测按键被按下的事件。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.160.153.30