有关单片机程序的问题

[复制链接]
查看11 | 回复3 | 2010-6-9 23:25:11 | 显示全部楼层 |阅读模式
单片机检测按键“一直按不放”和“只按一下”的区别,这对于编写程序有什么不同

回复

使用道具 举报

千问 | 2010-6-9 23:25:11 | 显示全部楼层
对于判断按键,应该用定时中断(20ms检查一次),在中断对键值进行判断。如:1、第一次,扫描键值,保存。2、第二次,看是否与上次相同,若相同,则可得出键值,得出当前状态并保存。若不同,保存当前值。3、第三次,看是否与上次相同,若相同,则得出键值。若不相同,更新状态标志以标志当前状态。4、以此重复...
回复

使用道具 举报

千问 | 2010-6-9 23:25:11 | 显示全部楼层
单片我也是初学者,我认为:“只按一下”可以用外部中断就可以了,进入中断后先INT0=0; 关了外部中断(防止按键抖动多次进入中断)然后再写中断处理过程,在推出中断前再开中断INT0=1;“一直按着不放”检测的话用while语句比较好,比如P1.1(假设定义sbit key1=P1^1)口接按键到低电平,那么检测按键不放的语句可以用 while(~ke
回复

使用道具 举报

千问 | 2010-6-9 23:25:11 | 显示全部楼层
一直按着不放,就是较长的时间 内电平不变。只近一下,一般是判断按下,短时间内是否释放 。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行