Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LJMP START
- LCDstatus equ 0FF2EH
- LCDcontrol equ 0FF2CH
- LCDdataWR equ 0FF2DH
- #define HOME 0x80
- #define INITDISP 0x38
- #define HOM2 0xc0
- #define LCDON 0x0e
- #define CLEAR 0x01
- ORG 0100H
- LCDcntrlWR MACRO x
- LOCAL loop
- loop:
- MOV DPTR,#LCDstatus
- MOVX A,@DPTR
- JB ACC.7,loop ; check if LCD busy
- MOV DPTR,#LCDcontrol ; write to LCD control
- MOV A, x
- MOVX @DPTR,A
- ENDM
- LCDcharWR MACRO
- LOCAL loop1,loop2
- PUSH ACC
- loop1: MOV DPTR,#LCDstatus
- MOVX A,@DPTR
- JB ACC.7,loop1 ; check if LCD busy
- loop2: MOV DPTR,#LCDdataWR ; write data to LCD
- POP ACC
- MOVX @DPTR,A
- ENDM
- init_LCD MACRO
- LCDcntrlWR #INITDISP
- LCDcntrlWR #CLEAR
- LCDcntrlWR #LCDON
- ENDM
- START:
- init_LCD
- MOV A,#42H
- LCDcharWR
- MOV A, #41H
- LCDcharWR
- LCDcntrlWR #HOM2
- MOV A,#42H
- LCDcharWR
- MOV A, #41H
- LCDcharWR
- MOV A, #4EH
- LCDcharWR
- MOV A, #41H
- LCDcharWR
- MOV A, #4CH
- LCDcharWR
- NOP
- NOP
- NOP
- JMP $
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement