按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示4... 我写了第3行的检测,就是说:按键按下的话 ,会显示:16 25 36 49: 但是我在实验板上运行的时候,高位的数字只会闪一下就不见了,只有个位的数字。求大家说说原因,或给个检测的程序。 下面是我写的程序: #include <reg52.h> #define uchar unsigned char #define uint unsigned int uchar num,temp,num1; uchar i=0,j=0; uchar code table[]={0x02,0x9F,0x25,0x0D,0x99,0x49,0x40,0x1F,0x00,0x08 };//0~~~9. void delayms(uint i) //延时 { uint j; for(;i>0;i--) for(j=100;j>0;j--); } main() { while(1) { P1=0xfb; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delayms(5); while(temp!=0xf0) { temp=P1; switch(temp) { case 0xeb: num=2 , num1=7 ; break; case 0xdb: num=3 , num1=6 ; break; case 0xbb: num=4, num1=7; break; case 0x7b: num=5, num1=10; break; } while(temp!=0xf0) //松手检测 { temp=P1; temp=temp&0xf0; } P2=0x03; //打开十位的数码管 P0=table[num-1]; //P0是送具体的数字 delayms(50) ; P2=0x01; //个位的数码管 P0=table[num1-1]; delayms(50); } } } } |
不显示删除回复显示所有回复显示星级回复显示得分回复 按下16个矩阵键盘依次在数码管上显示1-16的平方
答案:1 悬赏:0 手机版
解决时间 2021-07-19 00:17
- 提问者网友:记得曾经
- 2021-07-18 18:46
最佳答案
- 五星知识达人网友:野味小生
- 2021-07-18 20:23
你好哦。
有幸看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
对于你的问题我爱莫能助!
可能是你问的问题有些专业了。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去你问问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
祝你好运~!
快过年了,
最后祝您全家幸福健康快乐!
有幸看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
对于你的问题我爱莫能助!
可能是你问的问题有些专业了。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去你问问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
祝你好运~!
快过年了,
最后祝您全家幸福健康快乐!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯