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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
请各位解释一下以这几个键值怎么的出来的
& a- s2 _# P* M. ~以下是部分程序:
9 M# k7 k+ d$ o6 @( K. l---7 J8 g4 b8 n' L* m
#define uchar unsigned char   
2 c7 x. i$ a* ^6 @& n7 ]4 m#define uint unsigned int5 m* s+ Z- x- M
#define key P1   
4 h! p; s3 Q) _/ w" i#define dataout P38 H, M' Y. `# H6 G; j; c
uchar data keyword;
' S1 b/ z8 N" w1 ]- y; r# T4 j---% B( l6 ^' u/ u2 q% o0 l- t/ T
void keyscan()               //键盘扫描函数( u+ N! M0 s- U5 s% m" ^: @( W
{   
+ D; o4 j  }, ]9 J1 @3 r) Xkeyword=key&0x3f;   * [& t# `% K0 t' s, m9 i4 |. _$ r0 A
if(keyword!=0x3f)   - j2 l# g' d& F2 u7 N  m) R
{   ; H* N- [/ J9 `  B# x7 E( ^
  while((key&0x3f)!=0x3f);  //等待按键松开   
5 D9 }/ R* v! p/ N. j8 \) M  switch(keyword)   
* A7 ^0 y% y$ p7 I0 o0 y+ E' a  {8 H% {% t' {5 D1 [
     case 62: {;}
" C* C  D, k7 u& M9 p- K4 h! e     case 61: {;}/ X% m- \  A% ~! V% v' Y$ x
1 y: S1 N1 B4 f0 v0 r9 b
     case 59: {;}
$ M  m1 R" p2 r5 r0 F. i& N: P     case 55: {;}
* z& G7 H% S* d" C6 T     case 47: {;}- O+ n4 r# r8 J+ c
     case 31: {;}1 Z/ l; S' d; D2 B; h+ b
}
* m% S3 R& @* t6 Y}
+ S) l7 F, N. F  A+ r}& {7 R' d' W7 i
$ o) d) ^8 V* Q! T& N
提问:  F6 Q) t& ]8 z
(1)键值62,61,59,55,47,31怎么得出来的;' P% a$ l" X/ a# I
(2) 代表哪几个按键或对应引脚。/ `7 Q6 K& I& Y) ]

7 i% j* h2 P5 K* |

该用户从未签到

2#
发表于 2022-3-21 13:32 | 只看该作者
1:键值是十进制数,读到的键值是十六进制数,建议了解下进制转换。2:相与0x3f即是取低6位,key定义的是P1,则是P1.0-P1.5;建议了解下C基础;

该用户从未签到

3#
发表于 2022-3-21 13:49 | 只看该作者

) H7 r4 p* I7 S, J这几个数分别对应十六进制:3EH,3DH,3BH,37H,2FH,1FH,在按键而言,分别对应P1.0到P1.5相接的6个按键。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-5 04:02 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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