programacion ensamblador

download programacion ensamblador

If you can't read please download the document

description

del 1 al 9

Transcript of programacion ensamblador

#INCLUDE ; SE DECLARA EL MICROCONTROLADOR A UTILIZAR.LIST P=16F84A ; SE DECLARA EL MICROCONTROLADOR A UTILIZAR.; PALABRAS DE CONFIGURACIN:__CONFIG _XT_OSC & _WDTE_OFF & _PWRTE_ON & _CP_OFF ;FORMA EXTENSA.;__CONFIG 0x3FF1; PALABRA LIGHT DE CONFIGURACIN.; DECLARAR LOS REGISTROS Y VARIABLES A UTILIZAR EN EL PROGRAMAPCL EQU 0x02STATUS EQU 0x03TRISA EQU 0x85TRISB EQU 0x86PORTA EQU 0x05PORTB EQU 0x06CONT EQU 0x0C ORG 0x00 ; CUANDO HAY UN RESET, EL PROGRAMA INICIA AQU. BSF STATUS,5 ; SE ACCDEDE AL BANCO 1. MOVLW B'00001' ; SE CARGA UN VALOR BINARIO AL REGISTRO W. MOVWF TRISA ; MUEVE EL VALOR CONTENIDO EN W AL REGISTRO TRISA. CLRF TRISB ; BORRA TODO EL REGISTRO TRISB, PARA QUE PORTB SEA SALIDA. BCF STATUS,5 ; SE ACCEDE AL BANCO 0. INICIO: CLRF CONT ; SE INICIALIZA LA VARIABLE CONT = 0. MOVF CONT,W ;MUEVE EL VALOR DE CONT AL REGISTRO W CALL TABLA ; LLAMA A LA SUBRUTINA TABLA MOVWF PORTB ; MUEVE EL VALOR DE W A PORTB BUCLE1: BTFSC PORTA,0 GOTO BUCLE1 BUCLE2: BTFSS PORTA,0 GOTO BUCLE2 INCF CONT,F ; INCREMENTAMOS LA VARIABLE CONT EN UNA UNIDAD. MOVF CONT,W ; MUEVE EL VALOR DE CONT AL REGISTRO W. SUBLW D'10' ; RESTA AL NMERO 10 EL VALOR DE W. BTFSC STATUS,2 ; REVISAMOS SI EL BIT Z DEL REGISTRO STATUS ES 1 GOTO INICIO ; SALTA A LA ETIQUETA INICIO. MOVF CONT,W ;MUEVE EL VALOR DE CONT AL REGISTRO W CALL TABLA ; LLAMA A LA SUBRUTINA TABLA MOVWF PORTB ; MUEVE EL VALOR DE W A PORTB GOTO BUCLE1 ; SALTA A LA ETIQUETA BUCLE1. TABLA: ADDWF PCL,F ;SUMA EL VALOR CARGADO EN W AL PROGRAM COUNTER RETLW B'00111111' ;CARGA A W CON EL VALOR EN BINARIO (MUESTRA EL 0 EN EL DISPLAY) Y SALE DE LA SUBRUTINA TABLA. RETLW B'00000110' ;CARGA A W CON EL VALOR EN BINARIO (MUESTRA EL 1 EN EL DISPLAY) Y SALE DE LA SUBRUTINA TABLA. RETLW B'01011011' ;CARGA A W CON EL VALOR EN BINARIO (MUESTRA EL 2 EN EL DISPLAY) Y SALE DE LA SUBRUTINA TABLA. ;COMPLETAR LA TABLA PARA 3,4,5... END