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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
请各位解释一下以这几个键值怎么的出来的: L9 i! }0 o9 g. p# ]. ^/ f: b
以下是部分程序:: m  ?6 f; ?) J" i- \' r
---
7 r9 X( N) L8 y& i* q& d5 j( K#define uchar unsigned char   / a8 h0 J" c1 N* Q
#define uint unsigned int) ]3 q/ b6 @1 P& k, E  Q8 ]
#define key P1   
. A4 {* Z; j  G6 _#define dataout P3$ G) I, U5 u7 o9 k
uchar data keyword;, ]3 X2 h8 y5 v0 X$ T7 ]
---" H: m: y/ _! g& q9 N  |5 [
void keyscan()               //键盘扫描函数2 f1 |1 H* @3 t# J/ \
{   
" q# `5 G! G3 e. T/ A3 Wkeyword=key&0x3f;   ! v# }0 ~( _! O3 w1 p  w8 M6 I
if(keyword!=0x3f)   ; J- |0 S  u" u/ D! C
{   * R# h! c# |0 l* f, b9 A# K+ k+ ?
  while((key&0x3f)!=0x3f);  //等待按键松开   
4 r5 G  v) ?7 ]' s  switch(keyword)   
' L, B3 ^2 F+ h  {9 k. V7 ]. X- A$ g5 {& w
     case 62: {;}$ E$ q  P# |1 W4 A
     case 61: {;}' ^% X2 o8 w: r9 k0 M
/ {# A, A1 E7 K
     case 59: {;}: Z5 Z* d  `$ N. g
     case 55: {;}$ Z5 R# P; z1 ~) t6 a4 l: h# O
     case 47: {;}6 g" n) X7 F/ }' o, f6 ~0 R0 F& Z
     case 31: {;}) Y& `0 \1 O- P8 i# n
}
$ Y( e. u7 Y% O9 C4 J) a- q9 _4 O}
- a$ C! ~) K; U8 K}
$ z: y: F+ g2 h) U/ Y" x) Y7 M( w  p. i+ s- H+ A" B- j
提问:4 J0 a, Z. P' j- `1 x
(1)键值62,61,59,55,47,31怎么得出来的;" D  c- p# @7 ?& X
(2) 代表哪几个按键或对应引脚。6 b6 {. V( A: L7 ^+ g
/ ?: M5 [! N, `0 e# T: n

该用户从未签到

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

该用户从未签到

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

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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