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

请各位解释一下单片机C语言这几个键值怎么的出来的?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-1 09:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
请各位解释一下以这几个键值怎么的出来的
: t" W$ S7 ^) X; B以下是部分程序:
9 f0 @4 v; m/ m/ q3 G0 T---
9 f* G2 \5 z9 q! ~#define uchar unsigned char   7 y9 G5 F) K( i; X$ M2 N' v/ [
#define uint unsigned int3 V" N  \" y% Q
#define key P1   
/ j3 i+ O7 n9 _3 g3 O  p#define dataout P3
( h+ G% ~2 m. J5 I7 g6 @- p% Euchar data keyword;
4 M' u; a4 H; \& {# X9 j* U---$ h! z9 H& F. H
void keyscan()               //键盘扫描函数* ~8 [: ~* I! ]6 N' j  v
{   
3 H! t& A5 C" [6 G- m7 Y5 s# ~, mkeyword=key&0x3f;   
0 A" B8 h5 e: J: \+ v9 X( h; Xif(keyword!=0x3f)   - x% \( a% I/ t9 B& y# q3 q
{   , M& B9 v' M* `
  while((key&0x3f)!=0x3f);  //等待按键松开   7 g9 ^* B5 s. u9 d+ N! z3 q8 O
  switch(keyword)   
; M$ v8 e& d) z6 G  {/ g, b0 _) V; f# o
     case 62: {;}- G' Y1 ]9 q( C# z, x- @' l5 d. \
     case 61: {;}
( p1 Z" O+ t( ?0 B+ k- @! P5 p7 J" m$ ~( a7 m0 L
     case 59: {;}; D) J" e. L; C
     case 55: {;}
7 h/ }7 {5 d" z$ b8 z6 s8 [# f     case 47: {;}' z( c3 F( a- W' ]: H6 M; M$ e
     case 31: {;}! |+ N: @. w* }/ B0 g- F1 ^) y
}7 S( k! e) {/ l
}
/ d6 ]# b( O; D0 d}) a: M% N' h2 g( l3 x

% L; }* A, ?3 b: w- Z! C提问:  }5 j7 t  F4 C% x0 Q; ~
(1)键值62,61,59,55,47,31怎么得出来的;
" @9 E+ D7 M- S  c(2) 代表哪几个按键或对应引脚。( @% f* R. U5 e5 Z8 Z9 \

该用户从未签到

2#
发表于 2022-3-1 09:52 | 只看该作者
这几个数分别对应十六进制:3EH,3DH,3BH,37H,2FH,1FH,在按键而言,分别对应P1.0到P1.5相接的6个按键。5 c6 o' [% K7 H" h7 {! L1 m& I- B

该用户从未签到

3#
发表于 2022-3-1 10:01 | 只看该作者
按键的接口是P1的低6位,如果P1的最低位按下,键值就是十六进制0x3e,十进制就是62;次低位按下键值就是十六进制0x3d,十进制就是61;依此类推,分别就是59、55、47、31.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-9 09:07 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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