📄 adc.lst
字号:
278 05A0 01F5 clrf btemp+5
279 05A1 01F6 clrf btemp+6
280 05A2 01F7 clrf btemp+7
281 05A3 082D movf ?a_tempature_disp+5,w
282 05A4 00F0 movwf btemp
283 05A5 082E movf ?a_tempature_disp+6,w
284 05A6 00F1 movwf btemp+1
285 05A7 082F movf ?a_tempature_disp+7,w
286 05A8 00F2 movwf btemp+2
287 05A9 0830 movf ?a_tempature_disp+8,w
288 05AA 00F3 movwf btemp+3
289 05AB 120A 118A 26C4 fcall llmod
290 05AE 0874 movf btemp+4,w
291 05AF 00A9 movwf ?a_tempature_disp+1
292 ;adc.c: 114: b = d / 10;
293 05B0 300A movlw 10
294 05B1 00F1 movwf btemp+1
295 05B2 0829 movf ?a_tempature_disp+1,w
296 05B3 120A 118A 25F8 fcall lbdiv
+ 120A 118A
297 05B8 00AB movwf ?a_tempature_disp+3
298 ;adc.c: 115: lcd_disp(0x86, b + 0x30);
299 05B9 3E30 addlw 48
300 05BA 00B1 movwf ?_lcd_disp
301 05BB 3086 movlw -122
302 05BC 2520 120A 118A fcall _lcd_disp
303 ;adc.c: 116: lcd_disp(0x87, 0x2e);
304 05BF 302E movlw 46
305 05C0 00B1 movwf ?_lcd_disp
306 05C1 3087 movlw -121
307 05C2 2520 fcall _lcd_disp
308 ;adc.c: 117: c = temperature_temp - a * 100 - b
+ * 10;
309 05C3 3064 movlw 100
310 05C4 00F1 movwf btemp+1
311 05C5 082A movf ?a_tempature_disp+2,w
312 05C6 120A 118A 24A0 fcall lbmul
313 05C9 022D subwf ?a_tempature_disp+5,w
314 05CA 00F2 movwf btemp+2
315 05CB 300A movlw 10
316 05CC 00F1 movwf btemp+1
317 05CD 082B movf ?a_tempature_disp+3,w
318 05CE 120A 118A 24A0 fcall lbmul
+ 120A 118A
319 05D3 0272 subwf btemp+2,w
320 05D4 00A8 movwf ?a_tempature_disp
321 ;adc.c: 118: lcd_disp(0x88, c + 0x30);
322 05D5 3E30 addlw 48
323 05D6 00B1 movwf ?_lcd_disp
324 05D7 3088 movlw -120
325 05D8 2520 120A 118A fcall _lcd_disp
326 ;adc.c: 119: lcd_disp(0x89, 0xdf);
327 05DB 30DF movlw -33
328 05DC 00B1 movwf ?_lcd_disp
329 05DD 3089 movlw -119
330 05DE 2520 120A 118A fcall _lcd_disp
331 ;adc.c: 120: lcd_disp(0x8a, 0x43);
332 05E1 3043 movlw 67
333 05E2 00B1 movwf ?_lcd_disp
334 05E3 308A movlw -118
335 05E4 2520 120A 118A fcall _lcd_disp
336 ;adc.c: 121: checksum = 0;
337 05E7 01A2 clrf _checksum ;volatile
338 05E8 01A3 clrf _checksum+1 ;volatile
339 ;adc.c: 122: count = 0;
340 05E9 01A1 clrf _count ;volatile
341 ;adc.c: 123: disp_reload = 0;
342 05EA 1020 bcf _disp_reload/(0+8),_disp_reload& (0+7)
343 ;adc.c: 124: lcd_disp(0xcf, 0xfe);
344 05EB 30FE movlw -2
345 05EC 00B1 movwf ?_lcd_disp
346 05ED 30CF movlw -49
347 05EE 2520 120A 118A fcall _lcd_disp
348 ;adc.c: 125: delay(300);
349 05F1 302C movlw 44
350 05F2 00B1 movwf ?_delay
351 05F3 3001 movlw 1
352 05F4 00B2 movwf ?_delay+1
353 05F5 24EC fcall _delay
354 ;adc.c: 126: (GIE = 1);
355 05F6 178B bsf 11,7
356 ;adc.c: 127: }
357 05F7 0008 return
358
359 psect text4
360 ;adc.c: 68: void lcd_init(void)
361 ;adc.c: 69: {
362 04AC _lcd_init
363 ;adc.c: 70: lcd_command_writedata(0x00,0x01);
364 04AC 0183 clrf 3 ;select bank 0
365 04AD 01B3 clrf ?_lcd_command_writedata
366 04AE 0AB3 incf ?_lcd_command_writedata
367 04AF 3000 movlw 0
368 04B0 120A 118A 250E fcall _lcd_command_writedata
369 ;adc.c: 71: lcd_command_writedata(0x00,0x38);
370 04B3 3038 movlw 56
371 04B4 00B3 movwf ?_lcd_command_writedata
372 04B5 3000 movlw 0
373 04B6 120A 118A 250E fcall _lcd_command_writedata
374 ;adc.c: 72: lcd_command_writedata(0x00,0x0e);
375 04B9 300E movlw 14
376 04BA 00B3 movwf ?_lcd_command_writedata
377 04BB 3000 movlw 0
378 04BC 120A 118A 250E fcall _lcd_command_writedata
+ 120A 118A
379 ;adc.c: 73: lcd_command_writedata(0x00,0x06);
380 04C1 3006 movlw 6
381 04C2 00B3 movwf ?_lcd_command_writedata
382 04C3 3000 movlw 0
383 04C4 120A 118A 2D0E ljmp _lcd_command_writedata
384 ;adc.c: 83: void adc_init(void)
385 ;adc.c: 84: {
386 04C7 _adc_init
387 ;adc.c: 85: ADCON1 = 0x8e;
388 04C7 308E movlw -114
389 04C8 1683 bsf 3,5
390 04C9 1303 bcf 3,6 ;carry unused
391 04CA 009F movwf 31 ;volatile
392 ;adc.c: 86: ADCON0 = 0xc1;
393 04CB 30C1 movlw -63
394 04CC 1283 bcf 3,5
395 04CD 009F movwf 31 ;volatile
396 ;adc.c: 87: ADIF = 0;
397 04CE 130C bcf 12,6
398 ;adc.c: 88: PEIE = 1;
399 04CF 170B bsf 11,6
400 ;adc.c: 89: ADIE = 1;
401 04D0 1683 bsf 3,5
402 04D1 170C bsf 12,6
403 ;adc.c: 90: TRISA0 = 1;
404 04D2 1405 bsf 5,0
405 ;adc.c: 91: count = 0;
406 04D3 1283 bcf 3,5
407 04D4 01A1 clrf _count ;volatile
408 ;adc.c: 92: disp_reload = 0;
409 04D5 1020 bcf _disp_reload/(0+8),_disp_reload& (0+7)
410 ;adc.c: 93: }
411 04D6 0008 return
412 ;adc.c: 75: void system_init(void)
413 ;adc.c: 76: {
414 04D7 _system_init
415 ;adc.c: 77: INTCON = 0x00;
416 04D7 018B clrf 11 ;volatile
417 ;adc.c: 78: OPTION = 0xff;
418 04D8 30FF movlw -1
419 04D9 1683 bsf 3,5
420 04DA 1303 bcf 3,6 ;carry unused
421 04DB 0081 movwf 1
422 ;adc.c: 79: TRISB = 0x00;
423 04DC 0186 clrf 6 ;volatile
424 ;adc.c: 80: TRISD = 0x00;
425 04DD 0188 clrf 8 ;volatile
426 ;adc.c: 81: }
427 04DE 1283 bcf 3,5
428 04DF 0008 return
429 ;adc.c: 129: void main(void)
430 ;adc.c: 130: {
431 04E0 _main
432 ;adc.c: 131: system_init();
433 04E0 24D7 fcall _system_init
434 ;adc.c: 132: adc_init();
435 04E1 24C7 fcall _adc_init
436 ;adc.c: 133: lcd_init();
437 04E2 24AC fcall _lcd_init
438 ;adc.c: 134: ADCON0 |= 0x04;
439 04E3 151F bsf 31,2 ;volatile
440 ;adc.c: 135: (GIE = 1);
441 04E4 178B bsf 11,7
442 04E5 l26
443 ;adc.c: 136: while (1)
444 ;adc.c: 137: {
445 04E5 120A 118A 2529 fcall _tempature_disp
+ 120A 118A
446 ;adc.c: 139: asm("sleep");
447 04EA 0063 sleep ;#
448 ;adc.c: 140: }
449 04EB 2CE5 goto l26
450
451 psect intcode
452 ;adc.c: 143: void interrupt adc_interrupt(void)
453 ;adc.c: 144: {
454 0015 _adc_interrupt
455 0015 int_func
456 ;adc.c: 145: ADIF = 0;
457 0015 0183 clrf 3 ;select bank 0
458 0016 130C bcf 12,6
459 ;adc.c: 146: temperature[count] = (ADRESH << 8)
+ + ADRESL;
460 0017 081E movf 30,w ;volatile
461 0018 00F3 movwf btemp+3
462 0019 01F2 clrf btemp+2
463 001A 1683 bsf 3,5
464 001B 081E movf 30,w ;volatile
465 001C 00F0 movwf btemp
466 001D 01F1 clrf btemp+1
467 001E 0872 movf btemp+2,w
468 001F 07F0 addwf btemp
469 0020 1803 btfsc 3,0
470 0021 0AF1 incf btemp+1
471 0022 0873 movf btemp+3,w
472 0023 07F1 addwf btemp+1
473 0024 1283 bcf 3,5
474 0025 0821 movf _count,w ;volatile
475 0026 0721 addwf _count,w ;volatile
476 0027 3E10 addlw _temperature^(0+256)
477 0028 0084 movwf 4
478 0029 1783 bsf 3,7
479 002A 0870 movf btemp,w
480 002B 0080 movwf 0
481 002C 0A84 incf 4
482 002D 0871 movf btemp+1,w
483 002E 0080 movwf 0
484 ;adc.c: 147: count ++;
485 002F 0AA1 incf _count ;volatile
486 ;adc.c: 148: if (count == 40)
487 0030 0821 movf _count,w ;volatile
488 0031 3A28 xorlw 40
489 0032 1903 btfsc 3,2
490 ;adc.c: 149: {
491 0033 1420 bsf _disp_reload/(0+8),_disp_reload& (0+7)
492 ;adc.c: 151: }
493 0034 151F bsf 31,2 ;volatile
494
495 psect intsave_0
496 007C saved_w
497 007C ds 1
498
499 psect intret
500 003D 083A movf saved_fsr,w
501 003E 0084 movwf 4 ;restore FSR
502 003F 083B movf saved_pclath,w
503 0040 008A movwf 10
504 0041 int_restore
505 0041 0839 movf saved_status,w
506 0042 0083 movwf 3
507 0043 0EFC swapf saved_w
508 0044 0E7C swapf saved_w,w
509 0045 0009 retfie
510
511 psect intentry
512 0004 int_entry
513 0004 00FC movwf saved_w
514 0005 0803 movf 3,w
515 0006 0183 clrf 3
516 0007 00B9 movwf saved_status
517 0008 0804 movf 4,w
518 0009 00BA movwf saved_fsr
519 000A 080A movf 10,w
520 000B 00BB movwf saved_pclath
521 000C 018A clrf 10
522 0000
523 0000
524 0000
525 0000
526 0000
527 0000
528 0000
529 0000
530 0000
531 0000
532 0000
533 0000
534 0000
535 0000
536 0000
537 0000
538 0000
539 0000
540 0000
541 0000
542 0000
543 0000
544 0000
545 0000
546 0000
547 0000
548 0000
549 0000
550 0000
551 0000
552 0000
553 0000
554 0000
555 0000
556 0000
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -