⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taximetro1.lst

📁 an taximeter for measuring
💻 LST
📖 第 1 页 / 共 2 页
字号:
00ED:  GOTO   35C (RETURN)
....................  
....................  
.................... void lcd_gotoxy( BYTE x, BYTE y) { 
....................    BYTE address; 
....................  
....................    if(y!=1) 
00EE:  DECFSZ 3D,W
00EF:  GOTO   0F1
00F0:  GOTO   0F4
....................      address=lcd_line_two; 
00F1:  MOVLW  40
00F2:  MOVWF  3E
....................    else 
00F3:  GOTO   0F5
....................      address=0; 
00F4:  CLRF   3E
....................    address+=x-1; 
00F5:  MOVLW  01
00F6:  SUBWF  3C,W
00F7:  ADDWF  3E,F
....................    lcd_send_byte(0,0x80|address); 
00F8:  MOVF   3E,W
00F9:  IORLW  80
00FA:  MOVWF  3F
00FB:  CLRF   40
00FC:  MOVF   3F,W
00FD:  MOVWF  41
00FE:  CALL   088
.................... } 
00FF:  RETLW  00
....................  
.................... void lcd_putc( char c) { 
....................    switch (c) { 
0100:  MOVF   3B,W
0101:  XORLW  0C
0102:  BTFSC  03.2
0103:  GOTO   10B
0104:  XORLW  06
0105:  BTFSC  03.2
0106:  GOTO   113
0107:  XORLW  02
0108:  BTFSC  03.2
0109:  GOTO   119
010A:  GOTO   11E
....................      case '\f'   : lcd_send_byte(0,1); 
010B:  CLRF   40
010C:  MOVLW  01
010D:  MOVWF  41
010E:  CALL   088
....................                    delay_ms(2); 
010F:  MOVLW  02
0110:  MOVWF  3C
0111:  CALL   067
....................                                            break; 
0112:  GOTO   124
....................      case '\n'   : lcd_gotoxy(1,2);        break; 
0113:  MOVLW  01
0114:  MOVWF  3C
0115:  MOVLW  02
0116:  MOVWF  3D
0117:  CALL   0EE
0118:  GOTO   124
....................      case '\b'   : lcd_send_byte(0,0x10);  break; 
0119:  CLRF   40
011A:  MOVLW  10
011B:  MOVWF  41
011C:  CALL   088
011D:  GOTO   124
....................      default     : lcd_send_byte(1,c);     break; 
011E:  MOVLW  01
011F:  MOVWF  40
0120:  MOVF   3B,W
0121:  MOVWF  41
0122:  CALL   088
0123:  GOTO   124
....................    } 
.................... } 
0124:  RETLW  00
....................  
.................... char lcd_getc( BYTE x, BYTE y) { 
....................    char value; 
....................  
....................     lcd_gotoxy(x,y); 
....................     while ( bit_test(lcd_read_byte(),7) ); // wait until busy flag is low 
....................     lcd.rs=1; 
....................     value = lcd_read_byte(); 
....................     lcd.rs=0; 
....................     return(value); 
.................... } 
....................  
....................  
.................... #use fast_io(a) 
....................  
.................... int    Contador = 250; 
*
0352:  MOVLW  FA
0353:  BCF    03.5
0354:  MOVWF  28
.................... float cuenta=0; 
0355:  CLRF   29
0356:  CLRF   2A
0357:  CLRF   2B
0358:  CLRF   2C
.................... void main() 
.................... { 
*
0347:  CLRF   04
0348:  BCF    03.7
0349:  MOVLW  1F
034A:  ANDWF  03,F
034B:  BSF    03.5
034C:  BSF    1F.0
034D:  BSF    1F.1
034E:  BSF    1F.2
034F:  BCF    1F.3
0350:  MOVLW  07
0351:  MOVWF  1C
....................     lcd_init(); 
*
035B:  GOTO   0C2
....................  
....................  
....................  
....................    setup_adc_ports(NO_ANALOGS); 
035C:  BSF    03.5
035D:  BSF    1F.0
035E:  BSF    1F.1
035F:  BSF    1F.2
0360:  BCF    1F.3
....................    setup_adc(ADC_OFF); 
0361:  BCF    03.5
0362:  BCF    1F.0
....................    setup_psp(PSP_DISABLED); 
0363:  BSF    03.5
0364:  BCF    09.4
....................    setup_spi(FALSE); 
*
0359:  MOVLW  FF
035A:  MOVWF  2D
*
0365:  BCF    03.5
0366:  BCF    14.5
0367:  BCF    2D.5
0368:  MOVF   2D,W
0369:  BSF    03.5
036A:  MOVWF  07
036B:  BCF    03.5
036C:  BSF    2D.4
036D:  MOVF   2D,W
036E:  BSF    03.5
036F:  MOVWF  07
0370:  BCF    03.5
0371:  BCF    2D.3
0372:  MOVF   2D,W
0373:  BSF    03.5
0374:  MOVWF  07
0375:  MOVLW  00
0376:  BCF    03.5
0377:  MOVWF  14
0378:  BSF    03.5
0379:  MOVWF  14
....................    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 
037A:  MOVF   01,W
037B:  ANDLW  C7
037C:  IORLW  08
037D:  MOVWF  01
....................    setup_timer_1(T1_DISABLED); 
037E:  BCF    03.5
037F:  CLRF   10
....................    setup_timer_2(T2_DISABLED,0,1); 
0380:  MOVLW  00
0381:  MOVWF  78
0382:  MOVWF  12
0383:  MOVLW  00
0384:  BSF    03.5
0385:  MOVWF  12
....................    setup_comparator(NC_NC_NC_NC); 
0386:  MOVLW  07
0387:  MOVWF  1C
0388:  MOVF   05,W
0389:  MOVLW  03
038A:  MOVWF  77
038B:  DECFSZ 77,F
038C:  GOTO   38B
038D:  MOVF   1C,W
038E:  BCF    03.5
038F:  BCF    0D.6
....................    setup_vref(FALSE); 
0390:  BSF    03.5
0391:  CLRF   1D
....................    
....................    lcd_gotoxy(1,1); 
0392:  MOVLW  01
0393:  BCF    03.5
0394:  MOVWF  3C
0395:  MOVWF  3D
0396:  CALL   0EE
....................    lcd_putc("Mi nombre es Andersen"); 
0397:  CLRF   2E
0398:  MOVF   2E,W
0399:  CALL   03B
039A:  IORLW  00
039B:  BTFSC  03.2
039C:  GOTO   3A1
039D:  INCF   2E,F
039E:  MOVWF  3B
039F:  CALL   100
03A0:  GOTO   398
....................    delay_ms(2000); 
03A1:  MOVLW  08
03A2:  MOVWF  2E
03A3:  MOVLW  FA
03A4:  MOVWF  3C
03A5:  CALL   067
03A6:  DECFSZ 2E,F
03A7:  GOTO   3A3
....................    lcd_putc("\f"); 
03A8:  CLRF   2E
03A9:  MOVF   2E,W
03AA:  CALL   055
03AB:  IORLW  00
03AC:  BTFSC  03.2
03AD:  GOTO   3B2
03AE:  INCF   2E,F
03AF:  MOVWF  3B
03B0:  CALL   100
03B1:  GOTO   3A9
....................    delay_ms(1000); 
03B2:  MOVLW  04
03B3:  MOVWF  2E
03B4:  MOVLW  FA
03B5:  MOVWF  3C
03B6:  CALL   067
03B7:  DECFSZ 2E,F
03B8:  GOTO   3B4
....................      
....................    /*while(input(PIN_A1)!=1){ 
....................       if (input(PIN_B0)==1){ 
....................          cuenta+=1.6; 
....................          delay_ms(300); 
....................       } 
....................    }*/ 
....................     
.................... set_tris_a(0xFE);output_low(PIN_A0); 
03B9:  MOVLW  FE
03BA:  BSF    03.5
03BB:  MOVWF  05
03BC:  BCF    03.5
03BD:  BCF    05.0
.................... setup_counters(RTCC_INTERNAL,RTCC_DIV_16); 
03BE:  MOVLW  03
03BF:  MOVWF  77
03C0:  BTFSS  77.3
03C1:  GOTO   3CB
03C2:  MOVLW  07
03C3:  CLRF   01
03C4:  MOVLW  81
03C5:  MOVWF  04
03C6:  BCF    03.7
03C7:  MOVF   00,W
03C8:  ANDLW  C0
03C9:  IORLW  0F
03CA:  MOVWF  00
03CB:  CLRWDT
03CC:  MOVLW  81
03CD:  MOVWF  04
03CE:  MOVF   00,W
03CF:  ANDLW  C0
03D0:  IORWF  77,W
03D1:  MOVWF  00
.................... set_timer0(6); 
03D2:  MOVLW  06
03D3:  MOVWF  01
.................... enable_interrupts(GLOBAL); 
03D4:  MOVLW  C0
03D5:  IORWF  0B,F
.................... enable_interrupts(INT_TIMER0); 
03D6:  BSF    0B.5
.................... do {} while (TRUE); 
....................    lcd_gotoxy(1,1); 
03D7:  GOTO   3D7
03D8:  MOVLW  01
03D9:  MOVWF  3C
03DA:  MOVWF  3D
03DB:  CALL   0EE
....................    printf(lcd_putc"%f",cuenta); 
03DC:  MOVLW  89
03DD:  MOVWF  04
03DE:  MOVF   2C,W
03DF:  MOVWF  31
03E0:  MOVF   2B,W
03E1:  MOVWF  30
03E2:  MOVF   2A,W
03E3:  MOVWF  2F
03E4:  MOVF   29,W
03E5:  MOVWF  2E
03E6:  MOVLW  02
03E7:  MOVWF  32
03E8:  GOTO   1FF
....................    lcd_gotoxy(1,2); 
03E9:  MOVLW  01
03EA:  MOVWF  3C
03EB:  MOVLW  02
03EC:  MOVWF  3D
03ED:  CALL   0EE
....................    printf(lcd_putc"%d",get_rtcc()); 
03EE:  MOVF   01,W
03EF:  MOVWF  2E
03F0:  MOVF   2E,W
03F1:  MOVWF  2F
03F2:  MOVLW  1F
03F3:  MOVWF  30
03F4:  GOTO   2E0
....................    delay_ms(2000); 
03F5:  MOVLW  08
03F6:  MOVWF  2E
03F7:  MOVLW  FA
03F8:  MOVWF  3C
03F9:  CALL   067
03FA:  DECFSZ 2E,F
03FB:  GOTO   3F7
.................... } 
.................... # 
.................... #INT_TIMER0 
....................  
03FC:  SLEEP
.................... void interruption() 
....................   { 
....................    set_timer0(6); 
*
005B:  MOVLW  06
005C:  MOVWF  01
....................    Contador--; 
005D:  DECFSZ 28,F
....................    if (Contador == 0) 
005E:  GOTO   063
....................      { 
....................       output_toggle(PIN_A0); 
005F:  MOVLW  01
0060:  XORWF  05,F
....................       Contador = 250; 
0061:  MOVLW  FA
0062:  MOVWF  28
....................       } 
....................   } 
0063:  BCF    0B.2
0064:  BCF    0A.3
0065:  BCF    0A.4
0066:  GOTO   01D

Configuration Fuses:
   Word  1: 3F3A   HS NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -