Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
dispone de 2 filas de 16 caracteres cada una y cada carcter dispone de una matriz de 5x7
puntos (pixels), aunque los hay de otro nmero de filas y caracteres. Este dispositivo est
gobernado internamente por un microcontrolador Hitachi 44780 y regula todos los
parmetros de presentacin, este modelo es el ms comnmente usado y esta informacin
se basar en el manejo de este u otro LCD compatible.
Caractersticas principales:
-Pantalla de caracteres ASCII, adems de los caracteres Kanji y Griegos.
-Desplazamiento de los caracteres hacia la izquierda o la derecha.
-Proporciona la direccin de la posicin absoluta o relativa del caracter.
-Memoria de 40 caracteres por lnea de pantalla.
-Movimiento del cursor y cambio de su aspecto.
-Permite que el usuario pueda programar 8 caracteres.
-Conexin a un procesador usando un interfaz de 4 u 8 bits
.
Descripcin de pines:
RUTINA
Descripcin: La siguiente librera bsica de rutinas es para controlar un LCD Hitachi
44780 o compatible.
Los datos o comandos a enviar al LCD los meteremos en el acumulador W antes de hacer
la llamada a cualquiera de las rutinas siguientes.
LCD_E
LCD_BUSY
LCD_REG
LCD_DATOS
LCD_INI
LCD_PORT
CIRCUITO EN LCD
Disear un programa usando el PIC 16F84A de tal modo que en el Display
LCD se visualice la palabra SISTEMAS DIGITALES.
INICIO
LCD_INICIA
LIZA
LCD_ESCRIB
E
LCD_CARACT
ER
CONFIGURA
PUERTOS DE
SALIDAS
RA0,RA1,RA2
0
W+KW
K11110000
LCD_DATO
W
RA01
PORTB001100
00
DELAY_20
MS
LCD_ESCRI
BE
LCD_INICIA
LIZA
DELAY_5M
S
WB
PORTB001100
00
LCD_CARAC
TER
LCD_ESCRI
BE
WB
DELAY_5M
S
CONFIGURA
PORTB
COMO SALIDAS
PORTB001100
00
LCD_DATOW
WPORTB
LCD_ESCRI
BE
RA21
DELAY_5M
S
RA20
LCD_CARAC
TER
WB
LCD_CARAC
TER
FREEZE
END
PORTB001000
00
LCD_ESCRI
BE
DELAY_20
MS
RETORNAR
W+KW
K00001111
WxLCD_DATOLCD_DATO
WPORTB
RA21
RA20
RA00
RETORNAR
RETORNAR
call
call
call
call
call
call
movlw '"'
call LCD_DATA
movlw 'B'
call LCD_DATA
movlw 'I'
call LCD_DATA
movlw 'E'
call LCD_DATA
movlw 'N'
call LCD_DATA
movlw 'V'
LCD_DATA
movlw 'E'
LCD_DATA
movlw 'N'
LCD_DATA
movlw 'I'
LCD_DATA
movlw 'D'
LCD_DATA
movlw '0'
LCD_DATA
movlw '"'
call LCD_DATA
call DELAY_5MS
goto $-1
include
<DELAY.INC>
include
<LCD_CONFIG.INC>
end
DELAY_5MSmovlw .42
movwf REG1
otro2 movlw .42
movwf REG2
otro1 decfsz REG2,F
goto otro1
decfsz REG1,F
goto otro2
return
DELAY_40US
movlw .5
movwf REG1
otro3 movlw .5
movwf REG2
otro4 decfsz REG2,F
goto otro4
decfsz REG1,F
goto otro3
return
LCD_PORT bsf
STATUS,5
clrf
TRISB
clrf
TRISA
bcf
STATUS,5
bsf
PORTA,3
return
;********************************
LCD_INI
movlw b'00111000'
call LCD_REG
call DELAY_5MS
movlw b'00111000'
call LCD_REG
call DELAY_5MS
movlw b'00111000'
call LCD_REG
call DELAY_5MS
movlw b'00000001'
call LCD_REG
call DELAY_5MS
movlw b'00001100'
call LCD_REG
return
;********************************
LCD_REG
bcf
PORTA,0
movwf PORTB
call LCD_BUSY
call LCD_E
return
;********************************
LCD_BUSY bsf
PORTA,1
bsf
STATUS,5
movlw b'11111111'
movwf TRISB
bcf
STATUS,5
bsf
PORTA,2
btfsc PORTB,7
goto $-1
bcf
PORTA,2
bsf
STATUS,5
clrf
TRISB
bcf
STATUS,5
bcf
PORTA,1
return
;********************************
LCD_DATA bcf
PORTA,0
movwf PORTB
call LCD_BUSY
bsf
PORTA,0
call LCD_E
return
;********************************
LCD_E
bcf
PORTA,2
bsf
PORTA,2
call DELAY_5MS
bcf
PORTA,2
call DELAY_40US
return
3.- simulacin en proteus
LCD1
R1(1)
R1
10k
U1
16
15
4
OSC1/CLKIN
OSC2/CLKOUT
MCLR
RA0
RA1
RA2
RA3
RA4/T0CKI
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7
PIC16F84A
17
18
1
2
3
6
7
8
9
10
11
12
13
D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14
RS
RW
E
4
5
6
1
2
3
VSS
VDD
VEE
LM032L
Cuestionario:
GOTO LADR_0x000B
LADR_0x0005
CALL LADR_0x0057
CALL LADR_0x002E
MOVLW 0x88
; b'10001000' d'136'
MOVWF INTCON
LADR_0x0009
SLEEP
GOTO LADR_0x0009
LADR_0x000B
CALL LADR_0x0017
CALL LADR_0x00D6
CALL LADR_0x0033
BCF INTCON,RBIF
RETFIE
LADR_0x0010
ADDWF PCL,F
; !!Program-Counter-Modification
RETLW 0x50
; b'01010000' d'080' "P"
RETLW 0x75
; b'01110101' d'117' "u"
RETLW 0x6C
; b'01101100' d'108' "l"
RETLW 0x73
; b'01110011' d'115' "s"
RETLW 0x6F
; b'01101111' d'111' "o"
RETLW 0x00
; b'00000000' d'000'
LADR_0x0017
CALL LADR_0x003B
BTFSS STATUS,C
GOTO LADR_0x001C
CALL LADR_0x001D
BSF STATUS,C
LADR_0x001C
RETURN
LADR_0x001D
ADDWF PCL,F
; !!Program-Counter-Modification
RETLW 0x01
; b'00000001' d'001'
RETLW 0x02
; b'00000010' d'002'
RETLW 0x03
; b'00000011' d'003'
RETLW 0x0F
; b'00001111' d'015'
RETLW 0x04
; b'00000100' d'004'
RETLW 0x05
; b'00000101' d'005'
RETLW 0x06
; b'00000110' d'006'
RETLW 0x0E
; b'00001110' d'014'
RETLW 0x07
; b'00000111' d'007'
RETLW 0x08
; b'00001000' d'008'
RETLW 0x09
; b'00001001' d'009'
RETLW 0x0D
; b'00001101' d'013'
RETLW 0x0A
; b'00001010' d'010'
RETLW 0x00
; b'00000000' d'000'
RETLW 0x0B
; b'00001011' d'011'
RETLW 0x0C
; b'00001100' d'012'
LADR_0x002E
BSF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
MOVLW 0xF0
; b'11110000' d'240'
MOVWF PORTB
; !!Bank!! PORTB - TRISB
BSF TMR0,7
; !!Bank!! TMR0 - OPTION_REG
BCF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
LADR_0x0033
MOVLW 0xF0
; b'11110000' d'240'
MOVWF PORTB
; !!Bank!! PORTB - TRISB
LADR_0x0035
CALL LADR_0x0126
MOVF PORTB,W
; !!Bank!! PORTB - TRISB
SUBLW 0xF0
; b'11110000' d'240'
BTFSS STATUS,Z
GOTO LADR_0x0035
RETURN
LADR_0x003B
CLRF LRAM_0x0C
MOVLW 0xFE
; b'11111110' d'254'
LADR_0x003D
MOVWF PORTB
; !!Bank!! PORTB - TRISB
CALL LADR_0x012E
BTFSS PORTB,4
; !!Bank!! PORTB - TRISB
GOTO LADR_0x0054
INCF LRAM_0x0C,F
BTFSS PORTB,5
; !!Bank!! PORTB - TRISB
GOTO LADR_0x0054
INCF LRAM_0x0C,F
BTFSS PORTB,6
; !!Bank!! PORTB - TRISB
GOTO LADR_0x0054
INCF LRAM_0x0C,F
BTFSS PORTB,7
; !!Bank!! PORTB - TRISB
GOTO LADR_0x0054
INCF LRAM_0x0C,F
MOVLW 0x0F
; b'00001111' d'015'
SUBWF LRAM_0x0C,W
BTFSC STATUS,C
GOTO LADR_0x0052
BSF STATUS,C
RLF PORTB,W
; !!Bank!! PORTB - TRISB
GOTO LADR_0x003D
LADR_0x0052
BCF STATUS,C
GOTO LADR_0x0056
LADR_0x0054
MOVF LRAM_0x0C,W
BSF STATUS,C
LADR_0x0056
RETURN
LADR_0x0057
BSF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
BCF PORTA,0
; !!Bank!! PORTA - TRISA
BCF PORTA,2
; !!Bank!! PORTA - TRISA
BCF PORTA,1
; !!Bank!! PORTA - TRISA
BCF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
BCF PORTA,1
; !!Bank!! PORTA - TRISA
BCF PORTA,2
; !!Bank!! PORTA - TRISA
BCF PORTA,0
; !!Bank!! PORTA - TRISA
CALL LADR_0x0126
MOVLW 0x30
; b'00110000' d'048' "0"
CALL LADR_0x006F
CALL LADR_0x012A
MOVLW 0x30
; b'00110000' d'048' "0"
CALL LADR_0x006F
CALL LADR_0x0113
MOVLW 0x30
; b'00110000' d'048' "0"
CALL LADR_0x006F
MOVLW 0x20
; b'00100000' d'032' " "
CALL LADR_0x006F
CALL LADR_0x009B
CALL LADR_0x0099
CALL LADR_0x0097
CALL LADR_0x0085
RETURN
LADR_0x006F
ANDLW 0xF0
; b'11110000' d'240'
MOVWF LRAM_0x0D
MOVF PORTB,W
; !!Bank!! PORTB - TRISB
ANDLW 0x0F
; b'00001111' d'015'
IORWF LRAM_0x0D,F
BSF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
MOVF PORTB,W
; !!Bank!! PORTB - TRISB
MOVWF LRAM_0x0F
MOVLW 0x0F
; b'00001111' d'015'
ANDWF PORTB,F
; !!Bank!! PORTB - TRISB
BCF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
BSF PORTA,2
; !!Bank!! PORTA - TRISA
MOVF LRAM_0x0D,W
MOVWF PORTB
; !!Bank!! PORTB - TRISB
NOP
BCF PORTA,2
; !!Bank!! PORTA - TRISA
BSF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
MOVF LRAM_0x0F,W
MOVWF PORTB
; !!Bank!! PORTB - TRISB
BCF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x012C
RETURN
LADR_0x0085
MOVLW 0x06
; b'00000110' d'006'
GOTO LADR_0x009C
MOVLW 0x80
; b'10000000' d'128'
GOTO LADR_0x009C
MOVLW 0xC0
; b'11000000' d'192'
GOTO LADR_0x009C
MOVLW 0x94
; b'10010100' d'148'
GOTO LADR_0x009C
MOVLW 0xD4
; b'11010100' d'212'
GOTO LADR_0x009C
IORLW 0x80
; b'10000000' d'128'
GOTO LADR_0x009C
IORLW 0xC0
; b'11000000' d'192'
GOTO LADR_0x009C
MOVLW 0x08
; b'00001000' d'008'
GOTO LADR_0x009C
MOVLW 0x0E
; b'00001110' d'014'
GOTO LADR_0x009C
LADR_0x0097
MOVLW 0x0C
; b'00001100' d'012'
GOTO LADR_0x009C
LADR_0x0099
MOVLW 0x01
; b'00000001' d'001'
GOTO LADR_0x009C
LADR_0x009B
MOVLW 0x28
; b'00101000' d'040' "("
LADR_0x009C
BCF PORTA,0
; !!Bank!! PORTA - TRISA
GOTO LADR_0x00A0
LADR_0x009E
BSF PORTA,0
; !!Bank!! PORTA - TRISA
CALL LADR_0x00A8
LADR_0x00A0
MOVWF LRAM_0x0E
CALL LADR_0x006F
SWAPF LRAM_0x0E,W
CALL LADR_0x006F
BTFSS PORTA,0
; !!Bank!! PORTA - TRISA
CALL LADR_0x012C
CALL LADR_0x0118
RETURN
LADR_0x00A8
MOVWF LRAM_0x0D
SUBLW 0xF1
; b'11110001' d'241'
BTFSS STATUS,Z
GOTO LADR_0x00AF
MOVLW 0xEE
; b'11101110' d'238'
MOVWF LRAM_0x0D
GOTO LADR_0x00BC
LADR_0x00AF
MOVF LRAM_0x0D,W
SUBLW 0xD1
; b'11010001' d'209'
BTFSS STATUS,Z
GOTO LADR_0x00B6
MOVLW 0xEE
; b'11101110' d'238'
MOVWF LRAM_0x0D
GOTO LADR_0x00BC
LADR_0x00B6
MOVF LRAM_0x0D,W
SUBLW 0xBA
; b'10111010' d'186'
BTFSS STATUS,Z
GOTO LADR_0x00BC
MOVLW 0xDF
; b'11011111' d'223'
MOVWF LRAM_0x0D
LADR_0x00BC
MOVF LRAM_0x0D,W
RETURN
MOVLW 0x10
; b'00010000' d'016'
GOTO LADR_0x00C5
MOVLW 0x01
; b'00000001' d'001'
GOTO LADR_0x00C5
MOVLW 0x02
; b'00000010' d'002'
GOTO LADR_0x00C5
MOVLW 0x03
; b'00000011' d'003'
LADR_0x00C5
MOVWF LRAM_0x10
LADR_0x00C6
MOVLW 0x20
; b'00100000'
CALL LADR_0x009E
DECFSZ LRAM_0x10,F
GOTO LADR_0x00C6
RETURN
MOVWF LRAM_0x11
ANDLW 0xF0
; b'11110000'
BTFSS STATUS,Z
GOTO LADR_0x00D3
MOVLW 0x20
; b'00100000'
CALL LADR_0x009E
GOTO LADR_0x00D5
MOVWF LRAM_0x11
LADR_0x00D3
SWAPF LRAM_0x11,W
CALL LADR_0x00D6
LADR_0x00D5
MOVF LRAM_0x11,W
LADR_0x00D6
ANDLW 0x0F
; b'00001111'
MOVWF LRAM_0x10
SUBLW 0x09
; b'00001001'
BTFSS STATUS,C
GOTO LADR_0x00DE
MOVF LRAM_0x10,W
ADDLW 0x30
; b'00110000'
GOTO LADR_0x00E0
LADR_0x00DE
MOVF LRAM_0x10,W
ADDLW 0x37
; b'00110111'
LADR_0x00E0
GOTO LADR_0x009E
MOVWF LRAM_0x12
MOVLW 0x10
; b'00010000'
SUBWF LRAM_0x12,F
d'240'
d'015'
d'009'
d'048' "0"
d'055' "7"
d'016'
DECF LRAM_0x12,F
LADR_0x00E5
MOVF LRAM_0x12,W
CALL LADR_0x0010
MOVWF LRAM_0x13
MOVF LRAM_0x13,F
BTFSC STATUS,Z
GOTO LADR_0x00EE
CALL LADR_0x009E
INCF LRAM_0x12,F
GOTO LADR_0x00E5
LADR_0x00EE
RETURN
MOVWF LRAM_0x12
MOVLW 0x10
; b'00010000' d'016'
SUBWF LRAM_0x12,F
DECF LRAM_0x12,F
LADR_0x00F3
CLRF LRAM_0x14
CALL LADR_0x0099
LADR_0x00F5
MOVLW 0x10
; b'00010000' d'016'
SUBWF LRAM_0x14,W
BTFSS STATUS,Z
GOTO LADR_0x00FE
CALL LADR_0x0120
CALL LADR_0x0120
MOVLW 0x0F
; b'00001111' d'015'
SUBWF LRAM_0x12,F
GOTO LADR_0x00F3
LADR_0x00FE
MOVF LRAM_0x12,W
CALL LADR_0x0010
MOVWF LRAM_0x13
MOVF LRAM_0x13,F
BTFSC STATUS,Z
GOTO LADR_0x0108
CALL LADR_0x009E
INCF LRAM_0x14,F
INCF LRAM_0x12,F
GOTO LADR_0x00F5
LADR_0x0108
RETURN
NOP
NOP
NOP
NOP
NOP
NOP
RETURN
NOP
MOVLW 0xA4
; b'10100100'
GOTO LADR_0x011C
LADR_0x0113
NOP
MOVLW 0x40
; b'01000000'
GOTO LADR_0x011C
MOVLW 0x1F
; b'00011111'
GOTO LADR_0x011C
LADR_0x0118
NOP
MOVLW 0x0E
; b'00001110'
GOTO LADR_0x011C
MOVLW 0x05
; b'00000101'
LADR_0x011C
MOVWF LRAM_0x15
LADR_0x011D
DECFSZ LRAM_0x15,F
GOTO LADR_0x011D
RETURN
LADR_0x0120
MOVLW 0xC8
; b'11001000'
GOTO LADR_0x012F
MOVLW 0x64
; b'01100100'
d'164'
d'064' "@"
d'031'
d'014'
d'005'
d'200'
d'100' "d"
End
Programa
processor 16F84A
#include <P16F84A.INC>
__config _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ;
0x3FF1
; RAM-Variable
LRAM_0x0C equ 0x0C
LRAM_0x0D equ 0x0D
LRAM_0x0E equ 0x0E
LRAM_0x0F equ 0x0F
LRAM_0x10 equ 0x10
LRAM_0x11 equ 0x11
LRAM_0x12 equ 0x12
LRAM_0x13 equ 0x13
; Program
Org 0x0000
; Reset-Vector
CALL LADR_0x000A
MOVLW 0x42
;
CALL LADR_0x0051
MOVLW 0x49
;
; Interrupt-Vector
CALL LADR_0x0051
MOVLW 0x45
;
CALL LADR_0x0051
MOVLW 0x4E
;
CALL LADR_0x0051
MOVLW 0x56
;
CALL LADR_0x0051
MOVLW 0x45
;
CALL LADR_0x0051
MOVLW 0x4E
;
CALL LADR_0x0051
MOVLW 0x49
;
CALL LADR_0x0051
MOVLW 0x44
;
CALL LADR_0x0051
MOVLW 0x4F
;
CALL LADR_0x0051
SLEEP
LADR_0x000A
BSF STATUS,RP0
BCF PORTA,0
BCF PORTA,2
BCF PORTA,1
BCF STATUS,RP0
BCF PORTA,1
BCF PORTA,2
; !!Bank Register-Bank(0/1)-Select
; !!Bank!! PORTA - TRISA
; !!Bank!! PORTA - TRISA
; !!Bank!! PORTA - TRISA
; !!Bank Register-Bank(0/1)-Select
; !!Bank!! PORTA - TRISA
; !!Bank!! PORTA - TRISA
BCF PORTA,0
; !!Bank!! PORTA - TRISA
CALL LADR_0x00B1
MOVLW 0x30
; b'00110000' d'048' "0"
CALL LADR_0x0022
CALL LADR_0x00B5
MOVLW 0x30
; b'00110000' d'048' "0"
CALL LADR_0x0022
CALL LADR_0x009E
MOVLW 0x30
; b'00110000' d'048' "0"
CALL LADR_0x0022
MOVLW 0x20
; b'00100000' d'032' " "
CALL LADR_0x0022
CALL LADR_0x004E
CALL LADR_0x004C
CALL LADR_0x004A
CALL LADR_0x0038
RETURN
LADR_0x0022
ANDLW 0xF0
; b'11110000' d'240'
MOVWF LRAM_0x0C
MOVF PORTB,W
; !!Bank!! PORTB - TRISB
ANDLW 0x0F
; b'00001111' d'015'
IORWF LRAM_0x0C,F
BSF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
MOVF PORTB,W
; !!Bank!! PORTB - TRISB
MOVWF LRAM_0x0E
MOVLW 0x0F
; b'00001111' d'015'
ANDWF PORTB,F
; !!Bank!! PORTB - TRISB
BCF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
BSF PORTA,2
; !!Bank!! PORTA - TRISA
MOVF LRAM_0x0C,W
MOVWF PORTB
; !!Bank!! PORTB - TRISB
NOP
BCF PORTA,2
; !!Bank!! PORTA - TRISA
BSF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
MOVF LRAM_0x0E,W
MOVWF PORTB
; !!Bank!! PORTB - TRISB
BCF STATUS,RP0
; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x00B7
RETURN
LADR_0x0038
MOVLW 0x06
; b'00000110' d'006'
GOTO LADR_0x004F
MOVLW 0x80
; b'10000000' d'128'
GOTO LADR_0x004F
MOVLW 0xC0
; b'11000000' d'192'
GOTO LADR_0x004F
MOVLW 0x94
; b'10010100' d'148'
GOTO LADR_0x004F
MOVLW 0xD4
; b'11010100' d'212'
GOTO LADR_0x004F
IORLW 0x80
; b'10000000' d'128'
GOTO LADR_0x004F
IORLW 0xC0
; b'11000000' d'192'
GOTO LADR_0x004F
MOVLW 0x08
; b'00001000' d'008'
GOTO LADR_0x004F
MOVLW 0x0E
; b'00001110' d'014'
GOTO LADR_0x004F
LADR_0x004A
MOVLW 0x0C
; b'00001100' d'012'
GOTO LADR_0x004F
LADR_0x004C
MOVLW 0x01
; b'00000001' d'001'
GOTO LADR_0x004F
LADR_0x004E
MOVLW 0x28
; b'00101000' d'040' "("
LADR_0x004F
BCF PORTA,0
; !!Bank!! PORTA - TRISA
GOTO LADR_0x0053
LADR_0x0051
BSF PORTA,0
; !!Bank!! PORTA - TRISA
CALL LADR_0x005B
LADR_0x0053
MOVWF LRAM_0x0D
CALL LADR_0x0022
SWAPF LRAM_0x0D,W
CALL LADR_0x0022
BTFSS PORTA,0
; !!Bank!! PORTA - TRISA
CALL LADR_0x00B7
CALL LADR_0x00A3
RETURN
LADR_0x005B
MOVWF LRAM_0x0C
SUBLW 0xF1
; b'11110001' d'241'
BTFSS STATUS,Z
GOTO LADR_0x0062
MOVLW 0xEE
; b'11101110' d'238'
MOVWF LRAM_0x0C
GOTO LADR_0x006F
LADR_0x0062
MOVF LRAM_0x0C,W
SUBLW 0xD1
; b'11010001' d'209'
BTFSS STATUS,Z
GOTO LADR_0x0069
MOVLW 0xEE
; b'11101110' d'238'
MOVWF LRAM_0x0C
GOTO LADR_0x006F
LADR_0x0069
MOVF LRAM_0x0C,W
SUBLW 0xBA
; b'10111010' d'186'
BTFSS STATUS,Z
GOTO LADR_0x006F
MOVLW 0xDF
; b'11011111' d'223'
MOVWF LRAM_0x0C
LADR_0x006F
MOVF LRAM_0x0C,W
RETURN
MOVLW 0x10
; b'00010000' d'016'
GOTO LADR_0x0078
MOVLW 0x01
; b'00000001' d'001'
GOTO LADR_0x0078
MOVLW 0x02
; b'00000010'
GOTO LADR_0x0078
MOVLW 0x03
; b'00000011'
LADR_0x0078
MOVWF LRAM_0x0F
LADR_0x0079
MOVLW 0x20
; b'00100000'
CALL LADR_0x0051
DECFSZ LRAM_0x0F,F
GOTO LADR_0x0079
RETURN
MOVWF LRAM_0x10
ANDLW 0xF0
; b'11110000'
BTFSS STATUS,Z
GOTO LADR_0x0086
MOVLW 0x20
; b'00100000'
CALL LADR_0x0051
GOTO LADR_0x0088
MOVWF LRAM_0x10
LADR_0x0086
SWAPF LRAM_0x10,W
CALL LADR_0x0089
LADR_0x0088
MOVF LRAM_0x10,W
LADR_0x0089
ANDLW 0x0F
; b'00001111'
MOVWF LRAM_0x0F
SUBLW 0x09
; b'00001001'
BTFSS STATUS,C
GOTO LADR_0x0091
MOVF LRAM_0x0F,W
ADDLW 0x30
; b'00110000'
GOTO LADR_0x0093
LADR_0x0091
MOVF LRAM_0x0F,W
ADDLW 0x37
; b'00110111'
d'002'
d'003'
d'240'
d'015'
d'009'
d'048' "0"
d'055' "7"
LADR_0x0093
GOTO LADR_0x0051
NOP
NOP
NOP
NOP
NOP
NOP
RETURN
NOP
MOVLW 0xA4
; b'10100100'
GOTO LADR_0x00A7
LADR_0x009E
NOP
MOVLW 0x40
; b'01000000'
GOTO LADR_0x00A7
MOVLW 0x1F
; b'00011111'
GOTO LADR_0x00A7
LADR_0x00A3
NOP
MOVLW 0x0E
; b'00001110'
GOTO LADR_0x00A7
MOVLW 0x05
; b'00000101'
LADR_0x00A7
MOVWF LRAM_0x11
LADR_0x00A8
DECFSZ LRAM_0x11,F
GOTO LADR_0x00A8
RETURN
MOVLW 0xC8
; b'11001000'
GOTO LADR_0x00BA
MOVLW 0x64
; b'01100100'
GOTO LADR_0x00BA
MOVLW 0x32
; b'00110010'
GOTO LADR_0x00BA
LADR_0x00B1
MOVLW 0x14
; b'00010100'
d'164'
d'064' "@"
d'031'
d'014'
d'005'
d'200'
d'100' "d"
d'050' "2"
d'020'
GOTO LADR_0x00BA
MOVLW 0x0A
; b'00001010'
GOTO LADR_0x00BA
LADR_0x00B5
MOVLW 0x05
; b'00000101'
GOTO LADR_0x00BA
LADR_0x00B7
MOVLW 0x02
; b'00000010'
GOTO LADR_0x00BA
MOVLW 0x01
; b'00000001'
LADR_0x00BA
MOVWF LRAM_0x12
LADR_0x00BB
MOVLW 0xF9
; b'11111001'
MOVWF LRAM_0x11
LADR_0x00BD
NOP
DECFSZ LRAM_0x11,F
GOTO LADR_0x00BD
DECFSZ LRAM_0x12,F
GOTO LADR_0x00BB
RETURN
MOVLW 0xC8
; b'11001000'
GOTO LADR_0x00CE
MOVLW 0x64
; b'01100100'
GOTO LADR_0x00CE
MOVLW 0x32
; b'00110010'
GOTO LADR_0x00CE
MOVLW 0x14
; b'00010100'
GOTO LADR_0x00CE
MOVLW 0x0A
; b'00001010'
GOTO LADR_0x00CE
MOVLW 0x05
; b'00000101'
LADR_0x00CE
MOVWF LRAM_0x13
LADR_0x00CF
MOVLW 0x64
; b'01100100'
d'010'
d'005'
d'002'
d'001'
d'249'
d'200'
d'100' "d"
d'050' "2"
d'020'
d'010'
d'005'
d'100' "d"
MOVWF LRAM_0x12
LADR_0x00D1
MOVLW 0xF9
; b'11111001' d'249'
MOVWF LRAM_0x11
LADR_0x00D3
NOP
DECFSZ LRAM_0x11,F
GOTO LADR_0x00D3
DECFSZ LRAM_0x12,F
GOTO LADR_0x00D1
DECFSZ LRAM_0x13,F
GOTO LADR_0x00CF
RETURN
End