Kod: Zaznacz cały
$MOD51
$DEBUG(asm.aof)
RS equ P1.0
E equ P1.1
LCDBUS equ P2
main:
call LCDINIT
call delay
mov A,#0
call LCDDDRAM
call delay
mov A,#11111111B
call LCDWRITECHAR
call delay
jmp koniec
;############################################################################
LCDDDRAM:
clr E
clr RS
setb ACC.7
mov LCDBUS,A
SETB E
ret
LCDWRITECHAR:
clr E
setb RS
mov LCDBUS,A
SETB E
ret
;########################################################################
DELAY:
mov A,#50
MOV R3,A
L1:
MOV R2,#10
L2:
MOV R1,#48
L3:
DJNZ R1,L3
DJNZ R2,L2
DJNZ R3,L1
RET
LCDINIT:
CLR RS
CLR E
CALL DELAY
CALL DELAY
mov LCDBUS,#00110000B
setb E
clr E
call DELAY
mov LCDBUS,#00110000B
setb E
clr E
call DELAY
mov LCDBUS,#00110000B ;3 razy to samo
setb E
clr E
call delay
mov LCDBUS,#00101000B ;function set
setb E
clr E
call delay
mov LCDBUS,#00001010B ;display on/off
setb E
clr E
call delay
mov LCDBUS,#00000001B ;clear
setb E
clr E
call delay
mov LCDBUS,#00000111B ;entry mode
setb E
clr E
mov LCDBUS,#00010100B ;shift
setb E
clr E
ret
;########################################################################################
koniec:
nop
jmp koniec
end