Mục tiêu:
- Biết cách khởi động các thanh ghi - Biết cách truy xuất các thanh ghi
3.1. Cho phép thu, phát dữ liệu
Trong thanh ghi SCON, bit-REN =1 để cho phép thu dữ liệu. Lệnh này được thực thi ở đầu chương trình.
setb ren
hoặc:
mov scon,#xxx1xxxxb
Trong thanh ghi SCON, bit-TI =1 để cho phép port nối tiếp sẵn sàng phát dữ liệu. Lệnh này được thực thi ở đầu chương trình.
setb TI
Trong qua trình phát dữ liệu, bit thứ 9 dùng để truyền bit kiểm tra chẵn lẻ. Trong truyền thông đa xử lý, bit dữ liệu thứ 9 dùng để truyền bit '1' hoặc bit '0' để phân biệt byte định địa chỉ và byte dữ liệu. Khi phát, bit thứ 9 được đưa vào TB8 và khi thu, bit này được nhận về RB8. Bit này còn chứa bit 'STOP' khi truyền dữ liệu ở chế độ 8 bit.
3.3. Thêm bit chẵn lẻ
Bit P trong thanh ghi PSW dùng để thiết lập kiểm tra chẵn cho dữ liệu 8 bit chứa trong thanh ghi A.
Ví dụ. Nếu việc truyền thông yêu cầu 8 bit dữ liệu cộng với một bit kiểm tra chẵn, các lệnh sau được dùng để phát đi 8 bit và bit kiểm tra chẵn chứa trong bit thứ 9:
Mov c,p
Mov tb8,c
Mov sbuf,a
3.4. Các cờ ngắt
TI và RI là hai cờ ngắt phát, thu chứa trong thanh ghi SCON. Hai cờ này được set lên 1 và xoá bằng phần mềm.
Đoạn lệnh chờ đọc một ký tự:
Wait:
Jnb RI,$ ;khi RI = '1' bộ đệm hoàn tất việc nhận dữ liệu
Clr RI ;xoá cờ RI cho việc nhận lần sau
Mov a,sbuf;đọc dữ liệu về thanh ghi A
Đoạn lệnh chờ phát một ký tự:
Wait:
Jnb RI,$ ;khi TRI = '1' bộ đệm hoàn tất việc phát dữ liệu
Mov a,sbuf; đưa dữ liệu vào thanh ghi đệm Sbuf