Chế độ 8bit UART với tốc độ baud thay đổi (Mode 1):

Một phần của tài liệu GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps (Trang 25 - 27)

Trong mode 1 cổng nối tiếp của 8051 hoạt động như là một bộ 8 bit UART có tốc độ baud thay đổi. 10 bit được phát đi trên đường TxD hoặc được nhận vào ngỏ RxD. Chúng bao gồm 1 bit Start (luôn luôn ở mức 0), tiếp theo là 8 bit dữ liệu (Bit LSB ở đầu), và bit Stop cuối cùng (luôn luôn là 1). Chu kỳ của mỗi bit là số nghịch đảo của tốc độ baud. Tốc độ baud được thiết lập bởi mức tràn Timer 1

Hoạt động phát được khởi đầu bằng cách ghi vào SBUF. Dữ liệu được chuyển dịch ra ngõ TxD bắt đầu bởi bit start, tiếp theo là 8 bit dữ kiệu và kết thúc bằng bit stop. Cờ ngắt phát đi T1 được bật ngay khi bit Stop xuất hiện ở chân TxD.

Hoạt động nhận được khởi đầu bằng sự chuyển đổi từ 1 qua 0 tại ngỏ RxD. Giả thiết rằng 1 bit start hợp lệ đã được phát hiện, sau đó bit start bị bỏ qua, 8 bit dữ liệu được dịch chuyển vào trong thanh ghi dịch của cổng nối tiếp. Tiếp theo:

Bit thứ 9(Bit Stop) được dịch chuyển vào trong RB8 của SCON 8 bit dữ liệu được nạp vào SBUF.

Cờ ngắt báo hiệu nhận được (RI) bật lên. Tốc độ baud = (Tốc độ tràn Timer1).2 SMOD/32 Ví dụ: Nếu tốc độ baud là 1200 thì tốc độ tràn là :

Tốc độ tràn Timer1 =38,4kHz

Nếu sử dụng thạch anh 12MHz để điều khiển bộ dao động nội,được định nhịp ở mức 1 MHz. Vì bộ định thời phải tràn ở tốc đọ 38,4KHz cũng được định nhịp ở mức 1000KHz. Như vậy cứ 1000/38,4=26,04 nhịp đồng hồ thì phải xảy ra tràn một lần ( làm tròn thành 26 nhịp đồng hồ ).Bởi vì bộ định thời đếm lên và hiện tượng tràn xảy ra khi có sự chuyển đổi từ FFH qua 00H, một giá trị đếm 26 nhỏ hơn 0 được yêu cầu nạp vào cho TH1. Như vậy giá trị đúng là -26 tức là E6H.

I.5.3.3.Mode 9 bit UART với tốc độ baud cố định (Mode 2):

Trong mode 2,lúc này 11 bit được phát đi hay nhận gồm có: Bit start,8 bit dữ liệu, 1bit dữ liệu thứ 9 được lập trình và bit stop. Khi phát đi thì cho dù thế nào đi nữa, bit thứ 9 cũng được đặt vào TB8 trong SCON ( Có thể là bit parity). Khi nhận, bit thứ 9 nhận được sẽ được đặt vào RB8 trong mode 2 bằng 1/32 hay 1/64 tần số của bộ dao động nội.

Tốc độ baud = (Tần số bộ dao động nội).2SMOD/64

I.5.3.4.Mode 9 bit UART với tốc độ baud thay đổi (Mode 3):

Mode 3 cũng giống như mode 2 ngoại trừ tốc độ baud được lập trình và được cung cấp bởi bộ định thời. Thực tế thì mode 1, mode 2 và mode 3 rất giống nhau, điểm khác biệt ở đây là tốc độ baud (cố định trong mode 2, thay đổi trong mode 1 và 3) và số bít dữ liêu (8 bit trong mode 1, 9 bit trong mode 2 và 3)

Một phần của tài liệu GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps (Trang 25 - 27)

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

(39 trang)
w