Advertisement
Guest User

Untitled

a guest
Jan 15th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. org 0x00
  2.     JMP INIT
  3. org 0x03
  4.     JMP EX0_IRQ
  5. org 0x23
  6.     JMP SERIAL_IRQ
  7.  
  8. org 0x30
  9. INIT:
  10.     mov TMOD, #0x20 ;Timer1 do pracy z UART
  11.     mov SCON, #0x50 ;tryb transmisji szer  
  12.     orl PCON, #0x80 ;SMOD =1
  13.     mov TH1, #3 ;predkosc transmisji szer
  14.     mov TL1, #3
  15.     setb TR1    ;start timer
  16.  
  17.     setb IT0    ;przerwanai zew od opadajacego zbocza
  18.  
  19.     setb EA     ;pozwolenai na przerwania
  20.     setb EX0
  21.     setb ES
  22.  
  23. MAIN:
  24.     JMP MAIN
  25.  
  26. EX0_IRQ:
  27.     PUSH A
  28.     JNB PAR_B, END_EX0  ;jesli nieparzysta to pomiń dane
  29.     mov DPTR, #0x6301   ;do DPTR wpisz adres komórki
  30.     mov A, DATA_A       ;do A wpisz odebrane dane
  31.     ADD A, 0x220        ;do odebranych danych dodaj zawartość komórki o adresie
  32.     mov SBUF, A         ;wyślij wynik dodawania portem szer.
  33.  
  34. END_EX0:
  35.     POP A
  36.     RETI
  37.  
  38. SERIAL_IRQ:
  39.     PUSH A
  40.     JB TI, END_SERIAL   ;jesli nadajesz to zakoncz
  41.     JNB RI, END_SERIAL  ;jesli nie odbierasz to zakoncz
  42.     mov R1, SBUF        ;Wpisz do R1 odebrany adres komorki
  43.     mov DPTR, #0x5041   ;wpisz do DPTR adres komórki
  44.     mov A, @R1          ;wpisz do A zawartość komórki o adresie zapisanym w R1
  45.     movx @DPTR, A       ;Do zawartości komórki o adresie z DPTR wpisz A
  46.     clr RI
  47.     POP A
  48.     RETI
  49.  
  50. END_SERIAL:
  51.     CLR TI
  52.     POP A
  53.     RETI
  54.  
  55. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement