Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LJMP START
- ;REJESTRY LCD
- LCDstatus equ 0FF2EH
- LCDcontrol equ 0FF2CH
- LCDdataWR equ 0FF2DH
- LCDdataRD equ 0FF2FH
- ;LCD CONTROL BYTES
- #define HOME 0x80
- #define INITDISP 0x38
- #define HOM2 0xc0
- #define LCDON 0x0e
- #define CLEAR 0x01
- putstrLCD: ;funkcja wypisujaca lancuch znakow na wyswietlacz
- CLR A
- MOVC A,@A+DPTR
- JZ EXIT
- PUSH DPH
- PUSH DPL
- CALL putcharLCD
- POP DPL
- POP DPH
- INC DPTR
- SJMP putstrLCD
- EXIT:RET
- ORG 0100H
- text: DB "Jakis tekst", 00 ;przypisanie napisu "Jakis tekst" do zmiennej text
- text2: DB "Jakis drugi tekst", 00 ;przypisanie napisu "Jakis tekst" do zmiennej text2
- 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 ;funkcja wypisujaca pojedynczy znak na wyswietlacz
- 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 ;funkcja inicjujaca wyswietlacza
- LCDcntrlWR #INITDISP
- LCDcntrlWR #CLEAR
- LCDcntrlWR #LCDON
- ENDM
- first_line MACRO ;funkcja ustawiajaca kursor w 1 linii wyswietlacza
- LCDcntrlWR #HOME
- ENDM
- second_line MACRO ;funkcja ustawiajaca kursor w 2 linii wyswietlacza
- LCDcntrlWR #HOM2
- ENDM
- putcharLCD:
- LCDcharWR
- RET
- START:
- init_LCD ;zainicjowanie wyswietlacza
- first_line ;wywolanie funkcji first_line ustawiajacej kursor w 1 lini wyswietlacza
- MOV A,#61H ;przypisanie kodu ASCII znaku 'a' do akumulatora
- LCDcharWR ;wywolanie funkcji LCDcharWR wypisujacej znak na wyswietlacz
- second_line ;wywolanie funkcji second_line ustawiajacej kursor w 2 lini wyswietlacza
- MOV A,#62H ;przypisanie kodu ASCII znaku 'b' do akumulatora
- LCDcharWR ;wywolanie funkcji LCDcharWR wypisujacej znak na wyswietlac
- first_line ;powrotne ustawienie kursora w 1 linii wyswietlacza
- MOV DPTR,#text ;zaladowanie adresu do wskaznika danych DPTR
- CALL putstrLCD ;wywolanie funkcji putstrLCD wypisujacej lancuch znakow na wyswietlacz
- NOP
- NOP
- NOP
- JMP $
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement