Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Calculator/Pronto/Calculator/Calculator.asm _LCD: ;Calculator.c,17 :: void LCD(char texto[16]){ ;Calculator.c,18 :: Lcd_Cmd(_LCD_CLEAR); MOVLW 1 MOVWF FARG_Lcd_Cmd_out_char+0 CALL _Lcd_Cmd+0, 0 ;Calculator.c,19 :: Lcd_Out(1,4,texto); MOVLW 1 MOVWF FARG_Lcd_Out_row+0 MOVLW 4 MOVWF FARG_Lcd_Out_column+0 MOVF FARG_LCD_texto+0, 0 MOVWF FARG_Lcd_Out_text+0 MOVF FARG_LCD_texto+1, 0 MOVWF FARG_Lcd_Out_text+1 CALL _Lcd_Out+0, 0 ;Calculator.c,20 :: } L_end_LCD: RETURN 0 ; end of _LCD _main: ;Calculator.c,26 :: void main() { ;Calculator.c,27 :: Lcd_Cmd(_LCD_CLEAR); MOVLW 1 MOVWF FARG_Lcd_Cmd_out_char+0 CALL _Lcd_Cmd+0, 0 ;Calculator.c,28 :: ADCON1=0x0f; //desativa portas AD MOVLW 15 MOVWF ADCON1+0 ;Calculator.c,29 :: trisd=0x0f; //ob00001111 MOVLW 15 MOVWF TRISD+0 ;Calculator.c,30 :: portb=0xff; //ob11111111 MOVLW 255 MOVWF PORTB+0 ;Calculator.c,31 :: trisb=0xf8; //ob11111000 MOVLW 248 MOVWF TRISB+0 ;Calculator.c,32 :: Lcd_Init(); CALL _Lcd_Init+0, 0 ;Calculator.c,33 :: Lcd_Cmd(_LCD_CURSOR_OFF); //Desabilita o cursor MOVLW 12 MOVWF FARG_Lcd_Cmd_out_char+0 CALL _Lcd_Cmd+0, 0 ;Calculator.c,36 :: while(1){ L_main0: ;Calculator.c,39 :: while(aux1==-1){ L_main2: MOVLW 255 XORWF _aux1+1, 0 BTFSS STATUS+0, 2 GOTO L__main56 MOVLW 255 XORWF _aux1+0, 0 L__main56: BTFSS STATUS+0, 2 GOTO L_main3 ;Calculator.c,40 :: portb.rb1=0; //ativa a segunda coluna BCF PORTB+0, 1 ;Calculator.c,41 :: if (portd.rd0==0){ BTFSC PORTD+0, 0 GOTO L_main4 ;Calculator.c,43 :: aux1=0; CLRF _aux1+0 CLRF _aux1+1 ;Calculator.c,44 :: }else if (portd.rd1==0){ GOTO L_main5 L_main4: BTFSC PORTD+0, 1 GOTO L_main6 ;Calculator.c,46 :: aux1=8; MOVLW 8 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 ;Calculator.c,47 :: }else if (portd.rd2==0){ GOTO L_main7 L_main6: BTFSC PORTD+0, 2 GOTO L_main8 ;Calculator.c,49 :: aux1 = 5; MOVLW 5 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 ;Calculator.c,50 :: }else if (portd.rd3==0){ GOTO L_main9 L_main8: BTFSC PORTD+0, 3 GOTO L_main10 ;Calculator.c,52 :: aux1 = 2;} MOVLW 2 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 L_main10: L_main9: L_main7: L_main5: ;Calculator.c,53 :: portb.rb1=1; //desativa a segunda coluna BSF PORTB+0, 1 ;Calculator.c,55 :: portb.rb2=0; //ativa a terceira coluna BCF PORTB+0, 2 ;Calculator.c,56 :: if (portd.rd0==0); BTFSC PORTD+0, 0 GOTO L_main11 GOTO L_main12 L_main11: ;Calculator.c,58 :: else if (portd.rd1==0){ BTFSC PORTD+0, 1 GOTO L_main13 ;Calculator.c,60 :: aux1 = 9; MOVLW 9 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 ;Calculator.c,61 :: }else if (portd.rd2==0){ GOTO L_main14 L_main13: BTFSC PORTD+0, 2 GOTO L_main15 ;Calculator.c,63 :: aux1 = 6; MOVLW 6 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 ;Calculator.c,64 :: }else if (portd.rd3==0){ GOTO L_main16 L_main15: BTFSC PORTD+0, 3 GOTO L_main17 ;Calculator.c,66 :: aux1 = 3;} MOVLW 3 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 L_main17: L_main16: L_main14: L_main12: ;Calculator.c,67 :: portb.rb2=1; //desativa a terceira coluna BSF PORTB+0, 2 ;Calculator.c,69 :: portb.rb0=0; //ativa a primeira coluna BCF PORTB+0, 0 ;Calculator.c,70 :: if (portd.rd0==0); BTFSC PORTD+0, 0 GOTO L_main18 GOTO L_main19 L_main18: ;Calculator.c,72 :: else if (portd.rd1==0){ BTFSC PORTD+0, 1 GOTO L_main20 ;Calculator.c,74 :: aux1 = 7; MOVLW 7 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 ;Calculator.c,75 :: }else if (portd.rd2==0){ GOTO L_main21 L_main20: BTFSC PORTD+0, 2 GOTO L_main22 ;Calculator.c,77 :: aux1 = 4; MOVLW 4 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 ;Calculator.c,78 :: }else if (portd.rd3==0){ GOTO L_main23 L_main22: BTFSC PORTD+0, 3 GOTO L_main24 ;Calculator.c,80 :: aux1 = 1;} MOVLW 1 MOVWF _aux1+0 MOVLW 0 MOVWF _aux1+1 L_main24: L_main23: L_main21: L_main19: ;Calculator.c,81 :: portb.rb0=1; //desativa a primeira coluna BSF PORTB+0, 0 ;Calculator.c,83 :: }; GOTO L_main2 L_main3: ;Calculator.c,84 :: Lcd_Cmd(_LCD_CLEAR); MOVLW 1 MOVWF FARG_Lcd_Cmd_out_char+0 CALL _Lcd_Cmd+0, 0 ;Calculator.c,85 :: inttostr(aux1,H); MOVF _aux1+0, 0 MOVWF FARG_IntToStr_input+0 MOVF _aux1+1, 0 MOVWF FARG_IntToStr_input+1 MOVLW _H+0 MOVWF FARG_IntToStr_output+0 MOVLW hi_addr(_H+0) MOVWF FARG_IntToStr_output+1 CALL _IntToStr+0, 0 ;Calculator.c,86 :: Lcd_Out(1,1,H); MOVLW 1 MOVWF FARG_Lcd_Out_row+0 MOVLW 1 MOVWF FARG_Lcd_Out_column+0 MOVLW _H+0 MOVWF FARG_Lcd_Out_text+0 MOVLW hi_addr(_H+0) MOVWF FARG_Lcd_Out_text+1 CALL _Lcd_Out+0, 0 ;Calculator.c,87 :: delay_ms(200); MOVLW 3 MOVWF R11, 0 MOVLW 8 MOVWF R12, 0 MOVLW 119 MOVWF R13, 0 L_main25: DECFSZ R13, 1, 1 BRA L_main25 DECFSZ R12, 1, 1 BRA L_main25 DECFSZ R11, 1, 1 BRA L_main25 ;Calculator.c,88 :: LCD_Out(2,1,"->"); MOVLW 2 MOVWF FARG_Lcd_Out_row+0 MOVLW 1 MOVWF FARG_Lcd_Out_column+0 MOVLW ?lstr1_Calculator+0 MOVWF FARG_Lcd_Out_text+0 MOVLW hi_addr(?lstr1_Calculator+0) MOVWF FARG_Lcd_Out_text+1 CALL _Lcd_Out+0, 0 ;Calculator.c,90 :: while(aux2==-1){ L_main26: MOVLW 255 XORWF _aux2+1, 0 BTFSS STATUS+0, 2 GOTO L__main57 MOVLW 255 XORWF _aux2+0, 0 L__main57: BTFSS STATUS+0, 2 GOTO L_main27 ;Calculator.c,91 :: portb.rb1=0; //ativa a segunda coluna BCF PORTB+0, 1 ;Calculator.c,92 :: if (portd.rd0==0){ BTFSC PORTD+0, 0 GOTO L_main28 ;Calculator.c,94 :: aux2=0; CLRF _aux2+0 CLRF _aux2+1 ;Calculator.c,95 :: }else if (portd.rd1==0){ GOTO L_main29 L_main28: BTFSC PORTD+0, 1 GOTO L_main30 ;Calculator.c,97 :: aux2=8; MOVLW 8 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 ;Calculator.c,98 :: }else if (portd.rd2==0){ GOTO L_main31 L_main30: BTFSC PORTD+0, 2 GOTO L_main32 ;Calculator.c,100 :: aux2 = 5; MOVLW 5 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 ;Calculator.c,101 :: }else if (portd.rd3==0){ GOTO L_main33 L_main32: BTFSC PORTD+0, 3 GOTO L_main34 ;Calculator.c,103 :: aux2 = 2;} MOVLW 2 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 L_main34: L_main33: L_main31: L_main29: ;Calculator.c,104 :: portb.rb1=1; //desativa a segunda coluna BSF PORTB+0, 1 ;Calculator.c,106 :: portb.rb2=0; //ativa a terceira coluna BCF PORTB+0, 2 ;Calculator.c,107 :: if (portd.rd0==0); BTFSC PORTD+0, 0 GOTO L_main35 GOTO L_main36 L_main35: ;Calculator.c,109 :: else if (portd.rd1==0){ BTFSC PORTD+0, 1 GOTO L_main37 ;Calculator.c,110 :: aux2 = 9; MOVLW 9 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 ;Calculator.c,111 :: }else if (portd.rd2==0){ GOTO L_main38 L_main37: BTFSC PORTD+0, 2 GOTO L_main39 ;Calculator.c,113 :: aux2 = 6; MOVLW 6 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 ;Calculator.c,114 :: }else if (portd.rd3==0){ GOTO L_main40 L_main39: BTFSC PORTD+0, 3 GOTO L_main41 ;Calculator.c,116 :: aux2 = 3;} MOVLW 3 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 L_main41: L_main40: L_main38: L_main36: ;Calculator.c,117 :: portb.rb2=1; //desativa a terceira coluna BSF PORTB+0, 2 ;Calculator.c,119 :: portb.rb0=0; //ativa a primeira coluna BCF PORTB+0, 0 ;Calculator.c,120 :: if (portd.rd0==0); BTFSC PORTD+0, 0 GOTO L_main42 GOTO L_main43 L_main42: ;Calculator.c,122 :: else if (portd.rd1==0){ BTFSC PORTD+0, 1 GOTO L_main44 ;Calculator.c,124 :: aux2 = 7; MOVLW 7 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 ;Calculator.c,125 :: }else if (portd.rd2==0){ GOTO L_main45 L_main44: BTFSC PORTD+0, 2 GOTO L_main46 ;Calculator.c,127 :: aux2 = 4; MOVLW 4 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 ;Calculator.c,128 :: }else if (portd.rd3==0){ GOTO L_main47 L_main46: BTFSC PORTD+0, 3 GOTO L_main48 ;Calculator.c,130 :: aux2 = 1;} MOVLW 1 MOVWF _aux2+0 MOVLW 0 MOVWF _aux2+1 L_main48: L_main47: L_main45: L_main43: ;Calculator.c,131 :: portb.rb0=1; //desativa a primeira coluna BSF PORTB+0, 0 ;Calculator.c,133 :: }; GOTO L_main26 L_main27: ;Calculator.c,134 :: inttostr(aux2,H); MOVF _aux2+0, 0 MOVWF FARG_IntToStr_input+0 MOVF _aux2+1, 0 MOVWF FARG_IntToStr_input+1 MOVLW _H+0 MOVWF FARG_IntToStr_output+0 MOVLW hi_addr(_H+0) MOVWF FARG_IntToStr_output+1 CALL _IntToStr+0, 0 ;Calculator.c,135 :: Lcd_Out(2,1,H); MOVLW 2 MOVWF FARG_Lcd_Out_row+0 MOVLW 1 MOVWF FARG_Lcd_Out_column+0 MOVLW _H+0 MOVWF FARG_Lcd_Out_text+0 MOVLW hi_addr(_H+0) MOVWF FARG_Lcd_Out_text+1 CALL _Lcd_Out+0, 0 ;Calculator.c,136 :: while(flag == -1){ L_main49: MOVLW 255 XORWF _flag+1, 0 BTFSS STATUS+0, 2 GOTO L__main58 MOVLW 255 XORWF _flag+0, 0 L__main58: BTFSS STATUS+0, 2 GOTO L_main50 ;Calculator.c,137 :: portb.rb2=0; //ativa a terceira coluna BCF PORTB+0, 2 ;Calculator.c,138 :: if (portd.rd0==0){ BTFSC PORTD+0, 0 GOTO L_main51 ;Calculator.c,139 :: res = aux1 + aux2; MOVF _aux2+0, 0 ADDWF _aux1+0, 0 MOVWF R0 MOVF _aux2+1, 0 ADDWFC _aux1+1, 0 MOVWF R1 MOVF R0, 0 MOVWF _res+0 MOVF R1, 0 MOVWF _res+1 ;Calculator.c,140 :: inttostr(res,H); MOVF R0, 0 MOVWF FARG_IntToStr_input+0 MOVF R1, 0 MOVWF FARG_IntToStr_input+1 MOVLW _H+0 MOVWF FARG_IntToStr_output+0 MOVLW hi_addr(_H+0) MOVWF FARG_IntToStr_output+1 CALL _IntToStr+0, 0 ;Calculator.c,141 :: LCD(H); MOVLW _H+0 MOVWF FARG_LCD_texto+0 MOVLW hi_addr(_H+0) MOVWF FARG_LCD_texto+1 CALL _LCD+0, 0 ;Calculator.c,142 :: flag = 0;} CLRF _flag+0 CLRF _flag+1 L_main51: ;Calculator.c,143 :: portb.rb2=1; //desativa a terceira coluna BSF PORTB+0, 2 ;Calculator.c,145 :: portb.rb0=0; //ativa a primeira coluna BCF PORTB+0, 0 ;Calculator.c,146 :: if (portd.rd0==0){ BTFSC PORTD+0, 0 GOTO L_main52 ;Calculator.c,147 :: res = aux1 - aux2; MOVF _aux2+0, 0 SUBWF _aux1+0, 0 MOVWF R0 MOVF _aux2+1, 0 SUBWFB _aux1+1, 0 MOVWF R1 MOVF R0, 0 MOVWF _res+0 MOVF R1, 0 MOVWF _res+1 ;Calculator.c,148 :: inttostr(res,H); MOVF R0, 0 MOVWF FARG_IntToStr_input+0 MOVF R1, 0 MOVWF FARG_IntToStr_input+1 MOVLW _H+0 MOVWF FARG_IntToStr_output+0 MOVLW hi_addr(_H+0) MOVWF FARG_IntToStr_output+1 CALL _IntToStr+0, 0 ;Calculator.c,149 :: LCD(H); MOVLW _H+0 MOVWF FARG_LCD_texto+0 MOVLW hi_addr(_H+0) MOVWF FARG_LCD_texto+1 CALL _LCD+0, 0 ;Calculator.c,150 :: flag = 0;} CLRF _flag+0 CLRF _flag+1 L_main52: ;Calculator.c,151 :: portb.rb0=1; //desativa a primeira coluna BSF PORTB+0, 0 ;Calculator.c,153 :: }; GOTO L_main49 L_main50: ;Calculator.c,154 :: flag = -1; MOVLW 255 MOVWF _flag+0 MOVLW 255 MOVWF _flag+1 ;Calculator.c,155 :: aux1 = -1; MOVLW 255 MOVWF _aux1+0 MOVLW 255 MOVWF _aux1+1 ;Calculator.c,156 :: aux2 = -1; MOVLW 255 MOVWF _aux2+0 MOVLW 255 MOVWF _aux2+1 ;Calculator.c,157 :: res = 0; CLRF _res+0 CLRF _res+1 ;Calculator.c,158 :: delay_ms(1000); MOVLW 11 MOVWF R11, 0 MOVLW 38 MOVWF R12, 0 MOVLW 93 MOVWF R13, 0 L_main53: DECFSZ R13, 1, 1 BRA L_main53 DECFSZ R12, 1, 1 BRA L_main53 DECFSZ R11, 1, 1 BRA L_main53 NOP NOP ;Calculator.c,159 :: Lcd_Out(1,1,"End"); MOVLW 1 MOVWF FARG_Lcd_Out_row+0 MOVLW 1 MOVWF FARG_Lcd_Out_column+0 MOVLW ?lstr2_Calculator+0 MOVWF FARG_Lcd_Out_text+0 MOVLW hi_addr(?lstr2_Calculator+0) MOVWF FARG_Lcd_Out_text+1 CALL _Lcd_Out+0, 0 ;Calculator.c,160 :: } GOTO L_main0 ;Calculator.c,161 :: } L_end_main: GOTO $+0 ; end of _main Calculator/Pronto/Calculator/Calculator.bmk <BOOKMARKS/> Calculator/Pronto/Calculator/Calculator.brk <BREAKS/> Calculator/Pronto/Calculator/Calculator.c // LCD module connections sbit LCD_RS at RE2_bit; sbit LCD_EN at RE1_bit; sbit LCD_D4 at RD4_bit; sbit LCD_D5 at RD5_bit; sbit LCD_D6 at RD6_bit; sbit LCD_D7 at RD7_bit; sbit LCD_RS_Direction at TRISE2_bit; sbit LCD_EN_Direction at TRISE1_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; // End LCD mocule connection // funcao para escrever no LCD void LCD(char texto[16]){ Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,4,texto); } //declaracao de variaveis int aux1 = -1; int aux2 = -1; int flag = -1; int res = 0; char H[7]; void main() { Lcd_Cmd(_LCD_CLEAR); //limpa o LCD ADCON1=0x0f; //desativa portas AD trisd=0x0f; //ob00001111 portb=0xff; //ob11111111 trisb=0xf8; //ob11111000 Lcd_Init(); //inicializa o LCD Lcd_Cmd(_LCD_CURSOR_OFF); //Desabilita o cursor while(1){ // while para captura do primeiro digito while(aux1==-1){ portb.rb1=0; //ativa a segunda coluna if (portd.rd0==0){ aux1=0; }else if (portd.rd1==0){ aux1=8; }else if (portd.rd2==0){ aux1 = 5; }else if (portd.rd3==0){ aux1 = 2;} portb.rb1=1; //desativa a segunda coluna portb.rb2=0; //ativa a terceira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux1 = 9; }else if (portd.rd2==0){ aux1 = 6; }else if (portd.rd3==0){ aux1 = 3;} portb.rb2=1; //desativa a terceira coluna portb.rb0=0; //ativa a primeira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux1 = 7; }else if (portd.rd2==0){ aux1 = 4; }else if (portd.rd3==0){ aux1 = 1;} portb.rb0=1; //desativa a primeira coluna }; Lcd_Cmd(_LCD_CLEAR); // limpa o LCD inttostr(aux1,H); // converte o primeiro digito para uma string Lcd_Out(1,1,H); // escreve o primeiro digito no LCD delay_ms(200); // delay LCD_Out(2,1,"->"); // indica que o software esta pronto para capturar o segundo digito // while para captura do segundo digito while(aux2==-1){ portb.rb1=0; //ativa a segunda coluna if (portd.rd0==0){ aux2=0; }else if (portd.rd1==0){ aux2=8; }else if (portd.rd2==0){ aux2 = 5; }else if (portd.rd3==0){ aux2 = 2;} portb.rb1=1; //desativa a segunda coluna portb.rb2=0; //ativa a terceira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux2 = 9; }else if (portd.rd2==0){ aux2 = 6; }else if (portd.rd3==0){ aux2 = 3;} portb.rb2=1; //desativa a terceira coluna portb.rb0=0; //ativa a primeira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux2 = 7; }else if (portd.rd2==0){ aux2 = 4; }else if (portd.rd3==0){ aux2 = 1;} portb.rb0=1; //desativa a primeira coluna }; inttostr(aux2,H); // converte o segundo digito para uma string Lcd_Out(2,1,H); // escreve o segundo digito no LCD // while para capturar a operacao matematica while(flag == -1){ portb.rb2=0; //ativa a terceira coluna if (portd.rd0==0){ res = aux1 + aux2; // faz a operecao de soma inttostr(res,H); // converte o resultado da operacao para uma string LCD(H); // escreve o resultado da operacao no LCD flag = 0;} // reseta o valor da flag portb.rb2=1; //desativa a terceira coluna portb.rb0=0; //ativa a primeira coluna if (portd.rd0==0){ res = aux1 - aux2; // faz a operecao de subtracao inttostr(res,H); // converte o resultado da operacao para uma string LCD(H); // escreve o resultado da operacao no LCD flag = 0;} // reseta o valor da flag portb.rb0=1; //desativa a primeira coluna }; // reseta os valores das variaveis flag = -1; aux1 = -1; aux2 = -1; res = 0; delay_ms(1000); // delay Lcd_Out(1,1,"End"); // indica que o programa chegou ao fim e esta pronot para fazer outra conta } } Calculator/Pronto/Calculator/Calculator.c.ini [Position] Line=44 Column=6 [FoldedLines] Count=0 Calculator/Pronto/Calculator/Calculator.cfg P18F4550 12 $300000:$0001 $300001:$000C $300002:$0019 $300003:$001E $300005:$0000 $300006:$0080 $300008:$000F $300009:$00C0 $30000A:$000F $30000B:$00E0 $30000C:$000F $30000D:$0040 Calculator/Pronto/Calculator/Calculator.cp #line 1 "C:/Users/Aluno/Desktop/Calculator/Calculator.c" sbit LCD_RS at RE2_bit; sbit LCD_EN at RE1_bit; sbit LCD_D4 at RD4_bit; sbit LCD_D5 at RD5_bit; sbit LCD_D6 at RD6_bit; sbit LCD_D7 at RD7_bit; sbit LCD_RS_Direction at TRISE2_bit; sbit LCD_EN_Direction at TRISE1_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; void LCD(char texto[16]){ Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,4,texto); } int aux1 = -1; int aux2 = -1; int flag = -1; int res = 0; char H[7]; void main() { Lcd_Cmd(_LCD_CLEAR); ADCON1=0x0f; trisd=0x0f; portb=0xff; trisb=0xf8; Lcd_Init(); Lcd_Cmd(_LCD_CURSOR_OFF); while(1){ while(aux1==-1){ portb.rb1=0; if (portd.rd0==0){ aux1=0; }else if (portd.rd1==0){ aux1=8; }else if (portd.rd2==0){ aux1 = 5; }else if (portd.rd3==0){ aux1 = 2;} portb.rb1=1; portb.rb2=0; if (portd.rd0==0); else if (portd.rd1==0){ aux1 = 9; }else if (portd.rd2==0){ aux1 = 6; }else if (portd.rd3==0){ aux1 = 3;} portb.rb2=1; portb.rb0=0; if (portd.rd0==0); else if (portd.rd1==0){ aux1 = 7; }else if (portd.rd2==0){ aux1 = 4; }else if (portd.rd3==0){ aux1 = 1;} portb.rb0=1; }; Lcd_Cmd(_LCD_CLEAR); inttostr(aux1,H); Lcd_Out(1,1,H); delay_ms(200); LCD_Out(2,1,"->"); while(aux2==-1){ portb.rb1=0; if (portd.rd0==0){ aux2=0; }else if (portd.rd1==0){ aux2=8; }else if (portd.rd2==0){ aux2 = 5; }else if (portd.rd3==0){ aux2 = 2;} portb.rb1=1; portb.rb2=0; if (portd.rd0==0); else if (portd.rd1==0){ aux2 = 9; }else if (portd.rd2==0){ aux2 = 6; }else if (portd.rd3==0){ aux2 = 3;} portb.rb2=1; portb.rb0=0; if (portd.rd0==0); else if (portd.rd1==0){ aux2 = 7; }else if (portd.rd2==0){ aux2 = 4; }else if (portd.rd3==0){ aux2 = 1;} portb.rb0=1; }; inttostr(aux2,H); Lcd_Out(2,1,H); while(flag == -1){ portb.rb2=0; if (portd.rd0==0){ res = aux1 + aux2; inttostr(res,H); LCD(H); flag = 0;} portb.rb2=1; portb.rb0=0; if (portd.rd0==0){ res = aux1 - aux2; inttostr(res,H); LCD(H); flag = 0;} portb.rb0=1; }; flag = -1; aux1 = -1; aux2 = -1; res = 0; delay_ms(1000); Lcd_Out(1,1,"End"); } } Calculator/Pronto/Calculator/Calculator.dbg Calculator/Pronto/Calculator/Calculator.dct ______ ____doifc ___boot_delay128k ___boot_delay12k ___boot_delay16k ___boot_delay24k ___boot_delay32k ___boot_delay48k ___boot_delay4k ___boot_delay64k ___boot_delay8k ___mdb4 ___mdb5 ___mdb6 ___mdb7 ___menable ___mrs __ca2aw __cc2d __cc2dw __cca2aw __ccs2s __cs2s __f16_errno __flash_size __fzins __low_savebsr __low_savestatus __low_savewreg __ps2_caps __ps2_num __ps2_scroll __ps2_shift __spi_lcd8_db0 __spi_lcd8_db1 __spi_lcd8_db2 __spi_lcd8_db3 __spi_lcd8_db4 __spi_lcd8_db5 __spi_lcd8_db6 __spi_lcd8_db7 __spi_lcd8_enable __spi_lcd8_rs __spi_lcd8_rw _canspi_config_all_msg _canspi_config_all_valid_msg _canspi_config_dbl_buffer_bit _canspi_config_dbl_buffer_off _canspi_config_dbl_buffer_on _canspi_config_default _canspi_config_line_filter_bit _canspi_config_line_filter_off _canspi_config_line_filter_on _canspi_config_msg_bits _canspi_config_msg_type_bit _canspi_config_phseg2_prg_bit _canspi_config_phseg2_prg_off _canspi_config_phseg2_prg_on _canspi_config_sample_bit _canspi_config_sample_once _canspi_config_sample_thrice _canspi_config_std_msg _canspi_config_valid_std_msg _canspi_config_valid_xtd_msg _canspi_config_xtd_msg _canspi_filter_b1_f1 _canspi_filter_b1_f2 _canspi_filter_b2_f1 _canspi_filter_b2_f2 _canspi_filter_b2_f3 _canspi_filter_b2_f4 _canspi_mask_b1 _canspi_mask_b2 _canspi_mode_bits _canspi_mode_config _canspi_mode_listen _canspi_mode_loop _canspi_mode_normal _canspi_mode_sleep _canspi_rx_dbl_buffered _canspi_rx_filter_1 _canspi_rx_filter_2 _canspi_rx_filter_3 _canspi_rx_filter_4 _canspi_rx_filter_5 _canspi_rx_filter_6 _canspi_rx_filter_bits _canspi_rx_invalid_msg _canspi_rx_overflow _canspi_rx_rtr_frame _canspi_rx_xtd_frame _canspi_tx_frame_bit _canspi_tx_no_rtr_frame _canspi_tx_priority_0 _canspi_tx_priority_1 _canspi_tx_priority_2 _canspi_tx_priority_3 _canspi_tx_priority_bits _canspi_tx_rtr_bit _canspi_tx_rtr_frame _canspi_tx_std_frame _canspi_tx_xtd_frame _cf_command _cf_cyl_hi _cf_cyl_lo _cf_data _cf_error _cf_features _cf_head _cf_identify_cmd _cf_read_sec_cmd _cf_sec_cnt _cf_sec_num _cf_status _cf_write_sec_cmd _ch _command _doprntf _doprnti _doprntl _doprntout _flash_erase _flash_write_latch _glcd_horizontal _glcd_vertical _i2c_ack _i2c_nack _lcd_blink_cursor_on _lcd_clear _lcd_cursor_off _lcd_first_row _lcd_fourth_row _lcd_move_cursor_left _lcd_move_cursor_right _lcd_return_home _lcd_second_row _lcd_shift_left _lcd_shift_right _lcd_third_row _lcd_turn_off _lcd_turn_on _lcd_underline_on _rs485_start_byte _rs485_stop_byte _s1d13700_horizontal _s1d13700_vertical _sin_deg _spi_clk_idle_high _spi_clk_idle_low _spi_data_sample_end _spi_data_sample_middle _spi_ethernet_24j600_broadcast _spi_ethernet_24j600_crc _spi_ethernet_24j600_multicast _spi_ethernet_24j600_unicast _spi_ethernet_broadcast _spi_ethernet_crc _spi_ethernet_multicast _spi_ethernet_unicast _spi_glcd_horizontal _spi_glcd_vertical _spi_high_2_low _spi_low_2_high _spi_master_osc_div16 _spi_master_osc_div4 _spi_master_osc_div64 _spi_master_tmr2 _spi_slave_ss_dis _spi_slave_ss_enable _spi_t6963c_horizontal _spi_t6963c_vertical _t6963c_horizontal _t6963c_vertical a abchannelhsampfactor abchannelhuffactablemap abchannelhuffdctablemap abchannelmap abchannelquanttablemap abchanneltype abchannelvsampfactor abdatabuffer abden abden_bit abdovf abdovf_bit abhuffacsymbol abhuffacsymlen abhuffdcsymbol abhuffdcsymlen abs access ackdt ackdt_bit acken acken_bit ackstat ackstat_bit acos acqt0 acqt0_bit acqt1 acqt1_bit acqt2 acqt2_bit actvie actvie_bit actvif actvif_bit adc_get_sample adc_get_sample_ptr adc_init adc_read adcon0 adcon1 adcon2 adcs0 adcs0_bit adcs1 adcs1_bit adcs2 adcs2_bit add_32x32_fp adden adden_bit addr0 addr0_bit addr0_uaddr_bit addr1 addr1_bit addr1_uaddr_bit addr2 addr2_bit addr2_uaddr_bit addr3 addr3_bit addr3_uaddr_bit addr4 addr4_bit addr5 addr5_bit addr6 addr6_bit aden aden_bit adfm adfm_bit adie adie_bit adif adif_bit adip adip_bit adon adon_bit adres adresh adresl an0 an0_bit an1 an1_bit an2 an2_bit an3 an3_bit an4 an4_bit asin asoneblock asprevdcvalue atan atan2 atof atoi atol aux1 aux2 awhuffacsymstart awhuffdcsymstart awquanttable b0 b1 b2 b3 b4 b5 b6 b7 banked baudcon baudctl bbitsavailable bblocksinonepass bcd2dec bcd2dec16 bchannels bclie bclie_bit bclif bclif_bit bclip bclip_bit bdatabits berror bf bf_bit bfirstbit bgst bgst_bit bhufftables bljfif blquantuses16bits bmajorrev bminorrev bor bor_bit brg16 brg16_bit brgh brgh_bit bsr bsubsampletype btoee btoee_bit btoef btoef_bit btsee btsee_bit btsef btsef_bit button byte2double bytetohex bytetostr c c_bit c1inv c1inv_bit c1out c1out_bit c2inv c2inv_bit c2out c2out_bit canspigetoperationmode canspiinitialize canspiread canspisetbaudrate canspisetfilter canspisetmask canspisetoperationmode canspiwrite ccp1 ccp1_bit ccp1as ccp1con ccp1del ccp1ie ccp1ie_bit ccp1if ccp1if_bit ccp1ip ccp1ip_bit ccp1m0 ccp1m0_bit ccp1m1 ccp1m1_bit ccp1m2 ccp1m2_bit ccp1m3 ccp1m3_bit ccp2con ccp2ie ccp2ie_bit ccp2if ccp2if_bit ccp2ip ccp2ip_bit ccp2m0 ccp2m0_bit ccp2m1 ccp2m1_bit ccp2m2 ccp2m2_bit ccp2m3 ccp2m3_bit ccpr1 ccpr1h ccpr1l ccpr2 ccpr2h ccpr2l ceil cf_detect cf_disable cf_enable cf_fat_append cf_fat_assign cf_fat_delete cf_fat_get_file_date cf_fat_get_file_date_modified cf_fat_get_file_size cf_fat_get_swap_file cf_fat_init cf_fat_quickformat cf_fat_read cf_fat_reset cf_fat_rewrite cf_fat_set_file_date cf_fat_write cf_init cf_issue_id_command cf_read_byte cf_read_init cf_read_sector cf_write_byte cf_write_init cf_write_sector cfgs cfgs_bit character8x7 chs0 chs0_bit chs1 chs1_bit chs2 chs2_bit chs3 chs3_bit cis cis_bit ck ck_bit ck1spp ck1spp_bit ck2spp ck2spp_bit cke cke_bit ckp ckp_bit cl_aqua cl_aqua_16bit cl_black cl_black_16bit cl_blue cl_blue_16bit cl_fuchsia cl_fuchsia_16bit cl_gray cl_gray_16bit cl_green cl_green_16bit cl_lime cl_lime_16bit cl_maroon cl_maroon_16bit cl_navy cl_navy_16bit cl_olive cl_olive_16bit cl_purple cl_purple_16bit cl_red cl_red_16bit cl_silver cl_silver_16bit cl_teal cl_teal_16bit cl_white cl_white_16bit cl_yellow cl_yellow_16bit clk1en clk1en_bit clkcfg0 clkcfg0_bit clkcfg1 clkcfg1_bit cm0 cm0_bit cm1 cm1_bit cm2 cm2_bit cmcon cmie cmie_bit cmif cmif_bit cmip cmip_bit comfrem compare_double cos cose3 cosh cr crc16ee crc16ee_bit crc16ef crc16ef_bit crc5ee crc5ee_bit crc5ef crc5ef_bit cren cren_bit crlf csen csen_bit csrc csrc_bit cvr0 cvr0_bit cvr1 cvr1_bit cvr2 cvr2_bit cvr3 cvr3_bit cvrcon cvref cvref_bit cvren cvren_bit cvroe cvroe_bit cvrr cvrr_bit cvrss cvrss_bit d d_a d_a_bit d_bit d_not_a d_not_a_bit data_address data_address_bit dc dc_bit dc1b0 dc1b0_bit dc1b1 dc1b1_bit dc2b0 dc2b0_bit dc2b1 dc2b1_bit dec2bcd dec2bcd16 delay_100ms delay_10ms delay_10us delay_1ms delay_1sec delay_1us delay_22us delay_500us delay_50us delay_5500us delay_5ms delay_80us delay_8ms delay_cyc dfn8ee dfn8ee_bit dfn8ef dfn8ef_bit dir_ dir__bit div div_16x16_s div_16x16_s_l div_16x16_u div_32x32_fp div_32x32_s div_32x32_u div_8x8_s div_8x8_u done done_bit double2byte double2int double2longint double2longword double2word eccp1as eccp1con eccp1del eccpas0 eccpas0_bit eccpas1 eccpas1_bit eccpas2 eccpas2_bit eccpase eccpase_bit eeadr eecon1 eecon2 eedata eeie eeie_bit eeif eeif_bit eeip eeip_bit eepgd eepgd_bit eeprom_read eeprom_write endp0 endp0_bit endp1 endp1_bit endp2 endp2_bit endp3 endp3_bit epcondis epcondis_bit epcondis_uep1_bit epcondis_uep10_bit epcondis_uep11_bit epcondis_uep12_bit epcondis_uep13_bit epcondis_uep14_bit epcondis_uep15_bit epcondis_uep2_bit epcondis_uep3_bit epcondis_uep4_bit epcondis_uep5_bit epcondis_uep6_bit epcondis_uep7_bit epcondis_uep8_bit epcondis_uep9_bit ephshk ephshk_bit ephshk_uep1_bit ephshk_uep10_bit ephshk_uep11_bit ephshk_uep12_bit ephshk_uep13_bit ephshk_uep14_bit ephshk_uep15_bit ephshk_uep2_bit ephshk_uep3_bit ephshk_uep4_bit ephshk_uep5_bit ephshk_uep6_bit ephshk_uep7_bit ephshk_uep8_bit ephshk_uep9_bit epinen epinen_bit epinen_uep1_bit epinen_uep10_bit epinen_uep11_bit epinen_uep12_bit epinen_uep13_bit epinen_uep14_bit epinen_uep15_bit epinen_uep2_bit epinen_uep3_bit epinen_uep4_bit epinen_uep5_bit epinen_uep6_bit epinen_uep7_bit epinen_uep8_bit epinen_uep9_bit epouten epouten_bit epouten_uep1_bit epouten_uep10_bit epouten_uep11_bit epouten_uep12_bit epouten_uep13_bit epouten_uep14_bit epouten_uep15_bit epouten_uep2_bit epouten_uep3_bit epouten_uep4_bit epouten_uep5_bit epouten_uep6_bit epouten_uep7_bit epouten_uep8_bit epouten_uep9_bit epstall epstall_bit epstall_uep1_bit epstall_uep10_bit epstall_uep11_bit epstall_uep12_bit epstall_uep13_bit epstall_uep14_bit epstall_uep15_bit epstall_uep2_bit epstall_uep3_bit epstall_uep4_bit epstall_uep5_bit epstall_uep6_bit epstall_uep7_bit epstall_uep8_bit epstall_uep9_bit equals_double exp expander_init expander_init_advanced expander_read_byte expander_read_porta expander_read_portab expander_read_portb expander_set_directionporta expander_set_directionportab expander_set_directionportb expander_set_pullupsporta expander_set_pullupsportab expander_set_pullupsportb expander_write_byte expander_write_porta expander_write_portab expander_write_portb f f16_boot_template f16_filedesc f16_sector fabs fast ferr ferr_bit fixsign32 flag flash_erase_64 flash_erase_write_64 flash_read flash_read_n_bytes flash_write_32 floattostr floor flts flts_bit fo_horizontal fo_horizontal_16bit fo_vertical fo_vertical_16bit font_glcd_5x7 font_glcd_character8x7 font_glcd_system3x5 font_glcd_system5x7 font5x7 fontsystem5x7_v2 freadneedsupdate free free_bit freemem frexp frm0 frm0_bit frm1 frm1_bit frm10 frm10_bit frm2 frm2_bit frm3 frm3_bit frm4 frm4_bit frm5 frm5_bit frm6 frm6_bit frm7 frm7_bit frm8 frm8_bit frm9 frm9_bit fsect fsen fsen_bit fsr0 fsr0h fsr0l fsr0ptr fsr1 fsr1h fsr1l fsr1ptr fsr2 fsr2h fsr2l fsr2ptr fullbits gcen gcen_bit gen_enable gen_read gen_write get_fosc_khz gie gie_bit gie_gieh gie_gieh_bit gieh gieh_bit giel giel_bit glcd_box glcd_circle glcd_circle_fill glcd_defaultfont glcd_dot glcd_ext_image glcd_ext_partialimage glcd_fill glcd_get_ext_data_ptr glcd_h_line glcd_image glcd_init glcd_line glcd_partialimage glcd_read_data glcd_rectangle glcd_rectangle_round_edges glcd_rectangle_round_edges_fill glcd_set_ext_buffer glcd_set_ext_font_adv glcd_set_font glcd_set_font_adv glcd_set_page glcd_set_side glcd_set_x glcd_v_line glcd_write_char glcd_write_char_adv glcd_write_const_text glcd_write_const_text_adv glcd_write_const_text_return_pos glcd_write_data glcd_write_text glcd_write_text_adv glcd_write_text_return_pos go go_bit go_done go_done_bit go_not_done go_not_done_bit h halfbits hid_disable hid_enable hid_read hid_write hlvdcon hlvden hlvden_bit hlvdie hlvdie_bit hlvdif hlvdif_bit hlvdin hlvdin_bit hlvdip hlvdip_bit hlvdl0 hlvdl0_bit hlvdl1 hlvdl1_bit hlvdl2 hlvdl2_bit hlvdl3 hlvdl3_bit i2c_dat i2c_dat_bit i2c_read i2c_read_bit i2c_start_ i2c_start__bit i2c_stop_ i2c_stop__bit i2c1_init i2c1_is_idle i2c1_rd i2c1_repeated_start i2c1_start i2c1_stop i2c1_wr ics_auto ics_off idleie idleie_bit idleif idleif_bit idlen idlen_bit imagefileasarray indf0 indf1 indf2 int0 int0_bit int0e int0e_bit int0f int0f_bit int0ie int0ie_bit int0if int0if_bit int1 int1_bit int1e int1e_bit int1f int1f_bit int1ie int1ie_bit int1if int1if_bit int1ip int1ip_bit int1p int1p_bit int2 int2_bit int2double int2e int2e_bit int2f int2f_bit int2ie int2ie_bit int2if int2if_bit int2ip int2ip_bit int2p int2p_bit intcon intcon2 intcon3 intedg0 intedg0_bit intedg1 intedg1_bit intedg2 intedg2_bit intsrc intsrc_bit inttohex inttostr inttostrwithzeros iofs iofs_bit ipen ipen_bit ipr1 ipr2 ircf0 ircf0_bit ircf1 ircf1_bit ircf2 ircf2_bit irvst irvst_bit isalnum isalpha iscntrl isdigit isgraph islower ispunct isspace isupper isxdigit ivrst ivrst_bit jpegdecoder jpegdecoder_16bit keypad_init keypad_key_click keypad_key_press labs lata lata0 lata0_bit lata1 lata1_bit lata2 lata2_bit lata3 lata3_bit lata4 lata4_bit lata5 lata5_bit lata6 lata6_bit latb latb0 latb0_bit latb1 latb1_bit latb2 latb2_bit latb3 latb3_bit latb4 latb4_bit latb5 latb5_bit latb6 latb6_bit latb7 latb7_bit latc latc0 latc0_bit latc1 latc1_bit latc2 latc2_bit latc6 latc6_bit latc7 latc7_bit latd latd0 latd0_bit latd1 latd1_bit latd2 latd2_bit latd3 latd3_bit latd4 latd4_bit latd5 latd5_bit latd6 latd6_bit latd7 latd7_bit late late0 late0_bit late1 late1_bit late2 late2_bit lcd lcd_chr lcd_chr_cp lcd_cmd lcd_d4 lcd_d4_direction lcd_d5 lcd_d5_direction lcd_d6 lcd_d6_direction lcd_d7 lcd_d7_direction lcd_en lcd_en_direction lcd_init lcd_out lcd_out_cp lcd_rs lcd_rs_direction ldexp ldiv left_to_right left_to_right_16bit lf log log10 longint2double longinttohex longinttostrwithzeros longjmp longtostr longword2double longwordtohex longwordtostr longwordtostrwithzeros ltrim lvdcon lvden lvden_bit lvdie lvdie_bit lvdif lvdif_bit lvdin lvdin_bit lvdip lvdip_bit lvdl0 lvdl0_bit lvdl1 lvdl1_bit lvdl2 lvdl2_bit lvdl3 lvdl3_bit lvv0 lvv0_bit lvv1 lvv1_bit lvv2 lvv2_bit lvv3 lvv3_bit main malloc man_break man_receive man_receive_init man_send man_send_init man_synchro max max_files memchr memcmp memcpy memmove memset min mm_error_ mm_freememtable mm_init mm_largestfreememblock mm_nrfreeblocksused mm_possiblyfragmented mm_totalfreememsize mmc_fat_activate mmc_fat_append mmc_fat_assign mmc_fat_changedir mmc_fat_close mmc_fat_delete mmc_fat_dir mmc_fat_eof mmc_fat_exists mmc_fat_get_file_date mmc_fat_get_file_date_modified mmc_fat_get_file_size mmc_fat_get_swap_file mmc_fat_init mmc_fat_makedir mmc_fat_open mmc_fat_quickformat mmc_fat_read mmc_fat_readn mmc_fat_removedir mmc_fat_rename mmc_fat_renamedir mmc_fat_reset mmc_fat_rewrite mmc_fat_seek mmc_fat_set_file_date mmc_fat_tell mmc_fat_write mmc_get_file_write_sector mmc_init mmc_init_vars mmc_multi_read_sector mmc_multi_read_start mmc_multi_read_stop mmc_read_cid mmc_read_csd mmc_read_sector mmc_write_sector modf mul_16x16_s mul_16x16_u mul_32x32_fp mul_32x32_s mul_32x32_u mul_8x8_s n n_bit not_a not_a_bit not_address not_address_bit not_bor not_bor_bit not_done not_done_bit not_ipen not_ipen_bit not_pd not_pd_bit not_por not_por_bit not_rbpu not_rbpu_bit not_ri not_ri_bit not_t1sync not_t1sync_bit not_t3sync not_t3sync_bit not_to not_to_bit not_w not_w_bit not_write not_write_bit nr_free_blocks nrm3232 nrm4032 oerr oerr_bit oespp oespp_bit osc2 osc2_bit osccon oscfie oscfie_bit oscfif oscfif_bit oscfip oscfip_bit osctune osts osts_bit ov ov_bit ow_read ow_reset ow_write p p_bit p1a p1a_bit p1m0 p1m0_bit p1m1 p1m1_bit pbcurrenthuffsymboltable pbcurrenthuffsymlentable pc pcfg0 pcfg0_bit pcfg1 pcfg1_bit pcfg2 pcfg2_bit pcfg3 pcfg3_bit pcl pclath pclatu pcu0 pcu0_bit pcu1 pcu1_bit pcu2 pcu2_bit pcu3 pcu3_bit pcu4 pcu4_bit pd pd_bit pdc0 pdc0_bit pdc1 pdc1_bit pdc2 pdc2_bit pdc3 pdc3_bit pdc4 pdc4_bit pdc5 pdc5_bit pdc6 pdc6_bit peie peie_bit peie_giel peie_giel_bit pen pen_bit pgc pgc_bit pgd pgd_bit pgm pgm_bit pidee pidee_bit pidef pidef_bit pie1 pie2 pir1 pir2 pktdis pktdis_bit plusw0 plusw1 plusw2 por por_bit porta portb portc portd porte postdec0 postdec1 postdec2 postinc0 postinc1 postinc2 pow ppb0 ppb0_bit ppb1 ppb1_bit ppbi ppbi_bit ppbrst ppbrst_bit pr2 preinc0 preinc1 preinc2 printout prod prodh prodl prsen prsen_bit ps2_config ps2_key_read psa psa_bit pssac0 pssac0_bit pssac1 pssac1_bit pssbd0 pssbd0_bit pssbd1 pssbd1_bit pwcurrenthuffsymstarttable pwcurrentquanttable pwm1_init pwm1_set_duty pwm1_start pwm1_stop pwm2_init pwm2_set_duty pwm2_start pwm2_stop r r_bit r_not_w r_not_w_bit r_w r_w_bit r0 r1 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r2 r20 r3 r4 r5 r6 r7 r8 r9 ra0 ra0_bit ra1 ra1_bit ra2 ra2_bit ra3 ra3_bit ra4 ra4_bit ra5 ra5_bit ra6 ra6_bit rand rb0 rb0_bit rb1 rb1_bit rb2 rb2_bit rb3 rb3_bit rb4 rb4_bit rb5 rb5_bit rb6 rb6_bit rb7 rb7_bit rbie rbie_bit rbif rbif_bit rbip rbip_bit rbpu rbpu_bit rc0 rc0_bit rc1 rc1_bit rc2 rc2_bit rc4 rc4_bit rc5 rc5_bit rc6 rc6_bit rc7 rc7_bit rcen rcen_bit rcidl rcidl_bit rcie rcie_bit rcif rcif_bit rcip rcip_bit rcmt rcmt_bit rcon rcreg rcsta rd rd_bit rd0 rd0_bit rd1 rd1_bit rd16 rd16_bit rd16_t1con_bit rd2 rd2_bit rd3 rd3_bit rd4 rd4_bit rd5 rd5_bit rd6 rd6_bit rd7 rd7_bit rdpu rdpu_bit rdpu_porte_bit rdspp rdspp_bit re0 re0_bit re1 re1_bit re2 re2_bit re3 re3_bit read_write read_write_bit res res032 resume_ resume__bit ri ri_bit rs485master_init rs485master_receive rs485master_send rs485slave_init rs485slave_receive rs485slave_send rsen rsen_bit rtrim rx_ rx__bit rx9 rx9_bit rx9d rx9d_bit rxdtp rxdtp_bit s s_bit s1d13700_black s1d13700_box s1d13700_cgram_adr s1d13700_circle s1d13700_circle_fill s1d13700_cs_down s1d13700_cs_left s1d13700_cs_right s1d13700_cs_up s1d13700_csrform s1d13700_csrr s1d13700_csrw s1d13700_cursor_block s1d13700_cursor_flash_1hz s1d13700_cursor_flash_2hz s1d13700_cursor_off s1d13700_cursor_on s1d13700_cursor_underscore s1d13700_defaultfont s1d13700_disp_off s1d13700_disp_on s1d13700_display_cursor s1d13700_display_grlayer s1d13700_display_txtlayer s1d13700_dot s1d13700_ext_image s1d13700_ext_partialimage s1d13700_fill s1d13700_get_ext_data_ptr s1d13700_grayscale s1d13700_grfill s1d13700_h_line s1d13700_hdot_scr s1d13700_image s1d13700_init s1d13700_layer_flash_16hz s1d13700_layer_flash_2hz s1d13700_layer_off s1d13700_layer_on s1d13700_line s1d13700_memread s1d13700_memwrite s1d13700_overlay_and s1d13700_overlay_or s1d13700_overlay_xor s1d13700_ovlay s1d13700_partialimage s1d13700_power_save s1d13700_read_parameter s1d13700_rectangle s1d13700_rectangle_round_edges s1d13700_rectangle_round_edges_fill s1d13700_scroll s1d13700_set_cursor s1d13700_set_ext_buffer s1d13700_set_ext_font_adv s1d13700_set_font_adv s1d13700_system_set s1d13700_txtfill s1d13700_v_line s1d13700_white s1d13700_write_char s1d13700_write_char_adv s1d13700_write_command s1d13700_write_const_text s1d13700_write_const_text_adv s1d13700_write_const_text_return_pos s1d13700_write_parameter s1d13700_write_text s1d13700_write_text_adv s1d13700_write_text_return_pos sboren sboren_bit sckp sckp_bit scs0 scs0_bit scs1 scs1_bit sdiv3232l se0 se0_bit sen sen_bit sendb sendb_bit setfdz32 setfov32 setfun32 setiov3224 setjmp shorttohex shorttostr sin sine3 sinh smp smp_bit sofie sofie_bit sofif sofif_bit soft_i2c_break soft_i2c_init soft_i2c_read soft_i2c_start soft_i2c_stop soft_i2c_write soft_spi_init soft_spi_read soft_spi_write soft_uart_break soft_uart_init soft_uart_read soft_uart_write sound_init sound_play spbrg spbrgh spen spen_bit spi_ethernet_24j600_arpcache spi_ethernet_24j600_arpresolve spi_ethernet_24j600_checksum spi_ethernet_24j600_clearbitreg spi_ethernet_24j600_confnetwork spi_ethernet_24j600_delay spi_ethernet_24j600_dhcpmsg spi_ethernet_24j600_dhcpreceive spi_ethernet_24j600_disable spi_ethernet_24j600_dnsipaddr spi_ethernet_24j600_dnsresolve spi_ethernet_24j600_doarp spi_ethernet_24j600_dodhcp spi_ethernet_24j600_dodhcpleasetime spi_ethernet_24j600_dodns spi_ethernet_24j600_dopacket spi_ethernet_24j600_dotcp spi_ethernet_24j600_doudp spi_ethernet_24j600_enable spi_ethernet_24j600_ff spi_ethernet_24j600_getbyte spi_ethernet_24j600_getbytes spi_ethernet_24j600_getdnsipaddress spi_ethernet_24j600_getgwipaddress spi_ethernet_24j600_getipaddress spi_ethernet_24j600_getipmask spi_ethernet_24j600_gwipaddr spi_ethernet_24j600_init spi_ethernet_24j600_init2 spi_ethernet_24j600_initdhcp spi_ethernet_24j600_ipaddr spi_ethernet_24j600_ipmask spi_ethernet_24j600_ipswap spi_ethernet_24j600_macaddr spi_ethernet_24j600_macswap spi_ethernet_24j600_memcmp spi_ethernet_24j600_memcpy spi_ethernet_24j600_pktlen spi_ethernet_24j600_putbyte spi_ethernet_24j600_putbytes spi_ethernet_24j600_putconstbytes spi_ethernet_24j600_putconststring spi_ethernet_24j600_putstring spi_ethernet_24j600_ramcopy spi_ethernet_24j600_readaddr spi_ethernet_24j600_readmem spi_ethernet_24j600_readpacket spi_ethernet_24j600_readphy spi_ethernet_24j600_readreg spi_ethernet_24j600_renewdhcp spi_ethernet_24j600_rmtipaddr spi_ethernet_24j600_sendudp spi_ethernet_24j600_sendudp2 spi_ethernet_24j600_setbitreg spi_ethernet_24j600_setrxreadaddress spi_ethernet_24j600_subnetbroadcast spi_ethernet_24j600_txpacket spi_ethernet_24j600_usertimersec spi_ethernet_24j600_writeaddr spi_ethernet_24j600_writemem spi_ethernet_24j600_writememory spi_ethernet_24j600_writememory2 spi_ethernet_24j600_writephy spi_ethernet_24j600_writereg spi_ethernet_arpcache spi_ethernet_arpresolve spi_ethernet_checksum spi_ethernet_clearbitreg spi_ethernet_confnetwork spi_ethernet_delay spi_ethernet_dhcpmsg spi_ethernet_dhcpreceive spi_ethernet_disable spi_ethernet_dnsipaddr spi_ethernet_dnsresolve spi_ethernet_doarp spi_ethernet_dodhcp spi_ethernet_dodhcpleasetime spi_ethernet_dodns spi_ethernet_dopacket spi_ethernet_dotcp spi_ethernet_doudp spi_ethernet_enable spi_ethernet_ff spi_ethernet_getbyte spi_ethernet_getbytes spi_ethernet_getdnsipaddress spi_ethernet_getgwipaddress spi_ethernet_getipaddress spi_ethernet_getipmask spi_ethernet_gwipaddr spi_ethernet_init spi_ethernet_init2 spi_ethernet_initdhcp spi_ethernet_ipaddr spi_ethernet_ipmask spi_ethernet_ipswap spi_ethernet_macaddr spi_ethernet_macswap spi_ethernet_memcmp spi_ethernet_memcpy spi_ethernet_pktlen spi_ethernet_putbyte spi_ethernet_putbytes spi_ethernet_putconstbytes spi_ethernet_putconststring spi_ethernet_putstring spi_ethernet_ramcopy spi_ethernet_readmem spi_ethernet_readpacket spi_ethernet_readphy spi_ethernet_readreg spi_ethernet_renewdhcp spi_ethernet_rmtipaddr spi_ethernet_sendudp spi_ethernet_sendudp2 spi_ethernet_setbitreg spi_ethernet_setrxreadaddress spi_ethernet_subnetbroadcast spi_ethernet_txpacket spi_ethernet_usertimersec spi_ethernet_writeaddr spi_ethernet_writemem spi_ethernet_writememory spi_ethernet_writememory2 spi_ethernet_writephy spi_ethernet_writereg spi_glcd_box spi_glcd_circle spi_glcd_circle_fill spi_glcd_const_write_text spi_glcd_dot spi_glcd_ext_image spi_glcd_ext_partialimage spi_glcd_fill spi_glcd_get_ext_data_ptr spi_glcd_h_line spi_glcd_image spi_glcd_init spi_glcd_line spi_glcd_partialimage spi_glcd_read_data spi_glcd_rectangle spi_glcd_rectangle_round_edges spi_glcd_rectangle_round_edges_fill spi_glcd_set_ext_buffer spi_glcd_set_ext_font_adv spi_glcd_set_font spi_glcd_set_font_adv spi_glcd_set_page spi_glcd_set_side spi_glcd_set_x spi_glcd_v_line spi_glcd_write_char spi_glcd_write_char_adv spi_glcd_write_const_text_adv spi_glcd_write_const_text_return_pos spi_glcd_write_data spi_glcd_write_text spi_glcd_write_text_adv spi_glcd_write_text_return_pos spi_lcd_chr spi_lcd_chr_cp spi_lcd_cmd spi_lcd_config spi_lcd_out spi_lcd_out_cp spi_lcd8_chr spi_lcd8_chr_cp spi_lcd8_cmd spi_lcd8_config spi_lcd8_out spi_lcd8_out_cp spi_rd_ptr spi_read spi_set_active spi_t6963c_box spi_t6963c_circle spi_t6963c_circle_fill spi_t6963c_clearbit spi_t6963c_config spi_t6963c_defaultfont spi_t6963c_display spi_t6963c_dot spi_t6963c_ext_image spi_t6963c_ext_partialimage spi_t6963c_fill spi_t6963c_fontwidth spi_t6963c_get_ext_data_ptr spi_t6963c_grheight spi_t6963c_grhomeaddr spi_t6963c_grmemsize spi_t6963c_grwidth spi_t6963c_image spi_t6963c_line spi_t6963c_negbit spi_t6963c_partialimage spi_t6963c_rectangle spi_t6963c_rectangle_round_edges spi_t6963c_rectangle_round_edges_fill spi_t6963c_set_cursor spi_t6963c_set_ext_buffer spi_t6963c_set_ext_font_adv spi_t6963c_set_font_adv spi_t6963c_setbit spi_t6963c_setptr spi_t6963c_sprite spi_t6963c_texthomeaddr spi_t6963c_txtcols spi_t6963c_txtmemsize spi_t6963c_waitready spi_t6963c_write_char spi_t6963c_write_char_adv spi_t6963c_write_const_text spi_t6963c_write_const_text_adv spi_t6963c_write_const_text_return_pos spi_t6963c_write_text spi_t6963c_write_text_adv spi_t6963c_write_text_return_pos spi_t6963c_writecommand spi_t6963c_writedata spi_wr_ptr spi_write spi1_init spi1_init_advanced spi1_read spi1_write spp0 spp0_bit spp1 spp1_bit spp2 spp2_bit spp3 spp3_bit spp4 spp4_bit spp5 spp5_bit spp6 spp6_bit spp7 spp7_bit sppbusy sppbusy_bit sppcfg sppcon sppdata sppen sppen_bit sppeps sppie sppie_bit sppif sppif_bit sppip sppip_bit sppown sppown_bit sprintf sprinti sprintl sqrt srand sren sren_bit sspadd sspbuf sspcon1 sspcon2 sspen sspen_bit sspie sspie_bit sspif sspif_bit sspip sspip_bit sspm0 sspm0_bit sspm1 sspm1_bit sspm2 sspm2_bit sspm3 sspm3_bit sspov sspov_bit sspstat stallie stallie_bit stallif stallif_bit status stkful stkful_bit stkovf stkovf_bit stkptr stkptr0 stkptr0_bit stkptr1 stkptr1_bit stkptr2 stkptr2_bit stkptr3 stkptr3_bit stkptr4 stkptr4_bit stkunf stkunf_bit strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr strtok sub_32x32_fp suspnd suspnd_bit swap swdte swdte_bit swdten swdten_bit sync sync_bit system3x5 t08bit t08bit_bit t0cki t0cki_bit t0con t0cs t0cs_bit t0ie t0ie_bit t0if t0if_bit t0ip t0ip_bit t0ps0 t0ps0_bit t0ps1 t0ps1_bit t0ps2 t0ps2_bit t0se t0se_bit t13cki t13cki_bit t1ckps0 t1ckps0_bit t1ckps1 t1ckps1_bit t1con t1oscen t1oscen_bit t1osi t1osi_bit t1oso t1oso_bit t1run t1run_bit t1sync t1sync_bit t2ckps0 t2ckps0_bit t2ckps1 t2ckps1_bit t2con t2outps0 t2outps0_bit t2outps1 t2outps1_bit t2outps2 t2outps2_bit t2outps3 t2outps3_bit t3ccp1 t3ccp1_bit t3ccp2 t3ccp2_bit t3ckps0 t3ckps0_bit t3ckps1 t3ckps1_bit t3con t3nsync t3nsync_bit t3sync t3sync_bit t6963c_box t6963c_circle t6963c_circle_fill t6963c_defaultfont t6963c_display t6963c_dot t6963c_ext_image t6963c_ext_partialimage t6963c_fill t6963c_fontwidth t6963c_get_ext_data_ptr t6963c_grheight t6963c_grhomeaddr t6963c_grmemsize t6963c_grwidth t6963c_image t6963c_init t6963c_line t6963c_partialimage t6963c_rectangle t6963c_rectangle_round_edges t6963c_rectangle_round_edges_fill t6963c_set_cursor t6963c_set_ext_buffer t6963c_set_ext_font_adv t6963c_set_font_adv t6963c_setptr t6963c_sprite t6963c_texthomeaddr t6963c_txtcols t6963c_txtmemsize t6963c_waitready t6963c_write_char t6963c_write_char_adv t6963c_write_const_text t6963c_write_const_text_adv t6963c_write_const_text_return_pos t6963c_write_text t6963c_write_text_adv t6963c_write_text_return_pos t6963c_writecommand t6963c_writedata tablat tan tanh tblptr tblptrh tblptrl tblptru tft_16bit_circle tft_16bit_color16bittorgb tft_16bit_defaultfont tft_16bit_dot tft_16bit_ext_image tft_16bit_ext_partial_image tft_16bit_fill_screen tft_16bit_get_ext_data_ptr tft_16bit_getcurrentcolor tft_16bit_h_line tft_16bit_image tft_16bit_image_jpeg tft_16bit_line tft_16bit_partial_image tft_16bit_rectangle tft_16bit_rectangle_round_edges tft_16bit_rgbtocolor16bit tft_16bit_rotate_180 tft_16bit_set_active tft_16bit_set_address_ptr tft_16bit_set_brush tft_16bit_set_default_mode tft_16bit_set_ext_buffer tft_16bit_set_ext_font tft_16bit_set_font tft_16bit_set_index tft_16bit_set_index_ptr tft_16bit_set_pen tft_16bit_set_reg tft_16bit_v_line tft_16bit_write_char tft_16bit_write_command tft_16bit_write_command_ptr tft_16bit_write_const_text tft_16bit_write_const_text_return_pos tft_16bit_write_data tft_16bit_write_data_ptr tft_16bit_write_text tft_16bit_write_text_return_pos tft_circle tft_color16bittorgb tft_defaultfont tft_dot tft_ext_image tft_ext_partial_image tft_fill_screen tft_get_ext_data_ptr tft_getcurrentcolor tft_h_line tft_image tft_image_jpeg tft_init tft_init_hx8347g tft_init_hx8352a tft_init_ili9340 tft_init_ili9342 tft_init_ili9481 tft_init_r61526 tft_init_ssd1963 tft_init_ssd1963_8bit tft_init_sst7715r tft_line tft_partial_image tft_rectangle tft_rectangle_round_edges tft_rgbtocolor16bit tft_rotate_180 tft_set_active tft_set_address_ptr tft_set_brush tft_set_default_mode tft_set_ext_buffer tft_set_ext_font tft_set_font tft_set_index tft_set_index_ptr tft_set_pen tft_set_reg tft_ssd1963_8bit_set_index tft_ssd1963_8bit_set_reg tft_ssd1963_8bit_write_data tft_ssd1963yt_8bit_write_command tft_v_line tft_write_char tft_write_command tft_write_command_ptr tft_write_const_text tft_write_const_text_return_pos tft_write_data tft_write_data_ptr tft_write_text tft_write_text_return_pos time_datetoepoch time_epochtodate time_jd1970 tmr0h tmr0ie tmr0ie_bit tmr0if tmr0if_bit tmr0ip tmr0ip_bit tmr0l tmr0on tmr0on_bit tmr1cs tmr1cs_bit tmr1h tmr1ie tmr1ie_bit tmr1if tmr1if_bit tmr1ip tmr1ip_bit tmr1l tmr1on tmr1on_bit tmr2 tmr2ie tmr2ie_bit tmr2if tmr2if_bit tmr2ip tmr2ip_bit tmr2on tmr2on_bit tmr3cs tmr3cs_bit tmr3h tmr3ie tmr3ie_bit tmr3if tmr3if_bit tmr3ip tmr3ip_bit tmr3l tmr3on tmr3on_bit to_ to__bit tolower top_to_bottom top_to_bottom_16bit tosh tosl tosu toupper toutps0 toutps0_bit toutps1 toutps1_bit toutps2 toutps2_bit toutps3 toutps3_bit tp_calibrate_bottom_left tp_calibrate_upper_right tp_get_calibration_consts tp_get_coordinates tp_init tp_press_detect tp_set_adc_threshold tp_set_calibration_consts tp_tft_calibrate_max tp_tft_calibrate_min tp_tft_get_calibration_consts tp_tft_get_coordinates tp_tft_init tp_tft_press_detect tp_tft_rotate_180 tp_tft_set_adc_threshold tp_tft_set_calibration_consts tp_tft_set_default_mode trisa trisa0 trisa0_bit trisa1 trisa1_bit trisa2 trisa2_bit trisa3 trisa3_bit trisa4 trisa4_bit trisa5 trisa5_bit trisa6 trisa6_bit trisb trisb0 trisb0_bit trisb1 trisb1_bit trisb2 trisb2_bit trisb3 trisb3_bit trisb4 trisb4_bit trisb5 trisb5_bit trisb6 trisb6_bit trisb7 trisb7_bit trisc trisc0 trisc0_bit trisc1 trisc1_bit trisc2 trisc2_bit trisc6 trisc6_bit trisc7 trisc7_bit trisd trisd0 trisd0_bit trisd1 trisd1_bit trisd2 trisd2_bit trisd3 trisd3_bit trisd4 trisd4_bit trisd5 trisd5_bit trisd6 trisd6_bit trisd7 trisd7_bit trise trise0 trise0_bit trise1 trise1_bit trise2 trise2_bit trmt trmt_bit trnie trnie_bit trnif trnif_bit tun0 tun0_bit tun1 tun1_bit tun2 tun2_bit tun3 tun3_bit tun4 tun4_bit tx tx_bit tx9 tx9_bit tx9d tx9d_bit txckp txckp_bit txen txen_bit txie txie_bit txif txif_bit txip txip_bit txreg txsta ua ua_bit uaddr uart_data_ready uart_rd_ptr uart_rdy_ptr uart_read uart_read_text uart_set_active uart_tx_idle uart_tx_idle_ptr uart_wr_ptr uart_write uart_write_text uart1_data_ready uart1_init uart1_read uart1_read_text uart1_tx_idle uart1_write uart1_write_text ucfg ucon ueie ueir uep0 uep1 uep10 uep11 uep12 uep13 uep14 uep15 uep2 uep3 uep4 uep5 uep6 uep7 uep8 uep9 uerrie uerrie_bit uerrif uerrif_bit ufrmh ufrml uie uir uldiv uoemon uoemon_bit upuen upuen_bit urstie urstie_bit urstif urstif_bit usb_break usb_interrupt_proc usb_polling_proc usben usben_bit usbie usbie_bit usbif usbif_bit usbip usbip_bit ustat uteye uteye_bit utrdis utrdis_bit vcfg0 vcfg0_bit vcfg1 vcfg1_bit vdelay_advanced_ms vdelay_ms vdirmag vdirmag_bit vrefm vrefm_bit vrefp vrefp_bit w wblocknumber wbufferindex wbufferlen wcol wcol_bit wdtcon wheight word2double wordtohex wordtostr wordtostrwithzeros wprevx wprevy wr wr_bit wreg wren wren_bit wrerr wrerr_bit wrestartinterval wrspp wrspp_bit ws0 ws0_bit ws1 ws1_bit ws2 ws2_bit ws3 ws3_bit wue wue_bit wwidth wworkbits xtoi z z_bit Calculator/Pronto/Calculator/Calculator.dlt Calculator/Pronto/Calculator/Calculator.docx // Sistemas Embarcados //Rodrigo Reviglio Weishaupt //201020656 //Calculadora // LCD module connections sbit LCD_RS at RE2_bit; sbit LCD_EN at RE1_bit; sbit LCD_D4 at RD4_bit; sbit LCD_D5 at RD5_bit; sbit LCD_D6 at RD6_bit; sbit LCD_D7 at RD7_bit; sbit LCD_RS_Direction at TRISE2_bit; sbit LCD_EN_Direction at TRISE1_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; // End LCD mocule connection // funcao para escrever no LCD void LCD(char texto[16]){ Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,4,texto); } //declaracao de variaveis int aux1 = -1; int aux2 = -1; int flag = -1; int res = 0; char H[7]; void main() { Lcd_Cmd(_LCD_CLEAR); //limpa o LCD ADCON1=0x0f; //desativa portas AD trisd=0x0f; //ob00001111 portb=0xff; //ob11111111 trisb=0xf8; //ob11111000 Lcd_Init(); //inicializa o LCD Lcd_Cmd(_LCD_CURSOR_OFF); //Desabilita o cursor while(1){ // while para captura do primeiro digito while(aux1==-1){ portb.rb1=0; //ativa a segunda coluna if (portd.rd0==0){ aux1=0; }else if (portd.rd1==0){ aux1=8; }else if (portd.rd2==0){ aux1 = 5; }else if (portd.rd3==0){ aux1 = 2;} portb.rb1=1; //desativa a segunda coluna portb.rb2=0; //ativa a terceira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux1 = 9; }else if (portd.rd2==0){ aux1 = 6; }else if (portd.rd3==0){ aux1 = 3;} portb.rb2=1; //desativa a terceira coluna portb.rb0=0; //ativa a primeira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux1 = 7; }else if (portd.rd2==0){ aux1 = 4; }else if (portd.rd3==0){ aux1 = 1;} portb.rb0=1; //desativa a primeira coluna }; Lcd_Cmd(_LCD_CLEAR); // limpa o LCD inttostr(aux1,H); // converte o primeiro digito para uma string Lcd_Out(1,1,H); // escreve o primeiro digito no LCD delay_ms(200); // delay LCD_Out(2,1,"->"); // indica que o software esta pronto para capturar o segundo digito // while para captura do segundo digito while(aux2==-1){ portb.rb1=0; //ativa a segunda coluna if (portd.rd0==0){ aux2=0; }else if (portd.rd1==0){ aux2=8; }else if (portd.rd2==0){ aux2 = 5; }else if (portd.rd3==0){ aux2 = 2;} portb.rb1=1; //desativa a segunda coluna portb.rb2=0; //ativa a terceira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux2 = 9; }else if (portd.rd2==0){ aux2 = 6; }else if (portd.rd3==0){ aux2 = 3;} portb.rb2=1; //desativa a terceira coluna portb.rb0=0; //ativa a primeira coluna if (portd.rd0==0); else if (portd.rd1==0){ aux2 = 7; }else if (portd.rd2==0){ aux2 = 4; }else if (portd.rd3==0){ aux2 = 1;} portb.rb0=1; //desativa a primeira coluna }; inttostr(aux2,H); // converte o segundo digito para uma string Lcd_Out(2,1,H); // escreve o segundo digito no LCD // while para capturar a operacao matematica while(flag == -1){ portb.rb2=0; //ativa a terceira coluna if (portd.rd0==0){ res = aux1 + aux2; // faz a operecao de soma inttostr(res,H); // converte o resultado da operacao para uma string LCD(H); // escreve o resultado da operacao no LCD flag = 0;} // reseta o valor da flag portb.rb2=1; //desativa a terceira coluna portb.rb0=0; //ativa a primeira coluna if (portd.rd0==0){ res = aux1 - aux2; // faz a operecao de subtracao inttostr(res,H); // converte o resultado da operacao para uma string LCD(H); // escreve o resultado da operacao no LCD flag = 0;} // reseta o valor da flag portb.rb0=1; //desativa a primeira coluna }; // reseta os valores das variaveis flag = -1; aux1 = -1; aux2 = -1; res = 0; delay_ms(1000); // delay Lcd_Out(1,1,"End"); // indica que o programa chegou ao fim e esta pronot para fazer outra conta } } Calculator/Pronto/Calculator/Calculator.hex :10000000D1EF01F00000000000EF00F00000000060 :0A0010000000000000000000F3D71C :06001C00000000001200CC :100022000F0E0C6E470E0D6E0D2EFED70C2EFCD74A :06003200000000001200B6 :0A003800210E0D6E0D2EFED71200F2 :100042003EBE02D0839E01D0838E3EBC02D0839CF2 :1000520001D0838C3EBA02D0839A01D0838A3EB803 :1000620002D0839801D0838824B002D0848401D046 :1000720084948482D2DF84923EB602D0839E01D0E1 :10008200838E3EB402D0839C01D0838C3EB202D0D8 :10009200839A01D0838A3EB002D0839801D08388AC :1000A20024B002D0848401D084948482B6DF849206 :0C00B20024A002D0B5DF01D0BEDF120098 :1000BE00086A096A100E0C6E0134083609360450AF :1000CE00085E0550D8A0053C095ED8B007D0045094 :1000DE0008260550D8B0053C0926D89000360136C2 :0600EE000C2EEAD71200FF :0C00F40024903DC03EF0A3DF24801200E9 :100100000FD0800E366E19D0C00E366E16D0940EFB :10011000366E13D0D40E366E10D0800E366E0DD0E3 :100120003650010AEEE03650020AEEE03650030A7D :10013000EEE03650040AEEE0F0D73704006E365099 :10014000002600C036F000C03EF07BDF24903A6A03 :100150003A503824E96E000E3920EA6EEE520BE078 :100160003A503824E96E000E3920EA6EEECF3DF0A9 :0A017000C1DF3A2AEDD72480120007 :10017A003A6A050E3A5C0AE23A503824E16E000EF9 :10018A003920E26E200EE66E3A2AF3D73A50382426 :10019A00E16E000E3920E26EE66A3A063A503824D9 :1001AA003B6E000E39203C6E0A0E046E000E056E80 :1001BA0036C000F037C001F07DDF08C000F009C08A :1001CA0001F0300E00263BC0E1FF3CC0E2FF00C058 :1001DA00E6FF0A0E046E000E056E36C000F037C048 :1001EA0001F068DF00C036F001C037F0000E0118D8 :1001FA0002E1000E001801E102D03A06CFD7120040 :10020A00969296949598959A959C959E84928494A4 :10021A00839E839C839A8398FFDEFEDEFDDE838ABB :10022A0083888482F6DE8492F7DE8482F2DE849208 :10023A00F3DE8482EEDE8492EFDE83988482E9DE46 :10024A008492EADE8482E5DE8492839A838E8482B3 :10025A00E0DE8492E1DE839E83888482DADE849201 :10026A0083988482D6DE8492D7DE8482D2DE849218 :10027A0083888482CEDE8492CFDE83988482C9DE2C :10028A008492838E838C838A83888482C2DE84925A :06029A00C3DE2480120007 :1002A0000900F5CFE6FF0006FBE10106F9E11200C7 :1002B000010E3E6EC6DE010E366E040E376E2CC089 :0A02C00038F02DC039F01CDF1200E9 :1002CA00326A336A2CC034F02DC035F0800E2D18F6 :1002DA00006E800E005C02E1000E2C5C0BE2010E47 :1002EA00326E000E336E2C500008346E2DC035F07D :1002FA00000E355634C036F035C037F02EC038F00F :10030A002FC039F035DF060E306E000E316E000E4A :10031A00006E3150005C02E13050000819E23050A2 :10032A002E24E16E31502F20E26E010E305C006EF9 :10033A00000E3158016E00502E24E96E01502F2014 :10034A00EA6EEECFE6FF010E305E000E315ADFD7BD :10035A002EC0E1FF2FC0E2FF200EE66E32503310AE :10036A001AE0306A316A30502E24E96E31502F205B :10037A00EA6EEE50200A03E1304A312AF4D7010E20 :10038A00305E000E315A30502E24E16E31502F204B :08039A00E26E2D0EE66E12006A :1003A200FF0E156EFF0E166EFF0E176EFF0E186E05 :1003B200450E196E6E0E1A6E640E1B6E1C6A1D6A55 :1003C2001E6A2D0E1F6E3E0E206E216AFF0E226ED9 :1003D200FF0E236E010E3E6E33DE0F0EC16E0F0E48 :1003E200956EFF0E816EF80E936E0EDF0C0E3E6E52 :1003F20027DEFF0E231802E1FF0E22184EE1819242 :1004020083B003D0226A236A14D083B205D0080EC7 :10041200226E000E236E0DD083B405D0050E226E1F :10042200000E236E06D083B604D0020E226E000E9A :10043200236E8182819483B001D014D083B205D01F :10044200090E226E000E236E0DD083B405D0060E67 :10045200226E000E236E06D083B604D0030E226EE7 :10046200000E236E8184819083B001D014D083B2B8 :1004720005D0070E226E000E236E0DD083B405D078 :10048200040E226E000E236E06D083B604D0010E37 :10049200226E000E236E8180ACD7010E3E6ED0DD3F :1004A20022C02CF023C02DF0250E2E6E000E2F6ED2 :1004B2000BDF010E366E010E376E250E386E000E02 :1004C200396E1DDE030E0B6E080E0C6E770E0D6E6E :1004D2000D2EFED70C2EFCD70B2EFAD7020E366E3F :1004E200010E376E1F0E386E000E396E08DEFF0EDB :1004F200161802E1FF0E15184EE1819283B003D067 :10050200156A166A14D083B205D0080E156E000E55 :10051200166E0DD083B405D0050E156E000E166E44 :1005220006D083B604D0020E156E000E166E8182BE :10053200819483B001D014D083B205D0090E156E18 :10054200000E166E0DD083B405D0060E156E000E89 :10055200166E06D083B604D0030E156E000E166E0C :100562008184819083B001D014D083B205D0070E6C :10057200156E000E166E0DD083B405D0040E156EE6 :10058200000E166E06D083B604D0010E156E000E54 :10059200166E8180ACD715C02CF016C02DF0250E3A :1005A2002E6E000E2F6E90DE020E366E010E376E2C :1005B200250E386E000E396EA2DDFF0E181802E10C :1005C200FF0E17183DE1819483B01AD015502224F2 :1005D200006E16502320016E00C01DF001C01EF0F7 :1005E20000C02CF001C02DF0250E2E6E000E2F6ED5 :1005F2006BDE250E2C6E000E2D6E59DE176A186A00 :100602008184819083B01AD01550225C006E1650FE :100612002358016E00C01DF001C01EF000C02CF076 :1006220001C02DF0250E2E6E000E2F6E4DDE250E12 :100632002C6E000E2D6E3BDE176A186A8180BDD7C4 :10064200FF0E176EFF0E186EFF0E226EFF0E236E48 :10065200FF0E156EFF0E166E1D6A1E6A0B0E0B6ED6 :10066200260E0C6E5D0E0D6E0D2EFED70C2EFCD7D7 :100672000B2EFAD700000000010E366E010E376E07 :0E068200190E386E000E396E3ADDB3D6FFD772 :020000040030CA :0E000000010C191EFF0080FF0FC00FE00F4023 :00000001FF Calculator/Pronto/Calculator/Calculator.log 0 1 mikroCPIC1618.exe -MSF -DBG -pP18F4550 -DL -O11111114 -fo8 -N"C:\Users\Aluno\Desktop\Calculator\Calculator.mcppi" -SP"C:\Program Files (x86)\mikroC PRO for PIC\defs\" -SP"C:\Program Files (x86)\mikroC PRO for PIC\uses\P18\" -SP"C:\Users\Aluno\Desktop\Calculator\" -SP"C:\Users\Aluno\Desktop\" "Calculator.c" "Calculator.c" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_CType.mcl" "__Lib_CString.mcl" "__Lib_CStdlib.mcl" "__Lib_CMath.mcl" "__Lib_MemManager.mcl" "__Lib_Conversions.mcl" "__Lib_Sprintf.mcl" "__Lib_PrintOut.mcl" "__Lib_Sprinti.mcl" "__Lib_Sprintl.mcl" "__Lib_Time.mcl" "__Lib_Trigonometry.mcl" "__Lib_Button.mcl" "__Lib_Keypad4x4.mcl" "__Lib_Manchester.mcl" "__Lib_OneWire.mcl" "__Lib_PS2.mcl" "__Lib_Sound.mcl" "__Lib_SoftI2C.mcl" "__Lib_SoftSPI.mcl" "__Lib_SoftUART.mcl" "__Lib_ADC_A_D.mcl" "__Lib_EEPROM_256.mcl" "__Lib_FLASH_w32_e64.mcl" "__Lib_I2C_b10.mcl" "__Lib_PWM_c21.mcl" "__Lib_SPI_b10c7.mcl" "__Lib_UART_c67.mcl" "__Lib_USB_genHID.mcl" "__Lib_PortExpander.mcl" "__Lib_CANSPI.mcl" "__Lib_CF.mcl" "__Lib_CFFat16.mcl" "__Lib_GlcdFonts.mcl" "__Lib_Glcd.mcl" "__Lib_LcdConsts.mcl" "__Lib_Lcd.mcl" "__Lib_Mmc.mcl" "__Lib_MmcFat16.mcl" "__Lib_MmcFat16Constants.mcl" "__Lib_RS485.mcl" "__Lib_S1D13700.mcl" "__Lib_T6963C.mcl" "__Lib_SPIGlcd.mcl" "__Lib_SPILcd.mcl" "__Lib_SPILcd8.mcl" "__Lib_SPIT6963C.mcl" "__Lib_EthEnc28j60.mcl" "__Lib_TFT.mcl" "__Lib_TFT_16bit.mcl" "__Lib_TouchPanel_TFT.mcl" "__Lib_EthEnc24j600.mcl" "__Lib_TouchPanel.mcl" diagnostics: 0 126 All files Preprocessed in 31 ms diagnostics: 0 122 Compilation Started Calculator.c diagnostics: 161 123 Compiled Successfully Calculator.c diagnostics: 0 122 Compilation Started Calculator.c diagnostics: 161 123 Compiled Successfully Calculator.c diagnostics: 0 127 All files Compiled in 78 ms diagnostics: 0 125 Project Linked Successfully Calculator.mcppi diagnostics: 0 128 Linked in 328 ms diagnostics: 0 129 Project 'Calculator.mcppi' completed: 531 ms diagnostics: 0 103 Finished successfully: 08 abr 2015, 10:54:18 Calculator.mcppi Calculator/Pronto/Calculator/Calculator.lst ; LST file generated by mikroListExporter - v.2.0 ; Date/Time: 08/04/2015 10:54:18 ;---------------------------------------------- ;Address Opcode ASM 0x0000 0xF001EFD1 GOTO 930 0x0004 0x0000 NOP 0x0006 0x0000 NOP 0x0008 0xF000EF00 GOTO 0 0x000C 0x0000 NOP 0x000E 0x0000 NOP 0x0010 0x0000 NOP 0x0012 0x0000 NOP 0x0014 0x0000 NOP 0x0016 0x0000 NOP 0x0018 0xD7F3 BRA 0 _Delay_1us: ;__Lib_Delays.c,7 :: void Delay_1us() { ;__Lib_Delays.c,8 :: Delay_us(1); 0x001C 0x0000 NOP 0x001E 0x0000 NOP ;__Lib_Delays.c,9 :: } L_end_Delay_1us: 0x0020 0x0012 RETURN 0 ; end of _Delay_1us _Delay_5500us: ;__Lib_Delays.c,31 :: void Delay_5500us() { ;__Lib_Delays.c,32 :: Delay_us(5500); 0x0022 0x0E0F MOVLW 15 0x0024 0x6E0C MOVWF R12, 0 0x0026 0x0E47 MOVLW 71 0x0028 0x6E0D MOVWF R13, 0 L_Delay_5500us5: 0x002A 0x2E0D DECFSZ R13, 1, 0 0x002C 0xD7FE BRA L_Delay_5500us5 0x002E 0x2E0C DECFSZ R12, 1, 0 0x0030 0xD7FC BRA L_Delay_5500us5 0x0032 0x0000 NOP 0x0034 0x0000 NOP ;__Lib_Delays.c,33 :: } L_end_Delay_5500us: 0x0036 0x0012 RETURN 0 ; end of _Delay_5500us _Delay_50us: ;__Lib_Delays.c,19 :: void Delay_50us() { ;__Lib_Delays.c,20 :: Delay_us(50); 0x0038 0x0E21 MOVLW 33 0x003A 0x6E0D MOVWF R13, 0 L_Delay_50us2: 0x003C 0x2E0D DECFSZ R13, 1, 0 0x003E 0xD7FE BRA L_Delay_50us2 ;__Lib_Delays.c,21 :: } L_end_Delay_50us: 0x0040 0x0012 RETURN 0 ; end of _Delay_50us _Lcd_Cmd: ;__Lib_Lcd.c,18 :: ;__Lib_Lcd.c,20 :: 0x0042 0xBE3E BTFSC FARG_Lcd_Cmd_out_char, 7 0x0044 0xD002 BRA L__Lcd_Cmd21 0x0046 0x9E83 BCF LCD_D7, BitPos(LCD_D7+0) 0x0048 0xD001 BRA L__Lcd_Cmd22 L__Lcd_Cmd21: 0x004A 0x8E83 BSF LCD_D7, BitPos(LCD_D7+0) L__Lcd_Cmd22: ;__Lib_Lcd.c,21 :: 0x004C 0xBC3E BTFSC FARG_Lcd_Cmd_out_char, 6 0x004E 0xD002 BRA L__Lcd_Cmd23 0x0050 0x9C83 BCF LCD_D6, BitPos(LCD_D6+0) 0x0052 0xD001 BRA L__Lcd_Cmd24 L__Lcd_Cmd23: 0x0054 0x8C83 BSF LCD_D6, BitPos(LCD_D6+0) L__Lcd_Cmd24: ;__Lib_Lcd.c,22 :: 0x0056 0xBA3E BTFSC FARG_Lcd_Cmd_out_char, 5 0x0058 0xD002 BRA L__Lcd_Cmd25 0x005A 0x9A83 BCF LCD_D5, BitPos(LCD_D5+0) 0x005C 0xD001 BRA L__Lcd_Cmd26 L__Lcd_Cmd25: 0x005E 0x8A83 BSF LCD_D5, BitPos(LCD_D5+0) L__Lcd_Cmd26: ;__Lib_Lcd.c,23 :: 0x0060 0xB83E BTFSC FARG_Lcd_Cmd_out_char, 4 0x0062 0xD002 BRA L__Lcd_Cmd27 0x0064 0x9883 BCF LCD_D4, BitPos(LCD_D4+0) 0x0066 0xD001 BRA L__Lcd_Cmd28 L__Lcd_Cmd27: 0x0068 0x8883 BSF LCD_D4, BitPos(LCD_D4+0) L__Lcd_Cmd28: ;__Lib_Lcd.c,25 :: 0x006A 0xB024 BTFSC __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0) 0x006C 0xD002 BRA L__Lcd_Cmd29 0x006E 0x8484 BSF LCD_RS, BitPos(LCD_RS+0) 0x0070 0xD001 BRA L__Lcd_Cmd30 L__Lcd_Cmd29: 0x0072 0x9484 BCF LCD_RS, BitPos(LCD_RS+0) L__Lcd_Cmd30: ;__Lib_Lcd.c,28 :: 0x0074 0x8284 BSF LCD_EN, BitPos(LCD_EN+0) ;__Lib_Lcd.c,29 :: 0x0076 0xDFD2 RCALL _Delay_1us ;__Lib_Lcd.c,30 :: 0x0078 0x9284 BCF LCD_EN, BitPos(LCD_EN+0) ;__Lib_Lcd.c,33 :: 0x007A 0xB63E BTFSC FARG_Lcd_Cmd_out_char, 3 0x007C 0xD002 BRA L__Lcd_Cmd31 0x007E 0x9E83 BCF LCD_D7, BitPos(LCD_D7+0) 0x0080 0xD001 BRA L__Lcd_Cmd32 L__Lcd_Cmd31: 0x0082 0x8E83 BSF LCD_D7, BitPos(LCD_D7+0) L__Lcd_Cmd32: ;__Lib_Lcd.c,34 :: 0x0084 0xB43E BTFSC FARG_Lcd_Cmd_out_char, 2 0x0086 0xD002 BRA L__Lcd_Cmd33 0x0088 0x9C83 BCF LCD_D6, BitPos(LCD_D6+0) 0x008A 0xD001 BRA L__Lcd_Cmd34 L__Lcd_Cmd33: 0x008C 0x8C83 BSF LCD_D6, BitPos(LCD_D6+0) L__Lcd_Cmd34: ;__Lib_Lcd.c,35 :: 0x008E 0xB23E BTFSC FARG_Lcd_Cmd_out_char, 1 0x0090 0xD002 BRA L__Lcd_Cmd35 0x0092 0x9A83 BCF LCD_D5, BitPos(LCD_D5+0) 0x0094 0xD001 BRA L__Lcd_Cmd36 L__Lcd_Cmd35: 0x0096 0x8A83 BSF LCD_D5, BitPos(LCD_D5+0) L__Lcd_Cmd36: ;__Lib_Lcd.c,36 :: 0x0098 0xB03E BTFSC FARG_Lcd_Cmd_out_char, 0 0x009A 0xD002 BRA L__Lcd_Cmd37 0x009C 0x9883 BCF LCD_D4, BitPos(LCD_D4+0) 0x009E 0xD001 BRA L__Lcd_Cmd38 L__Lcd_Cmd37: 0x00A0 0x8883 BSF LCD_D4, BitPos(LCD_D4+0) L__Lcd_Cmd38: ;__Lib_Lcd.c,38 :: 0x00A2 0xB024 BTFSC __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0) 0x00A4 0xD002 BRA L__Lcd_Cmd39 0x00A6 0x8484 BSF LCD_RS, BitPos(LCD_RS+0) 0x00A8 0xD001 BRA L__Lcd_Cmd40 L__Lcd_Cmd39: 0x00AA 0x9484 BCF LCD_RS, BitPos(LCD_RS+0) L__Lcd_Cmd40: ;__Lib_Lcd.c,40 :: 0x00AC 0x8284 BSF LCD_EN, BitPos(LCD_EN+0) ;__Lib_Lcd.c,41 :: 0x00AE 0xDFB6 RCALL _Delay_1us ;__Lib_Lcd.c,42 :: 0x00B0 0x9284 BCF LCD_EN, BitPos(LCD_EN+0) ;__Lib_Lcd.c,44 :: 0x00B2 0xA024 BTFSS __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0) 0x00B4 0xD002 BRA L_Lcd_Cmd0 ;__Lib_Lcd.c,45 :: 0x00B6 0xDFB5 RCALL _Delay_5500us 0x00B8 0xD001 BRA L_Lcd_Cmd1 L_Lcd_Cmd0: ;__Lib_Lcd.c,47 :: 0x00BA 0xDFBE RCALL _Delay_50us L_Lcd_Cmd1: ;__Lib_Lcd.c,48 :: L_end_Lcd_Cmd: 0x00BC 0x0012 RETURN 0 ; end of _Lcd_Cmd _Div_16x16_U: ;__Lib_Math.c,102 :: ;__Lib_Math.c,109 :: 0x00BE 0x6A08 CLRF R8, 0 ;__Lib_Math.c,110 :: 0x00C0 0x6A09 CLRF R9, 0 ;__Lib_Math.c,111 :: 0x00C2 0x0E10 MOVLW 16 ;__Lib_Math.c,112 :: 0x00C4 0x6E0C MOVWF R12, 0 ;__Lib_Math.c,113 :: 0x00C6 0x3401 RLCF R1, 0, 0 ;__Lib_Math.c,114 :: 0x00C8 0x3608 RLCF R8, 1, 0 ;__Lib_Math.c,115 :: 0x00CA 0x3609 RLCF R9, 1, 0 ;__Lib_Math.c,116 :: 0x00CC 0x5004 MOVF R4, 0, 0 ;__Lib_Math.c,117 :: 0x00CE 0x5E08 SUBWF R8, 1, 0 ;__Lib_Math.c,118 :: 0x00D0 0x5005 MOVF R5, 0, 0 ;__Lib_Math.c,119 :: 0x00D2 0xA0D8 BTFSS STATUS, 0, 0 ;__Lib_Math.c,120 :: 0x00D4 0x3C05 INCFSZ R5, 0, 0 ;__Lib_Math.c,121 :: 0x00D6 0x5E09 SUBWF R9, 1, 0 ;__Lib_Math.c,122 :: 0x00D8 0xB0D8 BTFSC STATUS, 0, 0 ;__Lib_Math.c,123 :: 0x00DA 0xD007 BRA $+16 ;__Lib_Math.c,124 :: 0x00DC 0x5004 MOVF R4, 0, 0 ;__Lib_Math.c,125 :: 0x00DE 0x2608 ADDWF R8, 1, 0 ;__Lib_Math.c,126 :: 0x00E0 0x5005 MOVF R5, 0, 0 ;__Lib_Math.c,127 :: 0x00E2 0xB0D8 BTFSC STATUS, 0, 0 ;__Lib_Math.c,128 :: 0x00E4 0x3C05 INCFSZ R5, 0, 0 ;__Lib_Math.c,129 :: 0x00E6 0x2609 ADDWF R9, 1, 0 ;__Lib_Math.c,130 :: 0x00E8 0x90D8 BCF STATUS, 0, 0 ;__Lib_Math.c,131 :: 0x00EA 0x3600 RLCF R0, 1, 0 ;__Lib_Math.c,132 :: 0x00EC 0x3601 RLCF R1, 1, 0 ;__Lib_Math.c,133 :: 0x00EE 0x2E0C DECFSZ R12, 1, 0 ;__Lib_Math.c,134 :: 0x00F0 0xD7EA BRA $-42 ;__Lib_Math.c,136 :: L_end_Div_16x16_U: 0x00F2 0x0012 RETURN 0 ; end of _Div_16x16_U _Lcd_Chr_CP: ;__Lib_Lcd.c,50 :: ;__Lib_Lcd.c,52 :: 0x00F4 0x9024 BCF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0) ;__Lib_Lcd.c,53 :: 0x00F6 0xF03EC03D MOVFF FARG_Lcd_Chr_CP_out_char, FARG_Lcd_Cmd_out_char 0x00FA 0xDFA3 RCALL _Lcd_Cmd ;__Lib_Lcd.c,54 :: 0x00FC 0x8024 BSF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0) ;__Lib_Lcd.c,55 :: L_end_Lcd_Chr_CP: 0x00FE 0x0012 RETURN 0 ; end of _Lcd_Chr_CP _Lcd_Out: ;__Lib_Lcd.c,184 :: ;__Lib_Lcd.c,187 :: 0x0100 0xD00F BRA L_Lcd_Out11 ;__Lib_Lcd.c,188 :: L_Lcd_Out13: 0x0102 0x0E80 MOVLW 128 0x0104 0x6E36 MOVWF FARG_Lcd_Out_row 0x0106 0xD019 BRA L_Lcd_Out12 ;__Lib_Lcd.c,189 :: L_Lcd_Out14: 0x0108 0x0EC0 MOVLW 192 0x010A 0x6E36 MOVWF FARG_Lcd_Out_row 0x010C 0xD016 BRA L_Lcd_Out12 ;__Lib_Lcd.c,190 :: L_Lcd_Out15: 0x010E 0x0E94 MOVLW 148 0x0110 0x6E36 MOVWF FARG_Lcd_Out_row 0x0112 0xD013 BRA L_Lcd_Out12 ;__Lib_Lcd.c,191 :: L_Lcd_Out16: 0x0114 0x0ED4 MOVLW 212 0x0116 0x6E36 MOVWF FARG_Lcd_Out_row 0x0118 0xD010 BRA L_Lcd_Out12 ;__Lib_Lcd.c,192 :: L_Lcd_Out17: 0x011A 0x0E80 MOVLW 128 0x011C 0x6E36 MOVWF FARG_Lcd_Out_row ;__Lib_Lcd.c,193 :: 0x011E 0xD00D BRA L_Lcd_Out12 L_Lcd_Out11: 0x0120 0x5036 MOVF FARG_Lcd_Out_row, 0 0x0122 0x0A01 XORLW 1 0x0124 0xE0EE BZ L_Lcd_Out13 0x0126 0x5036 MOVF FARG_Lcd_Out_row, 0 0x0128 0x0A02 XORLW 2 0x012A 0xE0EE BZ L_Lcd_Out14 0x012C 0x5036 MOVF FARG_Lcd_Out_row, 0 0x012E 0x0A03 XORLW 3 0x0130 0xE0EE BZ L_Lcd_Out15 0x0132 0x5036 MOVF FARG_Lcd_Out_row, 0 0x0134 0x0A04 XORLW 4 0x0136 0xE0EE BZ L_Lcd_Out16 0x0138 0xD7F0 BRA L_Lcd_Out17 L_Lcd_Out12: ;__Lib_Lcd.c,194 :: 0x013A 0x0437 DECF FARG_Lcd_Out_column, 0 0x013C 0x6E00 MOVWF R0 0x013E 0x5036 MOVF FARG_Lcd_Out_row, 0 0x0140 0x2600 ADDWF R0, 1 0x0142 0xF036C000 MOVFF R0, FARG_Lcd_Out_row ;__Lib_Lcd.c,196 :: 0x0146 0xF03EC000 MOVFF R0, FARG_Lcd_Cmd_out_char 0x014A 0xDF7B RCALL _Lcd_Cmd ;__Lib_Lcd.c,197 :: 0x014C 0x9024 BCF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0) ;__Lib_Lcd.c,198 :: 0x014E 0x6A3A CLRF Lcd_Out_i_L0 ;__Lib_Lcd.c,199 :: L_Lcd_Out18: 0x0150 0x503A MOVF Lcd_Out_i_L0, 0 0x0152 0x2438 ADDWF FARG_Lcd_Out_text, 0 0x0154 0x6EE9 MOVWF FSR0L 0x0156 0x0E00 MOVLW 0 0x0158 0x2039 ADDWFC FARG_Lcd_Out_text+1, 0 0x015A 0x6EEA MOVWF FSR0H 0x015C 0x52EE MOVF POSTINC0, 1 0x015E 0xE00B BZ L_Lcd_Out19 ;__Lib_Lcd.c,200 :: 0x0160 0x503A MOVF Lcd_Out_i_L0, 0 0x0162 0x2438 ADDWF FARG_Lcd_Out_text, 0 0x0164 0x6EE9 MOVWF FSR0L 0x0166 0x0E00 MOVLW 0 0x0168 0x2039 ADDWFC FARG_Lcd_Out_text+1, 0 0x016A 0x6EEA MOVWF FSR0H 0x016C 0xF03DCFEE MOVFF POSTINC0, FARG_Lcd_Chr_CP_out_char 0x0170 0xDFC1 RCALL _Lcd_Chr_CP 0x0172 0x2A3A INCF Lcd_Out_i_L0, 1 0x0174 0xD7ED BRA L_Lcd_Out18 L_Lcd_Out19: ;__Lib_Lcd.c,201 :: 0x0176 0x8024 BSF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0) ;__Lib_Lcd.c,202 :: L_end_Lcd_Out: 0x0178 0x0012 RETURN 0 ; end of _Lcd_Out _WordToStr: ;__Lib_Conversions.c,84 :: ;__Lib_Conversions.c,89 :: 0x017A 0x6A3A CLRF WordToStr_len_L0 L_WordToStr6: 0x017C 0x0E05 MOVLW 5 0x017E 0x5C3A SUBWF WordToStr_len_L0, 0 0x0180 0xE20A BC L_WordToStr7 ;__Lib_Conversions.c,90 :: 0x0182 0x503A MOVF WordToStr_len_L0, 0 0x0184 0x2438 ADDWF FARG_WordToStr_output, 0 0x0186 0x6EE1 MOVWF FSR1L 0x0188
Compartilhar