找回密码
 注册
关于网站域名变更的通知
查看: 1059|回复: 3
打印 上一主题 下一主题

矩阵键盘输入多位数显示问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-28 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
矩阵键盘输入多位数显示问题% n3 e; G4 Y: b3 I8 T( i
4 t, z; x9 M: e* U, r  t, S0 O
知键盘扫描程程uchar keyscan(),其返回值为矩阵键盘扫描结果,如何通过该函数向LCD1602输入6为数显示? 我无法解决按键松开判断,还请各位大神给出详细程序?谢谢!
( o. ]1 d9 d  ]- j9 g* _

该用户从未签到

2#
发表于 2019-4-28 13:47 | 只看该作者
首先采用软件延时,或者硬件电路处理去抖。  然后使用WHILE()来做判断。  也可以使用定时器采用判断按下按键的时长,来做长按或者短按,或者无效判断。

该用户从未签到

3#
发表于 2019-4-28 14:16 | 只看该作者
给个简单的4 t/ t, E$ X- a
uchar keyscan()  z* Z; e/ t8 Y% T0 r! y" K
{
8 p9 e( y7 ?0 L5 }3 }) Cuchar key_flag=0;/ }; T/ @+ m, v% b* m$ M& X. S
  if(key==0)//初判断按键是否按下{
% I* z9 M; ~4 T   delayms(10);//延时去抖动& m: v( ?6 w  m" L; i
   while(key==0);//等到按键松开+ [7 G: U  t9 `
   key_flag=1;//表示按键按下了,另外,主要在其他用这个标志的地方,使用后清零。3 A# W% ~5 i2 y: [% u) K. A# Q6 r
}  O$ t4 i5 y: d4 h. ]# h+ O8 k# `
else if(key2==0)
# ?  C0 i0 L$ A& p2 Y+ j{: t0 }- {) d. {1 @
  ......0 h2 m5 i+ S1 c3 h" W2 }
key_flag=2;
/ B' h6 E3 |8 p: i}
% [$ `+ q# B' L/ @# d3 l, q4 I; kelse
8 J1 H" a* f5 J" x' |8 h  key_flag=0;. r0 @1 y+ P  L3 C, J% `
return key_flag;1 y# O6 c" q* }
}& {7 P& Q! ~+ P3 y
- a& ~4 V2 p* V1 q
這里是给了一个大概的范例思路。

该用户从未签到

4#
 楼主| 发表于 2019-4-28 14:53 | 只看该作者
多谢各位大牛
7 U; ^6 ?( ]- K+ R% i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-28 04:28 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表