Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;rozpoczecie programu
- org 0
- jmp start
- ;przerwanie
- org 0023h
- jmp przer
- start:
- mov tmod, #20h ;timer 1 tryb 2 – automatyczne przeładowanie z th, 8bitów
- mov th1, #0fdh ;prędkość transmisji 9600 b/s, szesnastobitowy licznik układu czasowo-licznikowego (bardziej znaczący bajt licznika T1)
- setb tr1 ;uruchomienie timera 1
- setb sm1 ;tryb 1 portu szeregowego, transmisja asynchroniczna, znaki ośmiobitowe, szybkość określona programowo, Baud rate - set by Timer 1 sm1 - 1 sm0 - 0
- setb ea ;ogólne zezwolenie na przerwania
- setb es ;zezwolenie na przerwanie z transmisji szeregowej
- setb ren ;umożliwienie odbioru danych
- przycisk:
- jb p2.1, przycisk ;;sprawdzenie czy przycisk odpowiadajązy za wysyłanie jest nacisnięty
- mov a, #33
- setb acc.7
- mov sbuf, a
- puszczono:
- jnb p2.1, puszczono ;;sprawdzenie czy guzik jest puszczoeny
- sjmp przycisk ;;skoczenie do sprawdzenia czy guzik jest wciśniety
- przer:
- jnb ri, spr ;;sprawdzanie flagi odpowiadajaczej za odbieranie
- mov a, SBUF ;;pobieranie wartości z bufora
- clr ri ;;wyczysczenie flagi ri odpowiadajączej za odbieranie danych
- odbierz:
- cjne a, #225, koniec ;;sprawdzenie czy odebrane dane to A jak nie to skacze do koniec
- cpl p2.1 ;;zapalanie diody dla litery A
- spr:
- jnb ti, koniec ;;sprawdzanie flagi ti odpowiadajacej za wysylanie danych
- clr ti ;;czysczenie flagi ti
- koniec:
- reti
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement