[Lập Trình PIC] Giao Tiếp UART với Máy Tính – Hướng dẫn cho người mới

Chào các bạn!

Bạn đã bao giờ muốn học cách lập trình giao tiếp UART giữa PIC 16F877A và máy tính chưa? Hôm nay, mình sẽ giới thiệu cho bạn cách làm điều đó một cách đơn giản và dễ hiểu.

Sơ đồ nguyên lý kết nối UART trên Kit PIC Starter

Sơ lược về UART

1. Giao tiếp UART là gì?

  • UART là viết tắt của Universal Asynchronous Receiver – Transmitter, tức là bộ nhận và truyền dữ liệu không đồng bộ. Đây thường là một mạch tích hợp được sử dụng để truyền dữ liệu giữa máy tính và các thiết bị ngoại vi.
  • Rất nhiều vi điều khiển hiện nay đã tích hợp UART, vì tốc độ và độ tin cậy của UART không thể so sánh với các giao tiếp mới hiện nay. Tuy nhiên, các dòng PC & Laptop đời mới thường không còn tích hợp cổng UART.
  • Với UART, không có dây truyền xung clock như giao tiếp SPI và I2C. Nhưng vấn đề này được giải quyết bằng cách mỗi vi xử lý có thể tự tạo ra xung clock cho chính nó khi truyền dữ liệu.

Để bắt đầu truyền dữ liệu bằng UART, một START bit được gửi đi, sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit. Quá trình truyền dữ liệu bằng UART diễn ra như sau:

  • Ở trạng thái chờ, mức điện thế là cao (high).
  • Khi bắt đầu truyền START bit, mức điện thế chuyển từ cao xuống thấp để báo hiệu cho bộ nhận là quá trình truyền dữ liệu sắp xảy ra.
  • Sau START bit là các bit dữ liệu D0-D7 (các bit này có thể ở mức high hoặc low tùy thuộc vào dữ liệu).
  • Sau khi truyền hết dữ liệu, đến bit Parity để bộ nhận kiểm tra tính đúng đắn của dữ liệu truyền.
  • Cuối cùng là STOP bit, báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ kiểm tra khung truyền để đảm bảo tính đúng đắn của dữ liệu.

2. Các thông số cơ bản trong truyền nhận UART

  • Baund rate (tốc độ baund): Khoảng thời gian dành cho 1 bit được truyền, phải được cài đặt giống nhau ở cả bộ gửi và bộ nhận.
  • Frame (khung truyền): Số bit trong mỗi lần truyền.
  • Start bit: Đây là bit đầu tiên được truyền trong mỗi khung truyền, báo hiệu cho thiết bị nhận rằng một gói dữ liệu sắp đến. Bit này là bắt buộc.
  • Data: Đây là dữ liệu cần truyền. Các bit dữ liệu được truyền từ bit có trọng số nhỏ nhất (LSB) trước, sau đó đến bit có trọng số cao nhất (MSB).
  • Parity bit: Bit kiểm tra tính đúng đắn của dữ liệu truyền.
  • Stop bit: Bit (hoặc các bit) báo hiệu cho thiết bị rằng dữ liệu đã được gửi xong. Sau đó, thiết bị nhận sẽ kiểm tra khung truyền để đảm bảo tính đúng đắn của dữ liệu. Bit này là bắt buộc.

Đó là một số khái niệm cơ bản về giao tiếp UART. Trong bài viết tiếp theo, mình sẽ giới thiệu chi tiết hơn về UART, hãy theo dõi nhé!

Chương trình Demo

Bạn có thể tải project demo tại đây.

Vậy là chúng ta đã tìm hiểu về giao tiếp UART giữa PIC và máy tính. Hy vọng bài viết này giúp bạn hiểu rõ hơn về UART và sẽ giúp ích cho công việc của bạn. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại bình luận dưới đây. Chúc bạn thành công trong việc lập trình giao tiếp UART!

Izumi.Edu.VN

FEATURED TOPIC