Está en la página 1de 2

Microcontroladores

Prctica x
Contador de Impulsos 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

También podría gustarte