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

📄 main.lst

📁 这是52单片机串口调试程序
💻 LST
字号:
C51 COMPILER V7.07   MAIN                                                                  02/28/2005 16:03:41 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c OPTIMIZE(SIZE) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <AT89X52.H>
   2          #include "macro.h"
   3          #include "common.h"
   4          #include "28F040.h"
   5          #include "HT1380.h"
   6          #include "lcd.h"
   7          #include "serial.h"
   8          #include "key.h"
   9          #include "idcard.h"
  10          #include "menu.h"
  11          
  12          void main(void)
  13          {
  14   1              BYTE i;
  15   1              EA=0;
  16   1              PSW=0;
  17   1              P0=P1=P2=P3=0xFF;
  18   1              Ret_I();
  19   1              Ret_I();
  20   1              TMOD=0x11;                                                                      // T0=16bit  T1=8bit auto reload
  21   1              TCON=0x45;                                                                      // Timer1 start
  22   1              PCON=0x00;                                                      // SMOD=0
  23   1              SCON=0x50;                                                                      // UART_mode=1,REN=1
  24   1              T2MOD=0;
  25   1              T2CON=0x34;                                                                     // Set T2 to baud rate register
  26   1              AUX_OUT_OFF
  27   1              Serial_init();
  28   1              Protect_28F040();
  29   1              Unprotect_28F040();
  30   1              LCD_open();
  31   1              VOC_stop();
  32   1              BELL_OFF
  33   1              Calc_Total_User();
  34   1              Calc_Total_Record();
  35   1              Sys_Stat=SB;
  36   1              LCD_ShowStatus();
  37   1              IP=0x10;                                                                                // Set Serial to high level
  38   1              IE=0x98;                                                                                // Enable Serial and Timer1 interrupt
  39   1              while(1){
  40   2                      if(b_Recv_done)
  41   2                              Recv_Process();
  42   2                      if(0==Timer_20ms){                                      // 20ms * 50 = 1s
  43   3                              if(Timer_1s)
  44   3                                      Timer_1s--;
  45   3                              Timer_20ms=50;
  46   3                              if(Menu_stat==0){
  47   4                                      LCD_ShowRiqi();
  48   4                                      LCD_ShowTime();
  49   4                                      if(!b_LCD_line4){                               // LCD line 4 control by Machine
  50   5                                              b_ShowNow=!b_ShowNow;
  51   5                                              if(b_ShowNow){
  52   6                                                      b_ShowSomething=!b_ShowSomething;
  53   6                                                      if(b_ShowSomething){
  54   7      #ifdef  CHINESE
  55   7      //                                                      mystrcpy("  恒 创 科 技   ");
C51 COMPILER V7.07   MAIN                                                                  02/28/2005 16:03:41 PAGE 2   

  56   7                                                              mystrcpy("  金 典 科 技   ");
  57   7      //                                                      mystrcpy("  江苏海通通信  ");
  58   7      #else
                                                                      mystrcpy("WeWin Technology");
              #endif
  61   7                                                              LCD_writeline(6);
  62   7                                                      }else{
  63   7      #ifdef  CHINESE
  64   7                                                              mystrcpy(" 管 理 创 效 益 ");
  65   7      #else
                                                                      mystrcpy("Time Attendance ");
              #endif
  68   7                                                              LCD_writeline(6);
  69   7                                                      }
  70   6                                              }
  71   5                                      }
  72   4                              }
  73   3                      }
  74   2                      if((0==Timer_20ms2)&&(b_20ms2==0)){
  75   3                              b_20ms2=1;
  76   3                              if(Total_Record<30000)
  77   3      #ifdef  CHINESE
  78   3                                      mystrcpy("   请  刷  卡   ");
  79   3      #else
                                              mystrcpy(" Check the Card ");
              #endif
  82   3                              else
  83   3      #ifdef  CHINESE
  84   3                                      mystrcpy("  考勤记录将满  ");
  85   3      #else
                                              mystrcpy("Too Much Records");
              #endif
  88   3                              LCD_writeline(4);
  89   3                      }
  90   2                      if(Pause_time==0){
  91   3                              i=Check_Key_Card_valid(3);
  92   3                              if(i==0xFF){                                            // ID_Card input
  93   4                                      for(i=0; i<7; i++){
  94   5                                              if(Last_Card_no[i]!=ID_Card_no[i]){
  95   6                                                      i=100;
  96   6                                                      break;
  97   6                                              }
  98   5                                      }
  99   4                                      if(i!=100){                                             // The same card
 100   5                                              if(Timer_1s){
 101   6                                                      Timer_1s=4;
 102   6                                                      continue;
 103   6                                              }
 104   5                                      }
 105   4                                      Card_Process();
 106   4                              }else if(i!=0){                                 // Key_in
 107   4                                      Key_Process(i);
 108   4                              }
 109   3                      }
 110   2              }
 111   1      }
 112          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   6548    ----
   CONSTANT SIZE    =    743    ----
C51 COMPILER V7.07   MAIN                                                                  02/28/2005 16:03:41 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     68      31
   IDATA SIZE       =   ----    ----
   BIT SIZE         =     12    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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