1.Gíơi thiệu
Port nối tiếp của 8051 có thể hoạt động trong các mode ri êng biệt trên phạm vi cho phép của tần số. Chức năng chủ yếu của Port nối tiếp l à thực hiện sự chuyển đổi song song thành nối tiếp cho dữ liệu ra và chuyển đổi nối tiếp thành song song của dữ liệu đầu vào.
Phần cứng truy xuất tới Port nối tiếp qua các chân TXD (P3.1) v à RXD (P3.0).
Port nối tiếp tham dự hoạt động đầy đủ (sự phát v à sự thu cùng lúc), và thu vào bộ đếm mà nó cho phép 1 ký tự được nhận vào và cất vào bộ đệm trong khi ký tự thứ 2 được nhận vào . Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ 2 được nhận vào hoàn toàn thì dữ liệu không bị mất.
Hai thanh ghi chức năng đặc biệt cung cấp cho phần mềm truy
xuất đến Port nối tiếp là SBUF và SCON. Sự đệm Port nối tiếp SBUF ở địa chỉ (99H) là 2 sự đệm thật sự: Ghi lên SBUF LOAD dữ liệu phát và đọc SBUF truy xuất dữ liệu đã nhận. Đây là 2 thanh ghi riêng biệt và rõ rệt, mà thanh ghi phát chỉ ghi còn thanh ghi thu chỉ đọc.
Thanh ghi điều khiển Pport nối tiếp SCON (98H) l à thanh ghi được định vị bit bao gồm các trạng thái và các bit điều khiển. Các bit điều khiển set mode của Port nối tiếp, còn các bit trạng thái cho biết sự kết thúc việc thu phát 1 ký tự. Các bit trạng thái có thể được kiểm tra trong phần mềm hoặc lập tr ình sinh ra ngắt.
Tần số hoạt động của Port nối tiếp hoặc tốc độ BAUD có thể đ ược lấy từ dao động trên chip 8051 hoặc thay đổi. Nếu một tốc độ BAUD thay đổi đ ược dùng, thì Timer cung cấp một tốc độ Baud ghi giờ và phải được lập trình phù hợp.
Mode hoạt động của Port nối tiếp của 8051 được set bởi việc ghi lên thanh ghi mode của Port nối tiếp SCON ở địa chỉ 99H. Bảng tóm tắt thanh ghi điều khiển Port nối tiếp SCON như sau:
SCON.7 SM0 9FH Bit 0 của chế độ port nối tiếp SCON.6 SM1 9EH Bit 1 của chế độ port nối tiếp SCON.5 SM2 9DH Cho phép chế độ nhiều vi xử lý SCON.4 REN 9CH Cho phép nhận. Lập/xoá mềm
SCON.3 TB8 9BH Bit thứ 9 trong mode 2và 3. Lập/xoá mềm SCON.2 RB8 9AH Bit thứ 9 nhận vào ( tuỳ mode) SCON.1 TI 99H Cờ ngắt truyền
Bảng các chế độ hoạt động của Port nối tiếp
SMOD SM1 MODE Mô tả Tốc độ
0 0 0 Thanh ghi dịch fOCS/12
0 1 1 UART 8bit Thay đổi
1 0 2 ỦART 9bit fOCS/64 hoặc / 32
1 1 3 ART 9bit Thay đổi
Cờ ngắt thu RI và phát TI trong thanh ghi SCON v ận hành 1 rơle quan trọng sự truyền nối tiếp 8051. Cả 2 bit đều đ ược set bởi phần cứng nhưng phải được xoá bằng phần mềm .
Điển hình là RI được set ở cuối sự thu ký tự và cho biết: “thanh ghi đệm thu đã đầy”. Điều kiện này có thể kiểm tra trong phần mềm hoặc có thể lập tr ình sinh ra sự ngắt. Nếu phần mềm muốn nhập một ký tự từ một thiết bị đ ã được kết nối tới Port nối tiếp, thì nó phải chờ đến khi RI được set,sau khi xoá RI và đọc ký tự từ SBUF.
TI được set ở cuối sự phát ký tự và cho biết “thanh ghi đệm của sự phát đã rỗng”. Nếu phần mềm múò gửi 1 ký tự đến một thiết bị được nối đến Port nối tiếp, trước tiên nó phải kiểm tra xem Port nối tiếp đã sẵn sàng chưa.
Nếu ký tự trước đã được gửi đi, thì nó phải chờ cho đến khi sự phát đi hoàn thành.Một việc quan trọng truyền thông nối tiếp l à ta phải tạo tốc độ Baud. Thường thì chúng ta dùng Timer 1 để tạo tốc độ Baud.
Bảng sau sẽ cho chúng ta các giá trị Baud thường dùng:
Tốc độ Baud Tần số thạch anh SMOD TH1 Tốc độ thực tế Sai số 9600 12.000MHz 1 -7(F9H) 8923 7% 2400 12.000MHz 0 -13(F3H) 2404 0.16% 1200 12.000MHz 0 -26(E6H) 1202 0.16% 19200 11.059MHz 1 -3(FDH) 19200
2400 11.059MHz 0 -12(F4H) 2400 0 1200 11.059MHz 0 -12(E8H) 1200 0