Title Image

Blog Logo

Bài 15. 8051 UART (2)

🌱 Bài 15. 8051 UART (2)

    Lý thuyết cơ bản về UART có trong bài trước!

    Bài viết này nói về một số thanh ghi sử dụng trong lập trình UART với vi điều khiển 8051.

    👉 Thanh ghi SBUF

    Là thanh ghi 8 bit, sử dụng để chứa dữ liệu khi truyền nhận.

    👉 Thanh ghi SCON

    Cài đặt các chế độ UART, điều khiển hoạt động truyền nhận.

  • Bit 7:6 - SM0:SM1: cài đặt chế độ truyền nhận. UART có 4 chế độ truyền nhận <có trong bảng bên dưới>.
    Ta thường dùng chế độ 1 (SM0 = 0, SM1 = 1) với 8 bit dữ liệu, 1 bit bắt đầu và 1 bit dừng.
  • Bit 5 - SM2: Giao tiếp đa bộ xử lý ở mode 2&3.
  • Bit 4 - REN: Cho phép nhận.
  • Bit 3 - TB8: Truyền bit thứ 9 trong mode 2&3.
  • Bit 2 - RB8: Nhận bit thứ 9 trong mode 2&3.
  • Bit 1:0 - TI:RI: Cờ báo ngắt truyền/nhận xong.

    👉 Thanh ghi TMOD

    Thanh ghi này thực chất sử dụng cho Timer. Nhưng UART có 1 đặc trưng đó là tốc độ Baudrate.

    Và tốc độ truyền bit này được cấu hình bằng Timer.

    Bài viết về Timer!

    🧐🧐 Tính toán Baudrate

    Trong User Manual đề xuất 1 số tính toán như hình bên dưới!!

    ➤ Hãy thử 1 ví dụ

    Chẳng hạn tần số thạch anh ngoài 11.0592 MHz. Qua bộ chia 12, tần số chu kỳ máy là 921.6 kHz.

    Tần số này qua bộ chia 32 (chia 2 + chia16) để UART sử dụng.     
            Tần số còn lại là 921.6 kHz / 32 = 28800 Hz.

    Để đạt Baud = 9600 thì cần 28800 chia cho 3. Sử dụng Timer 1, mode 2 (auto reload),
            Ta nạp TH1 = 253.

    (Timer tràn sau mỗi 3 chu kỳ, 28800 sẽ được chia 3).

    Có thể đặt Baud khác nhau bằng cách thay đổi TH1.

>>>= Follow ngay =<<<

💚 Kênh Youtube Lập trình - Điện tử 💚

Để nhận được những bài học miễn phí mới nhất nhé 😊


Xem Bài 14                                   Xem Bài 16

Đăng nhận xét

0 Nhận xét