Transcript
Multiplicaçao,Quadrado,Divisão,,,,,
numero1; ,numero;,numero1; ,"BTFSC status,c; ",,,,
numero2; ,ciclos;,numero2; ,goto subrotina_increm_,,,,
ciclos; ,resultado;,dividendo; ,resultado; ,,,,
resultado; ,CLRF ciclos;,resultado; ,goto fim; ,,,,
CLRF ciclos; ,CLRF resultado;,CLRF dividendo; ,increm_resultado; ,,,,
CLRF resultado; ,"MOVF numero, w",CLRF resultado; ,INCF resultado; ,,,,
"MOVF numero2, w ",MOVWF ciclos;,"MOVF numero1, w ",goto subrotina_divisao; ,,,,
MOVWF ciclos; ,subrotina_quadrado,MOVWF dividendo; ,fim ,,,,
subrotina_multiplicacao ,"MOVF resultado,w;",subrotina_divisao ,end. ,,,,
"MOVF resultado,w; ","ADDWF numero,w;","MOVF numero2,w; ",,,,,
"ADDWF numero1,w; ",MOVWF resultado;,"SUBWF dividendo,dividendo; ",,,,,
MOVWF resultado;,DECF ciclos;,nº vezes botão pressionado,,,,,
DECF ciclos; ,"BTFSS status,z;",numero;,,,,,
"BTFSC status,z; ",goto ,"#define botao portb,0;",,,,,
goto ,subrotina_quadrado,CLRF numero;,,,,,
subrotina_multiplicacao,end,subrotina_contagem,,,,,
end. ,,BTFSC botao;,,,,,
Soma,Subtracao,GOTO subrotina_contagem;,,,,,
num1;,num1;,teste_liberacao,,,,,
num2;,num2;,BTFSS botao;,,,,,
resultado;,resultado;,GOTO teste_liberacao;,,,,,
zeramento,zeramento,INCF numero;,,,,,
CLRF resultado;,CLRF resultado;,GOTO subrotina_contagem;,,,,,
inicio,inicio,end.,,,,,
"MOVF num1,w;","MOVF num1,w;","Led acend botao pressio. 2 vezes, apaga 3",,,,,
"ADDWF num2,w;","SUBWF num2,w;",,,,,,
MOVWF,MOVWF,numero;,GOTO subrotina_ligar;,,,,
resultado;,resultado;,"#DEFINE botao portb,0;",BSF led;,,,,
end.,end.,"#DEFINE led portb,1;",MOVLW .3;,,,,
Quadrado,,CLRF numero;,MOVWF numero;,,,,
numero;,Acend Led c botao 1,loop,subrotina_desligar;,,,,
ciclos;,Apaga led c/ botao 2,MOVLW .2;,BTFSC botao;,,,,
resultado;,"#DEFINE botao1 porta,2; ",MOVWF numero;,GOTO subrotina_desligar;,,,,
CLRF ciclos;,"#DEFINE botao2 porta,3; ",subrotina_ligar,teste_liberacao2,,,,
CLRF resultado;,"#DEFINE led portb,0; ",BTFSC botao;,BTFSS botao;,,,,
"MOVF numero, w",loop ,GOTO subrotina_ligar;,GOTO teste_liberacao2;,,,,
MOVWF ciclos;,BTFSS botao1; ,teste_liberacao,DECF numero;,,,,
subrotina_quadrado,goto acende_led; ,BTFSS botao;,"BTFSS status,z;",,,,
"MOVF resultado,w;",BTFSS botao2; ,GOTO teste_liberacao;,GOTO subrotina_desligar;,,,,
"ADDWF numero,w;",goto apaga_led ,DECF numero;,BCF led;,,,,
MOVWF resultado;,goto loop; ,"BTFSS status,z;",GOTO loop;,,,,
DECF ciclos;,acende_led ,,end.,,,,
"BTFSS status,z;",BSF led; ,,,,,,
goto subrotina_quadrado,goto loop; ,Cubo,,,,,
end,apaga_led ,numero;,"BTFSS status,z;",,,,
Acend Led c/ botao p,BCF led; ,ciclos;,goto subrotina_quadrado;,,,,
"#DEFINE botao porta,2; ",goto loop; ,resultado;,"MOVF numero,w;",,,,
"#DEFINE led portb,0; ",end. ,CLRF ciclos;,MOVWF ciclos;,,,,
loop ,,CLRF resultado;,CLRW;,,,,
BTFSS botao; ,,"MOVF numero, w",subrotina_cubo,,,,
goto acende_led; ,,MOVWF ciclos;,"ADDWF resultado,w;",,,,
BCF led; ,,subrotina_quadrado,MOVWF resultado_final,,,,
goto loop; ,,"MOVF resultado,w;",DECF ciclos;,,,,
acende_led ,,"ADDWF numero,w;","BTFSS status,z;",,,,
BSF led; ,,MOVWF resultado;,GOTO subrotina cubo;,,,,
goto loop; ,,DECF ciclos;,end.,,,,
end. ,,,,,,,
,,,,,,,
Observação: há alguns programas com erros,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
"Acender led c/ botao pressionado, apaga 20s",,,,,,,
unidade;,CLRF ciclo1;,GOTO ponto1;,,,,,
ciclo1;,CLRF ciclo2;,INCF ciclo3;,,,,,
ciclo2;,CLRF ciclo3;,MOVLW .100;,,,,,
ciclo3;,ponto1,"XORWF ciclo3,w;",,,,,
"#define botao portb,0;",INCF ciclo1;,"BTFSS status,z;",,,,,
"#define led portb,1;",MOVLW .100;,GOTO ponto1;,,,,,
loop,"XORWF ciclo1,w;",INCF unidade;,,,,,
BTFSC botao,"BTFSS status,z;",MOVLW .20;,,,,,
GOTO loop;,GOTO ponto1;,"XORWF unidade,w;",,,,,
zeramento,INCF ciclo2;,"BTFSS status,z;",,,,,
CLRF unidade;,MOVLW .100;,GOTO contagem_20s,,,,,
contagem_20s,"XORWF ciclo2,w;",BCF led;,,,,,
BSF led;,"BTFSS status,z;",GOTO loop;,,,,,
,,end,,,,,
Led acende 10s apaga 5s,,,,,,,
unidade;,MOVLW .100;,"XORWF unidade,w;","XORWF ciclo2,w;",,,,
ciclo1;,"XORWF ciclo1,w;","BTFSS status,z;","BTFSS status,z;",,,,
ciclo2;,"BTFSS status,z;",GOTO contagem_10s,GOTO ponto2;,,,,
ciclo3;,GOTO ponto1;,contagem_5s,INCF ciclo3;,,,,
"#define led portb,1;",INCF ciclo2;,BCF led;,MOVLW .100;,,,,
zeramento,MOVLW .100;,CLRF ciclo1;,"XORWF ciclo3,w;",,,,
CLRF unidade;,"XORWF ciclo2,w;",CLRF ciclo2;,"BTFSS status,z;",,,,
contagem_10s,"BTFSS status,z;",CLRF ciclo3;,GOTO ponto2;,,,,
BSF led;,GOTO ponto0;,ponto2,MOVLW .5;,,,,
CLRF ciclo1;,INCF ciclo3;,INCF ciclo1;,"XORWF unidade,w;",,,,
CLRF ciclo2;,MOVLW .100;,MOVLW .100;,"BTFSS status,z;",,,,
CLRF ciclo3;,"XORWF ciclo3,w;","XORWF ciclo1,w;",GOTO contagem_5s,,,,
Ponto0,"BTFSS status,z;","BTFSS status,z;",GOTO contagem_10s;,,,,
CLRF ciclo1;,GOTO ponto0;,GOTO ponto2;,end.,,,,
ponto1,INCF unidade;,INCF ciclo2;,INCF unidade;,,,,
INCF ciclo1;,MOVLW .10;,MOVLW .100;,,,,,
,,,,,,,
Termostato Histere 4ºC,,,,,,,
temp_ajustada; ,MOVWF temp_aux; ,,,,,,
temp_real; ,MOVLW .2; ,,,,,,
temp_aux; ,"SUBWF temp_aux,temp_aux; ",,,,,,
testando; ,"MOVF temp_real,w; ",,,,,,
loop ,"SUBWF temp_aux,temp_auxiliar; ",,,,,,
CLRF temp_aux; ,"BTFSS status,c; ",,,,,,
"MOVF temp_real,w ",goto subrotina_desliga_compressor; ,,,,,,
MOVWF temp_aux; ,goto loop; ,,,,,,
"MOVF temp_ajustada, w ",subrotina-liga_compressor ,,,,,,
ADDLW .2; ,"BSF portb,0; ",,,,,,
subrotina_teste_limite_sup ,goto loop; ,,,,,,
"SUBWF temp_aux,temp_aux; ",subrotina-desliga_compressor ,,,,,,
"BTFSS status,c; ","BCF portb,0; ",,,,,,
goto subrotina_liga_compressor; ,goto loop; ,,,,,,
"MOVF temp_ajustada,w; ",end.,,,,,,
,,,,,,,
,,,,,,,
"#DEFINE botao1 porta,2; ",BTFSS led; ,"acender um LED conectado ao pino portB0 toda vez que um botão1 presente no pino portA2 seja pressionado, e desligar o LED toda vez que o mesmo botão1 presente no pino portA2 seja pressionado",,,,,
"#DEFINE botao2 porta,3; ",goto acende_led; ,,,,,,
"#DEFINE led portb,0; ",apaga_led ,,,,,,
loop ,BCF led; ,,,,,,
BTFSS botao1; ,goto loop; ,,,,,,
goto decisao_led; ,acende_led ,,,,,,
goto loop; ,BSF led; ,,,,,,
decisao_led ,goto loop; ,,,,,,
BTFSC led; ,end. ,,,,,,
goto apaga_led,,,,,,,
,,,,,,,