Sie sind auf Seite 1von 9

MANEJO DE TABLAS DE DATOS CON MICROCONTROLADORES PIC.

Manejo del display cátodo común usando un contador manual.

list p=16F84A ; list directive to define processor

#include <p16F84A.inc> ; processor specific variable definitions

__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _XT_OSC

;***** VARIABLE DEFINITIONS

CONTADOR EQU 0X16 ; nos servirá como offset de tabla

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

ORG 0x000 ; processor reset vector

goto inicio ; go to beginning of program

inicio

BSF STATUS,RP0

CLRF TRISB ; configuramos el puerto B como salida

MOVLW B'00011111'

MOVWF TRISA ; configuramos el puerto A como entrada

BCF STATUS,RP0

PRINCIPAL

clrf CONTADOR

VISUAL MOVF CONTADOR,W ;El contenido de W lo transferimos a CONTADOR


CALL TABLA ; LLamamos a TABLA

MOVWF PORTB ;Transferimos el contenido de W al puerto B

INCF CONTADOR,1 ;Incrementamos en 1 el dato guardado en contador

MOVLW .16 ; Cargamos con el numero 16 a W

XORWF CONTADOR,W ;Realizamos la operacion lógica OR Exclusiva para ver si son


iguales

BTFSS STATUS,Z ;Verificamos si la operacion lógica dio como resultado cero

GOTO VISUAL ;Si no es cero saltar a la linea llamada VISUAL

GOTO PRINCIPAL ;Si es cero saltar a la línea PRINCIPAL

TABLA

ADDWF PCL,F ;Sumamos W con el dato contenido en PCL y lo guardamos en PCL

DT 0X3F, 0x06, 0x5B, 0X4F, 0X66, 0X6D, 0X7D, 0X07, 0X7F, 0X6F, 0X77, 0X7C, 0X39, 0X5E,
0X79, 0X71

END ; directive 'end of program'

Das könnte Ihnen auch gefallen