导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→参考

* 15346: 硬件:89C51接行列式键盘,如何知道哪一个键被按下了呢?

   红心J 
红心J发表的帖子 

 参考
检测到某按键按下后,对这个键进行赋值。
M_KEY  EQU  XXH  ;键值存储单元
KEY_SCAN:  MOV M_KEY,#0FFH      ;键扫描子程序
                                ;初始键值为0FFH
COL1_LINE1:MOV SBUF,#11111110B  ;第1列
           LCALL DELAY1         ;等待串行输出结束
           JB P3.4,COL1_LINE2   ;COL1_LINE1键未按下,转COL1_LINE2键检测
           LCALL DELAY20mS      ;防抖动,20mS延时
           JB P3.4,COL1_LINE2   ;COL1_LINE1键未按下,转COL1_LINE2键检测
LOOP1_1:   JNB P3.4,$           ;等待按键释放
           LCALL DELAY20mS      ;防抖动,20mS延时
           JNB P3.4,LOOP1_1
           MOV M_KEY,#XXH       ;1列1行键赋值,存于M_KEY
           LJMP KEY_END
COL1_LINE2:JB P3.5,COL2_LINE1   ;
           ......               ;1列2行键处理
......
KEY_END:   RET                  ;键扫描子程序返回,键值在M_KEY中
                                ;M_KEY=0FFH为无键按下

发表时间:2002年12月3日9:22:00

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:当然是汇编用的是伟幅的产品
[下一篇帖子]:一个老贴子居然还有这么多的回应?我看我们这是怎么了?每一个岗位都应该有合适的人选,而且人也应该了解自