miércoles, 14 de septiembre de 2011

EJERCICIO LCD: HOLA MUNDO


;====================================================================
; Nombre del archivo: 2.asm (completar las XX)
;====================================================================
; Desrcipción del Hardware:
;
;                     1 --------------16
;                      |RA2  °|_|  RA1|
;                      |RA3        RA0|
;                      |RA4/T0CKI OSC2| XTAL
;          R10 K a Vdd |/MCLR     OSC1| XTAL
;                  GND |VSS        VDD| 5V
;                      |RB0/INT    RB7|
;                      |RB1        RB6|
;                      |RB2        RB5|
;                      |RB3        RB4|
;                     9 --------------10
;
; Frecuencia del oscilador externo: 4 MHz (decir el tipo XT)
;====================================================================
; Autores: sarda       Fecha: 13/7/11               Versión:0
;====================================================================
    LIST    p=PIC16F84A
    INCLUDE    <p16f84a.inc>
    __CONFIG _WDT_OFF & _PWRTE_ON & _CP_OFF & _XT_OSC
    ERRORLEVEL    -302
;====================================================================
; Definiciones y Equivalencias
;====================================================================
#DEFINE    BANK0    bcf    STATUS,RP0        ; Cambio al banco 0
#DEFINE    BANK1    bsf    STATUS,RP0        ; Cambio al banco 1   
;====================================================================
; Declaración de Variables
;====================================================================
    CBLOCK    0x0C
    w_temp
    status_temp
    ENDC
;====================================================================
; MACROS (Sustituyen una o más lineas de código por un alias)
;====================================================================
; Macros usadas para guardar los registros W y STATUS al momento
; de llegar una interrupción

;====================================================================
; Vectores
;====================================================================
    ORG        0x000       ; Vector de Reset
    clrw
    goto    Main       
;====================================================================
; Servicio de Interrupción
;====================================================================

;====================================================================
; A partir de aqui se escribe el pgm principal
; A partir de aquí incluí tu código

; El código que sigue es un ejemplo de configuración de puertos
; Configuro los puertos I/O
    BANK1
    movlw    b'11111'
    movwf    TRISA       ;todo el PORTA como entrada
    movlw    b'00000'
    movwf    TRISB
    BANK0
;====================================================================
; Programa principal
;====================================================================
    Main
    call    LCD_Inicializa
        call    Retardo_1ms
        movlw   'H'
    call    LCD_Caracter
    movlw    'o'
    call    LCD_Caracter
    movlw    'l'
    call    LCD_Caracter
    movlw    'a'
    call    LCD_Caracter
    movlw    ' '
    call    LCD_Caracter
    movlw    'M'
    call    LCD_Caracter
    movlw    'u'
    call    LCD_Caracter
    movlw    'n'
    call    LCD_Caracter
    movlw    'd'
    call    LCD_Caracter
    movlw    'o'
    call    LCD_Caracter
    goto    $
;====================================================================
    INCLUDE <LCD_4BIT.INC>
    INCLUDE    <RETARDOS.INC>

    END        ;Directiva que indica la finalización del pgm

No hay comentarios:

Publicar un comentario