|
本帖最后由 jianhong_wu 于 2014-9-23 23:01 编辑
鸿哥解答:
如果单片机IO口是准双向IO口,分两步来做:
(1)第一步:你先当那4个按键不存在,先把LED的动态扫描程序做出来。
(2)第二步: 当你完成第一步之后,由于你的电路上只有两个片选
LCOM1(P2.6)和LCOM2(1.2),所以你的动态扫描切换只要2步,
为了检测按键,你在动态扫描程序里均匀地多插入2步专门用来动态扫描按键的。比如:
(1)LCOM1=0;
LCOM2=1;
...
delay();
动态扫描LED,片选1有效
(2)LCOM1=1;
LCOM2=1;
...
按键检测,两个片选无效
(3)LCOM1=1;
LCOM2=0;
...
delay();
动态扫描LED,片选2有效
(4)LCOM1=1;
LCOM2=1;
...
按键检测,两个片选无效
继续跳回第一步循环扫描下去...
比如每到那个检测按键的时间段,你就检测这个按键的电平状态,如果发现它是低的,而且连续在N个时间段内发现都是低电平的,那么就是被按下了。你把设置一下某个标志位自锁起来,这些具体基本的独立按键功能你可以参考我的连载技术贴《从业将近十年...》第6,7,8节http://www.dumenmen.com/forum.php?mod=viewthread&tid=8
|
|