通过键盘往单片机中输入任意数字的C语言程序?

全部回答3
默认 最新
  • 什么键盘?4*4矩阵键盘?
    0 点赞
  • 这样,首先,你对键盘扫描程序做一些修改,使返回的值与键盘上的数值对应相同。无键按下时为一个不常用的数字 然后你利用idata声明一个数组,你要输入数字的最大长度就等于数组长度,用来保存你输入的值。 第三步,你需要设置一个变量counter来记录你输入数字的个数。 最后利用一个for循环就可以计算出你的输入所代表的实际值,赋给你要a就可以了
    0 点赞
  • 我玩的pic相信51应该也差不多 我整理一下发 #include <>unsigned char code table[]={0x3f,0x06,0x5b,0x4f, //01230x66,0x6d,0x7d,0x07, //45670x7f,0x6f,0x77,0x7c, //89ab0x39,0x5e,0x79,0x71}; //cdefunsigned char temp; unsigned char key; unsigned char i,j; void main(void) { while(1) {  P3=0xff;  P3_4=0;  temp=P3;  temp=temp & 0x0f; //保留低四位  if (temp!=0x0f) {   for(i=50;i>0;i--)   for(j=200;j>0;j--); //延迟  temp=P3;   temp=temp & 0x0f;   if (temp!=0x0f) {     temp=P3;     temp=temp & 0x0f;     switch(temp) {     case 0x0e:     key=7;     break;     case 0x0d:     key=8;     break;     case 0x0b:     key=9;     break;     case 0x07:     key=10;     break;     }    temp=P3;    P1_0=~P1_0;    P0=table[key];    temp=temp & 0x0f;    while(temp!=0x0f){     temp=P3;     temp=temp & 0x0f;    }   }  }  P3=0xff;  P3_5=0;  temp=P3; temp=temp & 0x0f;  if (temp!=0x0f) {   for(i=50;i>0;i--)   for(j=200;j>0;j--);   temp=P3;   temp=temp & 0x0f;   if (temp!=0x0f) {    temp=P3;    temp=temp & 0x0f;     switch(temp) {     case 0x0e:     key=4;     break;     case 0x0d:     key=5;     break;     case 0x0b:     key=6;     break;     case 0x07:     key=11;     break;     }    temp=P3;    P1_0=~P1_0;    P0=table[key];   temp=temp & 0x0f;    while(temp!=0x0f) {     temp=P3;     temp=temp & 0x0f;     }   }  } 。。。} } //由于字数限制剩下的那两行键盘扫描我就用。。。代替了 相信你也应该能懂 我采纳率一直保持100%希望不要在这里掉下去。。 有不懂的可以问我!
    0 点赞

没有更多内容了

返回顶部
产品求购 求购