You are on page 1of 2

Microcontroladores Prctica

Contador de pulsos externos


En esta prctica el micro-controlador cuenta el nmero de impulsos externos, producidos al presionar el
pulsador. Slo cuenta es hasta 9 en decimal y hasta F en hexa-decimal.

1. Implementar el siguiente circuito:

2. Cargar en el PIC el siguiente programa:


;************************************ Contador_01.asm **********************************
; Este programa comprueba el funcionamiento del Timer 0 como contador de los impulsos
; aplicados a la lnea RA4/T0CKI, donde se ha conectado un pulsador. Cada vez que presiona
; el pulsador se incrementa un contador visualizado en el display.
;; Como es un incremento por cada impulso aplicado al pin T0CKI, no es necesario asignarle
; divisor de frecuencia al TMR0, por tanto, el Prescaler se asigna al Watchdog.

; ZONA DE DATOS **********************************************************************


LIST P=16F84A
INCLUDE <P16F84A.INC>

Dr. Oscar L Prez Castaeda Pgina 1


__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

CBLOCK 0x0C
ENDC
; ZONA DE CDIGOS ********************************************************************
ORG 0
Inicio
bsf STATUS,RP0 ;Acceso al banco 1
clrf PORTB ;Las lineas del puerto B se configuran como salidas
movlw b'00111000' ; TMR0 como contador por flanco descendente de
movwf OPTION_REG ; RA4/T0CKI. Prescaler asignado al Watchdog.
bcf STATUS,RP0 ; Acceso al Banco 0.
clrf TMR0 ; Inicializa el contador.
; La seccin "Principal" es de mantenimiento. Slo se dedica a visualizar el Timer 0.
Principal
movf TMR0,W ; Lee el Timer 0.
andlw b'00001111' ;Mascara para quedarse con el valor de las
;Entradas correspondientes al nible bajo
call Binario_a_7Segmentos ;Convierte el codigo binario a 7 segmentos del display
movwf PORTB ;Resultado se visualiza por el puerto de salida
goto Principal
;Subrutina"Binario_7_Segmentos"------------------------------------------------

Binario_a_7Segmentos ;Tabla para display de 7 segmentos


addwf PCL,F
Tabla
retlw 3Fh ;El codigo de 7 segmentos para el "0"
retlw 06h ;El codigo de 7 segmentos para el "1"
retlw 5Bh ;El codigo de 7 segmentos para el "2"
retlw 4Fh ;El codigo de 7 segmentos para el "3"
retlw 66h ;El codigo de 7 segmentos para el "4"
retlw 6Dh ;El codigo de 7 segmentos para el "5"
retlw 7Dh ;El codigo de 7 segmentos para el "6"
retlw 07h ;El codigo de 7 segmentos para el "7"
retlw 7Fh ;El codigo de 7 segmentos para el "8"
retlw 67h ;El codigo de 7 segmentos para el "9"
retlw 77h ;El codigo de 7 segmentos para el "A"
retlw 7Ch ;El codigo de 7 segmentos para el "B"
retlw 39h ;El codigo de 7 segmentos para el "C"
retlw 5Eh ;El codigo de 7 segmentos para el "D"
retlw 79h ;El codigo de 7 segmentos para el "E"
retlw 71h ;El codigo de 7 segmentos para el "F"

END ;Fin del programa

Dr. Oscar L Prez Castaeda Pgina 2