Contador_impulsos

2
Microcontroladores Práctica x Contador de Impulsos externos En esta práctica el micro-controlador cuenta el número de impulsos externos, producidos al presionar el pulsador. Sólo 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 línea 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 Pérez Castañeda Página 1

description

Electronica digital

Transcript of Contador_impulsos

Page 1: Contador_impulsos

Microcontroladores Práctica x

Contador de Impulsos externos En esta práctica el micro-controlador cuenta el número de impulsos externos, producidos al presionar el pulsador. Sólo 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 línea 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 Pérez Castañeda Página 1

Page 2: Contador_impulsos

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC CBLOCK 0x0C ENDC ; ZONA DE CÓDIGOS ******************************************************************** 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 sección "Principal" es de mantenimiento. Sólo 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 Pérez Castañeda Página 2