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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
请各位解释一下以这几个键值怎么的出来的
" l# n6 o" A( y( d0 L5 i+ [% k; ~以下是部分程序:: H9 b- m9 {$ s! a( j( s
---
- C: E, [$ \3 e/ h#define uchar unsigned char   
0 r5 J5 {2 B1 Y  u. J#define uint unsigned int
7 s9 N  r% d8 ?$ v#define key P1   ' s% w, x) t: m2 k
#define dataout P3: k" T2 J9 L# Q6 P! d2 ^
uchar data keyword;
1 t* A; S& u$ w7 j---0 L4 u2 a; n2 j3 e
void keyscan()               //键盘扫描函数
1 Z* M4 [8 g" b( i{   
5 w8 s+ i& Z0 w2 F5 Y4 n) Ykeyword=key&0x3f;   8 N4 Q2 I; q9 B4 l+ e. T- w
if(keyword!=0x3f)   
  m  W. _2 J1 o  Z8 E) q8 E& n" _$ `7 ~{   3 W; V2 C1 C0 s8 y9 U. B
  while((key&0x3f)!=0x3f);  //等待按键松开   ( T% T' J" z0 N( E, A
  switch(keyword)   
( G2 H& ?+ Y& ?$ S# T) D8 k  {
7 I, ~' ~0 |/ e; {5 m9 l     case 62: {;}
7 S2 k9 M9 f& |     case 61: {;}
- c4 v8 h2 _/ P
% X4 I$ }0 D& v8 q0 g7 v, c     case 59: {;}
; ?$ k0 C- V: }' O! Z" H     case 55: {;}
  ?2 m  O( [2 R; w     case 47: {;}
; d' b) R9 g- w     case 31: {;}, D2 i! ^. o2 `. b' @5 b
}
, T+ [3 I: m; V7 b! }* ^* C}  q4 ^0 f8 L2 Q" N8 Q+ j) ?
}( q: @- d$ _" {/ S3 t, b' [

9 M2 O) ]( d1 ~提问:+ A6 B9 {5 C; |2 O# U8 t6 }; S1 g
(1)键值62,61,59,55,47,31怎么得出来的;
- b7 C. g; c3 y! c1 Z(2) 代表哪几个按键或对应引脚。
( B$ u0 L- h4 E5 v8 q* U* s

该用户从未签到

2#
发表于 2022-3-1 09:52 | 只看该作者
这几个数分别对应十六进制:3EH,3DH,3BH,37H,2FH,1FH,在按键而言,分别对应P1.0到P1.5相接的6个按键。  j1 w5 H0 D+ C0 o& u( E7 R; F

该用户从未签到

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-7-17 03:06 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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