Está en la página 1de 12

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

**********************
;
Envo de c
aracteres al GLCD 160x80 en modo grfico
;Daniel Meza
;Mxico Julio 2012
;-------------------------------------------------------Directivas del ensamblad
or----------------------------------------------LIST
P=18F4550
;Procesador
INCLUDE <p18F4550.INC>

;Operandos

;-------------------------------------------------------------Configuracin------------------------------------------------------CONFIG WDT=OFF
va el Watchdog
CONFIG MCLRE=ON
et" habilitada
CONFIG DEBUG=OFF
lita el "debugging"
CONFIG LVP=OFF
acin a bajo voltaje desactivada
CONFIG PWRT=ON
temporizador de estabilizacin al inicio
CONFIG FOSC=HS
de alta frecuencia
CONFIG BOR=OFF
va reset por bajo voltaje
CONFIG LPT1OSC=ON
oscilador de baja potencia en el TMR1

;Desacti
;Entrada de "res
;Deshabi
;Program
;Activa
;Cristal
;Desacti
;Activa

;---------------------------------------------------------------Variables---------------------------------------------------------#DEFINE
RS
LATA,.0
de registro de escritura en GLCD
#DEFINE
EN
LATA,.1
control del GLCD
#DEFINE
LED
LATC,.7

;Seleccin

Contador1
EQU
r de propsito general
Contador2
EQU
r de propsito general
Cor_X
EQU
o de coordenada X
Cor_Y
EQU
o de coordenada Y
Registro1
EQU
o de respaldo 1
CONTA1
EQU
0124H
CONTA2
EQU
0125H
CONTA3
EQU
0126H

0x000

;Contado

0x001

;Contado

0x002

;Registr

0x003

;Registr

0x004

;Registr

;Lnea de

;-------------------------------------------------------------Programa fuente----------------------------------------------------

ORG
0x0000
;Vector de reset e inicio del programa
Inicializacion
movlw
0x0F
movwf
ADCON1,.0
;Desactiva canales anlogicos de entrada al ADC
movlw
0xFC
movwf
TRISA,.0
;RA0 y RA1 son configurados como salidas
clrf
TRISB,.0
;RB0-RB7 son configurados como salidas
movlw
0x3E
movwf
TRISC,.0
;RC7, RC6 y RC1 son salidas
movlw
0x7A
;Preescaler 1:8, habilita oscilador externo de 32.768KHz
movwf
T1CON,.0
;para el TMR1
clrf
EECON1,.0
;Selecciona operacines en memoria flash (lectura de tablas)
clrf
PORTC,.0
call
RETARDO
;call
RETARDO
;call
RETARDO
de espera (estabilizacin de la fuente de Vcc)

;Tiempo

call
GLCD_Inicializa
;Configura el GLCD en modo grfico
;call
GLCD_Borra
;Borra los datos escritos en el LCD anteriormente
CALL Fondo
;;GOTO Leyenda_texto
movlw
UPPER Fondo
movwf
TBLPTRU,0
;Direcciona imgen de fondo
movlw
HIGH Fondo
;/
movwf
TBLPTRH,0
;/
movlw
LOW Fondo
;/
movwf
TBLPTRL,0
;/
movlw
0x06
movwf
Contador2,0
movlw
0x3F
movwf
Contador1,0
;Prepara contadores para contabilizar 1600 bytes
;;GOTO Leyenda_texto

;/

Bucle_fondo
;Lazo de envio de datos de imgen al GLCD
tblrd*+
;Lee byte de la tabla de datos de imgen de fondo
movf
TABLAT,W,.0
byte leido y lo pasa a W

;Obtiene

call
GLCD_Dato
;Enva byte al GLCD
decf
Contador1,F,.0
nta contador de 16 bits
movlw
0xFF
;y sigue en el bucle de envio de datos hasta que se envien
cpfseq
Contador1,.0
;los 1600 bytes de la imgen
bra
Bucle_fondo
;/
decf
Contador2,F,.0
movlw
0xFF
;/
cpfseq
Contador2,.0
;/
bra
Bucle_fondo
;/
Leyenda_texto
movlw
UPPER Letras
movwf
TBLPTRU,.0
;Inicializa apuntadores de la tabla de caracteres
movlw
HIGH Letras
movwf
TBLPTRH,.0
movlw
.0
movwf
Cor_X,.0
movlw
.8
;Inicializa coordenadas X y Y para situar leyenda
movwf
Cor_Y,.0
;
movlw
LOW Letra_F
call
GLCD_XY
movlw
call

LOW Letra_o
GLCD_XY

movlw
call

LOW Letra_r
GLCD_XY

movlw
call
bsf PORTC,7
movlw
call

LOW Letra_o
GLCD_XY

movlw
movwf
movlw
call

.6
Cor_X,.0
LOW Letra_d
GLCD_XY

movlw
call

LOW Letra_e
GLCD_XY

movlw
movwf
movlw
movwf
movlw

.0
Cor_X,.0
.9
Cor_Y,.0
LOW Letra_e

;o
;r
;o
LOW Letra_s
GLCD_XY

;s

;d
;e

;Decreme

;/

call

GLCD_XY

;e
movlw
call

LOW Letra_l
GLCD_XY

movlw
call

LOW Letra_e
GLCD_XY

movlw
call

LOW Letra_c
GLCD_XY

movlw
call

LOW Letra_t
GLCD_XY

movlw
call

LOW Letra_r
GLCD_XY

movlw
call

LOW Letra_o
GLCD_XY

movlw
call

LOW Letra_n
GLCD_XY

movlw
call

LOW Letra_i
GLCD_XY

movlw
call

LOW Letra_c
GLCD_XY

movlw
call

LOW Letra_a
GLCD_XY

;l
;e
;c
;t
;r
;o
;n
;i
;c
;a
sleep
NW NOP
BSF LED
CALL RETARDO
CALL RETARDO
BCF LED
CALL RETARDO
CALL RETARDO
GOTO NW
;-----------------------------------------------------------------Subrutinas-----------------------------------------------------GLCD_Inicializa
bcf
RS
;Inicia con RS=0
movlw
.19
movwf
Contador1,.0
;Se envirn 19 bytes para la configuracin del GLCD
movlw
UPPER Tab_Config
movwf
TBLPTRU,.0
movlw
HIGH Tab_Config
;Inicializa apun
tadores de la tabla de datos de configuracin del GLCD
movwf
TBLPTRH,.0
movlw
LOW Tab_Config
movwf
TBLPTRL,.0
;bsf LED
;
RETURN
Buc_Config

;Lazo de envo de datos de configuracin


movlw
0x01
xorwf
PORTA,F,.0
;Invierte estado lgico de RS
bsf
EN
tblrd*+
;Lee byte de la tabla de datos de configuracin
movff
TABLAT,LATB
el dato de la tabla y lo enva al GLCD
bcf
EN
;Almacena dato en GLCD
call
RETARDO
de espera
CALL RETARDO
CALL RETARDO
decf
Contador1,F,.0
viaron los 19 datos de configuracin?
bnz
Buc_Config
;An no, contina
;bsf LED
return
;GLCD Configurado, retorno

;Obtiene

;Tiempo

;Ya se en

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
GLCD_Borra
;Borra los datos escritos en el GLCD
movlw
movwf
movlw
;Se enviarn 1600
movwf
movlw
call
;Byte para borrar
decf
movlw
cpfseq
bra
;Bucle de borrado
decf
movlw
cpfseq
bra
return
;Display borrado,

0x3F
Contador1,.0
0x06
bytes de datos
Contador2,.0
0x00
GLCD_Dato
seccin de memoria del GLCD
Contador1,F,.0
0xFF
Contador1,.0
GLCD_Borra+.8
para borrar los 1600 bytes
Contador2,F,.0
0xFF
Contador2,.0
GLCD_Borra+.8
regresa

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
GLCD_Dato
;Escribe byte de dato al GLCD
movwf
PORTB,.0
;Enva byte al bus de datos
bcf
RS
;Selecciona registro de datos del GLCD
bsf
EN
nop

bcf
;Pulso para almacenar dato en el GLCD
call
de espera (estabilizacin de la fuente
call
de espera (estabilizacin de la fuente
return
;Retorno de la subrutina

EN
RETARDO
de Vcc)
RETARDO
de Vcc)

;Tiempo
;Tiempo

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
GLCD_Com
;Escribe byte de comando al GLCD
movwf
PORTB,.0
;Enva byte al bus de datos
bsf
RS
;Selecciona registro de instruccin del GLCD
bsf
EN
nop
bcf
EN
;Pulso para almacenar dato en el GLCD
call
RETARDO
;Tiempo de espera
CALL RETARDO
CALL RETARDO
return
;Retorno de la subrutina
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
GLCD_XY
;Escribe el caracter en la coordenada X,Y especificada
movwf
TBLPTRL,.0
;Ajusta apuntador de la tabla de datos de caracteres
movlw
.8
movwf
Contador1,.0
;El caracter est compuesto por 8 bytes
movlw
.160
;Algoritmo para determinar la direccin del cursor
mulwf
Cor_Y,.0
;Multiplica coordenada Y x 160
movf
Cor_X,W,.0
;y despus le suma el valor de "Cor_X" al resultado
addwf
PRODL,F,.0
;para obtener la direccin de inicio del segmento de 8 bytes
bnc
$+.4
;donde se mostrar el caracter
incf
PRODH,F,.0
Bucle
movlw
0x0A
call
GLCD_Com
;Comando para modificar byte bajo del cursor del GLCD
movf
PRODL,W,.0
call
GLCD_Dato
;Situa byte bajo del cursor
movlw
0x0B

call
GLCD_Com
;Comando para modificar byte alto del cursor del GLCD
movf
PRODH,W,.0
;Situa byte alto del cursor
call
GLCD_Dato
movlw
0x0C
call
GLCD_Com
;Comando para comenzar a escribir en el GLCD
tblrd*+
;Obtiene el dato de la tabla de caracteres
movf
TABLAT,W,.0
call
GLCD_Dato
;Enva byte al GLCD
movlw
.20
;Suma 20 al apuntador del cursor para direccionar siguiente byte del
addwf
PRODL,F,.0
;segmento de 8 bytes que componen el caracter
bnc
$+.4
incf
PRODH,F,.0
decfsz
Contador1,F,.0
bra
Bucle
incf
Cor_X,F,.0
;Pasa a la siguiente coordenada en X
movlw
.20
cpfseq
Cor_X,.0
goto
$+.8
clrf
Cor_X,.0
;Regresa coordenada X a 0
incf
Cor_Y,F,.0
;Pasa a siguiente coordenada en Y
return
;Caracter enviado, regresa
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
Espera_2ms
;Tiempo de espera de 2ms
movlw
0xFF
movwf
TMR1H,0
movlw
.256-.8
movwf
TMR1L,0
;Constan
te de tiempo para 2ms
bsf
T1CON,TMR1ON,0
;Activa
el TMR1
bcf
PIR1,TMR1IF,0
;Reestablece bandera de interrupcin del TMR1
btfss
PIR1,TMR1IF,0
;Ya trans
curri el tiempo programado?
bra
$-.2
;No, espera a que se desborde el TMR1
bcf
T1CON,TMR1ON,0
;Desacti
va el TMR1
return
;Retorno de la subrutina
;**********************************************************************
; RETARDO1
TIEMPO DE WRITE Y READ DE DATO PARA LCD MODIFAMOS 019-025-30
;**********************************************************************
RETARDO
MOVLW
0C8H
MOVWF
CONTA2
;cargo el registro CONTA1 con AAh

CICLO22
CICLO11

MOVLW
MOVWF

01H
CONTA3

DECFSZ
GOTO

CONTA3,1
CICLO11

;cargo el registro CONTA1 con 01h


;decrementa el contenido CONTA3

DECFSZ
CONTA2,1
;decrementa el contenido CONTA2
GOTO
CICLO22
RETURN
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
Espera_10ms
;Tiempo de espera de 10ms
movlw
0xFF
movwf
TMR1H,0
movlw
0xD7
movwf
TMR1L,0
te de tiempo para 10ms
bsf
T1CON,TMR1ON,0
el TMR1
bcf
PIR1,TMR1IF,0
;Reestablece bandera de interrupcin del TMR1
btfss
PIR1,TMR1IF,0
curri el tiempo programado?
bra
$-.2
;No, espera a que se desborde el TMR1
bcf
T1CON,TMR1ON,0
va el TMR1
return
;Retorno de la subrutina

;Constan
;Activa

;Ya trans

;Desacti

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
Espera_125ms
;Tiempo de espera de 125ms
movlw
0xFE
movwf
TMR1H,0
clrf
TMR1L,0
;Constante de tiempo para 125ms
bsf
T1CON,TMR1ON,0
el TMR1
bcf
PIR1,TMR1IF,0
;Reestablece bandera de interrupcin del TMR1
btfss
PIR1,TMR1IF,0
curri el tiempo programado?
bra
$-.2
;No, espera a que se desborde el TMR1
bcf
T1CON,TMR1ON,0
va el TMR1
return
;Retorno de la subrutina

;Activa

;Ya trans

;Desacti

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
Espera_500ms
;Tiempo de espera de 500ms
movlw

0xF8

movwf
TMR1H,0
clrf
TMR1L,0
;Constante de tiempo para 500ms
bsf
T1CON,TMR1ON,0
el TMR1
bcf
PIR1,TMR1IF,0
;Reestablece bandera de interrupcin del TMR1
btfss
PIR1,TMR1IF,0
curri el tiempo programado?
bra
$-.2
;No, espera a que se desborde el TMR1
bcf
T1CON,TMR1ON,0
va el TMR1
return
;-------------------------------------------------------------Tablas de
---------------------------------------------------

;Activa

;Ya trans

;Desacti
datos---

ORG
0x0800
;Inicio de las tablas de datos
Tab_Config
;Datos de configuracin del GLCD en modo grfico
DB
DB
DB

0x00,0x32,0x01,0x77,0x02,0x13,0x03,0x4F
0x04,0x07,0x08,0x00,0x09,0x00,0x0A,0x00
0x0B,0x00,0x0C

ORG
e la tabla de caracteres

0x0900

Letras
Letra_A
DB

0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x00

DB

0x1E,0x22,0x22,0x1E,0x22,0x22,0x1E,0x00

DB

0x3E,0x02,0x02,0x1E,0x02,0x02,0x02,0x00

DB

0x00,0x00,0x1C,0x22,0x22,0x22,0x1C,0x00

DB

0x00,0x00,0x1A,0x26,0x02,0x02,0x02,0x00

DB

0x00,0x00,0x1E,0x02,0x1C,0x20,0x1E,0x00

DB

0x20,0x20,0x2C,0x32,0x22,0x22,0x3E,0x00

DB

0x00,0x00,0x1E,0x22,0x3E,0x02,0x1C,0x00

DB

0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00

DB

0x00,0x00,0x1C,0x02,0x02,0x22,0x1C,0x00

DB

0x00,0x00,0x1C,0x20,0x3C,0x22,0x3C,0x00

DB

0x00,0x00,0x1A,0x26,0x22,0x22,0x22,0x00

DB

0x08,0x00,0x0C,0x08,0x08,0x08,0x1C,0x00

DB

0x04,0x04,0x0E,0x04,0x04,0x24,0x18,0x00

Letra_B
Letra_F
Letra_o
Letra_r
Letra_s
Letra_d
Letra_e
Letra_l
Letra_c
Letra_a
Letra_n
Letra_i
Letra_t

;Incio d

ORG

0x1000

Fondo

DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB

DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H


DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
000H ,000H ,01FH ,0FFH ,0FFH ,0FFH ,0C0H ,000H
000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,00FH ,0FFH ,0FFH ,0FFH ,0FFH ,0E0H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,000H ,000H ,020H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,000H ,000H ,020H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,000H ,000H ,020H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,000H ,000H ,020H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,000H ,000H ,020H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,000H ,000H ,020H ,000H
000H ,000H ,010H ,000H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,000H ,000H ,020H ,000H
000H ,000H ,010H ,003H ,0FFH ,0FFH ,0FFH ,0FFH
0FFH ,0FFH ,0FFH ,0FFH ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H
000H ,000H ,010H ,002H ,000H ,000H ,040H ,000H
000H ,008H ,000H ,000H ,080H ,000H ,020H ,000H

DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB

000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
0FFH
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
000H
0FFH
000H
000H
000H
000H
000H
000H

,000H
,008H
,000H
,008H
,000H
,008H
,000H
,008H
,000H
,008H
,000H
,008H
,000H
,008H
,000H
,008H
,000H
,008H
,000H
,088H
,000H
,088H
,000H
,088H
,000H
,088H
,000H
,08FH
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,0FFH
,000H
,080H
,000H
,080H
,000H
,080H

,010H
,000H
,010H
,000H
,010H
,000H
,010H
,000H
,010H
,000H
,010H
,000H
,010H
,000H
,01FH
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H

,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,0FFH
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,0FFH
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,002H
,000H
,003H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H

,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,0FFH
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,0FFH
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,000H
,080H
,0FFH
,080H
,000H
,000H
,000H
,000H
,000H
,000H

,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H
,000H

,040H
,020H
,040H
,020H
,040H
,020H
,040H
,020H
,040H
,020H
,040H
,020H
,040H
,020H
,0C0H
,020H
,000H
,020H
,001H
,020H
,001H
,020H
,001H
,020H
,001H
,020H
,001H
,0E0H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,001H
,000H
,0FFH
,000H
,001H
,000H
,001H
,000H
,001H
,000H

,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H
,000H

DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB

000H
000H
000H
000H
000H
0FFH
000H
000H
000H
000H
000H
000H

,000H
,080H
,000H
,080H
,000H
,080H
,000H
,000H
,000H
,000H
,000H
,000H

,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H

,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H

,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H

,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H
,000H

,001H
,000H
,001H
,000H
,001H
,000H
,000H
,000H
,000H
,000H
,000H
,000H

,000H
,000H
,000H
,000H
,0FFH
,000H
,000H
,000H
,000H
,000H
,000H
,000H

;*******************************************************************************
**********************
END
;Fin de programa fuente
@[387:0]

También podría gustarte