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

📄 key.lst

📁 C51的LED显示程序 可以显示多种字符,里面有多种显示驱动,方便应用
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V8.02   KEY                                                                   09/08/2008 11:32:44 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN .\twoauto\key.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND OBJECT(.\twoauto\key.obj)

line level    source

   1          
   2          #include "REG51.h"
   3          #include "Port.h"
   4          #include "lcd.h"
   5          #include "uart.h"
   6          // ------ Private function prototypes ------------------------------
   7          
   8          
   9          
  10          
  11          // ------ Private constants ----------------------------------------
  12          
  13          
  14          
  15          #define CDaup     0x72     
  16          #define CDbup     0x73     
  17          #define CDcup     0x74     
  18          #define CDdup     0x61 
  19          //#define CDadown       0x82     
  20          //#define CDbdown       0x83     
  21          //#define CDcdown   0x84     
  22          //#define CDddown   0x62 
  23             
  24          //#define CDFF     0x60
  25          //#define CDPP     0x90 
  26          #define CDok       0x91
  27          #define CDbegin    0x70
  28          #define CDend      0x80
  29           
  30          #define CDlamp     0x63
  31          #define CDauto     0x93    
  32          #define CDcut      0x92
  33          #define CDP1D      0x71
  34          #define CDWW       0x81
  35          //#define CDset   0x91     
  36          //#define CDup    0x72     
  37          //#define CDdown          0x92
  38          //#define CDdel     0x73
  39          //#define CDright   0x83
  40          //#define CDspace   0x93
  41          
  42          
  43          //xdata int newST;
  44          //extern int LcdST;
  45          unsigned char SWkey ;
  46          xdata unsigned char CEFF = 0;
  47          xdata unsigned char DCEFF[10] = {0};
  48          xdata unsigned char CESS=0;
  49          xdata unsigned char CEPP=1;
  50          xdata unsigned char CEPP_Sign = 0;
  51          //xdata unsigned char DCEPP[16] = {0};
  52          xdata unsigned char CElamp;
  53          xdata unsigned char CEWW;
  54          xdata unsigned char CEbegin;
  55          xdata unsigned char CEend;
C51 COMPILER V8.02   KEY                                                                   09/08/2008 11:32:44 PAGE 2   

  56          xdata unsigned char CEauto;
  57          xdata unsigned char CEP1D;
  58          xdata unsigned char CEcut;
  59          xdata unsigned char DataBuffer[4] = {0};
  60          //xdata unsigned char P1D_Sign=1;
  61          xdata unsigned char P_Model_L;
  62          xdata unsigned char P_Model_H;
  63          xdata unsigned char LEDFF=0;
  64          xdata  char CEPP_39_= 1;
  65          xdata unsigned char LEDPP = 0;
  66          xdata unsigned char Uart_En = 1; //enable the uart 
  67          xdata unsigned char CDSSUart_En = 0;
  68          xdata unsigned char StMemoryA = 0;
  69          xdata unsigned char StMemoryB = 0;
  70          xdata unsigned char StMemoryC = 0;
  71          xdata unsigned char StMemoryD = 0;
  72          xdata unsigned char UnMemory = 0;
  73          xdata unsigned char StartEn=1;
  74          xdata unsigned char SaveEn = 0;
  75          /*------------------------------------------------------------------*/
  76          
  77          void KEYPAD_Scan()
  78            {
  79   1              static unsigned char Old_Key;
  80   1              static unsigned char  KnbS;
  81   1              unsigned int jjp;
  82   1              unsigned char fpp;
  83   1              unsigned char Key = 0x00;     
  84   1              KBB1 = 0;       KBB2 = 1; KBB3 = 1; KBB4 = 1;//KBB5 = 1; // Scanning column 1
  85   1              for(jjp=0;jjp<=200;jjp++)
  86   1              {       fpp++;  }
  87   1              //  if (KBA4 == 0) Key = 0x60;
  88   1            if (KBA3 == 0) Key = 0x72;
  89   1            if (KBA2 == 0) Key = 0x70;
  90   1            if (KBA1 == 0) Key = 0x91;      
  91   1       
  92   1         KBB1 = 1;    KBB2 = 0;       KBB3 = 1; KBB4 = 1; //KBB5 = 1; // Scanning column 2
  93   1              for(jjp=0;jjp<=200;jjp++)
  94   1              {       fpp++;  }
  95   1              //  if (KBA4 == 0) Key = 0x61;
  96   1            if (KBA3 == 0) Key = 0x73;
  97   1            if (KBA2 == 0) Key = 0x80;
  98   1            if (KBA1 == 0) Key = 0x63;      
  99   1      
 100   1         KBB1 = 1;    KBB2 = 1;       KBB3 = 0; KBB4 = 1; //KBB5 = 1; // Scanning column 3
 101   1              for(jjp=0;jjp<=200;jjp++)
 102   1              {       fpp++;  }
 103   1               // if (KBA4 == 0) Key = 0x62;
 104   1            if (KBA3 == 0) Key = 0x74;
 105   1            if (KBA2 == 0) Key = 0x81;
 106   1            if (KBA1 == 0) Key = 0x92;      
 107   1      
 108   1         KBB1 = 1;    KBB2 = 1;       KBB3 = 1; KBB4 = 0; //KBB5 = 1; // Scanning column 4
 109   1              for(jjp=0;jjp<=200;jjp++)
 110   1              {       fpp++;  }
 111   1      //        if (KBA4 == 0) Key = 0x61;    
 112   1            if (KBA3 == 0) Key = 0x61;
 113   1            if (KBA2 == 0) Key = 0x71;
 114   1            if (KBA1 == 0) Key = 0x93; 
 115   1      
 116   1       // KBB1 = 1;   KBB2 = 1;       KBB3 = 1; KBB4 = 1; KBB5 = 0; // Scanning column 4
 117   1      //      for(jjp=0;jjp<=200;jjp++)
C51 COMPILER V8.02   KEY                                                                   09/08/2008 11:32:44 PAGE 3   

 118   1      //      {       fpp++;  }
 119   1      //        if (KBA4 == 0) Key = 0x64;    
 120   1      //      if (KBA3 == 0) Key = 0x74;
 121   1      //      if (KBA2 == 0) Key = 0x84;
 122   1      //      if (KBA1 == 0) Key = 0x94; 
 123   1                        
 124   1                  
 125   1      
 126   1              KBB1 = 1;       KBB2 = 1;       KBB3 = 1; KBB4 = 1; // Scanning column 4
 127   1      
 128   1         
 129   1         if (Key == 0x00)
 130   1         {
 131   2            // No key pressed (or just a function key)
 132   2            Old_Key = 0x00;
 133   2           // Last_valid_key_G = KEYPAD_NO_NEW_DATA;
 134   2                SWkey = 0x00;
 135   2                KnbS=0;
 136   2            return ;  // No new data
 137   2          }
 138   1              if(Key == Old_Key)
 139   1              {
 140   2                      KnbS++;
 141   2                      if(KnbS>5)
 142   2                      {
 143   3                              SWkey=Old_Key;
 144   3                              KnbS=6;
 145   3                      }
 146   2                      return  ;
 147   2              }
 148   1         // No new data
 149   1         Old_Key = Key;
 150   1              KnbS=0; 
 151   1      
 152   1         }
 153          
 154          BuzDelay(unsigned int ms)
 155          {
 156   1       int i = 0;
 157   1       for(;ms>0;ms--)
 158   1       for (i =0; i<=100;i++)
 159   1       {
 160   2       ;
 161   2       }
 162   1      
 163   1      }
 164          /*
 165          void  OnBuz()
 166          {
 167                  BZ = 0;
 168                  BuzDelay(130);
 169                  BZ= 1;
 170          
 171          }
 172          void Buz()
 173          {
 174             if(DCEFF[8]==1)
 175             {
 176              BZ = 0;
 177                  BuzDelay(130);
 178                  BZ= 1;
 179          
C51 COMPILER V8.02   KEY                                                                   09/08/2008 11:32:44 PAGE 4   

 180             }
 181          }
 182          
 183          */
 184           /* *************************************************************
 185           *** 函数  名:  Select_Modle()
 186           *** 功能说明:开机按键进入相应的参数设定 POWER ON /+P /+S /+LAMP /+AUTO+/上下
 187           *** 返回参数:
 188           ************************************************************** */
 189           void   Select_Modle()
 190           {
 191   1      
 192   1               unsigned char model_key =0;
 193   1               int i = 0;
 194   1               P_Model_L = 1;
 195   1               P_Model_H = 45;
 196   1              for(i=0;i<100;i++)
 197   1              {
 198   2               KEYPAD_Scan();
 199   2              }
 200   1               model_key = SWkey;
 201   1               
 202   1               if(model_key == CDauto)
 203   1               {
 204   2                P_Model_L = 46;
 205   2                P_Model_H = 122;
 206   2                        
 207   2               }
 208   1      
 209   1               if(model_key == CDok)
 210   1               {        
 211   2                P_Model_L = 1;
 212   2                P_Model_H = 175;
 213   2                UnMemory = 1;
 214   2               }
 215   1      
 216   1      /*       if(model_key == CDlamp)
 217   1               {        
 218   1                P_Model_L = 176;
 219   1                P_Model_H = 208;
 220   1               }
 221   1      
 222   1                if(model_key == CDauto)
 223   1               {        
 224   1                P_Model_L = 209;
 225   1                P_Model_H = 251;
 226   1               } */
 227   1      
 228   1               if(model_key ==CDaup)
 229   1               {
 230   2                      ReadStMemory();

⌨️ 快捷键说明

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