Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LJMP START
- P5 EQU 0F8H
- P7 EQU 0DBH
- WR_CMD EQU 0FF2CH
- WR_DATA EQU 0FF2DH
- RD_STATUS EQU 0FF2EH
- RD_DATA EQU 0FF2FH
- #define INITDISP 038H
- #define CLEAR 001H
- #define LCDON 00EH
- ORG 0100H
- START:
- LCALL LCD_INIT
- MOV A,P5
- ANL A,#0FH
- MOV P5,A
- MOV DPTR, #08077H
- MOV A,#'1'
- MOVX @DPTR,A
- MOV DPTR, #0807bH
- MOV A,#'2'
- MOVX @DPTR,A
- MOV DPTR, #0807dH
- MOV A,#'3'
- MOVX @DPTR,A
- MOV DPTR, #0807eH
- MOV A,#'A'
- MOVX @DPTR,A
- MOV DPTR, #080b7H
- MOV A,#'4'
- MOVX @DPTR,A
- MOV DPTR, #080bbH
- MOV A,#'5'
- MOVX @DPTR,A
- MOV DPTR, #080bdH
- MOV A,#'6'
- MOVX @DPTR,A
- MOV DPTR, #080beH
- MOV A,#'B'
- MOVX @DPTR,A
- MOV DPTR, #080d7H
- MOV A,#'7'
- MOVX @DPTR,A
- MOV DPTR, #080dbH
- MOV A,#'8'
- MOVX @DPTR,A
- MOV DPTR, #080ddH
- MOV A,#'9'
- MOVX @DPTR,A
- MOV DPTR, #080deH
- MOV A,#'C'
- MOVX @DPTR,A
- MOV DPTR, #080e7H
- MOV A,#'*'
- MOVX @DPTR,A
- MOV DPTR, #080ebH
- MOV A,#'0'
- MOVX @DPTR,A
- MOV DPTR, #080edH
- MOV A,#'#'
- MOVX @DPTR,A
- MOV DPTR, #080eeH
- MOV A,#'D'
- MOVX @DPTR,A
- MOV R0, #010H
- MOV R1, #020H
- MOV R4, #0FFH
- MOV R3, #00H
- LOOP:
- MOV R2, #0FFH
- MOV A, R4
- MOV P1, A
- J1:
- MOV P5,#01110000B
- MOV A,P7
- ANL A,#00001111B
- MOV B, A
- CLR C
- SUBB A,#0FH
- JZ J2
- MOV A, B
- ORL A,#01110000B
- MOV DPH,#080H
- MOV DPL, A
- MOV R3, DPL
- MOVX A, @DPTR
- MOV R2, A
- MOV R3, A
- J2:
- MOV P5,#10110000B
- MOV A,P7
- ANL A,#00001111B
- MOV B, A
- CLR C
- SUBB A,#0FH
- JZ J3
- MOV A, B
- ORL A,#10110000B
- MOV DPH,#080H
- MOV DPL, A
- MOV R3, DPL
- MOVX A, @DPTR
- MOV R2, A
- MOV R3, A
- J3:
- MOV P5,#11010000B
- MOV A,P7
- ANL A,#00001111B
- MOV B, A
- CLR C
- SUBB A,#0FH
- JZ J4
- MOV A, B
- ORL A,#11010000B
- MOV DPH,#080H
- MOV DPL, A
- MOV R3, DPL
- MOVX A, @DPTR
- MOV R2, A
- MOV R3, A
- J4:
- MOV P5,#11100000B
- MOV A,P7
- ANL A,#00001111B
- MOV B, A
- CLR C
- SUBB A,#0FH
- JZ J5
- MOV A, B
- ORL A,#11100000B
- MOV DPH,#080H
- MOV DPL, A
- MOV R3, DPL
- MOVX A, @DPTR
- MOV R2, A
- MOV R3, A
- J5:
- MOV A, R2
- CLR C
- SUBB A,#0FFH
- JZ LOOP
- MOV A, R3
- MOV R4, A
- LCALL LCD_PUT_CHAR
- DJNZ R0, SECOND
- LCALL LCD_SEC_LN
- MOV R1, #010H
- SECOND:
- DJNZ R1, SKOK
- LCALL LCD_CLEAR
- MOV R0, #011H
- SKOK:
- MOV R7, #003H
- TUTU1:
- MOV R6, #0FFH
- TAMTAM:
- MOV R5, #0FFH
- TUTU:
- DJNZ R5, TUTU
- DJNZ R6, TAMTAM
- DJNZ R7, TUTU1
- JMP LOOP
- LCD_INIT:
- MOV A, #INITDISP
- LCALL LCD_WR_CMD
- MOV A, #CLEAR
- LCALL LCD_WR_CMD
- MOV A, #LCDON
- LCALL LCD_WR_CMD
- RET
- LCD_CLEAR:
- MOV A, #CLEAR
- LCALL LCD_WR_CMD
- MOV A, #LCDON
- LCALL LCD_WR_CMD
- RET
- LCD_WR_CMD:
- PUSH ACC
- MOV DPTR, #RD_STATUS
- PETLA:
- MOVX A, @DPTR
- JB ACC.7, PETLA
- MOV DPTR, #WR_CMD
- POP ACC
- MOVX @DPTR, A
- RET
- LCD_WR_DATA:
- PUSH ACC
- MOV DPTR, #RD_STATUS
- PETLA1:
- MOVX A, @DPTR
- JB ACC.7, PETLA1
- MOV DPTR, #WR_DATA
- POP ACC
- MOVX @DPTR, A
- RET
- LCD_PUT_CHAR:
- LCALL LCD_WR_DATA
- RET
- LCD_SEC_LN:
- MOV A, #0xc0
- LCALL LCD_WR_CMD
- RET
- NOP
- NOP
- NOP
- JMP $
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement