Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CSEG AT 0
- AJMP reset
- CSEG AT 30h
- reset:
- MOV SCON,#50h ; uart w trybie 1 (8 bit), REN=1
- MOV TMOD,#20h ; licznik 1 w trybie 2
- MOV TH1,#0FDh ; 9600 Bds at 11.0592MHz
- SETB TR1 ; uruchomienie licznika
- CLR TI ; wyzerowanie flagi wyslania
- start:
- JNB P3.6, kod ;kodowanie
- JNB P3.7, dekod ;dekodowanie
- loop1:
- JNB RI,$ ;sprawdzanie flagi odbioru
- MOV A,SBUF ; czytanie z uarta
- CLR RI ; zerowanie flagi odbioru
- INC A
- MOV SBUF,A ; zapis do uarta
- JNB TI,$ ; czekanie na opróznienie bufora nadajnika
- CLR TI ; wyzerowanie flagi wyslania
- AJMP start
- loop2:
- JNB RI,$ ;sprawdzanie flagi odbioru
- MOV A,SBUF ; czytanie z uarta
- CLR RI ; zerowanie flagi odbioru
- DEC A
- MOV SBUF,A ; zapis do uarta
- JNB TI,$ ; czekanie na opróznienie bufora nadajnika
- CLR TI ; wyzerowanie flagi wyslania
- JNB P3.6, kod ;kodowanie
- AJMP loop2
- kod:
- SETB P2.7
- CLR P2.6
- INC A
- AJMP loop1
- dekod:
- SETB P2.6
- CLR P2.7
- DEC A
- AJMP loop2
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement