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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
请各位解释一下以这几个键值怎么的出来的
/ X" s: _6 D: h( q以下是部分程序:" K3 a* E7 j/ Z4 v$ E+ y
---; c, Y% ?; e( U  ?( O! `6 b
#define uchar unsigned char   
3 J/ F5 ]+ t$ N& H( W7 w$ O; f" G#define uint unsigned int! Q- H; ~$ c8 g) j: z
#define key P1   ; a' s3 p9 Y2 I. |" X
#define dataout P3( \* D; a$ F3 a1 g' `
uchar data keyword;
3 h( S) k/ q7 X4 c8 O---
0 M2 ~# `4 a& bvoid keyscan()               //键盘扫描函数4 N1 T: L! m% j2 b* V) u, R5 G
{   ) h. u3 g3 u- J  S/ ~
keyword=key&0x3f;   3 X- m+ X0 _" {" n% c( i
if(keyword!=0x3f)   * O! L9 D+ J7 n* q8 |% \+ O! J: C5 F
{   . x6 a4 l% ~3 y$ @. l
  while((key&0x3f)!=0x3f);  //等待按键松开   ) D6 ~9 Y' N, g3 k. ^  s* M
  switch(keyword)   ' e( a& C1 G8 Q( b* j% a5 B8 M
  {+ W5 c  h2 d! n5 Y
     case 62: {;}
( u9 K: Y6 ~; `7 c3 ~) ?- i     case 61: {;}
6 c) Z9 p3 j( R1 n+ Q8 V; b- L# q# z1 O+ |$ J
     case 59: {;}
2 ~4 P* \4 d5 `+ U/ M5 \     case 55: {;}& H  ^3 e! g1 F2 f
     case 47: {;}
: u7 m5 T. }7 b, ?7 ~5 r6 Y. t, ]     case 31: {;}
0 X0 K* H" N/ u+ |. K}
& v/ m! p4 G. e5 g) l8 Z* A8 b}
1 G2 ?7 H6 }7 I, \$ U& H  |6 H}. Y0 R  \3 Z- [
' E3 g( l: e  ^1 m
提问:
* h" q5 k( M  c1 u( G3 n(1)键值62,61,59,55,47,31怎么得出来的;
/ f8 M5 i  T  N4 W8 _6 m8 y5 K(2) 代表哪几个按键或对应引脚。
9 x7 z+ H; B" F7 D/ d
6 f6 v; m2 E* k  Y) r5 ^# o9 _

该用户从未签到

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

该用户从未签到

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

) Z" \8 ?/ m: h0 B/ f+ l( j这几个数分别对应十六进制:3EH,3DH,3BH,37H,2FH,1FH,在按键而言,分别对应P1.0到P1.5相接的6个按键。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-9 13:49 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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