Medidor de distancia
En el esquema no está puesto el circuito oscilador de 4 MHz necesario para que funcione el montaje (cristal de 4MHz y condensadores de 27pF)
Y aquí está el programa pero está muy largo y no sé que ondas
PROGRAMA : GP2D02.asm
; Funcion :Medicion de distancia de 10 a 80 cms con el sensor integrao GP2D02
; de Sharp yvisualizacion en LCD conectado a PORTB 8 lineas + PORTA0, PORTA1
; y PORTA2
;
;
;---------------------------------------------------------------------------
; Revision : 1.00 Fecha: 1/18/2010 Programa para : PIC16F876
; CPU Clock : 4 MHz Tiempo instruccion : 1uS; WDT : OFF Tipo de reloj : XT
; Code Prot : OFF cfg USART rs232 ; none
; Autor : ionitron -> ionitron@x-robotics.com
;----------------------------------------------------------------------------
INICIO bcf STATUS,RP0 ;banco 0bcf STATUS,RP1
clrf PORTA
bsf STATUS,RP0 ;banco 1
movlw 0x06
movwf ADCON1
movlw b'00001000' ;pone entradas y salidas.. RA3=IN
movwf TRISA
clrf TRISB ;portb como salida
clrf TRISCbcf STATUS,RP0 ;banco 0
movlw b'00000000' ;todo a 0 menos RA3 a 1
movwf PORTA
bsf PORTC,0
movlw d'105' ;offset usado con tabla conversiones
movwf despl ;calibracion para centimetros.
movlw d'235'movwf max
;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
START CALL LCD_INI ;Inicia LCD (CFG puertos...)
START_1 MOVLW b'00000001' ;Borrar LCD y Home
CALL LCD_REGMOVLW b'00000110' ;
CALL LCD_REG
MOVLW b'00001100' ;LCD On, cursor Off,Parpadeo Off
CALL LCD_REGMOVLW 0x80 ;Direccion caracter
CALL LCD_REG
REPETIR MOVF Digito,w ;W=Digito
CALL DATO_1 ;Coge el caracter
IORLW 0 ;Compara
BTFSCSTATUS,2 ;Es el ultimo?
GOTO acabar ;Si
CALL LCD_DATOS ;Visualiza caracter
INCF Digito,f ;Incrementa numero de Digito
GOTO REPETIR ;Vuelve a escribiracabar movlw d'7'
movwf cnt_bit ;contador de bits para lectura
bcf PORTC,0 ;pone a 0 Vin
movlw d'70' ;delay 70mS espera a captura
call delay
bsf PORTC,0 ;sube de nuevo...
Regístrate para leer el documento completo.