⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chaxun.lst

📁 我自己做的单片机键盘扫描、数码管显示程序
💻 LST
字号:
C51 COMPILER V8.02   CHAXUN                                                                08/22/2007 21:19:20 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CHAXUN
OBJECT MODULE PLACED IN chaxun.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chaxun.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<stdio.h>
   3          sbit P00=0xB2;
   4          sbit P01=0xB3;
   5          sbit P02=0xB4;
   6          sbit P03=0xB5;
   7          sbit P04=0xB6;
   8          sbit P05=0xB7;
   9          sbit P06=0xB8;
  10          sbit P07=0xB9;
  11          sbit P10=0x90;
  12          sbit P11=0x91;
  13          sbit P12=0x92;
  14          sbit P13=0x93;
  15          sbit P14=0x94;
  16          sbit P15=0x95;
  17          sbit P16=0x96;
  18          sbit P17=0x97;
  19          sbit P20=0xA0;
  20          sbit P21=0xA1;
  21          sbit P22=0xA2;
  22          sbit P23=0xA3;
  23          int nKeyNumber;
  24          
  25          void Updata_LED();
  26          void GetKeyNumber();
  27          void delay1s();
  28          void delay10ms();
  29          char Table[16]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X80,0X36,0XC0,0X86,0X8E};
  30          main()
  31          {
  32   1      SCON=0x52;
  33   1      TMOD=0x20;
  34   1      TCON=0x69;
  35   1      TH1=0xF3;
  36   1      
  37   1      while(1)
  38   1      {
  39   2      nKeyNumber=0xFF;
  40   2      GetKeyNumber();
  41   2      Updata_LED();
  42   2      }
  43   1      }
  44          
  45          
  46          void GetKeyNumber()
  47          {
  48   1      P14=0;
  49   1      { delay1s();
  50   2      if(P13==0) {delay10ms();if(P13==0) nKeyNumber=0x00;P0=Table[0];return;}
  51   2      if(P12==0) {delay10ms();if(P12==0) nKeyNumber=0x01;P0=Table[1];return;}
  52   2      if(P11==0) {delay10ms();if(P11==0) nKeyNumber=0x02;P0=Table[2];return;}
  53   2      if(P10==0) {delay10ms();if(P10==0) nKeyNumber=0x03;P0=Table[3];return;}
  54   2      if(nKeyNumber!=0xFF)
  55   2      return;
C51 COMPILER V8.02   CHAXUN                                                                08/22/2007 21:19:20 PAGE 2   

  56   2      }
  57   1      P14=1;
  58   1      P15=0;
  59   1      {delay1s();
  60   2      if(P13==0) {delay10ms();if(P13==0) nKeyNumber=0x04;P0=Table[4];return;}
  61   2      if(P12==0) {delay10ms();if(P12==0) nKeyNumber=0x05;P0=Table[5];return;}
  62   2      if(P11==0) {delay10ms();if(P11==0) nKeyNumber=0x06;P0=Table[6];return;}
  63   2      if(P10==0) {delay10ms();if(P10==0) nKeyNumber=0x07;P0=Table[7];return;}
  64   2      if(nKeyNumber!=0xFF)
  65   2      return;
  66   2      }
  67   1      P15=1;
  68   1      P16=0;
  69   1      {delay1s();
  70   2      if(P13==0) {delay10ms();if(P13==0) nKeyNumber=0x08;P0=Table[8];return;}
  71   2      if(P12==0) {delay10ms();if(P12==0) nKeyNumber=0x09;P0=Table[9];return;}
  72   2      if(P11==0) {delay10ms();if(P11==0) nKeyNumber=0x0A;P0=Table[10];return;}
  73   2      if(P10==0) {delay10ms();if(P10==0) nKeyNumber=0x0B;P0=Table[11];return;}
  74   2      if(nKeyNumber!=0xFF)
  75   2      return;
  76   2      }
  77   1      P16=1;
  78   1      P17=0;
  79   1      {delay1s();
  80   2      if(P13==0) {delay10ms();if(P13==0) nKeyNumber=0x0C;P0=Table[12];return;}
  81   2      if(P12==0) {delay10ms();if(P12==0) nKeyNumber=0x0D;P0=Table[13];return;}
  82   2      if(P11==0) {delay10ms();if(P11==0) nKeyNumber=0x0E;P0=Table[14];return;}
  83   2      if(P10==0) {delay10ms();if(P10==0) nKeyNumber=0x0F;P0=Table[15];return;}
  84   2      if(nKeyNumber!=0xFF)
  85   2      return;
  86   2      }
  87   1      P17=1;
  88   1      }
  89          void Updata_LED()
  90          {
  91   1      //int nTemp;
  92   1      P23=1;
  93   1      //nKeyNumber=nTemp%10;
  94   1      P0=Table[7];
  95   1      P23=0;
  96   1      //nTemp/=10;
  97   1      P22=1;
  98   1      //nKeyNumber=nTemp%10;
  99   1      P0=Table[nKeyNumber];
 100   1      P22=0;
 101   1      //nTemp/=10;
 102   1      P21=1;
 103   1      //nKeyNumber=nTemp%10;
 104   1      P0=Table[nKeyNumber];
 105   1      P21=0;
 106   1      //nTemp/=10;
 107   1      P20=1;
 108   1      //nKeyNumber=nTemp%10;
 109   1      P0=Table[8];
 110   1      P20=0;
 111   1      }  
 112          void delay1s()
 113          {
 114   1      long a;
 115   1      for (a=0;a<1000;a++)
 116   1      {
 117   2      }
C51 COMPILER V8.02   CHAXUN                                                                08/22/2007 21:19:20 PAGE 3   

 118   1      }
 119          void delay10ms()
 120          {
 121   1      int b;
 122   1      for (b=0;b<100;b++)
 123   1      {
 124   2      }
 125   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    498    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     18       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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