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

📄 back_prc.lst

📁 楼宇对讲系统里用的文字信息接收。用可视对讲话机的TFT屏可看到从管理中心发过来的广播信息和本户的特发信息
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.06   BACK_PRC                                                              06/10/2005 13:26:30 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE BACK_PRC
OBJECT MODULE PLACED IN BACK_PRC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE BACK_PRC.C BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS

stmt level    source

   1          /***********************************************************/
   2          /*                                                                                     */
   3          /*                CPU:AT89c55   20MHZ                      */
   4          /*                Copyright  2004.09  Comelit              */
   5          /*                AUTHOR:  LV_XIAO_LU                      */
   6          /*                                                         */
   7          /***********************************************************/
   8          
   9          #include "reg52.h"
  10          #include "define.h"
  11          #include "variable.h"
  12          #include "typedef.h"
  13          #include "function.h"
  14          
  15          
  16          #define TM60S 600
  17          #define TM1MIN 60
  18          #define TM12HOUR 12
  19          /*******************************************************/
  20          /*******************************************************/
  21          void Backup_hd(void);
  22          void Backup_prc(void);
  23          void Backup_time_prc(void);
  24          //void Backup_var(void);
  25          void Backup_mes_control(void);
  26          
  27          void Mes_list_disp(void);
  28          /*******************************************************/
  29          /*******************************************************/
  30          /*void (*const code Backup[])(void) =
  31          {
  32             Backup_var,
  33             Backup_mes_control
  34          };*/
  35          
  36          /*******************************************************/
  37          /* 该函数10MS处理一次
  38          /*******************************************************/
  39          void Backup_hd(void)
  40          {
  41   1         if((backup_prc_F == 1)&&(write_F == 0))
  42   1         {
  43   2                write_F = 1;
  44   2      //          Backup[backup_step]();
  45   2                Backup_mes_control();
  46   2         }
  47   1      }
  48          /*******************************************************/
  49          /*******************************************************/
  50          void Backup_prc(void)
  51          {
  52   1         Backup_time_prc();
  53   1         
  54   1      }
  55          
C51 COMPILER V7.06   BACK_PRC                                                              06/10/2005 13:26:30 PAGE 2   

  56          /*******************************************************/
  57          /* 50ms处理一次                                        */
  58          /*******************************************************/
  59          void Backup_time_prc(void)
  60          {
  61   1         if(backup_sec_time < TM60S)    
  62   1            backup_sec_time++;
  63   1         else
  64   1         {
  65   2            backup_sec_time = 0;
  66   2                backup_min_time++;
  67   2                if(backup_min_time >= TM1MIN)  //#define TM1MIN 60
  68   2      //       if(backup_min_time >= 2)  //test backup              
  69   2                {
  70   3                    backup_min_time = 0;
  71   3                        backup_hour_time++;
  72   3                        if(backup_hour_time >= TM12HOUR) //  #define TM12HOUR 12
  73   3      //          if(backup_hour_time >= 2) // test backup
  74   3                        {
  75   4                           backup_hour_time = 0;                      
  76   4                               backup_prc_F = 1;
  77   4      //                       backup_step = 0;
  78   4                        }
  79   3                }
  80   2         }
  81   1      }
  82          
  83          /*******************************************************/
  84          /*******************************************************/
  85          /*void Backup_var(void)
  86          {
  87             Write_sector((unsigned char xdata*)(0x1000),(unsigned char xdata*)0x00);
  88             write_delay_time = TM20MS;  
  89             backup_step++;                 
  90          }*/
  91          /*******************************************************/
  92          /*******************************************************/  
  93          void Backup_mes_control(void)
  94          {    
  95   1        if(backup_mes_control_no < 8)
  96   1        {
  97   2            Write_sector((unsigned char xdata*)(0x1100 + backup_mes_control_no*256),(unsigned char xdata*)(0x100
             -+backup_mes_control_no *256));
  98   2                write_delay_time = TM20MS;
  99   2            backup_mes_control_no++;
 100   2        }
 101   1        else           //备份工作结束
 102   1        {
 103   2            backup_mes_control_no = 0 ;
 104   2      //      backup_step = 0;
 105   2                backup_prc_F = 0;
 106   2        }
 107   1      }
 108                      
 109          /*******************************************************/
 110          /*******************************************************/             
 111          
 112          /***********************************************************/
 113          /***********************************************************/
 114          void Mes_list_disp(void) 
 115          {
 116   1          unsigned char i;
C51 COMPILER V7.06   BACK_PRC                                                              06/10/2005 13:26:30 PAGE 3   

 117   1      /*无信息时的菜单处理*/
 118   1              if(scr_mes_num == 0)
 119   1              {
 120   2      /*第三行第1列显示"无信息请返回"*/
 121   2      //        mes_moment = second_menu[4] ;  
 122   2            
 123   2      
 124   2                      Disp_str("无列表信息",3,2,3,7,CHA_COLOR_WHITE,0);
 125   2      
 126   2              if(mes_list != disp_tcb_list)  
 127   2                      {
 128   3                         if(select_position == 0)
 129   3                             at_label = 1;
 130   3                         else
 131   3                             at_label = 0;
 132   3                         Disp_str("上页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
 133   3      //           Disp_str("LA",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label);
 134   3      
 135   3                         if(select_position == 1)
 136   3                            at_label = 1;
 137   3                         else
 138   3                            at_label = 0;
 139   3      
 140   3                Disp_str("返回",7,7,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
 141   3      
 142   3                      }
 143   2      /*最后一行中间位置显示带标签的"返回"*/
 144   2              else
 145   2                      {
 146   3                  
 147   3                           at_label = 1;
 148   3                   Disp_str("返回",7,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
 149   3      //        Disp_str("RT",7,8,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label);
 150   3                  }
 151   2                      mes_list_F = 0;
 152   2                   return;
 153   2              }
 154   1      /*有信息时菜单处理*/
 155   1          else
 156   1              {
 157   2      
 158   2                      Disp_str("信息浏览",0,3,3,BACK_COLOR_WHITE,CHA_COLOR_WHITE,0);
 159   2      
 160   2          
 161   2              /*最多一屏只能提示五条信息*/
 162   2               if(mes_list_F == 1)
 163   2           {  for(i=0;i<scr_mes_num;i++)
 164   3                      {
 165   4      
 166   4                          if(mes_list_old->new_old_F == NEW)
 167   4                                  Disp_str("*",i+1,2,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
 168   4                  mes_list_old = mes_list_old->next;
 169   4                  
 170   4                              list_num++;
 171   4                          Get_list_str(list_num); 
 172   4      
 173   4                  if(select_position == i)
 174   4                                 at_label = 1;
 175   4                              else
 176   4                                 at_label = 0;
 177   4                      
 178   4                      Disp_str(list_str,i+1,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
C51 COMPILER V7.06   BACK_PRC                                                              06/10/2005 13:26:30 PAGE 4   

 179   4                              
 180   4                      }
 181   3                      mes_list_F = 0;
 182   3               } 
 183   2               else
 184   2               {
 185   3                   switch(select_position)
 186   3                       {
 187   4                          case 0x00:
 188   4                                        if(scr_mes_num >= 1)
 189   4                                       {
 190   5                                             Get_list_str(list_num-scr_mes_num+1);
 191   5                                                 Disp_str(list_str,1,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
 192   5      
 193   5                                               }
 194   4                                                 break;
 195   4                  case 0x01:
 196   4                                       if(scr_mes_num >=1)
 197   4                                       { Get_list_str(list_num-scr_mes_num+1);
 198   5                                                Disp_str(list_str,1,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
 199   5                                      
 200   5                                               }
 201   4                                               if(scr_mes_num >=2)
 202   4                                       {
 203   5                                            Get_list_str(list_num-scr_mes_num+2);
 204   5                                                Disp_str(list_str,2,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
 205   5                                               
 206   5                                               }
 207   4                                            break;
 208   4                  case 0x02:
 209   4                                       if(scr_mes_num >= 2)
 210   4                                               {
 211   5                                        Get_list_str(list_num-scr_mes_num+2);
 212   5                                                Disp_str(list_str,2,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
 213   5                                               
 214   5                                       }
 215   4                                                if(scr_mes_num>=3)
 216   4                                                {
 217   5                                                  Get_list_str(list_num-scr_mes_num+3);
 218   5                                                  Disp_str(list_str,3,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
 219   5                                                }
 220   4                                                 break;
 221   4                  case 0x03:
 222   4                                       if(scr_mes_num >= 3)
 223   4                                               {
 224   5                                         Get_list_str(list_num-scr_mes_num+3);
 225   5                                                 Disp_str(list_str,3,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
 226   5                                       }
 227   4                           if(scr_mes_num >= 4)
 228   4                                               {
 229   5                                                Get_list_str(list_num-scr_mes_num+4);
 230   5                                                Disp_str(list_str,4,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
 231   5                                               }
 232   4                                         break;
 233   4                  case 0x04:
 234   4                                       if(scr_mes_num >= 4)
 235   4                                               {
 236   5                                        Get_list_str(list_num-scr_mes_num+4);
 237   5                                                Disp_str(list_str,4,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
 238   5                                       }
 239   4                                               if(scr_mes_num>=5)
 240   4                                               {
C51 COMPILER V7.06   BACK_PRC                                                              06/10/2005 13:26:30 PAGE 5   

 241   5                                            Get_list_str(list_num-scr_mes_num+5);
 242   5                                                Disp_str(list_str,5,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
 243   5                                               }
 244   4                                                break;
 245   4                              default:
 246   4                                       if(scr_mes_num>=5)
 247   4                                               {
 248   5                                        Get_list_str(list_num-scr_mes_num+5);
 249   5                                                Disp_str(list_str,5,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
 250   5                                       }
 251   4                                                break;
 252   4                 }
 253   3               }       
 254   2                          if(select_position == scr_mes_num)
 255   2                                 at_label = 1;
 256   2                              else
 257   2                                 at_label = 0 ;
 258   2                  if(list_num > 5)
 259   2      //                  Disp_str("上页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
 260   2                                         Disp_str("上页",7,1,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
 261   2                              else if(list_num == 5)
 262   2      //                            Disp_str("下页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
 263   2                                         Disp_str("下页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
 264   2                              else                    
 265   2                        Disp_str("返回",7,4,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
 266   2                                       
 267   2                              
 268   2      /*如果提示不足五条,不显示'下页'*/
 269   2                        
 270   2                          if(scr_mes_num == 5)
 271   2                              {
 272   3                     
 273   3                         if(select_position == 6)
 274   3                                    at_label = 1;
 275   3                                 else
 276   3                                    at_label = 0;
 277   3      //                         Disp_str("下页",7,4,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
 278   3                     if(list_num>5)
 279   3                     {      
 280   4                                      Disp_str("下页",7,4,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
 281   4                                      
 282   4                          if(select_position == 7)
 283   4                                          at_label = 1;
 284   4                                  else
 285   4                                      at_label = 0;
 286   4      //                     Disp_str("返回",7,8,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
 287   4                          Disp_str("返回",7,7,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
 288   4                                 }
 289   3                                 else
 290   3                                 {
 291   4                                      if(select_position == 6)

⌨️ 快捷键说明

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