summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleo <leo@azuminha.com>2023-11-07 01:04:24 -0300
committerleo <leo@azuminha.com>2023-11-07 01:04:24 -0300
commit1a50cedef1eff729d870bc5cc46271de20cedeaa (patch)
treec1bdd59f0a178a069b924ffa32d83764c45e0402
parentcc719af3f1759e410e285ba01dee84e24727b4d9 (diff)
aaaa
-rw-r--r--main.asm45
1 files changed, 40 insertions, 5 deletions
diff --git a/main.asm b/main.asm
index 694c0ac..5e2e6a9 100644
--- a/main.asm
+++ b/main.asm
@@ -2,21 +2,44 @@ processor PIC16F873A
#include <p16f873a.inc>
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _BOREN_OFF & _LVP_OFF & _CP_OFF & _CPD_OFF
cblock 0x20 ;definir variaveis
- led2
+ tempbyte1
+ tempbyte2
+ ;; tempbyteX vai no timer para contar
+ byte1t1
+ byte2t1
+ ;; byteXt1: 2 bytes para armazernar o tempo 1
+ byte1t2
+ byte2t2
+ ;; byteXt2: 2 bytes para armazenar o tempo 2
endc
org 0x0
errorlevel -302 ;desabilitar mensagens de avisos na compilacao
goto INICIO
;;;;;;;;INICIO DO TIMER;;;;;;;;;;;;;;;;
org 0x004
-
+ ;;toif = 0;;;;;;;;;;;;;;;
+ movlw b'10100000'
+ banksel INTCON
+ movwf INTCON
+ ;;TMR0 = 255;;;;;;;;;;;;;;;;;;;;;;
+ movlw d'255'
+ movwf TMR0 ; nao precisar selecionar o banco, pois INTCON esta no mesmo banco de TMR0
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ;;ADICIONAR 1 NO tempbyteX
+ incfsz tempbyte1, 1
+ goto PULO
+ incf tempbyte2, 1
+PULO:
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;
+
retfie
INICIO:
- ; RB0 -> echo
+ ; RB2 -> echo
; RB1 -> trigger
banksel TRISB
- movlw b'00000001' ; rb0 = input(recebe) / rb1 = output(manda)
+ movlw b'00000100' ; rb22= input(recebe) / rb1 = output(manda)
movwf TRISB
;; echo e trigger arrumados
@@ -50,9 +73,21 @@ INICIO:
nop
nop ;; 11 us
bcf PORTB, RB1 ;; desliga o trigger
+
+ ;;ATIVAR O TIMER;;
+ movlw b'10100000'
+ movwf INTCON ;nao precisa selecionar intcon esta no banco do portb ;;;;;;;;;;;;;;;;;;;;; !!!!!!! PQ TA DEMORANDO PARA O TIMER COMECAR
+ ;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- goto $
+ESPERA_RETORNO1:
+ btfss PORTB, RB2 ; VERIFICAR SE echo esta em 1
+ goto ESPERA_RETORNO1 ; nao
+ ;;perguntar do timer que esta muito rapido e portanto nao sai dele
+ ;;perguntar do pq o rb2 esta em 1 quando comeca -> testar isso com um led
+ ;;DESATIVA O TIMER;;
+ movlw b'00000000'
+ movwf INTCON
end