按键是否很少能用到查询方式?

drizztguai 2010-02-16 01:26:41
一开始我用查询方式来读取按键

可是由于后面有delay();很大机会按键的时候在delay里读不出来

后来采用了中断,可是中断就这几个口,根本无法满足需求。。。

...全文
130 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcdzyq 2010-02-19
  • 打赏
  • 举报
回复
如果程序轮循时间过长,可以放在定时中断中查询
galafx 2010-02-18
  • 打赏
  • 举报
回复
如果不能把按键连接中断,我想到的就是用定时中断,键盘检测在定时中断里做。

不过键盘检测的消抖时间感觉有点长,可以考虑不要。

再有就是定时检测按键要做好防止重复检测到按键。
schlafenhamster 2010-02-18
  • 打赏
  • 举报
回复
采用中断,把所有的按键‘或’成一个中断
qzf368 2010-02-18
  • 打赏
  • 举报
回复
定时中断查询法应该更好
sunkechenjing 2010-02-18
  • 打赏
  • 举报
回复
读取按键有很多办法,如果按键很多可以用ch452,如果不多可以简单编程.
比如下面的程序


if(key1==0)
{
while(key1==0);
while(key1==1);
if(bz_light1==1)
{
light1=0;
bz_light1=0;
}
else
{
light1=1;
bz_light1=1;
}
delayms(2);
}
博说医械研发 2010-02-16
  • 打赏
  • 举报
回复
1000太长了,一般情况下操作的时候都不会按1秒那么久,根据实际需要调整一下数值吧
drizztguai 2010-02-16
  • 打赏
  • 举报
回复
我用来闪烁字符。

就用了1000ms... 所以长了点。

wxdcxp 2010-02-16
  • 打赏
  • 举报
回复
一般按键都采用循环来读取的,你delay是多长时间?一般20ms左右就可以了

27,509

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧