DESCARGAS

FRECUENCIMETRO VOLTIMETROI CON PIC MICROCHIP



Este es un proyecto en el que se aplica la instruccion count para contar los pulsos en el puerto B6

y visualizar como frecuencia en el modulo lcd, el puerto A.0 sta configurado como entrada analogica de 10 bits para el conversor analogico digital del pic, en este proyecto no he usado oscilador externo, sta configurado a 4Mhz con oscilador interno, esto es un problema al momento de medir frecuencias altas, en la practica sugiero usar oscilador externo para no tener inconvenientes
La compilacion sta hecha en pbp y la simulacion en proteus
A continuacion el enlace de descarga.
descargar

El programa escrito es:




'****************************************************************

'*  Name    : frecuencimetro voltimetro                         *

'*  Author  : Leonardo Saldaña                                  *                  

'*  Date    : 16/07/2012                                        *

'*  Version : 1.0                                               *

'*  Notes   :                                                   *

'*          :                                                   *

'***************************************************************



osccon=%1100100 ;DEFINE EL OSCILADOR INTERNO A 4MHZ;



DEFINE LCD_DREG PORTB    ;DEFINE EL PUERTO B PARA CONTROL DE LCD;

DEFINE LCD_DBIT 0        ;SE USAN LOS PINES MENOS SIGNIFICATIVOS DEL PUERTOB

DEFINE LCD_RSREG PORTB   ;REGISTRO LCD

DEFINE LCD_RSBIT 5       ;REGISTRO DE LCD EN PORTB.5 (PIN RS )

DEFINE LCD_EREG PORTB    ;BIT HABILITAR LCD

DEFINE LCD_EBIT 4        ;PUERTOB.4 HABILITAR LCD



DEFINE ADC_BITS 8       ;FIJA NUMEROS DE BITS DEL RESULTADO(5,8,10)

DEFINE ADC_CLOCK 3        ;FIJA EL RELOJ

DEFINE ADC_SAMPLEUS 50    ;VELOCIDAD DE MUESTRE0



TRISA = %0011           ;PUERTO A.0 COMO ENTRADA, EL RESTO COMO SALIDA

TRISB=%01000000          ;PUERTO B COMO SALIDAS

ADCON1=%00001110         ;PUERTO A.0 ES CONVERSOR, EL RESTO DIGITALES

X VAR BYTE               ;VARIABLE PARA LA INSTRUCCION FOR NEXT

Y VAR BYTE               ;VARIABLE PARA LA INSTRUCCION FOR NEXT

Z VAR BYTE               ;VARIABLE PARA LA INSTRUCCION FOR NEXT

A VAR BYTE

B VAR BYTE

DEF VAR BYTE

ABC VAR BYTE             ;VARIABLE PARA LA INSTRUCCION LOOKUP

DATOS VAR WORD           ;VARIABLE PARA ALMACENAR LOS DATOS LEIDOS 

PULS VAR WORD

VOLTAJE VAR WORD



    

 ARRANQUE:               ;ETIQUETA PREVIA A INICIO DE PROGRAMA

      FOR X=0 TO 3

      SOUND PORTB.7,[10000,2]

      NEXT

      LOW PORTB.7

      FOR Z=0 TO 2       ;REPETIR 2 VECES

      LCDOUT $FE,1       ;LIMPIAR LCD

      FOR Y=0 TO 9       ;REPETIR 9 VECES

      LOOKUP Y,[" INICIANDO"],ABC    ;TOMAR CARACTER POR CARACTER Y ALMACENAR EN "ABC"

      LCDOUT,ABC                                   

      PAUSE 50          

      NEXT             

      NEXT              

GOTO INICIO             



INICIO:

      FOR A=0 TO 10                              

      COUNT PORTB.6,1000,PULS

      ADCIN 0,DATOS

      PAUSE 5

      VOLTAJE = DATOS *5/255

      LCDOUT $FE,1," FREC:",DEC PULS,"hz" 

      LCDOUT $FE,$C4,DEC VOLTAJE      

      VOLTAJE = (DATOS) *100 /51

      LCDOUT $FE,$C5,".",DEC2 VOLTAJE,"V"

      NEXT

LOGO:

      FOR B=0 TO 1

      LCDOUT $FE,1      

      FOR Y=0 TO 13      

      LOOKUP Y,[" PIC BASIC PRO"],DEF   

      LCDOUT,DEF                                   

      PAUSE 100          

      NEXT

      NEXT                           

GOTO INICIO     




Para probar el funcionamiento del ADC del pic podemos desconectar el puerto A.0 del genrador y conectralo a un potenciometro conectado a vcc como muetra la imagen
                          






No hay comentarios:

Publicar un comentario