processor PIC16F873A #include __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _BOREN_OFF & _LVP_OFF & _CP_OFF & _CPD_OFF cblock 0x20 ;definir variaveis led2 endc org 0x0 errorlevel -302 ;desabilitar mensagens de avisos na compilacao goto INICIO ;;;;;;;;INICIO DO TIMER;;;;;;;;;;;;;;;; org 0x004 retfie INICIO: ; RB0 -> echo ; RB1 -> trigger banksel TRISB movlw b'00000001' ; rb0 = input(recebe) / rb1 = output(manda) movwf TRISB ;; echo e trigger arrumados ;;setar timer ;;;;option_reg movlw b'00000000' ; prescaler = 2 para ficar o mais rapido possivel banksel OPTION_REG movwf OPTION_REG ;;;;intcon movlw b'00000000' ; rotinas de interrupcoes estao desativadas por enquanto banksel INTCON ; e todas as rotinas de interrupcao estao desativadas movwf INTCON ;;;;TMR0 movlw d'255' ; para o timer ficar o mais rapido possivel banksel TMR0 ; Nint = 500000 movwf TMR0 ;;ATIVAR O TRIGGER;;; banksel PORTB bsf PORTB, RB1 ; ligou o trigger nop nop nop nop nop nop nop nop nop nop nop ;; 11 us bcf PORTB, RB1 ;; desliga o trigger ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; goto $ end