jpsb.c

来自「一个用C语言开发的计数器1昌盛10KHZ的定时器滴答中断」· C语言 代码 · 共 180 行

C
180
字号
#include <AT89X51.H> 
unsigned char code table[]={0x3f,0x06,0x5b,0x4f, 
                            0x66,0x6d,0x7d,0x07, 
                            0x7f,0x6f,0x77,0x7c, 
                            0x39,0x5e,0x79,0x71}; 
unsigned 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=0; 
                    break; 
                  case 0x0d: 
                    key=1; 
                    break; 
                  case 0x0b: 
                    key=2; 
                    break; 
                  case 0x07: 
                    key=3; 
                    break; 
                } 
              temp=P3; 
             // P1_0=~P1_0; 
              P1=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=7; 
                    break; 
                } 
              temp=P3; 
             // P1_0=~P1_0; 
              P1=table[key]; 
              temp=temp & 0x0f;              
              while(temp!=0x0f) 
                { 
                  temp=P3; 
                  temp=temp & 0x0f;              
                } 
            } 
        } 
  
      P3=0xff; 
      P3_6=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=8; 
                    break; 
                  case 0x0d: 
                    key=9; 
                    break; 
                  case 0x0b: 
                    key=10; 
                    break; 
                  case 0x07: 
                    key=11; 
                    break; 
                } 
              temp=P3; 
              //P1_0=~P1_0; 
              P1=table[key]; 
              temp=temp & 0x0f;              
              while(temp!=0x0f) 
                { 
                  temp=P3; 
                  temp=temp & 0x0f;              
                } 
            } 
        } 
  
      P3=0xff; 
      P3_7=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=12; 
                    break; 
                  case 0x0d: 
                    key=13; 
                    break; 
                  case 0x0b: 
                    key=14; 
                    break; 
                  case 0x07: 
                    key=15; 
                    break; 
                } 
              temp=P3; 
              //P1_0=~P1_0; 
              P1=table[key]; 
              temp=temp & 0x0f;              
              while(temp!=0x0f) 
                { 
                  temp=P3; 
                  temp=temp & 0x0f;              
                } 
            } 
        } 
    } 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?