[ Lập Trình Pic] Bài 9: Giao tiếp UART với máy tính

Đăng bởi Đỗ Hữu Quang 30/10/2020
[ Lập Trình Pic] Bài 9: Giao tiếp UART với máy tính

[ Lập Trình Pic] Bài 9: Giao tiếp UART với máy tính

Chào các bạn!

Hôm nay mình sẽ giới thiệu với các bạn về cách lập trình giao tiếp UART giữa pic 16f877a và máy tính.

I, SƠ ĐỒ NGUYÊN LÝ KẾT NỐI UART Ở KIT PIC STARTER

II, SƠ LƯỢC VỀ UART

1. Thế nào là giao tiếp UART?

- UART là viết tắt của Universal Asynchronous Receiver – Transmitter. Thường là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp 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 đã được tích hợp UART, vì vấn đề tốc độ và độ điện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nên các dòng PC & Laptop đời mới không còn tích hợp cổng UART. Như các bạn đã biết giao tiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock (SCL) để đồng bộ trong giao tiếp. Với UART thì không có dây SCL, vấn đề được giải quyết khi mà việc truyền UART được dùng giữa 2 vi xử lý với nhau, đồng nghĩa với việc mỗi vi xử lý có thể tự tạo ra xung clock cho chính nó xử dụng.

 

Để bắt đầu cho việc 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.

Như hình các bạn có thể thấy. Khi ở trạng thái chờ mức điện thế ở mức 1 (high). Khi bắt đầu truyền START bit sẻ chuyển từ 1 xuống 0 để 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à đến các bit dữ liệu D0-D7 (Theo hình vẽ các bit này có thể ở mức High or Low tùy theo dữ liệu). Sau khi truyền hết dữ liệu thì đến Bit Parity để bộ nhận kiểm tra tính đúng đắn của dữ liệu truyền (vấn đề này mình sẽ giải thích rõ hơn trong tài liệu CRC trong thời gian tới). Cuối cùng là STOP bit là 1 báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đả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 ở gửi và nhận.
Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền.
Start bit : là bit đầu tiên được truyền trong 1 Frame. Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp đc truyền đến. Bit bắt buộc.
Data : dữ liệu cần truyền. Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB.

- Parity bit : kiểm tra dữ liệu truyền có đúng không.

Stop bit : là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu. Bit bắt buộc.
Ok mình sẽ giới thiệu sơ lược với các bạn vậy thôi trong bài đăng sau sẽ giới thiệu rõ hơn về UART nên các bạn nhớ theo dõi. Trong bài đăng sau mình sẽ gửi tài liệu cho các bạn xem. Trong bài này mình sẽ hướng dẫn các bạn xuất 1 ký tự và 1 chuỗi ký tự lên của sổ VIRTUAL TERMINAL.

 

III, CHƯƠNG TRÌNH DEMO

 

Các bạn tải project demo: Tại đây.

Các tin khác

Để lại bình luận của bạn cho chúng tôi
binh-luan

Greawvert

Efficacy of Teriparatide in Increasing Bone Mineral Density in Postmenopausal Women with Osteoporosis purchase cialis online The characteristic features of Zollinger Ellison s syndrome include 1 massive gastric hypersecretion 2 untreatable and recurring peptic ulcer s 3 non beta islet cell neoplasm of the pancreas 4 diarrhea SUR 462

07 November, 2022 10:43 PM
binh-luan

stychok

[url=https://newfasttadalafil.com/]buy cialis[/url] Cialis Maxman Gknqgs generic name for cialis Izdvhc Ynavxp kamagra pharmacyy https://newfasttadalafil.com/ - buying cialis online safely

11 May, 2022 06:39 AM
Gửi bình luận
Chất lượng hàng đầu
Chất lượng hàng đầu

Cam kết tất cả sản phẩm chính hãng 100%

Giao hàng siêu nhanh
Giao hàng siêu nhanh

Chúng tôi cam kết giao hàng trong 24h

Mua hàng tiết kiệm
Mua hàng tiết kiệm

Giảm giá & khuyến mãi với ưu đãi cực lớn

Hỗ trợ online 24/7
Hỗ trợ online 24/7

Gọi ngay 0878842345 để được tư vấn

zalo
Hotline
0878842345