Sei sulla pagina 1di 5

Control de una entrada analogica de un bus de 8 bits

Introduccin
El PIC16F877 es un microcontrolador con memoria de programa tipo
FLASH, lo que Representa gran facilidad en el desarrollo de prototipos y en
su aprendizaje ya que No se requiere borrarlo con luz ultravioleta como las
versiones EPROM, sino que permite reprogramarlo nuevamente sin ser
borrado con anterioridad. El PIC16F877 es un microcontrolador de
Microchip Technology fabricado en tecnologa CMOS, su consumo de
potencia es muy bajo y adems es completamente esttico, esto quiere
decir que el reloj puede detenerse y los datos de la memoria no Se pierden.
El encapsulado ms comn para este microcontrolador es el DIP ( Dual Inline Pin) de 40 pines, propio para usarlo en experimentacin. La referencia
completa es PIC16F877-04 para el dispositivo que utiliza cristal oscilador de
hasta 4 MHz, PIC16F877-20 para el dispositivo que utiliza cristal oscilador
de hasta 20 MHz o PIC16F877A-I para el dispositivo tipo industrial que
puede trabajar hasta a 20 MHz. Sin embargo, hay otros tipos de
encapsulado que se pueden utilizar segn el diseo y la aplicacin que se
quiere realizar. Por ejemplo, el encapsulado tipo surface mount (montaje
superficial) tiene un reducido tamao y bajo costo, que lo hace propio para
producciones en serie o para utilizarlo en lugares de espacio muy reducido.
Los pines de entrada/salida de este microcontrolador estn organizados en
cinco puertos, el puerto A con 6 lneas, el puerto B con 8 lneas, el puerto C
con 8 lneas, el puerto D con 8 lneas y el puerto E con 3 lneas. Cada pin de
esos puertos se puede configurar como entrada o como salida
independiente programando un par de registros diseados para tal fin. En
ese registro un bit en "0" configura el pin del puerto correspondiente como
salida y un bit en "1" lo configura como entrada. Dichos pines del
microcontrolador tambin pueden cumplir otras funciones especiales,
siempre y cuando se configuren para ello, segn se ver ms adelante.

Materiales

Potenciometro 100k
Jumper M-M, H-M
PIC16F877A
Pantalla LCD 16x2
Crystal de cuarzo 4MHz
Pulsador NA
Protoboard
Fuente de 5v
Quemador de pic
Programa pickit 2 v2.55
Compilador PIC C COMPILER

Este trabajo se controla una entrada analogica por medio de un potenciometro


esta puede tomar de 0v -5v valores de 0v, 1v, 2v,etc. de un bus de 8 bits que
nos dara una salida digital, que son muestras de la seal analogica que el pic
nos da.
El voltaje utilizado que regulamos con el potenciometro es de 0v-5v,cada vez
que variamos el potenciometro el bus de 8 bits que se conecta al LCD nos
muestra los estados que surgen.
Para nuestro trabajo son 8 bits que necesita el bus, y el numero de estados
seran:

Estados=2

Estadostotales=ET=28 =256 ..tendra de 0 a255 estados


La resolucion del voltaje va estar dada por la siguiente formula:

resolucion=r =

r=

voltaje
ET

5v
=19.53125 mv
256

Por ejemplo si queremos si tenemos un voltaje de 2.03

estados=

2.03
=103.936=104
19.53125

Implementado en proteus

Pantalla LCD 16x2

CIRCUITO IMPLEMENTADO

QUEMADOR DE PIC

CODIGO EN PIC C COMPILER:


#include <16f877a.h>
#device adc=8
#fuses hs,nowdt
#use delay(clock=20M)
#define lcd_data_port getenv("sfr:portd")
#define lcd_rs_pin pin_d0
#define lcd_rw_pin pin_d1
#define lcd_enable_pin pin_d2
#include <lcd.c>
void main(){
int16 q;
float p;
setup_adc_ports(an0);
setup_adc(adc_clock_internal);
lcd_init();
while(true)
{
set_adc_channel(0);
delay_ms(10);

lcd_gotoxy(1,1);
q=read_adc();
p=(5.0*q)/256.0;
printf(lcd_putc,"\ ESTADOS = %4Ld",q);
printf(lcd_putc,"\n VOLTAJE = %1.2f",p);
}
}

Potrebbero piacerti anche