Mua linh kiện điện tử tại Điện tử Nhật Tùng
Khóa học Vi điều khiển có phí Hình thức học: Video hoặc Kèm trực tiếp ===>>>> Kích vào hình để được biết thêm chi tiếtTable of Contents
Tải File bài giải
Pass giải nén: Huynhnhattung.com
===>>> Nếu bạn chưa có phần mềm giải nén:
Video Truyền nhận UART, Giao tiếp Pic với Máy tính + Led đơn + Nút nhấn
Blog Truyền nhận UART, Giao tiếp Pic với Máy tính + Led đơn + Nút nhấn
Đề bài truyền nhận UART RS232:
Bài giải truyền nhận UART RS232:
Phần cứng chương trình truyền nhận UART RS232:
- Việc sử dụng hai Vi điều khiển giao tiếp với nhau thông qua UART giúp tối ưu được chương trình và phần cứng. Khi giao tiếp UART thì kết nối sẽ chân RC6/TX của VĐK thứ nhất kết nối với chân RC7/RX VĐK thứ hai, ngược lại chân RC7/RX VĐK thứ nhất kết nối với chân RC6/TX của VĐK thứ hai. Chân RX có chức năng nhận dữ liệu, chân TX có chức năng truyền dữ liệu.
- Sử dụng một nút nhấn tích cực mức thấp được đấu vào chân RB7.
- Có 3 led đơn tích cực mức cao được kết nối với RB4, RB5, RB6, khi sử dụng led đơn phải tính trở 330 xem trong giáo trình thầy Nguyễn Đình Phú. Nếu sử dụng tải AC thì phải kết nối với Relay hoặc Opto-Triac để có thể cách ly tốt với hệ thống.
- Sử dụng dao động ngoài thạch anh 20M gắn vào chân OSC1 OSC2.
- Các linh kiện chính cần sử dụng tham khảo tại.
Thông số kỹ thuật Mua Linh kiện Pic16F887 Pic16F877 Led đơn Led đơn Điện trở Điện trở Nút nhấn Nút nhấn Thạch anh Thạch anh PL2303 PL2303
Phần mềm truyền nhận UART RS232:
Khai báo thư viện tiền sử lý của UART RS232:
- Vi điều khiển hiện tại mình đan dùng là Pic16F887.
- Hiện dùng thạch anh nội và thạch anh ngoài khai báo 20M bằng lệnh #Fuses HS và #delay(clock=20M).
- Khai báo giao tiếp UART chuẩn rs232 ” #use rs232(baud=115200,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)” gồm tốc độ truyền bằng 115200, không kiểm tra tính chắn lẻ, đồng thời dữ liệu truyền đi 8bit trong đó có 1bit STOP. Khi sử dụng UART bắt buộc phải dùng chân RC6/TX, RC7/RX
- Định nghĩa chân: tùy theo chức năng của chân mà tên định nghĩa được bám sát vào nội dung đan thực hiện.
- Tên khai báo biến phụ thuộc vào chức năng để khai báo cho phù hợp.
- Khi các biến không biết được giá trị cuối thì nên khai báo signed int32 tức khai báo biến có dấu 32bit, lúc này giá trị rất rộng không sợ bị thiếu.
Chương trình chính UART RS232:
- Bắt đầu chương trình chính phải khởi tạo ngõ vào ra cho vi điều khiển. Một chân của vi điều khiển thì làm nhiệm vụ I/O vì thế phải khỏi tạo. Port C, Port B có chân RC7/RX nhận tín hiệu từ máy tính gửi xuống, chân RB7 kết nối với nút nhấn để điều khiển hiển thị lên led và màn hình máy tính nên đóng vai trò nhận tín hiệu vì vậy phải khởi tạo mức 1 nên khởi tạo là 0x80.
- Kiểm tra nếu có dữ liệu gửi xuống thì kbhit()=1 tiến hành nhận dữ liệu vào biến data, lưu ý biến data phải khai báo char vì giá trị là ký tự. Nếu data bằng “7” thì bật led đơn, ngược lại thì tắt led đơn.
- Kiểm tra nút nhấn vì nút nhấn nn có nhấn vì vậy phải sử dụng chương trình chống dội cho nút nhấn. Nếu có nhấn thì xuất giá trị lên màn hình máy tính bằng lệnh putc(“Huynh Nhat Tung \r\n”); đây được xem là phương pháp xuất màn hình được tối ưu nhất.
Chúc các bạn có một kỳ thi thành công…!!!