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

📄 menu.lst

📁 这是一种温度变送器的源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MENU
OBJECT MODULE PLACED IN menu.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE menu.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <c8051f350.h>
   2          #include "menu.h"
   3          #include "variable.h"
   4          #include "I2C.h"
   5          #include "adc.h"
   6          #include "math.h"
   7          
   8          bit bdata set_flag;
   9          bit bdata dis_flag;
  10          bit bdata zero_flag;
  11          bit bdata dem_flag;
  12          bit bdata pin_flag;
  13          bit bdata menu_flag;
  14          bit bdata t_flag;
  15          
  16          unsigned int code default_ref_table[16]=//为了节省代码空间,ref_table_temp[40]为40个参数,省掉的24个
  17                                                                                          //参数是标定用的,不用初始化
  18          {
  19                                          (Itm_k-Itm_s)                   //分度号default_ref_sn  默认开始是k。 加9则是pt100
  20                      ,                   1                                       //参数设置位default_ref_bits  判断是否同步显示
  21                          ,                       0                                       //标称/变送的低端default_ref_sc0
  22                          ,                       1000                            //标称/变送的高端default_ref_scf
  23                          ,                       416                                     //变送的下限default_ref_da0
  24                          ,                       2945                            //变送的上限default_ref_daf
  25                          ,                       0                                       //断线或溢出时的输出设定default_ref_dab
  26                          ,                       0xf1                            //当前温度对应的AD值default_ref_trv
  27                          ,                       0                                       //输出修正0default_ref_d0
  28                          ,                       0                                       //输出修正fdefault_ref_df
  29                          ,                       0                                       //显示修正0default_ref_du0
  30                          ,                       0                                       //显示修正fdefault_ref_duf
  31                      ,                   0                                       //过滤类型default_ref_filt
  32                      ,                   8                                       //过滤参数1default_ref_filr
  33                          ,                       29                                      //当前温度default_ref_tr
  34                          ,                       0
  35          };
  36          
  37          
  38          unsigned char code num_code[16]=  //十进制和十六进制的数字表示表
  39                  {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,chr_a,chr_b,chr_c,chr_d,chr_e,chr_f};
  40          
  41          unsigned char code Tab_Menu_Item[54][4] =               
  42                                  {                chr_sp,chr_sp, chr_sp,chr_sp                           //0     null    
  43                                                  ,chr_p, chr_n,  chr_b,  chr_o                           //1     pnbo    
  44                                                  ,chr_sp,chr_sp, chr_s,  chr_n                           //2     sn      
  45                                                  ,chr_sp,chr_sp, chr_p,  chr_d                           //3     pd
  46                                                  ,chr_sp,chr_s,  (chr_c&chr_dot),        num_0           //4     sc.0
  47                                                  ,chr_sp,chr_s,  (chr_c&chr_dot),        chr_f               //5 sc.f    
  48                                                  ,chr_sp,chr_sp, chr_t,  chr_r                                           //6     tr
  49                                                  ,chr_sp,chr_d,  (chr_a&chr_dot),        num_0           //7     da.0
  50                                                  
  51                                                  ,chr_sp,chr_sp, (chr_d&chr_dot),        num_0                   //8 d0
  52                                                  ,chr_sp,chr_sp, (chr_d&chr_dot),        chr_f                   //9 df                                  
  53                                                  ,chr_sp,chr_d,  (chr_u&chr_dot),        num_0                   //10 du0
  54                                                  ,chr_sp,chr_d,  (chr_u&chr_dot),        chr_f                   //11 duf        
  55                                                                                  
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 2   

  56          
  57                                                  ,chr_f, chr_i,  (chr_l&chr_dot),        chr_t           //12 fil.t
  58                                                  ,chr_f, chr_i,  (chr_l&chr_dot),        chr_r           //13 fil.r
  59          
  60                                                  ,chr_sp,chr_t,  chr_r,  chr_s                                           //14 trs
  61                                                  ,chr_sp,chr_r,  (chr_t&chr_dot),        num_1           //15 r.1
  62                                                  ,chr_sp,chr_r,  (chr_t&chr_dot),        num_2           //16 r.2
  63                                                  ,chr_sp,chr_r,  (chr_t&chr_dot),        num_3                   //17 r.3
  64                                                  ,chr_sp,chr_r,  (chr_t&chr_dot),        num_4                   //18 r.4
  65                                                  ,chr_sp,chr_r,  (chr_t&chr_dot),        num_5                   //19 r.5
  66                                                  ,chr_sp,chr_t,  (chr_c&chr_dot),        num_0           //20 tc.0
  67                                                  ,chr_sp,chr_t,  (chr_c&chr_dot),        chr_f           //21 tc.f
  68                                                  
  69                                          ,chr_sp,chr_d,  (chr_a&chr_dot),        chr_f           //22 da.F
  70                                                  ,chr_sp,chr_d,  (chr_a&chr_dot),        chr_b           //23 da.b
  71          
  72                                                  ,chr_sp,chr_sp, chr_o,  chr_t                           //24 ot
  73                                                  ,chr_g, chr_b,  chr_a,  chr_k                           //25 rev
  74                                                  ,chr_sp,chr_b,  chr_a,  chr_k                                   //26 bak
  75                                                  
  76                                          ,num_1,         chr_dot,chr_sp, chr_sp          //overflow
  77                                                  ,chr_b,         chr_r,  chr_o,  chr_k           //brok
  78                                                  ,chr_sp,        chr_o,  chr_f,  chr_f           //off
  79                                                  ,chr_sp,        chr_sp, chr_o,  chr_n           //on
  80                                                  ,chr_sp,        chr_sp, chr_n,  chr_o           //no
  81                                                  ,chr_sp,        chr_y,  chr_e,  chr_s           //yes
  82                                                  ,chr_sp,        chr_sp, chr_sp, chr_s           //sn:s          tc
  83                                                  ,chr_sp,        chr_sp, chr_sp, chr_r           //sn:r          tc
  84                                                  ,chr_sp,        chr_sp, chr_sp, chr_b           //sn:b          tc
  85                                                  ,chr_sp,        chr_sp, chr_sp, chr_k           //sn:k          tc
  86                                          ,chr_sp,        chr_sp, chr_sp, chr_e           //sn:e          tc
  87                                                  ,chr_sp,        chr_sp, chr_sp, chr_j           //sn:j          tc
  88                                                  ,chr_sp,        chr_sp, chr_sp, chr_n           //sn:n          tc
  89                                                  ,chr_sp,        chr_sp, chr_sp, chr_t           //sn:t          tc
  90                                                  ,chr_sp,        chr_t,  chr_u,  num_3           //sn:tu3        tc
  91                                                  ,chr_sp,        chr_t,  chr_u,  num_5           //sn:tu5        tc
  92                                                  ,chr_t,         chr_u,  num_2,  num_0           //sn:tu20       tc
  93                                                  ,chr_t,         chr_u,  num_2,  num_6           //sn:tu26       tc
  94                                                  ,chr_p,         num_1,  num_0,  num_0           //sn:pt100      rt
  95                                                  ,chr_c,         chr_u,  num_1,  num_0           //sn:cu100      rt
  96                                                  ,chr_c,         chr_u,  num_5,  num_0           //sn:cu50       rt
  97                                                  ,chr_sp,        chr_t,  chr_p&chr_dot,  num_1   //tp1
  98                                                  ,chr_sp,        chr_t,  chr_p&chr_dot,  num_2   //tp2
  99                                                  ,chr_sp,        chr_t,  chr_p&chr_dot,  num_3   //tp3
 100                                                  ,chr_a,         chr_r,  chr_e,  chr_a
 101                                                  ,chr_d,         chr_a,  chr_t,  chr_e
 102                                                  ,chr_n,         chr_u,  chr_b,  chr_r                                                                                           
 103                                  };
 104          unsigned int code Tab_mnu_ent_value[8]= //菜单入口值
 105                  {        
 106                           mnu_value_sn
 107                          ,mnu_value_sc0
 108                          ,mnu_value_d0
 109                          ,mnu_value_ot
 110                          ,mnu_value_pd
 111                          ,mnu_value_da0
 112                          ,mnu_value_rt1                  
 113                  };
 114          unsigned char code Tab_mnu_ent_menu[8]= //菜单索引号
 115                  {
 116                           mnu_sn
 117                          ,mnu_sc0
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 3   

 118                          ,mnu_d0
 119                          ,mnu_ot
 120                          ,mnu_pd
 121                          ,mnu_da0
 122                          ,mnu_rt1
 123                  };
 124          /********************************************
 125          函数名: menu_hdl
 126          功能: 菜单处理
 127          形式参数:无
 128          返回值:无
 129          ********************************************/
 130          void menu_hdl(void)
 131          {       
 132   1              if(keyval)
 133   1              {               
 134   2                      switch(page_point)
 135   2                      {
 136   3                              case    0:  mnu_hdl_null( );break;                      //0 
 137   3                              case    1:  mnu_hdl_main( );break;                      //1 
 138   3                              case    2:      mnu_hdl_sn      ( );break;                      //2
 139   3                              //case  3:      mnu_hdl_dsp     ( );break;                      //3 
 140   3                              case    4:      mnu_hdl_sc0     ( );break;                      //4 
 141   3                              case    5:      mnu_hdl_scf     ( );break;                      //5 
 142   3                              case    6:      mnu_hdl_tr      ( );break;                      //6
 143   3                              //case  7:      mnu_hdl_da0     ( );break;                      //7
 144   3                              case    8:      mnu_hdl_d0      ( );break;                      //8
 145   3                              case    9:      mnu_hdl_df      ( );break;                      //9
 146   3                              case    10:     mnu_hdl_du0     ( );break;                      //10
 147   3                              case    11:     mnu_hdl_duf     ( );break;                      //11            
 148   3                              //case  12:     mnu_hdl_filt( );break;                  //12
 149   3                              //case  13:     mnu_hdl_filr( );break;                  //13            
 150   3                              //case  14:     mnu_hdl_trs     ( );break;                      //14
 151   3                              case    15:     mnu_hdl_rtx     ( );break;                      //15
 152   3                              case    16:     mnu_hdl_rtx     ( );break;                      //16
 153   3                              case    17:     mnu_hdl_rtx     ( );break;                      //17
 154   3                              case    18:     mnu_hdl_rtx     ( );break;                      //18
 155   3                              case    19:     mnu_hdl_rtx     ( );break;                      //19
 156   3                              case    20:     mnu_hdl_tc0     ( );break;                      //20
 157   3                              case    21:     mnu_hdl_tc0     ( );break;                      //21
 158   3                              /*case  22:     mnu_hdl_da0     ( );break;                      //22
 159   3                              //case  23:     mnu_hdl_dab     ( );break;                      //23*/
 160   3                              case    24:     mnu_hdl_ot      ( );break;                      //24
 161   3                      }
 162   2              }
 163   1      }
 164          /********************************************
 165          函数名: mnu_hdl_null
 166          功能: 空菜单操作
 167          形式参数:无
 168          返回值:无
 169          ********************************************/
 170          void mnu_hdl_null(void)
 171          {
 172   1              switch(keyval)
 173   1              {
 174   2                      case key_up|key_ent:
 175   2                              menu_flag=1;
 176   2                              page_point=1;
 177   2                              set_flag=1;
 178   2                              renew_page_high(mnu_main);
 179   2                              renew_page_low(mnu_null);
C51 COMPILER V7.06   MENU                                                                  01/03/2008 17:28:43 PAGE 4   

 180   2              }
 181   1      }
 182          /********************************************
 183          函数名: mnu_hdl_main 
 184          功能: 主菜单操作
 185          形式参数:无
 186          返回值:无
 187          ********************************************/
 188          void mnu_hdl_main(void)
 189          {
 190   1              switch(keyval)
 191   1              {
 192   2                      case key_up:
 193   2                              if(!set_flag)
 194   2                              {
 195   3                                      mod_value=mod_value+key_mov;
 196   3                                      if(mod_value>9999)mod_value=9999;
 197   3                                      point_pos=0;//小数点位置
 198   3                                      dis_flag=1;     //高低4位标置 1-高4位 0-低4位

⌨️ 快捷键说明

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