📄 main.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 + -