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

📄 main.lst

📁 嵌入式键盘
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   MAIN                                                                  02/06/2009 10:34:28 PAGE 1   


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

line level    source

   1          #include <at89s52.h>
   2          #include <stdio.h>
   3          #include <per.h>
   4          #include <intrins.h>
   5          unsigned char MS[BUFFNUM+1]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
   6          unsigned char *p;
   7          unsigned char pointer;
   8          unsigned char SendNum;
   9          bit send_flag;
  10          bit SomeKeyEnableFlag,SomeKeyKeepFlag;
  11          unsigned char SomeKeyKeepTime;
  12          bit ReadKeyOnceFlag;
  13          unsigned char DatTemp1,DatTemp2,DatTemp11,DatTemp22;
  14          unsigned char KeyWobbleTime;
  15          bit   NewKeyFlag;
  16          bit   TwoMcodeFlag;//双键码标志
  17          unsigned char makecode=0;
  18          bit   RstFlag;
  19          unsigned char KeyT;
  20          unsigned int testtime;
  21          main()
  22          {
  23   1        unsigned char i;
  24   1        //unsigned char dattemp;
  25   1        Project_Int();  
  26   1        for(i=0;i<16;i++)
  27   1                MS[i]=0;
  28   1        p=MS;
  29   1        if(RstFlag==0)
  30   1        {
  31   2          LED1=1;
  32   2          LED2=1;
  33   2          LED3=1;
  34   2          LED4=1;
  35   2              RstFlag=1;
  36   2        }
  37   1        for(;;)
  38   1        {
  39   2        /* if(testtime==0) //for debug
  40   2          {
  41   2           LED4=!LED4;
  42   2                testtime=1500;
  43   2          }*/
  44   2         WDT();
  45   2      //===============键盘处理
  46   2      //==========通码保存
  47   2          if(ReadKeyOnceFlag)
  48   2           {
  49   3              KeyT=K_D_T;//俩次按键间隔
  50   3      
  51   3             switch(DatTemp1)
  52   3              {
  53   4                case 0x3e://P1.0=0
  54   4                           if(!SomeKeyEnableFlag)
  55   4                            {
C51 COMPILER V7.50   MAIN                                                                  02/06/2009 10:34:28 PAGE 2   

  56   5                      SomeKeyEnableFlag=1;
  57   5                      switch(DatTemp2)
  58   5                       {
  59   6                         case 0xfe://1
  60   6                                   if(pointer<BUFFNUM)
  61   6                            {
  62   7                              makecode=_1_PS2;
  63   7                              MS[pointer]=makecode;
  64   7                                      pointer++;
  65   7                                                      TwoMcodeFlag=0;
  66   7                                    }
  67   6                             break;
  68   6                         case 0xfd://6
  69   6                                   if(pointer<BUFFNUM)
  70   6                                    {
  71   7                              makecode=_6_PS2;
  72   7                              MS[pointer]=makecode;
  73   7                                      pointer++;
  74   7                                                      TwoMcodeFlag=0;
  75   7                                    }
  76   6                         break;
  77   6                         case 0xfb://au
  78   6                               if(pointer<BUFFNUM)
  79   6                                    {
  80   7                              makecode=_a_PS2;
  81   7                              MS[pointer]=makecode;
  82   7                                      pointer++;
  83   7                                                      TwoMcodeFlag=0;
  84   7                                    }
  85   6                             break;
  86   6                         case 0xf7://fu
  87   6                                   if(pointer<BUFFNUM)
  88   6                                    {
  89   7                              makecode=_f_PS2;
  90   7                              MS[pointer]=makecode;
  91   7                              pointer++;
  92   7                                                      TwoMcodeFlag=0;
  93   7                                    }
  94   6                             break;
  95   6                         case 0xef://cd----f3
  96   6                               if(pointer<BUFFNUM)
  97   6                                    {
  98   7                              makecode=_f3_PS2;
  99   7                              MS[pointer]=makecode;
 100   7                                      pointer++;
 101   7                                                      TwoMcodeFlag=0;
 102   7                                    }
 103   6                             break;
 104   6                         case 0xdf://hd-----f8
 105   6                               if(pointer<BUFFNUM)
 106   6                                    {
 107   7                              makecode=_f8_PS2;
 108   7                              MS[pointer]=makecode;
 109   7                                      pointer++;
 110   7                                                      TwoMcodeFlag=0;
 111   7                                    }
 112   6                             break;
 113   6                         case 0xbf://cr
 114   6                               if(pointer<BUFFNUM)
 115   6                                    {
 116   7                              makecode=_cr_PS2;
 117   7                              MS[pointer]=makecode;
C51 COMPILER V7.50   MAIN                                                                  02/06/2009 10:34:28 PAGE 3   

 118   7                                      pointer++;
 119   7                                                      TwoMcodeFlag=0;
 120   7                                    }
 121   6                             break;
 122   6                         case 0x7f://f5----p
 123   6                               if(pointer<BUFFNUM)
 124   6                                    {
 125   7                              makecode=_p_PS2;
 126   7                              MS[pointer]=makecode;
 127   7                              pointer++;
 128   7                                                      TwoMcodeFlag=0;
 129   7                                    }
 130   6                             break;
 131   6                           }
 132   5                       }
 133   4                              else if((DatTemp2==0xfb)||(DatTemp2==0xf7))//a.f
 134   4                               {
 135   5                                  SomeKeyKeepFlag=1;
 136   5                               }
 137   4                    break;
 138   4                case 0x3d://P1.1=0
 139   4                           if(!SomeKeyEnableFlag)
 140   4                            {
 141   5                      SomeKeyEnableFlag=1;
 142   5                      switch(DatTemp2)
 143   5                       {
 144   6                         case 0xfe://2
 145   6                                   if(pointer<BUFFNUM)
 146   6                            {
 147   7                              makecode=_2_PS2;
 148   7                              MS[pointer]=makecode;
 149   7                                      pointer++;
 150   7                                                      TwoMcodeFlag=0;
 151   7                                    }
 152   6                             break;
 153   6                         case 0xfd://7
 154   6                                   if(pointer<BUFFNUM)
 155   6                                    {
 156   7                              makecode=_7_PS2;
 157   7                              MS[pointer]=makecode;
 158   7                                      pointer++;
 159   7                                                      TwoMcodeFlag=0;
 160   7                                    }
 161   6                         break;
 162   6                         case 0xfb://bu
 163   6                               if(pointer<BUFFNUM)
 164   6                                    {
 165   7                              makecode=_b_PS2;
 166   7                              MS[pointer]=makecode;
 167   7                                      pointer++;
 168   7                                                      TwoMcodeFlag=0;
 169   7                                    }
 170   6                             break;
 171   6                         case 0xf7://gu
 172   6                                   if(pointer<BUFFNUM)
 173   6                                    {
 174   7                              makecode=_g_PS2;
 175   7                              MS[pointer]=makecode;
 176   7                              pointer++;
 177   7                                                      TwoMcodeFlag=0;
 178   7                                    }
 179   6                             break;
C51 COMPILER V7.50   MAIN                                                                  02/06/2009 10:34:28 PAGE 4   

 180   6                         case 0xef://dd----f4
 181   6                               if(pointer<BUFFNUM)
 182   6                                    {
 183   7                              makecode=_f4_PS2;
 184   7                              MS[pointer]=makecode;
 185   7                                      pointer++;
 186   7                                                      TwoMcodeFlag=0;
 187   7                                    }
 188   6                             break;
 189   6                         case 0xdf://dt-------小数点
 190   6                               if(pointer<BUFFNUM)
 191   6                                    {
 192   7                              makecode=_dian_PS2;
 193   7                              MS[pointer]=makecode;
 194   7                                      pointer++;
 195   7                                                      TwoMcodeFlag=0;
 196   7                                    }
 197   6                             break;
 198   6                         case 0xbf://f1-----w
 199   6                               if(pointer<BUFFNUM)
 200   6                                    {
 201   7                              makecode=_w_PS2;
 202   7                              MS[pointer]=makecode;
 203   7                                      pointer++;
 204   7                                                      TwoMcodeFlag=0;
 205   7                                    }
 206   6                             break;
 207   6                         case 0x7f://f6-----l
 208   6                               if(pointer<BUFFNUM)
 209   6                                    {

⌨️ 快捷键说明

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