单片机 3*4矩阵键盘 扫描程序的反馈值一直为初始值0x00 求指教 万谢!!
答案:1 悬赏:30
解决时间 2021-10-19 05:35
- 提问者网友:欲望失宠
- 2021-10-19 01:44
单片机 3*4矩阵键盘 扫描程序的反馈值一直为初始值0x00 求指教 万谢!!
最佳答案
- 二级知识专家网友:想偏头吻你
- 2021-10-19 03:08
我是这么想的,不知对错,你可以想想:首先你在读取列植之前,你强制的赋值了456端口的值为0,在后来呢,你读取行之前你又强行的赋值0123端口的值0,综合起来你就相当于将0123456端口的值均赋值为0了,所以你的结果0x00,还有就是你干嘛&0x0F??按键被按下后应该是低电平吧?你&0x0f后按下的位是0,但是别的三位还是1,这样的结果好处理吗??
同时我建议:你干嘛在读取列植或者行值的时候强行将端口的值改变成0干嘛?对你有影响吗??你已经把P2给了临时变量keyin_i keyin_j了,你直接拿临时变量&0x0f不还是相当于屏蔽了456端口了吗?你干嘛非要把端口赋值成0啊??记住,一般情况不要直接对端口进行操作,而是给临时变量,同时即使你使用端口进行操作,也别改变端口的值,根本没有必要啊,你不就是不想要456端口的值吗,直接&0x0f就很好!!
同时我建议:你干嘛在读取列植或者行值的时候强行将端口的值改变成0干嘛?对你有影响吗??你已经把P2给了临时变量keyin_i keyin_j了,你直接拿临时变量&0x0f不还是相当于屏蔽了456端口了吗?你干嘛非要把端口赋值成0啊??记住,一般情况不要直接对端口进行操作,而是给临时变量,同时即使你使用端口进行操作,也别改变端口的值,根本没有必要啊,你不就是不想要456端口的值吗,直接&0x0f就很好!!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯