Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 0x00
- JMP INIT
- org 0x03
- JMP EX0_IRQ
- org 0x23
- JMP SERIAL_IRQ
- org 0x30
- INIT:
- mov TMOD, #0x20 ;Timer1 do pracy z UART
- mov SCON, #0x50 ;tryb transmisji szer
- orl PCON, #0x80 ;SMOD =1
- mov TH1, #3 ;predkosc transmisji szer
- mov TL1, #3
- setb TR1 ;start timer
- setb IT0 ;przerwanai zew od opadajacego zbocza
- setb EA ;pozwolenai na przerwania
- setb EX0
- setb ES
- MAIN:
- JMP MAIN
- EX0_IRQ:
- PUSH A
- JNB PAR_B, END_EX0 ;jesli nieparzysta to pomiń dane
- mov DPTR, #0x6301 ;do DPTR wpisz adres komórki
- mov A, DATA_A ;do A wpisz odebrane dane
- ADD A, 0x220 ;do odebranych danych dodaj zawartość komórki o adresie
- mov SBUF, A ;wyślij wynik dodawania portem szer.
- END_EX0:
- POP A
- RETI
- SERIAL_IRQ:
- PUSH A
- JB TI, END_SERIAL ;jesli nadajesz to zakoncz
- JNB RI, END_SERIAL ;jesli nie odbierasz to zakoncz
- mov R1, SBUF ;Wpisz do R1 odebrany adres komorki
- mov DPTR, #0x5041 ;wpisz do DPTR adres komórki
- mov A, @R1 ;wpisz do A zawartość komórki o adresie zapisanym w R1
- movx @DPTR, A ;Do zawartości komórki o adresie z DPTR wpisz A
- clr RI
- POP A
- RETI
- END_SERIAL:
- CLR TI
- POP A
- RETI
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement