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
- LCDdataRD equ 0FF2FH
- #define HOME 0x80
- #define INITDISP 0x38
- #define HOM2 0xc0
- #define LCDON 0x0e
- #define CLEAR 0x01
- ORG 100H
- text: DB "KASIA", 00
- text2: DB "MIRON", 00
- text3: DB "PTM_LAB", 00
- text4: DB "09.05.2019", 00
- LCDcntrlWR MACRO x
- LOCAL loop
- loop:
- MOV DPTR, #LCDstatus
- MOVX A, @DPTR
- JB ACC.7, loop
- MOV DPTR, #LCDcontrol
- 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
- loop2:
- MOV DPTR, #LCDdataWR
- POP ACC
- MOVX @DPTR, A
- ENDM
- init_LCD MACRO
- LCDcntrlWR #INITDISP
- LCDcntrlWR #CLEAR
- LCDcntrlWR #LCDON
- ENDM
- putChrLCD:
- LCDcharWR
- RET
- putStringLCD:
- CLR A
- MOVC A, @A+DPTR
- JZ EXIT
- PUSH DPH
- PUSH DPL
- CALL putChrLCD
- POP DPL
- POP DPH
- INC DPTR
- SJMP putStringLCD
- EXIT:RET
- START:
- MOV A, P3
- JNB ACC.2, but2
- JNB ACC.3, but3
- JNB ACC.4, but4
- JNB ACC.5, but5
- JMP START
- but2:
- LCDcntrlWR #CLEAR
- MOV DPTR, #text
- CALL putStringLCD
- JMP START
- but3:
- LCDcntrlWR #CLEAR
- LCDcntrlWR #HOM2
- MOV DPTR, #text2
- CALL putStringLCD
- JMP START
- but4:
- LCDcntrlWR #CLEAR
- MOV DPTR, #text3
- CALL putStringLCD
- JMP START
- but5:
- LCDcntrlWR #CLEAR
- LCDcntrlWR #HOM2
- MOV DPTR, #text4
- CALL putStringLCD
- JMP START
- init_LCD
- MOV A, #4BH
- LCDcharWR
- MOV A, #41H
- LCDcharWR
- LCDcntrlWR #HOM2
- MOV A, #47H
- LCDcharWR
- LCDcntrlWR #CLEAR
- MOV DPTR, #text
- CALL putStringLCD
- LCDcntrlWR #HOM2
- MOV DPTR, #text2
- CALL putStringLCD
- NOP
- NOP
- NOP
- JMP $
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement