我才开始学51单片机,在写矩阵键盘在数码管上由0-15显示的程序时,是将矩阵键盘每次按下的值预先保存在一个数组里,在用循环语句的,也不知道可不可以这样写。最后显示的值一直是0,按了键盘没有反应,不知道程序哪里错了
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitwela=P2^7;
sbitdula=P2^6;
uinti,temp,num;
uchara[]={
0xee,0xde,0xbe,0x7e,
0xed,0xdd,0xbd,0x7d,
0xeb,0xdb,0xbb,0x7b,
0xe7,0xd7,0xb7,0x77};//对每一个矩阵键盘编码
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};//对数码管0-15编码
voiddisplay();
voiddelay(uintn);
voidmain()
{
while(1){
temp=P3;
for(i=0;i0)
for(j=110;j--;j>0);//延时
}
分 -->
|