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

📄 ktdis.lst

📁 c51 键盘和显示
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   KTDIS                                                                 02/13/2009 20:32:24 PAGE 1   


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

line level    source

   1          #include <at89x52.h>
   2          #include <absacc.h>
   3          #include <math.h>
   4          #include <intrins.h>
   5          #include <string.h>
   6          
   7          #define uchar unsigned char
   8          #define uint unsigned int
   9          #define ushort unsigned short
  10          #define ulong unsigned long
  11          #define subaddress 0x00
  12          #define devaddress 0xa0
  13          
  14          
  15          /*
  16          0xbc00  
  17          
  18          */ 
  19          #define WDBAIW 0xbc00
  20          #define WDSHIW 0xf700
  21          #define WDGEW  0xf800
  22          #define SDBAIW 0xEC00
  23          #define SDSHIW 0x7C00
  24          #define SDGEW  0xdc00
  25          #define RTADD 0xff
  26          #define paramkey 60
  27          #define paramkey1 200
  28          
  29          char code bcdmap[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  30          
  31          sbit tkey1=P1^4;
  32          sbit tkey2=P1^5;
  33          sbit skey1=P1^6;
  34          sbit skey2=P1^7;
  35          sbit dir = P3^2;
  36          
  37          uchar temp[16];
  38          uchar sendbuf[10];
  39          uchar tdis[3];
  40          uchar sdis[3];
  41          uchar tkeyset[3];
  42          uchar skeyset[3];
  43          uchar ctrl_mode1=0,ctrl_mode2=0;nolight=0,shiftbit=0,shiftbit2=0,modectrl=0;
  44          uchar count1000ms=0;
  45          uchar h = 0;
  46          uchar headflag = 0;
  47          uchar reover = 0;
  48          uchar flag=0;flag1=0;
  49          uchar sendflag = 0,sendflag2 = 0;
  50          uchar tt = 0,y=0;
  51          
  52          
  53          uint auto_save_c = 0;
  54          uint auto_save_c2 = 0;
  55          void ProgramInit(void);
C51 COMPILER V8.02   KTDIS                                                                 02/13/2009 20:32:24 PAGE 2   

  56          void key_mode0(void);
  57          void key_mode1(void);
  58          void key_mode2(void);
  59          void key_mode3(void);
  60          
  61          //------------------------------------------------------------------------------------------
  62          
  63          
  64          void ProgramInit(void)
  65          {
  66   1      
  67   1              sendbuf[0] = 0x01;
  68   1              sendbuf[1] = 0xfd;
  69   1              sendbuf[2] = 0;
  70   1              sendbuf[3] = 0;
  71   1              sendbuf[4] = 0;
  72   1              sendbuf[5] = 0;
  73   1              sendbuf[6] = 0;
  74   1              sendbuf[7] = 0;
  75   1              sendbuf[8] = 0;
  76   1              
  77   1              dir = 0;
  78   1              tdis[0] = 0;
  79   1              tdis[1] = 1;
  80   1              tdis[2] = 2;
  81   1              sdis[0] = 3;
  82   1              sdis[1] = 4;
  83   1              sdis[2] = 5;
  84   1              tkeyset[0] = 0;
  85   1              tkeyset[1] = 2;
  86   1              tkeyset[2] = 2;
  87   1              skeyset[0] = 0;
  88   1              skeyset[1] = 5;
  89   1              skeyset[2] = 3;
  90   1              TMOD=0x21;
  91   1          SCON = 0x50; 
  92   1          TCON=0x40; 
  93   1          PCON = 0x00;
  94   1          TH1 = 0xfd;
  95   1          TL1 = 0xfd; 
  96   1              TH0 = 0x4b;  //50ms
  97   1          TL0 = 0xfd;
  98   1      
  99   1              //
 100   1              T2MOD = 0x00;
 101   1              T2CON = 0x00;
 102   1               TH2 = 0xDC; 
 103   1               TL2 = 0x00; //10mS定时 
 104   1               RCAP2H = 0xDC; 
 105   1               RCAP2L = 0x00; 
 106   1               ET2 = 1;
 107   1               TR2 = 0;
 108   1              //
 109   1      
 110   1              TR0 = 1;
 111   1          TR1 = 1; 
 112   1          ET0 = 1;
 113   1          ES = 1;
 114   1          EA = 1; 
 115   1          RI = 0;
 116   1      }
 117          
C51 COMPILER V8.02   KTDIS                                                                 02/13/2009 20:32:24 PAGE 3   

 118          void dis_mode0()
 119          {
 120   1              XBYTE[WDGEW] = bcdmap[tdis[0]];
 121   1              XBYTE[WDSHIW] = bcdmap[tdis[1]]|0x80;
 122   1              XBYTE[WDBAIW] = bcdmap[tdis[2]];
 123   1              XBYTE[SDGEW] = bcdmap[sdis[0]];
 124   1              XBYTE[SDSHIW] = bcdmap[sdis[1]]|0x80;
 125   1              XBYTE[SDBAIW] = bcdmap[sdis[2]];
 126   1      
 127   1              key_mode0();
 128   1      
 129   1      }
 130          
 131          void dis_mode1() //t set_mode
 132          {
 133   1              if(ctrl_mode1>=25)
 134   1              {
 135   2                      nolight = 1;            
 136   2              }
 137   1              else
 138   1              {
 139   2              nolight = 0;            
 140   2              }
 141   1              if(ctrl_mode1>=50)
 142   1              {
 143   2                      ctrl_mode1 = 0;
 144   2              }
 145   1              if(shiftbit == 0)
 146   1              {
 147   2                      if(nolight==1)
 148   2                              XBYTE[WDGEW] = bcdmap[tkeyset[0]];      
 149   2                      else
 150   2                              XBYTE[WDGEW] = 0x00;  //
 151   2                              
 152   2                      XBYTE[WDSHIW] = bcdmap[tkeyset[1]]|0x80;
 153   2                      XBYTE[WDBAIW] = bcdmap[tkeyset[2]];
 154   2              }       
 155   1              else if(shiftbit == 1)
 156   1              {
 157   2                      if(nolight==1)
 158   2                              XBYTE[WDSHIW] = bcdmap[tkeyset[1]]|0x80;        
 159   2                      else
 160   2                              XBYTE[WDSHIW] = 0x00;
 161   2                      XBYTE[WDGEW] = bcdmap[tkeyset[0]];
 162   2                      XBYTE[WDBAIW] = bcdmap[tkeyset[2]]; 
 163   2              }
 164   1              else
 165   1              {
 166   2                      if(nolight==1)
 167   2                              XBYTE[WDBAIW] = bcdmap[tkeyset[2]];     
 168   2                      else
 169   2                              XBYTE[WDBAIW] = 0x00; 
 170   2                      XBYTE[WDSHIW] = bcdmap[tkeyset[1]]|0x80;
 171   2                      XBYTE[WDGEW] = bcdmap[tkeyset[0]];
 172   2              }
 173   1              XBYTE[SDGEW] = bcdmap[sdis[0]];
 174   1              XBYTE[SDSHIW] = bcdmap[sdis[1]]|0x80;
 175   1              XBYTE[SDBAIW] = bcdmap[sdis[2]];
 176   1      
 177   1              key_mode1();            
 178   1      
 179   1      }
C51 COMPILER V8.02   KTDIS                                                                 02/13/2009 20:32:24 PAGE 4   

 180          
 181          void dis_mode2() //s set_mode
 182          {
 183   1              if(ctrl_mode1>=25)
 184   1              {
 185   2                      nolight = 1;            
 186   2              }
 187   1              else
 188   1              {
 189   2              nolight = 0;            
 190   2              }
 191   1              if(ctrl_mode1>=50)
 192   1              {
 193   2                      ctrl_mode1 = 0;
 194   2              }
 195   1              if(shiftbit2 == 0)
 196   1              {
 197   2                      if(nolight==1)
 198   2                              XBYTE[SDGEW] = bcdmap[skeyset[0]];      
 199   2                      else
 200   2                              XBYTE[SDGEW] = 0x00;  //
 201   2                      XBYTE[SDSHIW] = bcdmap[skeyset[1]]|0x80;
 202   2                      XBYTE[SDBAIW] = bcdmap[skeyset[2]];
 203   2              
 204   2              }
 205   1              else if(shiftbit2 == 1)
 206   1              {
 207   2                      if(nolight==1)
 208   2                              XBYTE[SDSHIW] = bcdmap[skeyset[1]]|0x80;        
 209   2                      else
 210   2                              XBYTE[SDSHIW] = 0x00; 
 211   2                      XBYTE[SDGEW] = bcdmap[skeyset[0]];
 212   2                      XBYTE[SDBAIW] = bcdmap[skeyset[2]];
 213   2              }
 214   1              else
 215   1              {
 216   2                      if(nolight==1)
 217   2                              XBYTE[SDBAIW] = bcdmap[skeyset[2]];     
 218   2                      else
 219   2                              XBYTE[SDBAIW] = 0x00; 
 220   2                      XBYTE[SDSHIW] = bcdmap[skeyset[1]]|0x80;
 221   2                      XBYTE[SDGEW] = bcdmap[skeyset[0]];
 222   2              }
 223   1              XBYTE[WDGEW] = bcdmap[tdis[0]];
 224   1              XBYTE[WDSHIW] = bcdmap[tdis[1]]|0x80;
 225   1              XBYTE[WDBAIW] = bcdmap[tdis[2]];
 226   1      
 227   1              key_mode2();
 228   1      }
 229          
 230          void dis_mode3() //s set_mode
 231          {
 232   1              if(ctrl_mode1>=25)
 233   1              {
 234   2                      nolight = 1;            
 235   2              }
 236   1              else
 237   1              {
 238   2              nolight = 0;            
 239   2              }
 240   1              if(ctrl_mode1>=50)
 241   1              {
C51 COMPILER V8.02   KTDIS                                                                 02/13/2009 20:32:24 PAGE 5   

 242   2                      ctrl_mode1 = 0;
 243   2              }       
 244   1              if(shiftbit == 0)
 245   1              {
 246   2                      if(nolight==1)
 247   2                              XBYTE[WDGEW] = bcdmap[tkeyset[0]];      
 248   2                      else
 249   2                              XBYTE[WDGEW] = 0x00;  //
 250   2                              
 251   2                      XBYTE[WDSHIW] = bcdmap[tkeyset[1]]|0x80;
 252   2                      XBYTE[WDBAIW] = bcdmap[tkeyset[2]];
 253   2              }       
 254   1              if(shiftbit == 1)
 255   1              {
 256   2                      if(nolight==1)
 257   2                              XBYTE[WDSHIW] = bcdmap[tkeyset[1]]|0x80;        
 258   2                      else
 259   2                              XBYTE[WDSHIW] = 0x00;
 260   2                      XBYTE[WDGEW] = bcdmap[tkeyset[0]];
 261   2                      XBYTE[WDBAIW] = bcdmap[tkeyset[2]]; 
 262   2              }
 263   1              if(shiftbit == 2)
 264   1              {
 265   2                      if(nolight==1)
 266   2                              XBYTE[WDBAIW] = bcdmap[tkeyset[2]];     
 267   2                      else
 268   2                              XBYTE[WDBAIW] = 0x00; 
 269   2                      XBYTE[WDSHIW] = bcdmap[tkeyset[1]]|0x80;
 270   2                      XBYTE[WDGEW] = bcdmap[tkeyset[0]];
 271   2              }
 272   1              if(shiftbit2 == 0)
 273   1              {
 274   2                      if(nolight==1)
 275   2                              XBYTE[SDGEW] = bcdmap[skeyset[0]];      
 276   2                      else
 277   2                              XBYTE[SDGEW] = 0x00;  //
 278   2                      XBYTE[SDSHIW] = bcdmap[skeyset[1]]|0x80;
 279   2                      XBYTE[SDBAIW] = bcdmap[skeyset[2]];
 280   2              
 281   2              }
 282   1              if(shiftbit2 == 1)
 283   1              {
 284   2                      if(nolight==1)
 285   2                              XBYTE[SDSHIW] = bcdmap[skeyset[1]]|0x80;        
 286   2                      else
 287   2                              XBYTE[SDSHIW] = 0x00; 
 288   2                      XBYTE[SDGEW] = bcdmap[skeyset[0]];
 289   2                      XBYTE[SDBAIW] = bcdmap[skeyset[2]];
 290   2              }
 291   1              if(shiftbit2 == 2)
 292   1              {
 293   2                      if(nolight==1)
 294   2                              XBYTE[SDBAIW] = bcdmap[skeyset[2]];     
 295   2                      else
 296   2                              XBYTE[SDBAIW] = 0x00; 
 297   2                      XBYTE[SDSHIW] = bcdmap[skeyset[1]]|0x80;
 298   2                      XBYTE[SDGEW] = bcdmap[skeyset[0]];
 299   2              }        
 300   1              key_mode3();
 301   1      }
 302          
 303          void key_mode0()
C51 COMPILER V8.02   KTDIS                                                                 02/13/2009 20:32:24 PAGE 6   

 304          {
 305   1         count1000ms++;
 306   1         
 307   1              if(tkey1==0&&count1000ms>=paramkey1)             //mode select judge s1 and s3
 308   1              {
 309   2              flag = 1;
 310   2              auto_save_c = 0;
 311   2              count1000ms=0;          
 312   2              modectrl = 1;
 313   2                         
 314   2              } 
 315   1              if(skey1==0&&count1000ms>=paramkey1)
 316   1              {
 317   2              count1000ms=0;
 318   2              flag1 = 1;
 319   2              auto_save_c2 = 0;
 320   2              modectrl = 2;           
 321   2                 

⌨️ 快捷键说明

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