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

📄 key.lst

📁 温度仪表软件
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   KEY                                                                  09/27/2008 09:32:26 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN .\hex\key.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\key.c BROWSE INCDIR(.\h) DEBUG OBJECTEXTEND PRINT(.\key.lst) OBJECT(.\h
                    -ex\key.obj)

line level    source

   1          #include<reg52.h>
   2          #include"global_var.h"
   3          #include"my_type.h"
   4          #include"function.h"  
   5          #include"interface.h"   
   6          uint k,n,m,m1=0,m2=0,w=2,w1=2,w2=3;
   7          
   8          uchar reg_ds1307;
   9          /*********按键处理子程序***********/
  10          void key1();
  11          void ge_h();
  12          void shi_h();                                           
  13          void bai_h();                                   
  14          void high();                                                    
  15          void low();
  16          void ge_l();
  17          void shi_l();                                           
  18          void bai_l();
  19          void year_mon();
  20          void dat_shi();
  21          void min_sec();
  22          
  23          void ge_1307();
  24          void shi_1307();
  25          void bai_1307();
  26          void qian_1307();
  27          
  28          /*********按键处理子程序**********/
  29          void key()
  30          {       
  31   1         if(KEY_1==0)  
  32   1         {  
  33   2              key1() ;
  34   2              }   
  35   1      }
  36          
  37          /*********按键1处理子程序**********/
  38          void key1()
  39          {
  40   1                      delay(10);                              //消抖
  41   1                      if(KEY_1==0)
  42   1                      {  
  43   2                               m1++;
  44   2                               if(m1==3)  m1=1; 
  45   2                                                   
  46   2                               if(m1==1)      high(); 
  47   2              
  48   2                           if(m1==2)  low();   //第一个键 按下两次
  49   2      
  50   2      //                       if(m1==3)      year_mon();
  51   2              
  52   2      //                       if(m1==4)      dat_shi();
  53   2      
  54   2      //                       if(m1==5)  min_sec();
C51 COMPILER V8.05a   KEY                                                                  09/27/2008 09:32:26 PAGE 2   

  55   2                                                                                                              
  56   2               }                                      
  57   1      }                
  58          //               if(m1==3)                         // 1键按三次
  59          //               {
  60                                  
  61          //                }
  62          
  63          /*************高报警值的设置***************/
  64          void high()
  65          {
  66   1              read_nbyte(0xa0,0x03,sh,3);
  67   1              delay(10);
  68   1              set_high=sh[0]+sh[1]*10+sh[2]*100;       
  69   1      //      set_high=238;
  70   1              display_set_H();        
  71   1              while(KEY_4) 
  72   1              { 
  73   2                      for(k=0;k<10;k++)
  74   2                 {
  75   3                      display();
  76   3                      }   
  77   2                      if(KEY_1==0)
  78   2                      break;
  79   2               }
  80   1              while(KEY_1&KEY_2&KEY_3)  //在其他键没有按下的情况下,闪烁显示SET_H
  81   1              {       
  82   2                      display();
  83   2                      delay(15);                                               
  84   2               }
  85   1               while(KEY_1&KEY_4)     //在第四个按键没按下的情况下,选择要增减的位
  86   1               {
  87   2                              w++;
  88   2                              while(KEY_4)
  89   2                              {                                               
  90   3                                      if(w==3) w=0;
  91   3                                      if(w==0) ge_h();                                                        
  92   3                                      if(w==1) shi_h();                                                       
  93   3                              if(w==2) bai_h();
  94   3                                      
  95   3                          while(KEY_4&KEY_3)
  96   3                                      {                      
  97   4                                              display_set_H();                                                        
  98   4                                              display();
  99   4                                  if(KEY_2==0)
 100   4                                              {
 101   5                                              delay(80);                              //消抖
 102   5                                              if(KEY_2==0)
 103   5                                              break;
 104   5                                          }   
 105   4                                       }
 106   3                                       
 107   3                                       if(KEY_3==0)
 108   3                                              {
 109   4                                              delay(80);                              //消抖
 110   4                                              if(KEY_3==0)
 111   4                                              break;
 112   4                                              }       
 113   3                                       delay(80);        
 114   3                               }      
 115   2               }
 116   1               sh[0]=(uchar)(set_high%10);
C51 COMPILER V8.05a   KEY                                                                  09/27/2008 09:32:26 PAGE 3   

 117   1               sh[1]=(uchar)(set_high/10%10);
 118   1               sh[2]=(uchar)(set_high/100);
 119   1               write_nbyte(0xa0,0x03,sh,3);
 120   1           delay(5);                                                                                    
 121   1      }
 122          /*************低报警值的设置***************/    
 123          void low()
 124          {
 125   1              read_nbyte(0xa0,0x10,sl,3);
 126   1              delay(10);
 127   1              set_low=sl[0]+sl[1]*10+sl[2]*100;
 128   1      //      set_high=238;
 129   1              display_set_L();        
 130   1              while(KEY_4) 
 131   1              { 
 132   2                      for(k=0;k<10;k++)
 133   2                 {
 134   3                      display();
 135   3                      }   
 136   2                      if(KEY_1==0)
 137   2                      break;
 138   2               }
 139   1              while(KEY_1&KEY_2&KEY_3)  //在其他键没有按下的情况下,闪烁显示SET_H
 140   1              {       
 141   2                      display();
 142   2                      delay(15);                                               
 143   2               }
 144   1               while(KEY_1&KEY_4)     //在第四个按键没按下的情况下,选择要增减的位
 145   1               {
 146   2                              w1++;
 147   2                              while(KEY_4)
 148   2                              {                                               
 149   3                                      if(w1==3) w1=0;
 150   3                                      if(w1==0) ge_l();                                                       
 151   3                                      if(w1==1) shi_l();                                                      
 152   3                              if(w1==2) bai_l();
 153   3                                      
 154   3                          while(KEY_4&KEY_3)
 155   3                                      {                      
 156   4                                              display_set_L();                                                        
 157   4                                              display();
 158   4                                  if(KEY_2==0)
 159   4                                              {
 160   5                                              delay(80);                              //消抖
 161   5                                              if(KEY_2==0)
 162   5                                              break;
 163   5                                          }   
 164   4                                       }
 165   3                                       
 166   3                                       if(KEY_3==0)
 167   3                                              {
 168   4                                              delay(80);                              //消抖
 169   4                                              if(KEY_3==0)
 170   4                                              break;
 171   4                                              }       
 172   3                                       delay(80);        
 173   3                               }      
 174   2               }
 175   1               sl[0]=(uchar)(set_low%10);
 176   1               sl[1]=(uchar)(set_low/10%10);
 177   1               sl[2]=(uchar)(set_low/100);
 178   1               write_nbyte(0xa0,0x10,sl,3);
C51 COMPILER V8.05a   KEY                                                                  09/27/2008 09:32:26 PAGE 4   

 179   1           delay(5);                                                                                    
 180   1      }
 181          /*********低报警值个十百处理子程序**********/
 182          
 183          void ge_l()
 184          {
 185   1              set_low++;      
 186   1              if(set_low%10==0)
 187   1              set_low-=10;    
 188   1      }
 189          void shi_l()
 190          {
 191   1              set_low+=10;    
 192   1              if(set_low%100<10)
 193   1              set_low-=100;   
 194   1      }
 195          
 196          void bai_l()    
 197          {
 198   1              set_low+=100;   
 199   1              if(set_low>1000)                                                                        
 200   1              set_low-=1000;
 201   1      }
 202          
 203          
 204                                                                                           
 205          
 206          
 207          
 208          /*********高报警值个十百处理子程序**********/
 209          void ge_h()
 210          {
 211   1              set_high++;     
 212   1              if(set_high%10==0)
 213   1              set_high-=10;   
 214   1      }
 215          void shi_h()
 216          {
 217   1              set_high+=10;   

⌨️ 快捷键说明

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