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

📄 按键.lst

📁 功能按键
💻 LST
字号:
C51 COMPILER V8.05a   按键                                                                 11/27/2008 15:40:24 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 按键
OBJECT MODULE PLACED IN 按键.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 按键.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"reg51.h"
   2          #include"absacc.h"
   3          #include"stdio.h"
   4          #define uchar unsigned char
   5          #define unit unsigned int
   6          unsigned char code dis[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0-9代码 
   7          unsigned char code shibie[8]={0x98,0x8c,0xb6,0x86,0xc6,0xc7,0x88,0x89};//符号q,p,三,E,【,L
   8          uchar key_moshi=2;   //模式按键 
   9          uchar key_up=2;    //上调按键 
  10          uchar key_down=2;   //下调按键 
  11          uchar key_queren=2;  //确认按键 
  12          int queren_flag=0;      //确认标志  
  13          int moshi_flag=0;  //  模式标志 
  14          int key_first_flag=-1;  //开机显示标志位 
  15          int moshi1[3],moshi2[3];
  16          sbit ge=P2^4;
  17          sbit shi=P2^5;
  18          sbit bai=P2^6;
  19          sbit fuhao=P2^7;
  20                                                   
  21          /***************************
  22          *******延时程序 ************
  23          ***************************/
  24          void delay1(int time)
  25          {  int j=0,i=0;
  26   1        for(j=0;j<time;j++)
  27   1        {for(i=0;i<10;i++);}
  28   1        }
  29          
  30          
  31          /*********************************************
  32          *****读按键 *******************************
  33          ***********************************************/
  34          void read_key(void)
  35          { if((P2&0X01)!=0X01)
  36   1         {delay1(253);
  37   2          if((P2&0X01)!=0X01)
  38   2              {
  39   3              key_moshi=0;
  40   3              }
  41   2              }
  42   1               if((P2&0X02)!=0X02)
  43   1               { delay1(253);
  44   2                 if((P2&0X02)!=0X02)
  45   2                 {key_up=0;}
  46   2               }
  47   1               if((P2&0X04)!=0X04)
  48   1              {delay1(253);
  49   2               if((P2&0X04)!=0X04)
  50   2               { key_down=0;}
  51   2               }
  52   1               if((P2&0X08)!=0X08)
  53   1              {delay1(253);
  54   2               if((P2&0X08)!=0X08)
  55   2                {
C51 COMPILER V8.05a   按键                                                                 11/27/2008 15:40:24 PAGE 2   

  56   3                
  57   3                key_queren=0;}
  58   2                }
  59   1               
  60   1        }
  61          /*******************************************
  62          **************模式选择 ********************
  63          ******************************************/
  64             void moshi_set(void)
  65            {      
  66   1          if(key_moshi==0)
  67   1               { key_first_flag=1;
  68   2                 key_moshi=1;    
  69   2                 delay1(1);
  70   2                 moshi_flag++;
  71   2             if(moshi_flag>=3)
  72   2                 {moshi_flag=0;}
  73   2               }
  74   1         }
  75          /********************************************
  76          ***********模式1设置, 增加,减少 ****************
  77          **********************************************/
  78             void key_up_moshi1(void)
  79             {
  80   1           if(key_up==0&&moshi_flag==1&&queren_flag==0)  //上升 
  81   1                 { key_up=1;
  82   2                   delay1(2);
  83   2                       moshi1[1]++;
  84   2                       if(moshi1[1]>=10)
  85   2                       { moshi1[1]=0;}
  86   2                      }
  87   1               }
  88          
  89             void key_down_moshi1(void)
  90              {
  91   1                if(key_down==0&&moshi_flag==1&&queren_flag==0)  //下调 
  92   1                 { key_down=1;
  93   2                 delay1(2);
  94   2                 moshi1[1]--;
  95   2                 if(moshi1[1]<0)
  96   2                 { moshi1[1]=9;}
  97   2                 }
  98   1           }
  99          
 100          /************************************U*
 101          ************模式2设置,增加,减少 ******
 102          ***********************************/
 103            void key_up_moshi2(void)
 104                {
 105   1           if(key_up==0&&moshi_flag==2&&queren_flag==0)  //上升 
 106   1                 { key_up=1;
 107   2                   delay1(2);
 108   2                       moshi2[1]++;
 109   2                       if(moshi2[1]>=10)
 110   2                       { moshi2[1]=0;}
 111   2                      }
 112   1               }
 113          
 114             void key_down_moshi2(void)
 115              {
 116   1                if(key_down==0&&moshi_flag==2&&queren_flag==0)  //下调 
 117   1                 { key_down=1;
C51 COMPILER V8.05a   按键                                                                 11/27/2008 15:40:24 PAGE 3   

 118   2                 delay1(2);
 119   2                 moshi2[1]--;
 120   2                 if(moshi2[1]<0)
 121   2                 { moshi2[1]=9;}
 122   2                 }
 123   1           }
 124          
 125          /*************************************************
 126          ***************确认按键 *****************************
 127          *************************************************/
 128             void key_queren_flag(void)
 129             {
 130   1           if(key_queren==0)
 131   1               { delay1(5);
 132   2               key_first_flag=1;
 133   2                 key_queren=1;
 134   2                 queren_flag=1;
 135   2              /*   if(queren_flag>1)
 136   2                 {queren_flag=0;}       */
 137   2                 moshi_flag=0;
 138   2                 queren_flag=0;
 139   2               }
 140   1              }
 141          
 142          /*******************************************************
 143          *********************显示 *******************************
 144          ************************************************************/
 145            void display()
 146            {
 147   1          /**********************
 148   1              开机显示 
 149   1              ***************************/
 150   1              if(key_first_flag==-1)
 151   1               { P0=dis[8];
 152   2                 P2=0X7F;
 153   2                 delay1(5);
 154   2                 P2=0XFF;
 155   2                 P0=dis[8];
 156   2                P2=0XBF;
 157   2                 delay1(5);
 158   2                 P2=0XFF;
 159   2                 P0=dis[8];
 160   2                P2=0XDF;
 161   2                 delay1(5);
 162   2                 P2=0XFF;
 163   2                 P0=dis[8];
 164   2                P2=0XEF;
 165   2                 delay1(5);
 166   2                 P2=0XFF;
 167   2               }       
 168   1        /**************************************
 169   1                模式1显示       符号显示 q
 170   1       ****************************************/
 171   1         if(moshi_flag==1)
 172   1              {
 173   2                P0=shibie[0];
 174   2                P2=0X7F;
 175   2                delay1(5);
 176   2                P2=0XFF;
 177   2                P0=dis[moshi1[1]];
 178   2               P2=0XEF;
 179   2                delay1(5);
C51 COMPILER V8.05a   按键                                                                 11/27/2008 15:40:24 PAGE 4   

 180   2                P2=0XFF;
 181   2              }  
 182   1      
 183   1        /*********************************
 184   1              模式2显示 符号显示 E
 185   1      ************************************/
 186   1       if(moshi_flag==2)
 187   1         {
 188   2           P0=shibie[3];
 189   2               P2=0X7F;
 190   2               delay1(5);
 191   2               P2=0XFF;
 192   2               P0=dis[moshi2[1]];
 193   2               P2=0XEF;
 194   2               delay1(5);
 195   2               P2=0XFF;
 196   2              }        
 197   1       /**************************
 198   1         正常状态显示 0123
 199   1      ********************************/
 200   1       if(moshi_flag==0&&(key_first_flag)!=-1)
 201   1         {
 202   2           P0=dis[0];
 203   2               P2=0X7F;
 204   2               delay1(5);
 205   2               P2=0XFF;
 206   2               P0=dis[1];
 207   2               P2=0XEF;
 208   2               delay1(5);
 209   2               P2=0XFF;
 210   2               P0=dis[2];
 211   2               P2=0XDF;                                                                                                                                                          
 212   2               delay1(5);
 213   2               P2=0XFF;
 214   2               P0=dis[3];
 215   2               P2=0XBF;
 216   2               delay1(5);
 217   2               P2=0XFF;
 218   2               
 219   2               }              
 220   1       }
 221          
 222           /*********************************
 223             主程序  
 224          ****************************************/
 225            void main()
 226           {
 227   1        P2 = 0XFF;
 228   1        while(1)
 229   1         {
 230   2           read_key();        
 231   2               moshi_set();
 232   2               key_queren_flag();
 233   2               key_up_moshi1();
 234   2               key_down_moshi1();
 235   2               key_up_moshi2();
 236   2               key_down_moshi2();
 237   2               display();
 238   2              }
 239   1       }
 240          
 241          
C51 COMPILER V8.05a   按键                                                                 11/27/2008 15:40:24 PAGE 5   

 242                     
 243          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    814    ----
   CONSTANT SIZE    =     18    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28    ----
   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 + -