矩阵键盘

在这里插入图片描述
#include<reg52.h>/0:0x3f 1:0x06 2:0x5b 3:0x4f 4:0x66 5:0x6d 6:0x7d 7:0x07 8:0x7f 9:0x6fA:0x77 B:0x7c C:0x39 D:0x5e E:0x79 F:0x71/void delay (unsigned int z){ int x,y; for(x=z;x>0;x–) for(y=114;y>0;y–);}sbit we=P2^7; sbit du=P2^6;int keyvalue=0; const int display[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};int scan(){ P3=0xf0; if(P3 !=0xf0) { delay(20); if(P3 != 0xf0) { switch(P3) { case 0xe0: keyvalue=0; break; case 0xd0: keyvalue=1; break; case 0xb0: keyvalue=2; break; case 0x70: keyvalue=3; break; } P3=0X0f; switch(P3) { case 0x0e: keyvalue=keyvalue; break; case 0x0d: keyvalue=keyvalue+4; break; case 0x0b: keyvalue=keyvalue+8; break; case 0x07: keyvalue=keyvalue+12; break; } } }}void main(){ we=1; P0=0xfe;
we=0; while(1) { scan(); du=1; P0=display[keyvalue]; du=0; } }
实现效果:矩阵键盘的S5-S20对应0-f这16个数字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值