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

📄 util.lst

📁 KEIL C上的门禁控制器源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.07   UTIL                                                                  09/15/2005 12:06:26 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE UTIL
OBJECT MODULE PLACED IN Util.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Util.c LARGE OPTIMIZE(9,SPEED) BROWSE DEFINE(UTIL_DEBUG) DEBUG OBJECTEXTEND

stmt level    source

   1          ///////////////////////////////////////////////////////////////////////////////
   2          //
   3          // Hopinfo Copyright.
   4          //
   5          // www.chinahopeinfo.com.cn
   6          //
   7          // 2005.04.26
   8          //
   9          // 审阅:黄平生
  10          //
  11          // 菜单处理过程
  12          //
  13          ///////////////////////////////////////////////////////////////////////////////
  14          
  15          #include "Global.h"
  16          
  17          ///////////////////////////////////////////////////////////////////////////////
  18          // 内部存储区变量       0~256
  19          // 全局变量定义
  20          extern struct  Para
  21          {
  22                  uchar Wiegand_format;                   // 1、韦根通信1 个字节,3 种选择,1~4
  23                  uchar Machine_addr;                             // 2、终端编号1 个字节,1~254
  24                  uchar Area_addr;                                // 3、终端区域编号1 个字节,1~240
  25                  uchar Secu_class;                               // 4、安全等级1 个字节,1~10
  26                  uchar Match_mode;                               // 5、匹配模式1 个字节,1~2
  27                  uchar Lock_para;                                // 6、锁控参数1 个字节,1~3
  28                  uchar Baudrate;                                 // 7、串口速率1 个字节,1~6
  29          };
  30          
  31          extern union Para_u
  32          {
  33                  uchar para_dat[7];
  34                  struct Para Actual_para;
  35          }Para_ee;                                                       // 控制器参数
  36          
  37          extern data uchar Menu_state;           // 菜单当前状态
  38          extern data uchar key;                          // 键盘值
  39          extern data uchar cur_time[15];         // 系统当前时间显示存储区 XXXX年XX月XX日XX时XX分XX秒星期X
  40          extern data uchar pulse;                        // 蜂鸣次数
  41          
  42          extern data char User_id[6];            // 用户编号0~65534
  43          
  44          extern bdata bit reverse;                       // LCD底色显示控制
  45          extern bdata bit tele_alarm_on;         // 布控/撤控标志
  46          
  47          extern data uchar disp_buf[12];         // 显示临时变量
  48          
  49          extern idata uchar areaaddr;            // 分组地址
  50          extern idata uchar laddr;                       // 地址低字节ASC码
  51          extern idata uchar haddr;                       // 地址高字节ASC码
  52          extern idata uchar decaddr;                     // 设备地址
  53          extern idata uchar baudrate;            // 波特率
  54          
  55          extern idata char matchmode;            // 匹配模式
C51 COMPILER V7.07   UTIL                                                                  09/15/2005 12:06:26 PAGE 2   

  56          extern idata char lockmode;                     // 锁控方式
  57          extern idata char wieformat;            // 韦根格式
  58          extern idata char Security_level;       // 安全等级0~4
  59          extern idata char ManageClass;          // 管理分类'M'管理用户'G'普通用户
  60          extern idata char AppClass;                     // 应用分类'F'指纹用户'P'密码用户
  61          extern idata char Password[7];          // 密码
  62          extern idata char Start_user_id[6];     // 开始用户编号
  63          extern idata char End_user_id[6];       // 终止用户编号
  64          extern idata char Start_time[5];        // 开始时间
  65          extern idata char End_time[5];          // 终止时间
  66          
  67          extern xdata char  tele_code[12];       // 报警电话号码
  68          
  69          ///////////////////////////////////////////////////////////////////////////////
  70          // 程序存储区变量       0~32K
  71          code char 
  72          week[7][2]=                                                     // 星期显示
  73          {"日","一","二","三","四","五","六"};
  74          
  75          // 局部功能函数
  76          void Set_cur_time_proc();                               // 设置系统时间
  77          void set_wie_proc();                                    // 设置韦根
  78          void set_addr_proc();                                   // 设置地址
  79          void set_level_proc();                                  // 设置安全等级
  80          void set_match_proc();                                  // 设置比对模式
  81          void set_lock_proc();                                   // 设置锁控模式
  82          
  83          void erase_proc();                                              // 清数据库
  84          void sysstate_proc();                                   // 显示系统状态
  85          
  86          void manage_reg_proc();                                 // 注册管理员
  87          void fp_reg_proc();                                             // 注册用户
  88          void code_reg_proc();                                   // 密码注册
  89          
  90          void delete_proc();                                     // 删除用户
  91          void enter_proc();                                              // 设置用户进入条件
  92          
  93          void tele_reg();                                                // 注册报警电话
  94          void tele_del();                                                // 清除报警电话
  95          
  96          bit  input_party_proc();                                // 输入分组编号
  97          bit  set_enter_time_proc();                             // 出入时间
  98          bit  code_proc();                                               // 密码用户注册输入处理
  99          bit  id_proc(char *id);                                 // 用户编号合法性检查
 100          bit  id_cmp(char *str1, char *str2);    // 比较字符串
 101          void id_add(char *id);                                  // 按数据增加字符串
 102          
 103          ///////////////////////////////////////////////////////////////////////////////
 104          // 菜单处理程序
 105          ///////////////////////////////////////////////////////////////////////////////
 106          void Menu_process()
 107          {
 108   1              idata uchar i;
 109   1      
 110   1              do
 111   1              {
 112   2                      switch(Menu_state)
 113   2                      {
 114   3                      //1、系统管理
 115   3                      case Menu_system:              
 116   3                              switch(key)
 117   3                              {
C51 COMPILER V7.07   UTIL                                                                  09/15/2005 12:06:26 PAGE 3   

 118   4                              case 'U':
 119   4                                              Menu_state=Menu_para;                   // 参数管理
 120   4                                              break;
 121   4                              case 'D':
 122   4                                              Menu_state=Menu_user;                   // 用户管理
 123   4                                              break;
 124   4                              case 'F':
 125   4                                              Menu_state=set_cur_time;                // 进入系统管理
 126   4                                              break;
 127   4                              case 'C':
 128   4                                              Menu_state=Menu_top;
 129   4                                              break;
 130   4                              default:break;
 131   4                              }
 132   3                              break;
 133   3                      //2、用户管理
 134   3                      case Menu_user:
 135   3                              switch(key)
 136   3                              {
 137   4                              case 'U':
 138   4                                              Menu_state=Menu_system;                 // 系统管理
 139   4                                              break;
 140   4                              case 'D':
 141   4                                              Menu_state=Menu_para;                   // 参数管理
 142   4                                              break;
 143   4                              case 'F': 
 144   4                                              Menu_state=user_enroll;                 // 用户管理
 145   4                                              break;
 146   4                              case 'C':
 147   4                                              Menu_state=Menu_top;
 148   4                                              break;
 149   4                              default:break;
 150   4                              }
 151   3                              break;
 152   3                      //3、参数管理
 153   3                      case Menu_para:
 154   3                              switch(key)
 155   3                              {
 156   4                              case 'U':
 157   4                                              Menu_state=Menu_user;                   // 用户管理
 158   4                                              break;
 159   4                              case 'D':
 160   4                                              Menu_state=Menu_system;                 // 系统管理
 161   4                                              break;
 162   4                              case 'F':
 163   4                                              Menu_state=set_wie;                     // 参数管理
 164   4                                              break;
 165   4                              case 'C':
 166   4                                              Menu_state=Menu_top;
 167   4                                              break;
 168   4                              default:break;
 169   4                              }
 170   3                              break;
 171   3                      //系统管理
 172   3                      //1、设置系统时间
 173   3                      case set_cur_time:
 174   3                              switch(key)
 175   3                              {
 176   4                              case 'U':
 177   4                                              Menu_state=erase_data;          // 清空数据库
 178   4                                              break;
 179   4                              case 'D':
C51 COMPILER V7.07   UTIL                                                                  09/15/2005 12:06:26 PAGE 4   

 180   4                                              Menu_state=set_match;       // 比对模式
 181   4                                              break;
 182   4                              case 'F':
 183   4                                              Set_cur_time_proc();            // 设置系统时间
 184   4                                              break;
 185   4                              case 'C':
 186   4                                              Menu_state=Menu_system;         // 返回系统管理菜单
 187   4                                              break;
 188   4                              default:break;
 189   4                              }
 190   3                              break;
 191   3                      //2、设置匹配方式
 192   3                      case set_match:
 193   3                              switch(key)
 194   3                              {
 195   4                              case 'U':
 196   4                                              Menu_state=set_cur_time;        // 设置系统时间
 197   4                                              break;
 198   4                              case 'D':
 199   4                                              Menu_state=set_level;           // 设置安全等级
 200   4                                              break;
 201   4                              case 'F':
 202   4                                              set_match_proc();                       // 匹配模式处理 
 203   4                                              break;
 204   4                              case 'C':
 205   4                                              Menu_state=Menu_system;         // 返回系统管理菜单
 206   4                                              break;
 207   4                              default:break;
 208   4                              }

⌨️ 快捷键说明

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