Está en la página 1de 3

Tutorial de manejo de tablas con pic 16f84

editronikx
;el manejo de tablas se debe garantizar que pcl es cero, colocando un contador y luego pasandolo
a pcl desde cero hasta

;incrementarlo hasta llegar al valor de las tablas

;*********************************************************************

LIST P=16F84A

INCLUDE <P16F84A.INC>

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

contador equ 0x0c

longitudtabla equ 0x0d

tiempo equ 0x0e

tiempo2 equ 0x0f

ORG 0 ; El programa comienza en la


dirección 0.

Inicio

bsf STATUS,RP0 ; Acceso al Banco 1.

clrf TRISB ; Las líneas del Puerto B se configuran


como salida.

bcf STATUS,RP0 ; Acceso al Banco 0.

Principal

clrf longitudtabla
clrf contador

movlw d'9'

movwf longitudtabla

sal movf contador,w

call Ilumin ; Obtiene el código deseado.

movwf PORTB ; El resultado se visualiza por la salida.

call retardo

incf contador

decfsz longitudtabla

goto sal

goto Principal

; Subrutina "IluminarLEDs" --------------------------------------------------------------

Ilumin

addwf PCL,F

Tabla

retlw b'00000000' ; Todos los LEDs apagados.

retlw b'00000001' ; Se enciende D0.

retlw b'00000011' ; Se enciende D1 y D0.

retlw b'00000111' ; Etc.

retlw b'00001111'

retlw b'00011111'
retlw b'00111111'

retlw b'01111111'

retlw b'11111111'

retardo

movlw d'255'

movwf tiempo

dec decfsz tiempo

goto sal1

return

sal1 movlw d'255'

movwf tiempo2

sal2 decfsz tiempo2

goto sal2

goto dec

END ; Fin del programa.

También podría gustarte