📄 tsl2561.lst
字号:
226 0E2D 0839 movf ?a_Lock_Channel_DOWN+6,w
227 0E2E 00BD movwf btemp+1
228 0E2F 0838 movf ?a_Lock_Channel_DOWN+5,w
229 0E30 00BC movwf btemp
230 0E31 0008 return
231 0E32 l131
232 ;tsl2561.c: 549: }
233 0E32 08BA movf ?a_Lock_Channel_DOWN+7
234 0E33 1903 btfsc 3,2
235 0E34 03BB decf ?a_Lock_Channel_DOWN+8
236 0E35 03BA decf ?a_Lock_Channel_DOWN+7
237 0E36 3005 movlw 5
238 0E37 023B subwf ?a_Lock_Channel_DOWN+8,w
239 0E38 3015 movlw 21
240 0E39 1903 btfsc 3,2
241 0E3A 023A subwf ?a_Lock_Channel_DOWN+7,w
242 0E3B 1803 btfsc 3,0
243 0E3C 2DD3 goto l122
244 0E3D l123
245 ;tsl2561.c: 551: return 1;
246 0E3D 3001 movlw 1
247 0E3E 00BC movwf btemp
248 0E3F 3000 movlw 0
249 0E40 01BD clrf btemp+1
250 ;tsl2561.c: 552: }
251 0E41 0008 return
252 0E42 _Lock_Channel_UP
253 ; _rData assigned to ?a_Lock_Channel_UP+0
254 0000 _Lock_Channel_UP$rData set ?a_Lock_Channel_UP
255 ; _count assigned to ?a_Lock_Channel_UP+1
256 0000 _Lock_Channel_UP$count set ?a_Lock_Channel_UP+1
257 ; _temp assigned to ?a_Lock_Channel_UP+2
258 0000 _Lock_Channel_UP$temp set ?a_Lock_Channel_UP+2
259 ; _f assigned to ?a_Lock_Channel_UP+3
260 0000 _Lock_Channel_UP$f set ?a_Lock_Channel_UP+3
261 ; _freq assigned to ?a_Lock_Channel_UP+4
262 0000 _Lock_Channel_UP$freq set ?a_Lock_Channel_UP+4
263 ; _i assigned to ?a_Lock_Channel_UP+6
264 0000 _Lock_Channel_UP$i set ?a_Lock_Channel_UP+6
265 ;tsl2561.c: 557: unsigned char temp,f,count,rDa
+ ta;
266 0E42 0183 clrf 3 ;select bank 0
267 0E43 01B6 clrf ?a_Lock_Channel_UP+3
268 ;tsl2561.c: 560: count=0;
269 0E44 01B4 clrf ?a_Lock_Channel_UP+1
270 ;tsl2561.c: 561: for(i=Curr_Freq;i<18083;i++)
271 0E45 0833 movf ?_Lock_Channel_UP,w
272 0E46 00B9 movwf ?a_Lock_Channel_UP+6
273 0E47 0834 movf ?_Lock_Channel_UP+1,w
274 0E48 00BA movwf ?a_Lock_Channel_UP+7
275 0E49 3046 movlw 70
276 0E4A 023A subwf ?a_Lock_Channel_UP+7,w
277 0E4B 30A3 movlw 163
278 0E4C 1903 btfsc 3,2
279 0E4D 0239 subwf ?a_Lock_Channel_UP+6,w
280 0E4E 1803 btfsc 3,0
281 0E4F 2EB7 goto l134
282 0E50 l133
283 ;tsl2561.c: 562: {
284 ;tsl2561.c: 564: Set_Tuner(i);
285 0E50 0839 movf ?a_Lock_Channel_UP+6,w
286 0E51 00B3 movwf ?_Set_Tuner
287 0E52 083A movf ?a_Lock_Channel_UP+7,w
288 0E53 00B4 movwf ?_Set_Tuner+1
289 0E54 118A 23BD 158A fcall _Set_Tuner
290 ;tsl2561.c: 567: delay_xms(10000);
291 0E57 3010 movlw 16
292 0E58 00B3 movwf ?_delay_xms
293 0E59 3027 movlw 39
294 0E5A 00B4 movwf ?_delay_xms+1
295 0E5B 25A4 fcall _delay_xms
296 ;tsl2561.c: 569: rData=Read_9886();
297 0E5C 118A 2432 158A fcall _Read_9886
298 0E5F 00B3 movwf ?a_Lock_Channel_UP
299 ;tsl2561.c: 570: temp=(rData>>1)&0x0f;
300 0E60 1003 bcf 3,0
301 0E61 0C33 rrf ?a_Lock_Channel_UP,w
302 0E62 390F andlw 15
303 0E63 00B5 movwf ?a_Lock_Channel_UP+2
304 ;tsl2561.c: 571: if(temp==7) {f=1;count=0;}
305 0E64 3A07 xorlw 7
306 0E65 1D03 btfss 3,2
307 0E66 2E6A goto l136
308 0E67 01B6 clrf ?a_Lock_Channel_UP+3
309 0E68 0AB6 incf ?a_Lock_Channel_UP+3
310 0E69 01B4 clrf ?a_Lock_Channel_UP+1
311 0E6A l136
312 ;tsl2561.c: 572: if(temp>0&&temp<7) f|=0x02;
313 0E6A 08B5 movf ?a_Lock_Channel_UP+2
314 0E6B 1903 btfsc 3,2
315 0E6C 2E72 goto l137
316 0E6D 3007 movlw 7
317 0E6E 0235 subwf ?a_Lock_Channel_UP+2,w
318 0E6F 1803 btfsc 3,0
319 0E70 2E72 goto l137
320 0E71 14B6 bsf ?a_Lock_Channel_UP+3,1
321 0E72 l137
322 ;tsl2561.c: 573: if(temp==0||temp==15) {f|=0x04
+ ;freq=i;}
323 0E72 08B5 movf ?a_Lock_Channel_UP+2
324 0E73 1903 btfsc 3,2
325 0E74 2E79 goto u1010
326 0E75 0835 movf ?a_Lock_Channel_UP+2,w
327 0E76 3A0F xorlw 15
328 0E77 1D03 btfss 3,2
329 0E78 2E7E goto l138
330 0E79 u1010
331 0E79 1536 bsf ?a_Lock_Channel_UP+3,2
332 0E7A 0839 movf ?a_Lock_Channel_UP+6,w
333 0E7B 00B7 movwf ?a_Lock_Channel_UP+4
334 0E7C 083A movf ?a_Lock_Channel_UP+7,w
335 0E7D 00B8 movwf ?a_Lock_Channel_UP+5
336 0E7E l138
337 ;tsl2561.c: 574: if(temp>8&&temp<15) f|=0x08;
338 0E7E 3009 movlw 9
339 0E7F 0235 subwf ?a_Lock_Channel_UP+2,w
340 0E80 1C03 btfss 3,0
341 0E81 2E87 goto l139
342 0E82 300F movlw 15
343 0E83 0235 subwf ?a_Lock_Channel_UP+2,w
344 0E84 1803 btfsc 3,0
345 0E85 2E87 goto l139
346 0E86 15B6 bsf ?a_Lock_Channel_UP+3,3
347 0E87 l139
348 ;tsl2561.c: 575: if(temp==8) {f|=0x10;count++;}
349 0E87 0835 movf ?a_Lock_Channel_UP+2,w
350 0E88 3A08 xorlw 8
351 0E89 1D03 btfss 3,2
352 0E8A 2E8D goto l140
353 0E8B 1636 bsf ?a_Lock_Channel_UP+3,4
354 0E8C 0AB4 incf ?a_Lock_Channel_UP+1
355 0E8D l140
356 ;tsl2561.c: 576: if((rData&0xc0)!=0xc0)
357 0E8D 0833 movf ?a_Lock_Channel_UP,w
358 0E8E 39C0 andlw -64
359 0E8F 3AC0 xorlw -64
360 0E90 1903 btfsc 3,2
361 0E91 2E94 goto l141
362 ;tsl2561.c: 577: {
363 0E92 01B6 clrf ?a_Lock_Channel_UP+3
364 ;tsl2561.c: 579: count=0;
365 0E93 01B4 clrf ?a_Lock_Channel_UP+1
366 0E94 l141
367 ;tsl2561.c: 580: }
368 0E94 0836 movf ?a_Lock_Channel_UP+3,w
369 0E95 3A1F xorlw 31
370 0E96 1D03 btfss 3,2
371 0E97 2EAD goto l142
372 0E98 3004 movlw 4
373 0E99 0234 subwf ?a_Lock_Channel_UP+1,w
374 0E9A 1C03 btfss 3,0
375 0E9B 2EAD goto l142
376 ;tsl2561.c: 582: {
377 0E9C 0837 movf ?a_Lock_Channel_UP+4,w
378 0E9D 00B3 movwf ?_Set_Tuner
379 0E9E 0838 movf ?a_Lock_Channel_UP+5,w
380 0E9F 00B4 movwf ?_Set_Tuner+1
381 0EA0 118A 23BD 158A fcall _Set_Tuner
382 ;tsl2561.c: 584: delay_xms(10000);
383 0EA3 3010 movlw 16
384 0EA4 00B3 movwf ?_delay_xms
385 0EA5 3027 movlw 39
386 0EA6 00B4 movwf ?_delay_xms+1
387 0EA7 25A4 fcall _delay_xms
388 ;tsl2561.c: 586: return freq;
389 0EA8 0838 movf ?a_Lock_Channel_UP+5,w
390 0EA9 00BD movwf btemp+1
391 0EAA 0837 movf ?a_Lock_Channel_UP+4,w
392 0EAB 00BC movwf btemp
393 0EAC 0008 return
394 0EAD l142
395 ;tsl2561.c: 588: }
396 0EAD 0AB9 incf ?a_Lock_Channel_UP+6
397 0EAE 1903 btfsc 3,2
398 0EAF 0ABA incf ?a_Lock_Channel_UP+7
399 0EB0 3046 movlw 70
400 0EB1 023A subwf ?a_Lock_Channel_UP+7,w
401 0EB2 30A3 movlw 163
402 0EB3 1903 btfsc 3,2
403 0EB4 0239 subwf ?a_Lock_Channel_UP+6,w
404 0EB5 1C03 btfss 3,0
405 0EB6 2E50 goto l133
406 0EB7 l134
407 ;tsl2561.c: 590: return 1;
408 0EB7 3001 movlw 1
409 0EB8 00BC movwf btemp
410 0EB9 3000 movlw 0
411 0EBA 01BD clrf btemp+1
412 ;tsl2561.c: 591: }
413 0EBB 0008 return
414
415 psect text1
416 ;tsl2561.c: 18: void iic_initial()
417 ;tsl2561.c: 19: {
418 0C06 _iic_initial
419 ;tsl2561.c: 20: TRISB=0X0F;
420 0C06 300F movlw 15
421 0C07 1683 bsf 3,5
422 0C08 1303 bcf 3,6 ;carry unused
423 0C09 0086 movwf 6 ;volatile
424 ;tsl2561.c: 21: PORTB=0X00;
425 0C0A 1283 bcf 3,5
426 0C0B 0186 clrf 6 ;volatile
427 ;tsl2561.c: 22: }
428 0C0C 0008 return
429
430 psect text10
431 ;tsl2561.c: 178: void Config(void)
432 ;tsl2561.c: 179: {
433 0C16 _Config
434 ;tsl2561.c: 180: WriteByte(0x81,0x02);
435 0C16 3002 movlw 2
436 0C17 0183 clrf 3 ;select bank 0
437 0C18 00B3 movwf ?_WriteByte
438 0C19 3081 movlw -127
439 0C1A 118A 21A8 158A fcall _WriteByte
440 ;tsl2561.c: 181: WriteByte(0x86,0x00);
441 0C1D 01B3 clrf ?_WriteByte
442 0C1E 3086 movlw -122
443 0C1F 118A 29A8 ljmp _WriteByte
444
445 psect text11
446 ;tsl2561.c: 187: void start_tsl2561(void)
447 ;tsl2561.c: 188: {
448 0C00 _start_tsl2561
449 ;tsl2561.c: 189: WriteByte(0x80,0x03);
450 0C00 3003 movlw 3
451 0C01 0183 clrf 3 ;select bank 0
452 0C02 00B3 movwf ?_WriteByte
453 0C03 3080 movlw -128
454 0C04 118A 29A8 ljmp _WriteByte
455
456 psect text12
457 ;tsl2561.c: 192: void stop_tsl2561(void)
458 ;tsl2561.c: 193: {
459 0BFB _stop_tsl2561
460 ;tsl2561.c: 194: WriteByte(0x80,0x00);
461 0BFB 0183 clrf 3 ;select bank 0
462 0BFC 01B3 clrf ?_WriteByte
463 0BFD 3080 movlw -128
464 0BFE 118A 29A8 ljmp _WriteByte
465
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -