📄 main.lst
字号:
C51 COMPILER V7.07 MAIN 06/13/2008 13:33:18 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 BROWSE DEBUG OBJECTEXTEND
stmt level source
1 ///////////////////////////////////////////////////////////////////////////
2 /*************************************************************************/
3 #include <string.h>
4 #include <m500a.h>
5 #include <main.h>
6 #include <reg52.h>
7
8 sbit LED = P2^6;
9 sbit WARN = P2^7;
10
11 unsigned char length = 0,type = 1;
12 unsigned char rcvdata[16] = {" "};
13 unsigned char timerout = 0;
14 ////////////////////////////////////////////////////////////////////
15 void main (void)
16 {
17 1 // unsigned char counter;
18 1
19 1 unsigned char status1,x;
20 1 unsigned char Snr_RC500[4]; // Serial Number of the MFRC500
21 1 unsigned char cardserialno[4];
22 1 unsigned char cardtype[2];
23 1
24 1 P2 = 0x00;
25 1 LED = 1;WARN = 1;
26 1 init_lcd();
27 1 clrram();
28 1 timer_init();
29 1 rs232_init();
30 1
31 1 line_disp(0,"*** 考勤系统 ***");
32 1 line_disp(1,"----------------");
33 1 line_disp(2,"-- 指导老师 --");
34 1 line_disp(3," 刘盾 副教授 ");
35 1
36 1 RC500Config();
37 1 PcdReadE2(8,4,Snr_RC500);
38 1 // rs232_send(Snr_RC500,4);
39 1
40 1 delay_1s(1200);
41 1 clrram();
42 1 time_disp1(0);
43 1 line_disp(1,"----------------");
44 1 line_disp(2," 初始完成 ");
45 1 line_disp(3,"----------------");
46 1
47 1 delay_1s(1200);
48 1 clrram();
49 1
50 1 time_disp2();
51 1 line_disp(2,"----------------");
52 1 line_disp(3," 请放入卡 ");
53 1 LED = 0;
54 1 while(1)
55 1 {
C51 COMPILER V7.07 MAIN 06/13/2008 13:33:18 PAGE 2
56 2 while(CardRequest(PICC_REQALL, cardtype)==MI_OK)
57 2 {
58 3 status1=ReadCardNum(0,cardserialno);
59 3 if (status1 == MI_OK)
60 3 {
61 4 rs232_send(cardserialno,4);
62 4 LED = 1;
63 4
64 4 clrram();
65 4 time_disp1(1);
66 4 line_disp(2,"----------------");
67 4 TL0 = 0; TH0 = 0; ET0 = 1; TR0 = 1;
68 4 while(type != 3)
69 4 {
70 5 if (timerout == 1)
71 5 {
72 6 TR0 = 0;ET0 = 0;
73 6 WARN = 0;LED = 1;
74 6 line_disp(0,"----------------");
75 6 line_disp(1,"请检查串口连接情");
76 6 line_disp(2,"况以及软件设置!");
77 6 line_disp(3,"----------------");
78 6 }
79 5 }
80 4 line_disp(1,rcvdata);
81 4 while(type != 1);line_disp(3,rcvdata);
82 4 TR0 = 0; ET0 = 0;
83 4 if(!strcmp(rcvdata,"数据库无此卡信息"))
84 4 {
85 5 WARN = 0;
86 5 delay_1s(1000);
87 5 WARN = 1;
88 5 }
89 4 for (x=0;x<16;x++)
90 4 rcvdata[x] = ' ';
91 4 }
92 3 delay_1s(500);
93 3 LED = 0;
94 3 delay_1s(500);
95 3 WARN = 1;
96 3 clrram();
97 3 time_disp2();
98 3 line_disp(2,"----------------");
99 3 line_disp(3," 请放入卡 ");
100 3 }
101 2 time_disp2();
102 2 delay_1s(50);
103 2 }
104 1 }
105
106 extern unsigned char sendflag;
107 void rs232_rev(void) interrupt 4
108 {
109 1 if ( TI == 1 )
110 1 {
111 2 TI = 0;
112 2 sendflag = 1;
113 2 }
114 1 if ( RI == 1 )
115 1 {
116 2 if (SBUF == 0x30)
117 2 {
C51 COMPILER V7.07 MAIN 06/13/2008 13:33:18 PAGE 3
118 3 type ++;
119 3 if (type == 4)
120 3 {
121 4 type = 1;
122 4 length = 0;
123 4 }
124 3 if( type == 2 )
125 3 length = 10;
126 3 else
127 3 length = 0;
128 3 }
129 2 else
130 2 rcvdata[length++] = SBUF;
131 2 RI = 0;
132 2 }
133 1 }
134 unsigned char count=50;
135 void timer0(void) interrupt 1
136 {
137 1 TH0 = 0; TL0 = 0;
138 1 count --;
139 1 if (!count)
140 1 {
141 2 timerout = 1;
142 2 count = 20;
143 2 }
144 1 else TR0 = 1;
145 1 }
146 //////////////////////////////////////////////////////////////////////////////
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 580 ----
CONSTANT SIZE = 153 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 13
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -