Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- INIT EQU 038H
- CLEAR EQU 01H
- ON EQU 06H
- CMD_WR EQU 0FF2CH
- DATA_WR EQU 0FF2DH
- CMD_READ EQU 0FF2EH
- DATA_READ EQU 0FF2FH
- CURSOR EQU 40H
- CRS_ADD EQU 80H
- M EQU 77
- ORG 0
- LCALL INIT_LCD
- MOV A, #13H
- LCALL CUR_XY
- MOV A, #M
- LCALL WR_CH
- ; MOV DPTR, #STR_1
- ; LCALL WR_STR
- ; MOV DPTR, #STR_2
- ; LCALL WR_STR
- ;
- ; LCALL ASC
- SJMP $
- ;-----------------------------------
- INIT_LCD:
- MOV A, #INIT
- LCALL CMD_LCD
- MOV A, #CLEAR
- LCALL CMD_LCD
- MOV A, #ON
- LCALL CMD_LCD
- ;------------------------------------
- ; Zapis komendy A - kod komendy
- ;------------------------------------
- CMD_LCD:
- PUSH ACC
- MOV DPTR, #CMD_READ
- LOOP:
- MOVX A, @DPTR
- JB ACC.7, LOOP
- MOV DPTR, #CMD_WR
- POP ACC
- MOVX @DPTR, A
- RET
- ;-----------------------------------------
- ; Wypisanie znaku, A - kod ascii zanku
- ;-----------------------------------------
- WR_CH:
- PUSH ACC
- MOV DPTR, #CMD_READ
- LOOP1:
- MOVX A, @DPTR
- JB ACC.7, LOOP1
- MOV DPTR, #DATA_WR
- POP ACC
- MOVX @DPTR, A
- RET
- ;-----------------------------------------
- ; Wypisanie stringa, DPTR - adres poczatku str
- ;-----------------------------------------
- WR_STR:
- PUSH ACC
- CLR A
- MOVC A, @A+DPTR
- JZ END_STR
- PUSH DPH
- PUSH DPL
- LCALL WR_CH
- POP DPL
- POP DPH
- INC DPTR
- POP ACC
- SJMP WR_STR
- END_STR:
- POP ACC
- RET
- ;---------------------------------------------
- ; Ustawiannie kursora na poczatku dolnej linii
- ;---------------------------------------------
- CUR:
- PUSH ACC
- MOV A, #CURSOR
- ADD A, #CRS_ADD
- LCALL CMD_LCD
- POP ACC
- RET
- ;---------------------------------------------
- ; Ustawiannie kursora na pozycji A = ---y |xxxx
- ;---------------------------------------------
- CUR_XY:
- PUSH ACC
- MOV R1, #0
- JB ACC.4, Y
- SJMP X
- Y:
- MOV R1, #40H
- X:
- ANL A, #00001111B
- ADD A, R1
- ADD A, #CRS_ADD
- LCALL CMD_LCD
- POP ACC
- RET
- ;----------------------------------------------
- ASC:
- MOV R1,#25
- LOOPIK:
- MOV A, R1
- ADD A, #65
- LCALL WR_CH
- DJNZ R1,LOOPIK
- RET
- STR_1: DB 'ABCDEFGHIJKLMNOP', 0
- STR_2: DB 'RSTUWYZ123456789', 0
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement