打印

急!帮忙看看!谢谢!

[复制链接]
1173|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangxu0703|  楼主 | 2008-4-15 21:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想实现当按键输入一个数后,在按另一个键实现自家,用LED实现显示!
    #include<at89x51.h>
unsigned char code table[]={0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x25,0xea,0x20,0xa0,0xf7};
 void delay(void)
 { unsigned char i;
   for(i=255;i>0;i--);
 }

 unsigned char GETKEY(void)
{
        unsigned char column,line,k;
      P1=0xf0;
      if((P1&0xf0)!=0xf0)
      {            delay();
          if((P1&0xf0)!=0xf0)
           {     column=P1;
                 column=column|0x0f;
                 P1=0x0f;
                 line=P1;
                 line=line|0xf0;
                 k=column&line;
            }
      }
      
      return(k);
    
}
 void main(void)
 {    unsigned char i,key;
    int data j =-1;     
     while(1) 
     {
             key=GETKEY();
            switch(key)
     {    case 0xbb    j=0;
                          for(i=255;i>0;i--);
                     P0=table[j];
              break;
        case 0x7e :    j=1;
                   for(i=255;i>0;i--);
                              P0=table[j];
              break;  
        case 0xbe :j=2;                   
             for(i=255;i>0;i--);
                       P0=table[j];
            break;
        case 0xde :j=3;
                   for(i=255;i>0;i--);
                   P0=table[j] ;
             break;
        case 0xee :    j=4;  
                       for(i=255;i>0;i--);
                  P0=table[j];
            break;
        
        case 0x7d : j=5;
                    for(i=255;i>0;i--);
                P0=table[j];
                break;
        case 0xbd :  j=6;
                      for(i=255;i>0;i--);
               P0=table[j];
               break;
        case 0xdd :j=7;
                     for(i=255;i>0;i--);
             P0=table[j];
             break; 
        case 0xed :j=8;
            for(i=255;i>0;i--);
            P0=table[j];
            break;   
        case 0x7b :j=9;
                     for(i=255;i>0;i--);
            P0=table[j];
            break;
        case 0xdb :       
                    j++;
                    for(i=255;i>0;i--);
                            P0=table[j];
                    break;    
                 default: break;
        
      }
     }
 }当显示数字都没有问题,问什么一旦自加就灭了!请高手指教,很急谢谢大家!

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝