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

📄 lcd.lst

📁 指纹识别源代码,用于智能门紧,还有配合MF800卡使用
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.01  LCD                                                                    03/08/2007 12:09:35 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd.c OPTIMIZE(7,SPEED) REGFILE(.\fingerPRJ.ORC) BROWSE FLOATFUZZY(0) NOARE
                    -GS DEBUG OBJECTEXTEND CODE

stmt level    source

   1          #include "reg58.h"
   2          #include "intrins.h"
   3          
   4          #define _LCD_C_
   5          #include "lcd.h"
   6          #include "define.h"
   7          #include "timer.h"
   8          #include "bus.h"
   9          #include "sram.h"
  10          #include "system.h"
  11          #include "clock.h"
  12          #include "setup.h"
  13          #include "keypad.h"
  14          
  15          
  16          unsigned char idata dispbuff[2][16];
  17          
  18          unsigned char code dispmessage[][16]=
  19          {
  20                  {"Finger_000  [F1]"},
  21                  {" Input Password "},
  22                  {"Put your finger "},
  23                  {"Master Password:"},
  24                  {" Mode selection "},
  25                  {"ID ONLY         "},
  26                  {"ID+FINGER(P/W)  "},
  27                  {"ID+P/W+FINGER   "},
  28                  {"  TIME SETTING  "},
  29                  {"YYYYMMDDhhmmssW "},
  30                  {"TYPE SELECTION  "},
  31                  {"    APB SETUP   "},
  32                  {"COMM ID SETTING "},
  33                  {"DURESS MODE SET "},
  34                  {"SET DURESS P/W  "},
  35                  {"BAUD RATE SETUP "},
  36                  {"4800            "},
  37                  {"9600            "},
  38                  {"19200           "},
  39                  {"38400           "},
  40                  {"  EVENT CLEAR   "},
  41                  {"1 - YES, 0 - NO "},
  42                  {"MASTER ID CHANGE"},
  43                  {" SYS INITIALIZE "},
  44                  {"   ID  CLEAR    "},
  45                  {"TIME SCHE CLEAR "},
  46                  {" TIME SCHEDULE  "},
  47                  {"T/S : 01  HOL  1"},
  48                  {" HOLIDAY DEFINE "},
  49                  {"HOL TS:01   #01 "},
  50                  {" IN/OUT  DEFINE "},
  51                  {"1. Exit Button  "},
  52                  {"2. Door Contact "},
  53                  {"3. AUX1         "},
  54                  {"4. AUX2         "},
C51 COMPILER V7.01  LCD                                                                    03/08/2007 12:09:35 PAGE 2   

  55                  {"5. Tamper S/W   "},
  56                  {"6. R1 ID OK     "},
  57                  {"7. R1 ID Error  "},
  58                  {"8. R1 T/S Error "},
  59                  {"9. R1 APB Error "},
  60                  {"10. R2 ID OK    "},
  61                  {"11. R2 ID Error "},
  62                  {"12. R2 T/S Error"},
  63                  {"13. R2 APB Error"},
  64                  {"14. DURESS MODE "},
  65                  {"15. Output T/S  "},
  66                  {"16. IN/OUT T/S  "},
  67                  {" HOLIDAY INDEX  "},
  68                  {"T/S Index :     "},
  69                  {"H/D Index :     "},
  70                  {"   MODE INDEX   "},
  71                  {"  LCD DISPLAY   "},
  72                  {"STATUS          "},
  73                  {"CARD NO         "},
  74                  {"  OUTPUT TIME   "},
  75                  {"0.1 SEC         "},
  76                  {"1 SEC           "},
  77                  {"ID REGISTRATION "},
  78                  {"  Key Input ID  "},
  79                  {"  -> ________   "},
  80                  {"PW____TS__RD_FP_"},
  81                  {"TO REGISTER FP  "},
  82                  {"PUT YOUR FP ON: "},
  83                  {"LIFT AND PUT FP "},
  84                  {"WAITTING...     "},
  85                  {"ID REGISTERED!  "},
  86                  {"   ID DELETE    "},
  87                  {" Enter Card No. "},
  88                  {"  ID DELETEED   "},
  89                  {"    ID LIST     "},
  90                  {" ID LIST TOP    "},
  91                  {" ID LIST BOTTOM "},
  92                  {"    ID COUNT    "},
  93                  {"  EVENT COUNT   "}, 
  94                  {"  F/W version   "},
  95                  {"     V00.00     "},
  96                  {"  OUTPUT TEST   "},
  97                  {"   LCD TEST     "},
  98                  {"  READER  TEST  "},
  99                  {"  INPUT TEST    "},
 100                  {"    COMM TEST   "},
 101                  {"                "},
 102                  {"USE             "},
 103                  {"NOT USE         "},
 104                  {"   RAM TEST     "},
 105                  {"  KEYPAD TEST   "},
 106                  {"    [____]      "},
 107                  {" INPUT  ID      "},
 108                  {"ENABLE          "},
 109                  {"DISABLE         "},
 110                  {" SET PIN KEY IN "},
 111                  {"TS :      HOL   "},
 112                  {"   :   -   :    "},
 113                  {"HOL :     #     "},
 114                  {"   /     :  :   "},
 115                  {"BANK =          "},
 116                  {" RAM TESTING... "},
C51 COMPILER V7.01  LCD                                                                    03/08/2007 12:09:35 PAGE 3   

 117                  {"RAM test PASS!!!"},
 118                  {"RAM test FAIL!!!"},
 119                  {"Press any key..."},
 120                  {"   OUTPUT       "},
 121                  {"     ON         "},
 122                  {"     OFF        "},
 123                  {" Registed ID!   "},
 124                  {" Unregisted ID! "},
 125                  {"USER SPACE EMPTY"},
 126                  {"SYS INITIALED!  "},
 127                  {"Input New Master"},
 128                  {"    [________]  "},
 129                  {"  Master ID!    "},
 130                  {"   FIM SELECT   "},
 131                  {"LIFT & PUT AGAIN"},
 132                  {"USER SPACE FULL!"},
 133                  {"ID REGISTER FAIL"},
 134                  {" ACCESS GRANTED "},
 135                  {" ACCESS DENIED  "},
 136                  {" ANTI PASS BACK "},
 137                  {"TIME SCHE ERROR "},
 138                  {" PASSWORD ERROR "},
 139                  {"   FP ERROR     "},
 140                  {"PUT OLDMaster FP"},
 141                  {"MASTER CHANGE OK"},
 142                  {" CHANGE FAILED  "},
 143                  {" MASTER ID == 0 "},
 144                  {"0123456789ABCDEF"},
 145                  {"INITIALIZING...."},
 146                  {" READER 1       "},
 147                  {" READER 2       "},
 148                  {" SCANNING...... "},
 149                  {"ACCESS DOOR ERR "},
 150                  {" CLEANING ...   "},
 151                  {" COMM TEST PASS "},
 152                  {" COMM TEST FAIL "},
 153                  {" COMM TESTING.. "},
 154                  {" REMOVE WIRES   "},
 155                  {"FP ONLY         "}
 156          
 157          
 158                  
 159                  
 160                  
 161          
 162          };
 163          void lcdsetrs()
 164          {
 165   1              DATAPORT=2;
 166   1              SEL573L=1;      
 167   1              _nop_();
 168   1              SEL573L=0;
 169   1      }
 170          
 171          void lcdclrrs()
 172          {
 173   1              DATAPORT=0;
 174   1              SEL573L=1;
 175   1              _nop_();
 176   1              SEL573L=0;
 177   1      }
 178          
C51 COMPILER V7.01  LCD                                                                    03/08/2007 12:09:35 PAGE 4   

 179          void write_command(unsigned char cmd)
 180          {
 181   1              lcdclrrs();
 182   1      
 183   1              //LCDRS=0;
 184   1              //LCDRW=0;
 185   1      
 186   1      
 187   1              LCDDATA=cmd;
 188   1              LCDEN=1;
 189   1              _nop_();
 190   1              LCDEN=0;
 191   1      }
 192          
 193          void write_data(unsigned char lcddata)
 194          {
 195   1              //LCDRS=1;
 196   1              //LCDRW=0;
 197   1              lcdsetrs();
 198   1      
 199   1              LCDDATA=lcddata;
 200   1              LCDEN=1;
 201   1              _nop_();
 202   1              LCDEN=0;
 203   1      }
 204          /////////////////////////////////////////////////////////////////////
 205          
 206          ////////////////////////////////////////////////////////////////////////
 207          void displaybyte(unsigned char dispdata,unsigned char dispposi)
 208          {
 209   1              write_command(dispposi);
 210   1              delay50us();
 211   1              //delay50us();
 212   1              write_data(dispdata);
 213   1              delay50us();
 214   1      }
 215          ////////////////////////////////////////////////////////////////////////
 216          void display(unsigned char line)
 217          {
 218   1              unsigned char i;
 219   1              if(line==LINE1)
 220   1              {
 221   2                      write_command(SET_DDRAM_ADD);
 222   2                      delay50us();
 223   2                      for(i=0;i<16;i++)
 224   2                      {
 225   3                              write_data(dispbuff[0][i]);
 226   3                              delay50us();
 227   3                      }
 228   2              }
 229   1              else 
 230   1              {
 231   2                      write_command(SET_DDRAM_ADD+0X40);
 232   2                      delay50us();
 233   2                      for(i=0;i<16;i++)
 234   2                      {
 235   3                              write_data(dispbuff[1][i]);
 236   3                              delay50us();
 237   3                      }
 238   2              }
 239   1      }
 240          void displaymessage(unsigned char lmess,unsigned char line)
C51 COMPILER V7.01  LCD                                                                    03/08/2007 12:09:35 PAGE 5   

 241          {
 242   1              //buffcopy(dispmessage[lmess],dispbuff[line],16);
 243   1              unsigned char i;
 244   1              for(i=0;i<16;i++)
 245   1              {
 246   2                      dispbuff[line][i]=dispmessage[lmess][i];
 247   2              }
 248   1              //code2disp(dispmessage[lmess],line);
 249   1              //code2idata(dispmessage[lmess],dispbuff[line],16);
 250   1              display(line);
 251   1      
 252   1      }
 253          void displayMain()
 254          {
 255   1              unsigned char i;
 256   1              for(i=0;i<16;i++)
 257   1              {
 258   2                      dispbuff[LINE1][i]=dispmessage[LMMAIN][i];
 259   2              }
 260   1      
 261   1              dispbuff[LINE1][14]=readFunctions()+'1';
 262   1              display(LINE1);
 263   1      }
 264          //////////////////////////////////////////////////////////////////////////////////
 265          
 266          void displaytimeee()
 267          {
 268   1              dispbuff[1][0]=' ';
 269   1      
 270   1              dispbuff[1][1]=datetime[DTMON]/10+0X30;
 271   1              dispbuff[1][2]=datetime[DTMON]%10+0X30;
 272   1      
 273   1              dispbuff[1][3]='/';
 274   1      
 275   1              dispbuff[1][4]=datetime[DTDAY]/10+0X30;
 276   1              dispbuff[1][5]=datetime[DTDAY]%10+0X30;
 277   1      
 278   1              dispbuff[1][6]=' ';
 279   1      
 280   1              dispbuff[1][7]=datetime[DTHUR]/10+0X30;
 281   1              dispbuff[1][8]=datetime[DTHUR]%10+0X30;
 282   1      
 283   1              dispbuff[1][9]=':';
 284   1      
 285   1              dispbuff[1][10]=datetime[DTMIN]/10+0X30;
 286   1              dispbuff[1][11]=datetime[DTMIN]%10+0X30;
 287   1      
 288   1              dispbuff[1][12]=':';
 289   1      
 290   1              dispbuff[1][13]=datetime[DTSEC]/10+0X30;
 291   1              dispbuff[1][14]=datetime[DTSEC]%10+0X30;
 292   1      
 293   1              dispbuff[1][15]=' ';
 294   1              
 295   1              display(LINE2);
 296   1      }
 297          void displaytime()
 298          {
 299   1              //getdatetime(tempbuff);
 300   1              if(setflag)return;
 301   1              if(passinflag)return;
 302   1              displaytimeee();
C51 COMPILER V7.01  LCD                                                                    03/08/2007 12:09:35 PAGE 6   

 303   1              
 304   1      }
 305          void init_lcd()
 306          {
 307   1              LCDEN=0;
 308   1              write_command(CLR_DISP);
 309   1              delayTimerl(T5MS);
 310   1              write_command(DISP_B8_L2_H7);
 311   1              delayTimerl(T5MS);
 312   1              write_command(CUR_INC);
 313   1              delayTimerl(T5MS);
 314   1              write_command(DISP_ON_CUR_B);
 315   1              delayTimerl(T5MS);
 316   1              write_command(CLR_DISP);
 317   1              delayTimerl(T5MS);
 318   1              
 319   1              write_command(DISP_B8_L2_H7);
 320   1              delayTimerl(T5MS);
 321   1              
 322   1              //write_command(CUR_BACK);
 323   1              //delay(T5MS);
 324   1              //delay(T5MS);
 325   1              //write_command(DISP_B8_L2_H7);
 326   1              //delay(T5MS);
 327   1              //displaymessage(0,0);
 328   1              displayMain();
 329   1      
 330   1      
 331   1      }
 332          //////////////////////////////////////////////////////////////////
 333          void lcdcuron(unsigned char position,unsigned char line)
 334          {

⌨️ 快捷键说明

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