📄 ir_america_recieve.lst
字号:
C51 COMPILER V6.23a IR_AMERICA_RECIEVE 04/29/2006 17:18:19 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE IR_AMERICA_RECIEVE
OBJECT MODULE PLACED IN Ir_America_Recieve.OBJ
COMPILER INVOKED BY: D:\soft\Keil\C51\BIN\C51.EXE Ir_America_Recieve.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "AT892051.H"
2 #define uchar unsigned char
3 #define uint unsigned int
4 bit wave_flag = 1;
5 bit alarm;
6 bit led_flash_switch = 0;
7 bit delay_one_flag = 0;
8 bit one_two_pulse;
9 bit beam_pulse_switch;
10
11 uchar state_pulse;
12 uchar led_count = 0;
13 uchar syn_alarm;
14 uchar syn_timer;
15 uchar beam_num;
16 uchar beam_num_tmp;
17 uint recieve_flag = 0;
18 uint recieve_flag_tmp;
19 uchar one_two_timer;
20 uchar one_two_timer_value = 30;
21 uchar beam_pulse_counter = 1;
22
23 uint double_alarm_flag[9] = {0x00ff,0x027f,0x033f,0x039f,0x03cf,0x03e7,0x03f3,
24 0x03f9,0x03fc};
25 void timer1(void) interrupt 3
26 {
27 1 wave_flag = 0;
28 1 alarm = 1;
29 1 }
30 void delay_200us(void)
31 {
32 1 }
33 void delay_decode(void)
34 {
35 1 uint i;
36 1 for(i = 0;i<58;i++) {}
37 1 }
38 void recieve_fun(void)
39 {
40 1 //uint i;
41 1 //for(i = 0;i<6700;i++) {} // ~33.5ms
42 1 //PORTD |= BIT1;
43 1 // 1
44 1 /*PORTD &=~BIT1;
45 1 delay_200us();
46 1 PORTD |= BIT1;*/
47 1 //P1 = 0xff;
48 1 //P3 |= 0xfc;
49 1 if(P1_6 == 0)
50 1 {
51 2 P3_1 = 0;
52 2 delay_200us();
53 2 P3_1 = 1;
54 2 recieve_flag = (recieve_flag <<1); // debug
55 2 recieve_flag |= 0x01;
C51 COMPILER V6.23a IR_AMERICA_RECIEVE 04/29/2006 17:18:19 PAGE 2
56 2 }
57 1 else
58 1 {
59 2 delay_200us();
60 2 recieve_flag = (recieve_flag <<1);
61 2 recieve_flag |= 0x00;
62 2 }
63 1 delay_decode();
64 1 // 2
65 1 /*PORTD &=~BIT1;
66 1 delay_200us();
67 1 PORTD |= BIT1;*/
68 1 if(P1_7 == 0)
69 1 {
70 2 P3_1 = 0;
71 2 delay_200us();
72 2 P3_1 = 1;
73 2 recieve_flag = (recieve_flag <<1);
74 2 recieve_flag |= 0x01;
75 2 }
76 1 else
77 1 {
78 2 delay_200us();
79 2 recieve_flag = (recieve_flag <<1);
80 2 recieve_flag |= 0x00;
81 2 }
82 1 delay_decode();
83 1 // 3
84 1 /*PORTD &=~BIT1;
85 1 delay_200us();
86 1 PORTD |= BIT1;*/
87 1 //P3_5 = 1;
88 1 if(P3_5 == 0)
89 1 {
90 2 P3_1 = 0;
91 2 delay_200us();
92 2 P3_1 = 1;
93 2 recieve_flag = (recieve_flag <<1);
94 2 recieve_flag |= 0x01;
95 2 }
96 1 else
97 1 {
98 2 delay_200us();
99 2 recieve_flag = (recieve_flag <<1);
100 2 recieve_flag |= 0x00;
101 2 }
102 1 delay_decode();
103 1 // 4
104 1 /*PORTD &=~BIT1;
105 1 delay_200us();
106 1 PORTD |= BIT1;*/
107 1 if(P1_1 == 0)
108 1 {
109 2 P3_1 = 0;
110 2 delay_200us();
111 2 P3_1 = 1;
112 2 recieve_flag = (recieve_flag <<1);
113 2 recieve_flag |= 0x01;
114 2 }
115 1 else
116 1 {
117 2 delay_200us();
C51 COMPILER V6.23a IR_AMERICA_RECIEVE 04/29/2006 17:18:19 PAGE 3
118 2 recieve_flag = (recieve_flag <<1);
119 2 recieve_flag |= 0x00;
120 2 }
121 1 delay_decode();
122 1 // 5
123 1 /*PORTD &=~BIT1;
124 1 delay_200us();
125 1 PORTD |= BIT1;*/
126 1 if(P1_0 == 0)
127 1 {
128 2 P3_1 = 0;
129 2 delay_200us();
130 2 P3_1 = 1;
131 2 recieve_flag = (recieve_flag <<1);
132 2 recieve_flag |= 0x01;
133 2 }
134 1 else
135 1 {
136 2 delay_200us();
137 2 recieve_flag = (recieve_flag <<1);
138 2 recieve_flag |= 0x00;
139 2 }
140 1 delay_decode();
141 1 // 6
142 1 /*PORTD &=~BIT1;
143 1 delay_200us();
144 1 PORTD |= BIT1;*/
145 1 if(P3_7 == 0)
146 1 {
147 2 P3_1 = 0;
148 2 delay_200us();
149 2 P3_1 = 1;
150 2 recieve_flag = (recieve_flag <<1);
151 2 recieve_flag |= 0x01;
152 2 }
153 1 else
154 1 {
155 2 delay_200us();
156 2 recieve_flag = (recieve_flag <<1);
157 2 recieve_flag |= 0x00;
158 2 }
159 1 delay_decode();
160 1 // 7
161 1 /*PORTD &=~BIT1;
162 1 delay_200us();
163 1 PORTD |= BIT1;*/
164 1 if(P1_2 == 0)
165 1 {
166 2 P3_1 = 0;
167 2 delay_200us();
168 2 P3_1 = 1;
169 2 recieve_flag = (recieve_flag <<1);
170 2 recieve_flag |= 0x01;
171 2 }
172 1 else
173 1 {
174 2 delay_200us();
175 2 recieve_flag = (recieve_flag <<1);
176 2 recieve_flag |= 0x00;
177 2 }
178 1 delay_decode();
179 1 // 8
C51 COMPILER V6.23a IR_AMERICA_RECIEVE 04/29/2006 17:18:19 PAGE 4
180 1 /*PORTD &=~BIT1;
181 1 delay_200us();
182 1 PORTD |= BIT1;*/
183 1 if(P1_3 == 0)
184 1 {
185 2 P3_1 = 0;
186 2 delay_200us();
187 2 P3_1 = 1;
188 2 recieve_flag = (recieve_flag <<1);
189 2 recieve_flag |= 0x01;
190 2 }
191 1 else
192 1 {
193 2 delay_200us();
194 2 recieve_flag = (recieve_flag <<1);
195 2 recieve_flag |= 0x00;
196 2 }
197 1 delay_decode();
198 1 // 9
199 1 /*PORTD &=~BIT1;
200 1 delay_200us();
201 1 PORTD |= BIT1;*/
202 1 if(P1_4 == 0)
203 1 {
204 2 P3_1 = 0;
205 2 delay_200us();
206 2 P3_1 = 1;
207 2 recieve_flag = (recieve_flag <<1);
208 2 recieve_flag |= 0x01;
209 2 }
210 1 else
211 1 {
212 2 delay_200us();
213 2 recieve_flag = (recieve_flag <<1);
214 2 recieve_flag |= 0x00;
215 2 }
216 1 delay_decode();
217 1 // 10
218 1 /*PORTD &=~BIT1;
219 1 delay_200us();
220 1 PORTD |= BIT1;*/
221 1 if(P1_5 == 0)
222 1 {
223 2 P3_1 = 0;
224 2 delay_200us();
225 2 P3_1 = 1;
226 2 recieve_flag = (recieve_flag <<1);
227 2 recieve_flag |= 0x01;
228 2 }
229 1 else
230 1 {
231 2 delay_200us();
232 2 recieve_flag = (recieve_flag <<1);
233 2 recieve_flag |= 0x00;
234 2 }
235 1 delay_decode();
236 1 }
237
238 void syn_judge(void)
239 {
240 1 //uint i;
241 1 uint count_value_tmp;
C51 COMPILER V6.23a IR_AMERICA_RECIEVE 04/29/2006 17:18:19 PAGE 5
242 1 uint timer1_count_value;
243 1 //********************************************
244 1 state_channel:TR1 = 0;
245 1 TH1 = 0x00;
246 1 TL1 = 0x00;
247 1 TF1 = 0;
248 1 TR1 = 1;
249 1 syn_timer = 0;
250 1 state_pulse = 0;
251 1 one_two_pulse = 0;
252 1 one_two_timer = 0;
253 1 // test start
254 1 do
255 1 {
256 2 syn_timer = 0;
257 2 TR0 = 0;
258 2 TH0 = 0x00;
259 2 TL0 = 0x00;
260 2 TF0 = 0;
261 2 TR0 = 1;
262 2
263 2
264 2 // P1_6 = 1;
265 2 while(!((P1_6 == 1) && (P1_7 == 1))) {}
266 2 while(!((P1_6 == 0) || (P1_7 == 0)))
267 2 {
268 3 if(TF0 == 1)
269 3 {
270 4 TF0 = 0;
271 4 syn_timer++;
272 4 if(syn_timer == 2)
273 4 {
274 5 alarm = 1;
275 5 TR0 = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -