El tema de
hoy es contador con microcontrolador , vamos a programar el microcontrolador 16f887
para que se comporte como un dispositivo que cuente eventos , que pudieran ser
la cantidad de coches que entran a un
estacionamiento , la personas que entran a un supermercado o las piezas que
pasan por una línea de producción por ejemplo.
Para esto
se configura el puerto a del
microcontrolador como entrada , ya que
en la entrada RA0 se conectara el dispositivo sensor, y se configura el puerto
B como salida porque el conteo lo mostrara por medio de un display de 7
segmentos.
Se llevara
una cuenta de 0 a 7 y posteriormente se reinicia a 0, para probar el circuito
se construyo un modelo en proteus, que tiene conectado un botón el el puerto
RA0 que hará las funciones de sensor y un display de 7 segmentos conectado en el puerto B.
liga youtube
https://youtu.be/mrd-8pSV_ds
https://www.youtube.com/watch?v=mrd-8pSV_ds
el codigo es el siguiente
// programa contador por software
//materia microcontroladores
// ene jun 2019
// vector de interrupcion y funciones
//variables
int contador=0;
void main() {
trisa=0xff; //configurar puertoA como entrada
trisb=0x00; //configurar puerto B como salida
ansel=0x00; //apagar el convertidor analogico digital
anselh=0x00;
porta=0x00; //iniciar puero A en cero
portb=0x3F; //inicializar display a cero
while(1){
if (porta.b0==1){
while(porta.b0==1);
contador =contador+1;
}
if (contador==7){
contador=0;}
switch (contador){
case 0: portb= 0x3F;break;
case 1: portb= 0x06;break;
case 2: portb= 0x5B;break;
case 3 : portb= 0x4F;break;
case 4: portb= 0x66;break;
case 5: portb= 0x6D;break;
case 6: portb= 0x7D;break; }
}
}