问题:关于51键盘

2019-07-16 04:52发布

我只用P2口的部分I/O口作矩阵键盘,其他口连接其他设备。如何向着部分的引脚整体赋值而不影响其他引脚?并且返回一个键码值?
延伸一下:1 不连续的位能否合成一个字节,设成一个变量整体定义??
                  2 返回值如何返回多个变量?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
lovezjf234
1楼-- · 2019-07-16 08:31
在赋值和取值的时候注意不要干扰其他pin脚就行了,这在程序逻辑关系里面理清就OK。
草根白骨精
2楼-- · 2019-07-16 12:34
用运算方式赋值可以达到,如
P2 = (P2 & 0xC0) | 0x03; //高两位保持,低5位赋值3
引申的:1:可以
        2:不可以,可以传递参数指针来进行多个字节的修改,前提是这些变量是连续的
zhouxiangjun
3楼-- · 2019-07-16 17:06
草根白骨精 发表于 2012-8-20 13:01
用运算方式赋值可以达到,如
P2 = (P2 & 0xC0) | 0x03; //高两位保持,低5位赋值3
引申的:1:可以

谢谢你说的方法,再问问

1, 可以,怎么做
2,既然1可以,也应该可以用1的方法,将多个位变量合成一个字节变量返回吧?
zhouxiangjun
4楼-- · 2019-07-16 18:24
草根白骨精 发表于 2012-8-20 13:01
用运算方式赋值可以达到,如
P2 = (P2 & 0xC0) | 0x03; //高两位保持,低5位赋值3
引申的:1:可以

刚刚在proteus下仿真可以返回多个值?
uchar key(){key_init();if(K1==0){delay(5);if(K1==0){ while(!K1); return (A=1,B=0,C=0);}
草根白骨精
5楼-- · 2019-07-16 19:58
 精彩回答 2  元偷偷看……
笑靥
6楼-- · 2019-07-17 00:51
函数一般只用来返回一个值的,要返回多个值可以用指针!

一周热门 更多>