📄 adc_wdt.lst
字号:
291 058B 00F1 movwf btemp+1
292 058C 0828 movf ?a_tempature_disp+1,w
293 058D 120A 118A 2731 fcall lbdiv
+ 120A 118A
294 0592 00AA movwf ?a_tempature_disp+3
295 ;adc_wdt.c: 126: lcd_disp(0x86, b + 0x30);
296 0593 3E30 addlw 48
297 0594 00B0 movwf ?_lcd_disp
298 0595 3086 movlw -122
299 0596 2500 120A 118A fcall _lcd_disp
300 ;adc_wdt.c: 127: lcd_disp(0x87, 0x2e);
301 0599 302E movlw 46
302 059A 00B0 movwf ?_lcd_disp
303 059B 3087 movlw -121
304 059C 2500 fcall _lcd_disp
305 ;adc_wdt.c: 128: c = temperature_temp - a * 100
+ - b * 10;
306 059D 3064 movlw 100
307 059E 00F1 movwf btemp+1
308 059F 0829 movf ?a_tempature_disp+2,w
309 05A0 120A 118A 24C0 fcall lbmul
310 05A3 022C subwf ?a_tempature_disp+5,w
311 05A4 00F2 movwf btemp+2
312 05A5 300A movlw 10
313 05A6 00F1 movwf btemp+1
314 05A7 082A movf ?a_tempature_disp+3,w
315 05A8 120A 118A 24C0 fcall lbmul
+ 120A 118A
316 05AD 0272 subwf btemp+2,w
317 05AE 00A7 movwf ?a_tempature_disp
318 ;adc_wdt.c: 129: lcd_disp(0x88, c + 0x30);
319 05AF 3E30 addlw 48
320 05B0 00B0 movwf ?_lcd_disp
321 05B1 3088 movlw -120
322 05B2 2500 120A 118A fcall _lcd_disp
323 ;adc_wdt.c: 130: lcd_disp(0x89, 0xdf);
324 05B5 30DF movlw -33
325 05B6 00B0 movwf ?_lcd_disp
326 05B7 3089 movlw -119
327 05B8 2500 120A 118A fcall _lcd_disp
328 ;adc_wdt.c: 131: lcd_disp(0x8a, 0x43);
329 05BB 3043 movlw 67
330 05BC 00B0 movwf ?_lcd_disp
331 05BD 308A movlw -118
332 05BE 2500 120A 118A fcall _lcd_disp
333 ;adc_wdt.c: 132: checksum = 0;
334 05C1 01A2 clrf _checksum ;volatile
335 05C2 01A3 clrf _checksum+1 ;volatile
336 ;adc_wdt.c: 133: count = 0;
337 05C3 01A1 clrf _count ;volatile
338 ;adc_wdt.c: 134: disp_reload = 0;
339 05C4 1020 bcf _disp_reload/(0+8),_disp_reload& (0+7)
340 ;adc_wdt.c: 135: lcd_disp(0xcf, 0xfe);
341 05C5 30FE movlw -2
342 05C6 00B0 movwf ?_lcd_disp
343 05C7 30CF movlw -49
344 05C8 2500 120A 118A fcall _lcd_disp
345 ;adc_wdt.c: 136: clean_wdt();
346 ;adc_wdt.c: 37: asm("clrwdt");
347 05CB 0064 clrwdt ;#
348 ;adc_wdt.c: 38: }
349 05CC 0183 clrf 3 ;select bank 0
350 ;adc_wdt.c: 137: delay(300);
351 05CD 302C movlw 44
352 05CE 00B0 movwf ?_delay
353 05CF 3001 movlw 1
354 05D0 00B1 movwf ?_delay+1
355 05D1 24CC fcall _delay
356 ;adc_wdt.c: 138: clean_wdt();
357 ;adc_wdt.c: 37: asm("clrwdt");
358 05D2 0064 clrwdt ;#
359 ;adc_wdt.c: 38: }
360 05D3 0183 clrf 3 ;select bank 0
361 ;adc_wdt.c: 139: (GIE = 1);
362 05D4 178B bsf 11,7
363 ;adc_wdt.c: 140: }
364 05D5 0008 return
365 ;adc_wdt.c: 30: void wdt_init(void) {
366 05D6 _wdt_init
367 ;adc_wdt.c: 31: PSA = 1;
368 05D6 1683 bsf 3,5
369 05D7 1303 bcf 3,6 ;carry unused
370 05D8 1581 bsf 1,3
371 ;adc_wdt.c: 32: OPTION |= 0x07;
372 05D9 3007 movlw 7
373 05DA 0481 iorwf 1
374 ;adc_wdt.c: 33: }
375 05DB 1283 bcf 3,5
376 05DC 0008 return
377 ;adc_wdt.c: 78: void lcd_init(void)
378 ;adc_wdt.c: 79: {
379 05DD _lcd_init
380 ;adc_wdt.c: 80: lcd_command_writedata(0x00,0x01
+ );
381 05DD 0183 clrf 3 ;select bank 0
382 05DE 01B2 clrf ?_lcd_command_writedata
383 05DF 0AB2 incf ?_lcd_command_writedata
384 05E0 3000 movlw 0
385 05E1 24EE fcall _lcd_command_writedata
386 ;adc_wdt.c: 81: lcd_command_writedata(0x00,0x38
+ );
387 05E2 3038 movlw 56
388 05E3 00B2 movwf ?_lcd_command_writedata
389 05E4 3000 movlw 0
390 05E5 24EE fcall _lcd_command_writedata
391 ;adc_wdt.c: 82: lcd_command_writedata(0x00,0x0e
+ );
392 05E6 300E movlw 14
393 05E7 00B2 movwf ?_lcd_command_writedata
394 05E8 3000 movlw 0
395 05E9 24EE fcall _lcd_command_writedata
396 ;adc_wdt.c: 83: lcd_command_writedata(0x00,0x06
+ );
397 05EA 3006 movlw 6
398 05EB 00B2 movwf ?_lcd_command_writedata
399 05EC 3000 movlw 0
400 05ED 2CEE ljmp _lcd_command_writedata
401 ;adc_wdt.c: 93: void adc_init(void)
402 ;adc_wdt.c: 94: {
403 05EE _adc_init
404 ;adc_wdt.c: 95: ADCON1 = 0x8e;
405 05EE 308E movlw -114
406 05EF 1683 bsf 3,5
407 05F0 1303 bcf 3,6 ;carry unused
408 05F1 009F movwf 31 ;volatile
409 ;adc_wdt.c: 96: ADCON0 = 0xc1;
410 05F2 30C1 movlw -63
411 05F3 1283 bcf 3,5
412 05F4 009F movwf 31 ;volatile
413 ;adc_wdt.c: 97: ADIF = 0;
414 05F5 130C bcf 12,6
415 ;adc_wdt.c: 98: PEIE = 1;
416 05F6 170B bsf 11,6
417 ;adc_wdt.c: 99: ADIE = 1;
418 05F7 1683 bsf 3,5
419 05F8 170C bsf 12,6
420 ;adc_wdt.c: 100: TRISA0 = 1;
421 05F9 1405 bsf 5,0
422 ;adc_wdt.c: 101: count = 0;
423 05FA 1283 bcf 3,5
424 05FB 01A1 clrf _count ;volatile
425 ;adc_wdt.c: 102: disp_reload = 0;
426 05FC 1020 bcf _disp_reload/(0+8),_disp_reload& (0+7)
427 ;adc_wdt.c: 103: }
428 05FD 0008 return
429 ;adc_wdt.c: 85: void system_init(void)
430 ;adc_wdt.c: 86: {
431 05FE _system_init
432 ;adc_wdt.c: 87: INTCON = 0x00;
433 05FE 018B clrf 11 ;volatile
434 ;adc_wdt.c: 88: OPTION = 0xff;
435 05FF 30FF movlw -1
436 0600 1683 bsf 3,5
437 0601 1303 bcf 3,6 ;carry unused
438 0602 0081 movwf 1
439 ;adc_wdt.c: 89: TRISB = 0x00;
440 0603 0186 clrf 6 ;volatile
441 ;adc_wdt.c: 90: TRISD = 0x00;
442 0604 0188 clrf 8 ;volatile
443 ;adc_wdt.c: 91: }
444 0605 1283 bcf 3,5
445 0606 0008 return
446 ;adc_wdt.c: 142: void main(void)
447 ;adc_wdt.c: 143: {
448 0607 _main
449 ;adc_wdt.c: 144: system_init();
450 0607 25FE fcall _system_init
451 ;adc_wdt.c: 145: adc_init();
452 0608 25EE fcall _adc_init
453 ;adc_wdt.c: 146: lcd_init();
454 0609 25DD 120A 118A fcall _lcd_init
455 ;adc_wdt.c: 147: wdt_init();
456 060C 25D6 fcall _wdt_init
457 ;adc_wdt.c: 148: clean_wdt();
458 ;adc_wdt.c: 37: asm("clrwdt");
459 060D 0064 clrwdt ;#
460 ;adc_wdt.c: 38: }
461 060E 0183 clrf 3 ;select bank 0
462 ;adc_wdt.c: 149: ADCON0 |= 0x04;
463 060F 151F bsf 31,2 ;volatile
464 ;adc_wdt.c: 150: (GIE = 1);
465 0610 178B bsf 11,7
466 0611 l28
467 ;adc_wdt.c: 151: while (1)
468 ;adc_wdt.c: 152: {
469 0611 2509 120A 118A fcall _tempature_disp
470 ;adc_wdt.c: 154: asm("sleep");
471 0614 0063 sleep ;#
472 ;adc_wdt.c: 155: }
473 0615 2E11 goto l28
474
475 psect text2
476 ;adc_wdt.c: 35: void clean_wdt(void)
477 ;adc_wdt.c: 36: {
478 04BD _clean_wdt
479 ;adc_wdt.c: 37: asm("clrwdt");
480 04BD 0064 clrwdt ;#
481 ;adc_wdt.c: 38: }
482 04BE 0183 clrf 3 ;select bank 0
483 04BF 0008 return
484
485 psect intcode
486 ;adc_wdt.c: 158: void interrupt adc_interrupt(v
+ oid)
487 ;adc_wdt.c: 159: {
488 0015 _adc_interrupt
489 0015 int_func
490 ;adc_wdt.c: 160: clean_wdt();
491 0015 120A 118A 24BD fcall _clean_wdt
+ 120A 118A
492 ;adc_wdt.c: 161: ADIF = 0;
493 001A 130C bcf 12,6
494 ;adc_wdt.c: 162: temperature[count] = (ADRESH <
+ < 8) + ADRESL;
495 001B 081E movf 30,w ;volatile
496 001C 00F3 movwf btemp+3
497 001D 01F2 clrf btemp+2
498 001E 1683 bsf 3,5
499 001F 081E movf 30,w ;volatile
500 0020 00F0 movwf btemp
501 0021 01F1 clrf btemp+1
502 0022 0872 movf btemp+2,w
503 0023 07F0 addwf btemp
504 0024 1803 btfsc 3,0
505 0025 0AF1 incf btemp+1
506 0026 0873 movf btemp+3,w
507 0027 07F1 addwf btemp+1
508 0028 1283 bcf 3,5
509 0029 0821 movf _count,w ;volatile
510 002A 0721 addwf _count,w ;volatile
511 002B 3E10 addlw _temperature^(0+256)
512 002C 0084 movwf 4
513 002D 1783 bsf 3,7
514 002E 0870 movf btemp,w
515 002F 0080 movwf 0
516 0030 0A84 incf 4
517 0031 0871 movf btemp+1,w
518 0032 0080 movwf 0
519 ;adc_wdt.c: 163: count ++;
520 0033 0AA1 incf _count ;volatile
521 ;adc_wdt.c: 164: if (count == 40)
522 0034 0821 movf _count,w ;volatile
523 0035 3A28 xorlw 40
524 0036 1903 btfsc 3,2
525 ;adc_wdt.c: 165: {
526 0037 1420 bsf _disp_reload/(0+8),_disp_reload& (0+7)
527 ;adc_wdt.c: 167: }
528 0038 151F bsf 31,2 ;volatile
529
530 psect intsave_0
531 007C saved_w
532 007C ds 1
533
534 psect intret
535 0041 0836 movf saved_fsr,w
536 0042 0084 movwf 4 ;restore FSR
537 0043 0837 movf saved_pclath,w
538 0044 008A movwf 10
539 0045 int_restore
540 0045 0835 movf saved_status,w
541 0046 0083 movwf 3
542 0047 0EFC swapf saved_w
543 0048 0E7C swapf saved_w,w
544 0049 0009 retfie
545
546 psect intentry
547 0004 int_entry
548 0004 00FC movwf saved_w
549 0005 0803 movf 3,w
550 0006 0183 clrf 3
551 0007 00B5 movwf saved_status
552 0008 0804 movf 4,w
553 0009 00B6 movwf saved_fsr
554 000A 080A movf 10,w
555 000B 00B7 movwf saved_pclath
556 000C 018A clrf 10
557 0000
558 0000
559 0000
560 0000
561 0000
562 0000
563 0000
564 0000
565 0000
566 0000
567 0000
568 0000
569 0000
570 0000
571 0000
572 0000
573 0000
574 0000
575 0000
576 0000
577 0000
578 0000
579 0000
580 0000
581 0000
582 0000
583 0000
584 0000
585 0000
586 0000
587 0000
588 0000
589 0000
590 0000
591 0000
592 0000
593 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -