完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 传说熊 于 2017-5-13 17:16 编辑
我用51单片机做了一个4*4按键键盘,现在想通过按三下后输出0 ~999放入x中,x就是一个寄存器,应该怎么编程 uchar key1() { P1=0xef; q=P1; q=q&0x0f; while(q!=0x0f) { delay(5); while(q!=0x0f) { q=P1; switch(q) { case 0xee:w=1; break; case 0xed:w=2; break; case 0xeb:w=3; break; case 0xe7:w=3; break; } while(q!=0x0f) { q=P1; q=q&0x0f; } } } delay(10); P1=0Xdf; q=P1; q=q&0x0f; while(q!=0x0f) { delay(5); while(q!=0x0f) { q=P1; switch(q) { case 0xde:w=4; break; case 0xdd:w=5; break; case 0xdb:w=6; break; case 0xd7:w=6; break; } while(q!=0x0f) { q=P1; q=q&0x0f; } } } delay(10); P1=0xbf; q=P1; q=q&0x0f; while(q!=0x0f) { delay(5); while(q!=0x0f) { q=P1; switch(q) { case 0xbe:w=7; break; case 0xbd:w=8; break; case 0xbb:w=9; break; case 0xb7:w=9; break; } while(q!=0x0f) { q=P1; q=q&0x0f; } } } delay(10); P1=0x7f; q=P1; q=q&0x0f; while(q!=0x0f) { delay(5); while(q!=0x0f) { q=P1; switch(q) { case 0x7e:w=0; break; case 0x7d:w=0; break; case 0x7b:w=0; break; case 0x77:w=0; break;} while(q!=0x0f) { q=P1; q=q&0x0f; } } } delay(10); return w; } |
|
相关推荐
1个回答
|
|
本帖最后由 传说熊 于 2017-5-13 17:16 编辑
换句话说及时我想用这个键盘实现多位输出(比如三位),我按键盘1,5,2后,能使a=152,方便我下面计算 123 456 789 0 键盘按键是这样,其他的随便定义,求大神指点 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
609 浏览 0 评论
【原创】收藏!单片机输出4种波形的函数信号发生器毕设(Proteus仿真+原理图+源码和论文)
1700 浏览 1 评论
6152 浏览 6 评论
《Proteus实战攻略从简单电路到单片机电路的仿真》+读后总结与推荐
980 浏览 0 评论
请问2020版本ADS中的symbol如何设置出layout look-alike
68160 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 23:17 , Processed in 0.380621 second(s), Total 39, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号