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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
矩阵键盘输入多位数显示问题
+ E( M8 r4 f, ]# s, b6 H; q2 w7 |8 d+ Y, H9 U) c
知键盘扫描程程uchar keyscan(),其返回值为矩阵键盘扫描结果,如何通过该函数向LCD1602输入6为数显示? 我无法解决按键松开判断,还请各位大神给出详细程序?谢谢!( o  O: F. V+ |" V! Z. w, h. a5 W

该用户从未签到

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

该用户从未签到

3#
发表于 2019-4-28 14:16 | 只看该作者
给个简单的
% J7 w5 T7 @# Cuchar keyscan()
& ^8 O& }+ x0 R& @5 W{* \) \& f9 P* V2 G7 P, c
uchar key_flag=0;
7 e: h9 O6 T+ u/ A5 J6 F  if(key==0)//初判断按键是否按下{. Z& A: v# {) J* X) u
   delayms(10);//延时去抖动
" W, h3 R+ A9 E( v   while(key==0);//等到按键松开
# \+ y" B- T4 Z" C+ N   key_flag=1;//表示按键按下了,另外,主要在其他用这个标志的地方,使用后清零。! a3 e& Q7 M8 T
}
% n5 ~# G" j) Helse if(key2==0)
* V$ f0 }9 a# B( W{+ |. [! C% c1 R4 Z
  ......; B6 h- K2 l! n( {2 ^' M1 U
key_flag=2;
' i" _1 @- e8 b4 q) u. h  c}
0 N0 s/ k6 L; v8 }* e, nelse9 m' ]' T( T( x& K% J. A: Q
  key_flag=0;, `  Z( T( t4 I' T- o/ C& r
return key_flag;
' B2 F  H6 p, N}' k; {9 V3 k1 t) M4 y  D

1 v2 u* k. p% U0 F這里是给了一个大概的范例思路。

该用户从未签到

4#
 楼主| 发表于 2019-4-28 14:53 | 只看该作者
多谢各位大牛
6 r- s( r- Q4 b0 b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-27 20:36 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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