📄 main.lst
字号:
C51 COMPILER V7.09 MAIN 09/11/2007 09:30:23 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "typedef.h"
2 #include "comr6c.h"
3 #include "time.h"
4 #include "ll.h"
5
6 #define US100 18
7 #define US1500 620
8 #define SCANEN 20
9 //#define SCANEN 100
10
11 void testSendIsoCmd(void);
12 void delay(uint i);
13 void wg26Output(uchar *p);
14
15 void outputTestData(uchar *p,uchar len )
16 {
17 1 uchar i;
18 1 ES = 0;
19 1 TI = 0;
20 1 snt = 1;
21 1 for(i=0;i<len;i++)
22 1 {
23 2 SBUF = p[i];
24 2 while(!TI);
25 2 TI = 0;
26 2 }
27 1 ES = 0;snt = 0;
28 1 }
29
30 void main()
31 {
32 1 uint i;
33 1 uchar j;
34 1 uchar testdata[5] = {0xaa, 0xbb,0xcc,0xdd,0xee};
35 1
36 1 for(i=0;i<0xfff;i++);
37 1 initialization();
38 1 switchon(); for(i=0;i<0xfff;i++);
39 1 j = rd_ConReg();
40 1 outputTestData(testdata,5);
41 1 wdi = !wdi;
42 1 while(1)
43 1 {
44 2 testSendIsoCmd();
45 2 led_spker_out();
46 2 wdi = !wdi;
47 2 }
48 1 }
49 void delay(uint i)
50 {
51 1 uint time;
52 1 wdi = !wdi;
53 1 time = i;
54 1 time = 0xffff-time;
55 1 TL1 = time&0xff;
C51 COMPILER V7.09 MAIN 09/11/2007 09:30:23 PAGE 2
56 1 TH1 = (time>>8)&0xff;
57 1 ET1 = 0;
58 1 TF1 = 0;
59 1 TR1 = 1;
60 1 while(!TF1);
61 1 TF1 = 0;
62 1 TR1 = 0;
63 1 }
64 void wg26Output(uchar *p)
65 {
66 1 uchar even_1 = 0;
67 1 uchar odd_26 = 0;
68 1 uchar i,j,out[3];
69 1
70 1 bit bit1= 0,bit2 = 0,bit3 = 0;
71 1
72 1 for(i=0;i<3;i++)
73 1 {
74 2 out[i] = *p;
75 2 p++;
76 2 }
77 1
78 1 P = 0;ACC = out[0]; bit1 = P;
79 1 P = 0;ACC = out[1]&0xf0;bit2 = P;
80 1 bit3 = bit1^bit2;
81 1 if(bit3)even_1 = 1;
82 1 else even_1 = 0;
83 1
84 1 P = 0;ACC = out[1]&0x0f;bit1 = P;
85 1 P = 0;ACC = out[2]; bit2 = P;
86 1 bit3 = bit1^bit2;
87 1 if(bit3)odd_26 = 0;
88 1 else odd_26 = 1;
89 1
90 1 wg_hold = 0;
91 1 if(even_1)wg_data = 0;
92 1 else wg_clk =0;
93 1 delay(US100);
94 1 wg_clk = 1;
95 1 wg_data = 1;
96 1 delay(US1500);
97 1 for(j=0;j<3;j++)
98 1 {
99 2 for(i=0;i<8;i++)
100 2 {
101 3 out[j] = out[j] << 1;
102 3 if(CY)wg_data = 0;
103 3 else wg_clk = 0;
104 3 delay(US100);
105 3 wg_data = 1;
106 3 wg_clk = 1;
107 3 delay(US1500);
108 3 }
109 2 }
110 1 if(odd_26)wg_data =0;
111 1 else wg_clk = 0;
112 1 delay(US100);
113 1 wg_clk = 1;
114 1 wg_data = 1;
115 1 delay(US1500);
116 1 wg_hold = 1;
117 1 }
C51 COMPILER V7.09 MAIN 09/11/2007 09:30:23 PAGE 3
118 void testSendIsoCmd(void)
119 {
120 1 uint i;
121 1 uchar uid[3];
122 1 //uid[0]:deviceAddr
123 1 //uid[1]:uid0
124 1 //uid[2]:uid1
125 1 if(pwUpScanCnt > SCANEN)
126 1 {
127 2 pwUpScanCnt = 0;
128 2 switchon(); for(i=0;i<0x03ff;i++);
129 2 userCardOk = 0;
130 2 send_ISO_cmd(0x01,Get_sysInf_cmd,6,0);
131 2 if(userCardOk && (pcdata[3] != 0x01))
132 2 {
133 3 // outputTestData(pcdata+5,8);
134 3 uid[0] = deviceAddr;
135 3 for(i=0;i<2;i++)
136 3 uid[i+1] = pcdata[6-i];
137 3 outputTestData(uid,3);
138 3 wg26Output(uid);
139 3 userCardOk = 0;
140 3 b_spker = 1;
141 3 }
142 2 }
143 1 }
144
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 480 ----
CONSTANT SIZE = 5 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 18
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -