PRACTICA No. 2 Eliminación de Rebote en Botones Pulsadores Aplicado a Contadores. Instrucciones: 1.- En el programa ISIS, crear un nuevo diseño con el siguiente circuito: 2.- Agregar un nuevo archivo .ASM al proyecto y editarlo con el siguiente código: list CONT1 CONT2 TEMP CONTA CONTB p=16f877 include equ equ equ equ equ "p16f877.inc" 0x20 0x21 0x22 0x23 0x24 ;.............................. ELIMREB call btfsc goto btfss goto call btfss goto endm macro PUERTO, BIT Retardo PUERTO, BIT $-2 PUERTO, BIT $-1 Retardo PUERTO, BIT $-2 ;............................... org goto org Inicio clrf bsf movlw movwf movlw movwf movlw movwf movlw movwf bcf clrf 0x00 Inicio 0x05 PORTB STATUS, RP0 0x06 ADCON1 B'111111' TRISA B'00000000' TRISB B'11010101' OPTION_REG STATUS, RP0 CONT1 clrf CONT2 Boton1 btfsc PORTA, 0 goto Boton2 ELIMREB PORTA, 0 incf CONT1, F movf CONT1, W xorlw D'10' btfsc STATUS, Z clrf CONT1 movf PORTB, W andlw B'11110000' addwf CONT1, W movwf PORTB Boton2 btfsc PORTA, 1 goto Boton1 ELIMREB PORTA, 1 incf CONT2, F movf CONT2, W xorlw D'10' btfsc STATUS, Z clrf CONT2 swapf PORTB, W andlw B'11110000' addwf CONT2, W movwf TEMP swapf TEMP, W movwf PORTB goto Boton1 ;.............................. Retardo movlw D'10' movwf CONTA DiezMS movlw D'100' movwf TMR0 bcf INTCON, T0IF btfss INTCON, T0IF goto $-1 decfsz CONTA, F goto DiezMS return ;............................... end 3.- Una vez editado, compilarlo y si hay errores corregirlos. 4.- Cargue el archivo .HEX resultante al microcontrolador y ajuste su frecuencia de trabajo en 4 MHz. 5.- Simule el diseño. Opere en repetidas ocasiones los botones pulsadores y observe su efecto. • Con el botón B1, el display DIGITO1 deberá incrementar su valor de uno en uno desde cero hasta 9 y regresar a cero. Con el botón B2, el display DIGITO2 deberá incrementar su valor de uno en uno desde cero hasta 9 y regresar a cero. • Con el botón RESET, el programa se reinicia poniendo ambos dígitos en cero. Reportar: 1.- Modificar el diseño agregando otros dos botones pulsadores (B3 y B4) al puerto A y otros dos dígitos (DIGITO 3 y DIGITO 4) al puerto C. Agregue un nuevo archivo .ASM al diseño y copie en este el contenido del actual archivo .ASM. 2.- Modifique el nuevo archivo .ASM de modo que los nuevos dígitos sean operados por los nuevos botones, de manera similar a los dígitos 1 y 2. 3.- Envíe la carpeta comprimida que contiene el nuevo diseño con todos sus archivos a la dirección [email protected] , a más tardar un día antes de la siguiente sesión de laboratorio.