标题:
请各位解释一下单片机C语言这几个键值怎么的出来的?
[打印本页]
作者:
ziba108
时间:
2022-3-1 00:27
标题:
请各位解释一下单片机C语言这几个键值怎么的出来的?
请各位解释一下以这几个键值怎么的出来的
以下是部分程序:
---
#define uchar unsigned char
#define uint unsigned int
#define key P1
#define dataout P3
uchar data keyword;
---
void keyscan() //键盘扫描函数
{
keyword=key&0x3f;
if(keyword!=0x3f)
{
while((key&0x3f)!=0x3f); //等待按键松开
switch(keyword)
{
case 62: {;}
case 61: {;}
case 59: {;}
case 55: {;}
case 47: {;}
case 31: {;}
}
}
}
提问:
(1)键值62,61,59,55,47,31怎么得出来的;
(2) 代表哪几个按键或对应引脚。
作者:
蓝魄
时间:
2022-3-1 08:07
本帖最后由 蓝魄 于 2022-3-1 08:11 编辑
1:键值是十进制数,读到的键值是十六进制数,建议了解下进制转换。2:相与0x3f即是取低6位,key定义的是P1,则是P1.0-P1.5;建议了解下C基础;
作者:
蓝魄
时间:
2022-3-1 08:09
2:相与0x3f即是低6位,key定义的是P1,则是P1.0-P1.5;这可是C的基础哦;
作者:
蓝魄
时间:
2022-3-1 08:12
1:键值是十进制数,读到的IO数据口是十六进制数,建议了解下进制转换。
作者:
zhxiufan
时间:
2022-3-1 08:28
这几个数分别对应十六进制:3EH,3DH,3BH,37H,2FH,1FH,在按键而言,分别对应P1.0到P1.5相接的6个按键。
作者:
gsr64
时间:
2022-3-1 08:31
按键的接口是P1的低6位,如果P1的最低位按下,键值就是十六进制0x3e,十进制就是62;次低位按下键值就是十六进制0x3d,十进制就是61;依此类推,分别就是59、55、47、31.
作者:
温xyz
时间:
2022-3-1 10:50
你把它变成二进制就能看出来了。但这键值有问题,判断是6位,键值是5位。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1