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

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

   红心J 
红心J发表的帖子 

 参考
一般小东西,4K够了,一旦超出,将89C51改为89C52,此时为8K。
还有更大内部ROM的,管脚功能相同,电路不会作废。
键扫描:
COL1_LINE1:MOV SBUF,#11111110B  ;第1列
           LCALL DELAY1         ;等待串行输出结束
           JB P3.4,COL1_LINE2   ;
           ......               ;1列1行键处理
COL1_LINE2:JB P3.5,COL2_LINE1   ;
           ......               ;1列2行键处理
COL2_LINE1:MOV SBUF,#11111101B  ;第2列
           LCALL DELAY1         ;等待串行输出结束
           JB P3.4,COL2_LINE2   ;
           ......               ;2列1行键处理
COL2_LINE2:JB P3.5,COL3_LINE1   ;
           ......               ;2列2行键处理
COL3_LINE1:MOV SBUF,#11111011B
           ......
......
COL8_LINE1:MOV SBUF,#01111111B  ;第8列
           LCALL DELAY1         ;等待串行输出结束
           JB P3.4,COL8_LINE2   ;
           ......               ;8列1行键处理
COL8_LINE2:JB P3.5,KEY_END      ;
           ......               ;8列2行键处理
KEY_END:   ......
DELAY1:    ......

发表时间:2002年12月2日19:35:00

  
回复该帖

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

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

  15335.[详细]如果换一种键盘排列方式是否每个键值就不一样了呢?
摘要:我想知道的是:当给定一种具体的键盘排列方式时怎么样知道此种 排列方式中的每个键值?......(41字)
- [travelbeachlove][1022次] 2002年12月2日

  15346.[详细]参考
摘要:检测到某按键按下后,对这个键进行赋值。 M_KEY  EQU  XXH  ;键值存储单元 KEY_SCAN:  MOV M_KEY......(2074字)
- [红心J][1024次] 2002年12月3日

[上一篇帖子]:PCON,看书。
[下一篇帖子]:sst29lv020的问题我采用sst29lv020作为系统的boot区,可是它的SDP好像不起作用