práctica nº 12

Anuncio
Pedro Guerrero Amado.Marzo 2002
PRACTICA 12
CONTADOR CON DISPLAY
DESCRIPCIÓN.
En esta práctica vamos a contar los impulsos de entrada de la patilla 4 del puerto A
y se los vamos a asignar a un display.
Contaremos de 0 a 9.
PROGAMA FUENTE
;
CONTADOR CON DISPLAY
LIST=PIC16F84
LIST C=132
#define banco1 bsf 0x03,5
#define banco0 bcf 0x03,5
;DECLARACION REGISTROS Y VARIABLES
include <registr.h>
cont1 EQU 0xc
cont2 EQU 0xd
cuenta EQU 0xe
ORG 0
GOTO reset ;salvamos el vector de interrupción
ORG 5
reset banco1
CLRF trisb
MOVLW 0x1f
MOVWF trisa
MOVLW 0xef
MOVWF opcion
banco0
CLRF portb
; seleccionamos banco 1 de registros
; ponemos trisb a 0, puerta B como salidas
;ponemos a como entradas
;asignamos el valor del temporizador al
;contador externo cargando el registro OPTION
; seleccionamos banco 0
Hasta aquí el trozo de programa ya conocido. Explicamos el que viene a
continuación.
Pedro Guerrero Amado.Marzo 2002
En primer lugar borramos el temporizador o contador.
A continuación movemos a W el valor del TM0 y llamamos a la subrutina tabla_1,
en la que W (con el valor del contador) es el índice. Cuando volvemos de la subrutina,
sacamos el valor devuelto por ésta por el puerto B.
A continuación movemos a W el valor 0xa en hexadecimal (10 en decimal) y lo
comparamos con el contador para ver si hemos llegado a ese valor. Si hemos llegado
saltamos a princi y reiniciamos el contador, sino estamos dentro del bucle hasta que
llegamos a 9.
princi CLRF tm0
;borramos el valor del temporizador
salto MOVF tm0,w
CALL tabla_1
MOVWF portb
MOVLW 0xa
XORWF tm0,w
BTFSS status, 2
GOTO salto
GOTO princi
;Movemos a W el valor del contador.
;Llamamos a tabla con W como índice( o el contador)
;Sacamos el valor devuelto por tabla por la puerta B
;Movemos a W 0xa (10 en decimal)
;Comparamos con el contador.
;Si hemos llegado al 9 y se pone a 1 entonces volvemos
;a princi, si no vamos a salto.
;
tabla_1
ADDWF pc ,f
RETLW 0x3f
RETLW 0x06
RETLW 0x5b
RETLW 0x4f
RETLW 0x66
RETLW 0x6d
RETLW 0x7d
RETLW 0x07
RETLW 0x7f
RETLW 0x67
END
Descargar