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

📄 text1.lst

📁 c8051f020 +wg12864+44key .rar
💻 LST
字号:
C51 COMPILER V7.09   TEXT1                                                                 08/17/2005 12:59:46 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<math.h>
   3          static const char tab[16]={0x01,0x02,0x03,0x0c, /*键盘码00,01,02,03,*/
   4                               0x04,0x05,0x06,0x0d,       /*键盘码04,05,06,07,*/
   5                               0x07,0x08,0x09,0x0e,       /*键盘码08,09,0a,0b,*/
   6                               0x0a,0x00,0x0b,0x0f};/*键盘码0c,0d,0e,0f*/
   7          
   8           
   9           void delay1ms();
  10          
  11          void main()
  12           {
  13   1           unsigned   char data a1 ,a2 ;  //k as a flag of num end
  14   1           unsigned int i;
  15   1      
  16   1       /*  a1=4;
  17   1         a2=a1;
  18   1         a1=2;
  19   1       //a1=0xf7;
  20   1      
  21   1         a1=0x40;
  22   1          m=0x00;
  23   1      
  24   1      
  25   1          P0=0x22;
  26   1          P0=0x33;
  27   1          P0=0x44;
  28   1           P0=0x55;
  29   1      
  30   1        */
  31   1           
  32   1         while(1){
  33   2           a1=scan();
*** WARNING C206 IN LINE 33 OF TEXT1.C: 'scan': missing function-prototype
  34   2            a2=a1;
  35   2           }
  36   1      
  37   1      }
*** WARNING C280 IN LINE 14 OF TEXT1.C: 'i': unreferenced local variable
  38          
  39           unsigned char scan(void)                               /*扫描键盘副程式*/
  40           {
*** ERROR C231 IN LINE 40 OF TEXT1.C: 'scan': redefinition
  41   1            unsigned  char data a1,i;                 /*A1=0XF7列扫描初值,I行*/
  42   1            unsigned  char data m;
  43   1            unsigned  char  FLAG0;                    /*设按键回应旗号为0,键盘扫描计数指标为0*/
  44   1            unsigned    char data ptr;
  45   1             a1=0x0f ;
  46   1             FLAG0=0;
  47   1             ptr=0;
  48   1              m=0x0f ;
  49   1             while(m==0x0f)
  50   1             {
  51   2                P1=0xff;
  52   2                a1=0x0f;
C51 COMPILER V7.09   TEXT1                                                                 08/17/2005 12:59:46 PAGE 2   

  53   2                P1=a1;                        /*列扫描输出,读入P1存入M,以便侦测行与侦测按键是否放开*/
  54   2                m=P1;
  55   2             }
  56   1             for(i=0;i<4;i++)
  57   1                delay1ms();
  58   1                a1=0x0f;
  59   1                m=0x0f ;
  60   1             while(m==0x0f)
  61   1             {
  62   2                 P1=0xff;
  63   2                a1=0x0f;
  64   2                P1=a1;                        /*列扫描输出,读入P1存入M,以便侦测行与侦测按键是否放开*/
  65   2                 m=P1;
  66   2             }
  67   1                a1=0x7f;
  68   1              for(i=0;i<4;i++)                /*键盘4个扫描列*/
  69   1            {
  70   2                    P1=a1;                    /*列扫描输出,读入P1存入M,以便侦测行与侦测按键是否放开*/
  71   2                     m=P1;
  72   2                      switch(m&0x0f)          /*取行的高4位元,侦测那一行被按*/
  73   2                  {
  74   3                      case 0x07: ptr=i;       /*第一行被按否?是则扫描指标=列X4*/
  75   3                                FLAG0=1;      /*是则设FLAG0=1表有按键输入*/
  76   3                                 break;       /*跳出此循环*/
  77   3                      case 0x0b: ptr=i+4;     /*第二行被按否?是则扫描指标=列X4+1*/
  78   3                                 FLAG0=1;     /*是则设FLAG0=1表有按键输入*/
  79   3                                 break;       /*跳出此循环*/
  80   3                      case 0x0d: ptr=i+8;     /*第三行被按否?是则扫描指标=列X4+2*/
  81   3                                 FLAG0=1;     /*是则设FLAG0=1表有按键输入*/
  82   3                                 break;       /*跳出此循环*/
  83   3                      case 0x0e: ptr=i+12;    /*第四行被按否?是则扫描指标=列X4+3*/
  84   3                                 FLAG0=1;     /*是则设FLAG0=1表有按键输入*/
  85   3                       default:  break;       /*跳出此循环*/
  86   3                  }
  87   2               if(FLAG0==1)break;             /*不为1,则扫描列右移,扫描下一列*/
  88   2               a1=a1>>1|0x80;
  89   2                              /*高位补1,由于P1.7~P1.4未接+5V,而是由指令加载高电平*/
  90   2             }
  91   1             a1=0x0f;
  92   1          while(m!=0x0f)
  93   1             {
  94   2               P1 =0xff;
  95   2               a1=0x0f;
  96   2               P1=a1;                 /*列扫描输出,读入P1存入M,以便侦测行与侦测按键是否放开*/
  97   2                m=P1;
  98   2             }
  99   1      
 100   1             if(FLAG0==1)
 101   1               return ptr;
 102   1             else return 0x40;
 103   1       }                                      /*返回主程式*/
*** ERROR C231 IN LINE 103 OF TEXT1.C: 'scan': redefinition
 104          void delay1ms()
 105          {
 106   1       IE=00;
 107   1       TMOD=0x10;
 108   1       TH1=0xfc;
 109   1       TL1=0x23;
 110   1       TR1=1;
 111   1      
 112   1       while(!TF1);
 113   1       TF1=0;
C51 COMPILER V7.09   TEXT1                                                                 08/17/2005 12:59:46 PAGE 3   

 114   1      }

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

⌨️ 快捷键说明

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