新手求助,简单问题望大家帮忙

2020-02-05 09:29发布

本帖最后由 辉Se天空 于 2012-5-6 15:34 编辑

一个键盘控制
ps :上传一个电路图请大家帮忙看看吧,我想实现的功能时按键使数码管显示1234567890abcdef
小Q截图-20120506153013.png (91.13 KB, 下载次数: 0) 下载附件 2012-5-6 15:30 上传
代码:
  1. #include<reg52.h>
  2. #define unt unsigned int
  3. #define unc unsigned char
  4. unc t=0x3f;
  5. void delay(unsigned int x)
  6. {
  7.   unsigned i,j;
  8.   for(i=0;i<x;i++)
  9.   for(j=0;j<1827;j++);
  10. }
  11. unc a[16]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  12. unc  b[4]={0x80,0x40,0x20,0x10};
  13. main()
  14. {  unc i;
  15.    while(1)
  16.   {
  17.                 P1=0xf0;
  18.                 if(P1^0xf0){
  19.                         delay(2);
  20.                         if(P1^0xf0){
  21.                                 delay(2);
  22.                                         if(P1^0xf0){       
  23.                                                                   for(i=0;i<4;i++)
  24.                                                                         {
  25.                                                                                 P1 = b[i];
  26.                                                                                 if(P1^b[i] == 0x08)         t = a[i*4+0];
  27.                                                                                 if(P1^b[i] == 0x04)         t = a[i*4+1];
  28.                                                                                 if(P1^b[i] == 0x02)         t = a[i*4+2];
  29.                                                                                 if(P1^b[i] == 0x01)         t = a[i*4+3];
  30.                                                                         }       
  31.                                                                   }
  32.           
  33.                                                   }
  34.                                           }
  35.           P0=t;
  36.           delay(2);
  37.         }
  38.           }
复制代码
0条回答

一周热门 更多>