Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Microprocesadores y Microcontroladores - Prácticax - 2 Contador - 2017-03-10 - 092248 PDF
Microprocesadores y Microcontroladores - Prácticax - 2 Contador - 2017-03-10 - 092248 PDF
Facultad de Ingeniería
Práctica 2
Contador
Contenido
INTRODUCCIÓN ........................................................................................................................... 1
OBJETIVO ....................................................................................................................................... 1
DIAGRAMAS DE FLUJO .............................................................................................................. 1
DIAGRAMA ESQUEMÁTICO ...................................................................................................... 2
Material utilizado .......................................................................................................................... 2
CODIGO ........................................................................................................................................... 3
CÓDIGO ENSAMBLADOR ....................................................................................................... 3
CODIGO EN ALTO .................................................................................................................... 6
RESULTADOS ................................................................................................................................ 9
INTRODUCCIÓN
En electrónica es bastante frecuente verse necesitado de contabilizar eventos y
por tanto se requiere utilizar un contador; por otra parte, en nuestros días
estamos rodeados de dispositivos que disponen de algún tipo de contador
digital, incluso en la mayoría de los electrodomésticos vienen equipados con
uno. Un contador digital, básicamente consta de una entrada de impulsos que
se encarga de conformar (escuadrar) las señales, de manera que el conteo de
los pulsos no sea alterado por señales no deseadas, las cuales pueden falsear
el resultado final. Estos impulsos son acumulados en un contador propiamente
dicho cuyo resultado, se presenta mediante un visor que puede estar
constituido por una serie de sencillos dígitos de siete segmentos o en su caso
mediante una sofisticada pantalla de plasma.
OBJETIVO
Familiarizar al alumno con la manipulación de los puertos del Microcontrolador
PIC16f887, de tal manera que estos interactúen con elementos externos a
dicho Microcontrolador, configurando los puertos en modo de receptores de
señales (pulsos) así como salida de señales digitales (1-0).
DIAGRAMAS DE FLUJO
Rebote
Inicio
W = 0FFH
i=0
Retardo = W
Imprimir i
Retardo = Retardo - 1
No No
RA0 = 0
Retardo = 0
Si Si
Si
Return
i=9
No
1
W=W+1
DIAGRAMA ESQUEMÁTICO
*Elaborado en LiveWire
Material utilizado
1 PIC16F887
1 Display 7 segmentos ánodo común
2 Resistencias 10 KOhms
1 Switch
7 Resistencias 220 Ohms
1 Cristal 4MHz
2 Capacitores 33µf
Placa fenólica
Alambre
Pulsera antiestática
Fuente de Voltaje
Multímetro
2
CODIGO
CÓDIGO ENSAMBLADOR
list p=16f887
#include "p16F887.inc"
ORG 00H
GOTO INICIO
RETLW 24H
RETLW 19H
RETLW 02H
RETLW 00H
3
INICIO
BSF STATUS,5
BSF STATUS,6
;----------------------------------------------------------------------
BCF ANSEL,0
BCF STATUS,6
;----------------------------------------------------------------------
BSF TRISA,0
CLRF TRISB
BCF STATUS,5
;----------------------------------------------------------------------
CLRF CUENTA
4
ADDWF CUENTA,0 ;Suma CUENTA a WREG
CALL TABLA
CALL SUMA
GOTO MUESTRA
;================================================
MOVLW 0AH
CLRF CUENTA
CALL REBOTE
GOTO ESPERA
CALL REBOTE
RETURN
;================================================
MOVWF RETARDO
5
REBO DECFSZ RETARDO,1
GOTO REBO
RETURN
;================================================
=
END
CODIGO EN ALTO
#include <xc.h>
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled
and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config CPD = OFF // Data Code Protection bit (Data memory
code protection is disabled)
6
#pragma config LVP = OFF // Low Voltage Programming Enable bit (RB3
pin has digital I/O, HV on MCLR must be used for programming)
#pragma config WRT = OFF // Flash Program Memory Self Write Enable
bits (Write protection off)
int cuenta;
int
display[10]={0b1000000,0b1111001,0b0100100,0b0110000,0b0011001,0b00
10010,0b0000010,0b1111000,0b0000000,0b0010000};
void main(void)
ANSEL=0;
ANSELH=0;
TRISAbits.TRISA0=1;
TRISB=0;
while(1)
if(PORTAbits.RA0==1)
PORTB=display[cuenta];
else
7
{
__delay_ms(300);
cuenta++;
cuenta= cuenta + 1;
if(cuenta>8)
cuenta=0;
return;
8
RESULTADOS
*Diseño PCB
9
*Circuito finalizado en Placa fenólica
*Circuito Funcionando
10