PRACTICA No. 2 Eliminación de Rebote en Botones Pulsadores

Anuncio
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.
Descargar