⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcs51_list_10_4.asm

📁 source code from Starcki book
💻 ASM
字号:
; =======================================================================
;
;           Tomasz Starecki: "Mikrokontrolery 8051 w praktyce"
;              Wydawnictwo BTC  -  http://www.btc.pl
;
; =======================================================================
; procedura programowej obslugi nadajnika lacza RS 
; bez parzystosci, z podwojnym bitem stopu
; musi byc wywolywana z czestotliwosca rowna baud rate (predkosci transmisji)
; 	TX_aktywny - bajt pomocniczy, zlicza liczbe bitow do wyslania
; 	TX_buf - jednobajtowy bufor, w ktorym umieszczono bajt do wyslania
; procedura umieszczajaca bajt do wyslania musi rowniez ustawic bit
; "zacznij_nadawanie", ktory jest automatycznie zerowany pod koniec nadawania
; udostepniane sa procedury jak w deklaracji PUBLIC
; wymagane zdefiniowanie (typowo w module glownym) parametr體 jak w EXTERN
;      niszczy ACC i CY
; =======================================================================

PUBLIC nadawanie_RS
EXTERN zacznij_nadawanie, TX_aktywny, TX_pin, TX_buf

nadawanie_RS:
MOV	A, TX_aktywny
JNZ	nastepny_bit		; skok jesli w trakcie wysylania bajtu
JB	zacznij_nadawanie, bit_startu
SETB	TX_pin
RET

bit_startu:
MOV	TX_aktywny, #10		; 11 bitow do wyslania (oprocz startu)
CLR	TX_pin			; bit startu
RET

nastepny_bit:
DEC	TX_aktywny		; dekrementacja TX_aktywny
CJNE	A, #2, moze_drugi_bit_stopu
SETB	TX_pin			; wyslanie pierwszego bit stopu
RET
moze_drugi_bit_stopu:
CJNE	A, #1, bit_danych
SETB	TX_pin			; wyslanie drugiego bitu stopu
CLR	zacznij_nadawanie		; i zerowanie znacznika nadawania
RET

bit_danych:
MOV	A, TX_buf			; wyslanie kolejnego bitu danych
MOV	C, ACC.0
MOV	TX_pin, C
RR	A
MOV	TX_buf, A
RET

END					; koniec modulu

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -