5.6.1. Thanh ghi điều khiển và các chếđộ hoạt động của cổng nối tiếp 5.6.1.1. Thanh ghi SBUF 5.6.1.1. Thanh ghi SBUF
SBUF là thanh ghi 8 bit đƣợc dùng riêng cho truyền thông nối tiếp trong 8051. Đối với một byte dữ liệu cần truyền qua đƣờng TxD thì nó phải đƣợc đặt trong thanh ghi SBUF. Tƣơng tự nhƣ vậy, SBUF giữ một byte dữ liệu khi nó đƣợc nhận bởi đƣờng RxD của 8051. SBUF có thể đƣợc truy cập bởi mọi thanh ghi bất kỳ trong 8051
Ví dụ: MOV SBUF,#“D” ; Nạp vào SBUF giá trị 44H là mã ACSII của D MOV SBUF,A ; Chép nội dung của A vào SBUF
MOV A,SBUF ; Chép nội dung của SBUF vào A
Khi một byte đƣợc ghi vào SBUF nó sẽ đƣợc đóng khung với các bit Start, Stop và đƣợc truyền nối tiếp qua chân TxD. Tƣơng tựnhƣ vậy, khi các bit đƣợc nhận nối tiếp từ RxD thì 8051 mởkhung để loại bỏcác bit Start, Stop để lấy ra một byte dữ liệu đặt vào thanh ghi SBUF.
5.6.1.2. Thanh ghi điều khiển nối tiếp SCON
Thanh ghi SCON là thanh ghi 8 bit đƣợc dùng để lập trình việc đóng khung bit bắt đầu Start, bit dừng Stop và các bit dữ liệu.
Mô tả các bit của thanh ghi SCON:
SM0 SM1 SM2 REN TB8 RB8 T1 R1
99
SM0, SM1:
M0 và M1 đƣợc dùng đểxác định đóng khung dữ liệu bằng cách xác định số bit của một ký tự và các bit Start, Stop. Các tổ hợp của chúng là:
SM0 SM1 Serial Mode Explanation Baud Rate
0 0 0 8-bit Shift Register Oscillator / 12 0 1 1 8-bit UART Set by Timer 1 1 0 2 9-bit UART Oscillator/ 32 1 1 3 9-bit UART Set by Timer 1