Phơng thức truyền tin nối tiếp(Serial Interface):

Một phần của tài liệu Giáo trình Vi Điều Khiển 1 (Trang 39 - 40)

2. 5.5.3 Mức ngắ tu tiên trong on-chip:

2.5.6.1. Phơng thức truyền tin nối tiếp(Serial Interface):

Hệ VXL on-chip này truyền tin nối tiếp bằng cổng RxD và TxD, dữ liệu xuất nhập truyền qua cổng nối tiếp bằng tốc độ Baud và đều qua vùng đệm nối tiếp SBUF. Cổng truyền nối tiếp là cổng truyền tin 2 chiều, nghĩa là nó có thể đồng thời truyền và nhận thông tin cùng 1 lúc. Nó cũng có khả năng vừa thực hiện chức năng nhận vừa thực hiện chức năng đệm, tức là nó có thể nhận byte kế tiếp trớc khi byte đợc nhận trớc đó đợc đọc từ thanh ghi đệm. (Tuy nhiên, nếu byte đầu tiên vẫn cha đợc đọc tại thời điểm nhận của byte thứ 2, thì một trong 2 byte này sẽ bị mất). Điều khiển cổng nối tiếp bằng thanh ghi SCON, trạng thái của 2 bit SM0 và SM1 trong thanh ghi này thiết lập nên 4 chế độ hoạt động giao tiếp nối tiếp chuẩn nh sau:

+ Chế độ 0: Dữ liệu nối tiếp vào và ra sẽ thông qua chân RxD. Chân TxD đa ra xung nhịp đồng hồ. 8 bit dữ liệu đợc truyền/nhận nối tiếp, với bit LSB đợc thực hiện đầu tiên. Tốc độ Baud đợc cố định bằng 1/12 tần số của bộ dao động.

+ Chế độ 1: 10 bit đợc truyền (thông qua TxD) hoặc nhận (thông qua RxD), trong đó gồm có: 1 bit khởi động (có giá trị 0), 8 bit dữ liệu (đầu tiên là LSB), và 1 bit dừng (có giá trị là 1). Khi nhận, bit dừng đợc chuyển vào RB8 của thanh ghi SCON. Tốc độ Baud có thể thay đổi đợc.

+ Chế độ 2: 11 bit đợc truyền (thông qua TxD) hoặc nhận (thông qua RxD) bao gồm: bit khởi động (có giá trị 0), 8 bit dữ liệu (đầu tiên là LSB), một bit dữ liệu thứ 9 có thể lập trình đợc, và một bit dừng (có giá trị 1). Khi truyền, bit dữ liệu thứ 9 (TB8 ở trong SCON) có thể đợc gán giá trị 0 hoặc 1. Chẳng hạn nh bit chẵn lẻ (P ở trong PSW) có thể đợc chuyển vào TB8. Khi nhận, bit dữ liệu thứ 9 đợc chuyển vào RB8 ở thanh ghi SCON, trong khi bit dừng đợc lọc bỏ. Tốc độ Baud có thể lập trình đợc bằng 1/32 hoặc 1/64 tần số bộ dao động.

+ Chế độ 3: 11 bit đợc truyền (thông qua TxD) hoặc đợc nhận (thông qua RxD) bao gồm: 1 bit khởi động (có giá trị 0), 8 bit dữ liệu (đầu tiên là LSB), 1 bit dữ liệu thứ 9 có thể lập trình đợc, và 1 bit dừng (có giá trị 1). Trên thực tế, chế độ 3 giống chế độ 2 ở mọi góc độ trừ tốc độ Baud. Tốc độ Baud ở chế độ 3 là khả biến và đợc xác định theo bộ Timer 1.

Trong cả 4 chế độ trên, việc truyền đợc bắt đầu bởi bất kỳ một lệnh nào mà sử dụng thanh ghi SBUF nh là một thanh ghi đích. Việc nhận đợc bắt đầu ở chế độ 0 khi RI=0 và REN=1. Đối với các chế độ khác, việc nhận đợc bắt đầu khi bit REN=1.

Một phần của tài liệu Giáo trình Vi Điều Khiển 1 (Trang 39 - 40)

Tải bản đầy đủ (DOC)

(80 trang)
w