Nhấp nháy led đơn, Giao tiếp UART 2 Pic16F + Nút nhấn, Vi điều khiển

nhap-nhay-led-don-giao-tiep-uart-2pic-nut-nhan-dieu-khien-led-lap-trinh-pic
Nhấp nháy led đơn được xem là hiệu ứng đơn giản nhất từ trước đến nay nhưng tính ứng dụng của hiệu ứng rất cao, được sử dụng trong cảnh báo chống trộm, cháy nổ, đèn báo đường thủy, trạm thu phát sóng,….Có nhiều cách để tạo hiệu ứng nhấp nháy như dùng IC số, dùng IC tạo xung 555, dùng vi điều khiển,…. Tùy theo thiết bị của tải mà sẽ có bộ điều khiển cách ly hợp lý.

Mua linh kiện điện tử tại Điện tử Nhật Tùng

Liên hệ làm mạch  Phone: 0967.551.477 Zalo: 0967.551.477 Email: dientunhattung@gmail.com Địa Chỉ: 171/25 Lê Văn Thọ, P8, Gò Vấp, Tp HCM Chi tiết: Nhận làm mạch và đồ án Điện tử  
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ết khóa học lập trình vi điều khiển online

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:

Hướng dẫn Tải và Cài đặt phần mềm giải nén Winrar

 

Các bạn xem Video Nhấp nháy led đơn, Giao tiếp UART 2 Pic16F + Nút nhấn

 

Các bạn xem Blog Nhấp nháy led đơn, Giao tiếp UART 2 Pic16F + Nút nhấn

Đề bài lập trình nhấp nháy led đơn:

nhap-nhay-led-don-giao-tiep-uart-2pic-nut-nhan-dieu-khien-led-lap-trinh-pic-de-bai

Bài giải lập trình nhấp nháy led đơn:

Phần cứng chương trình nhấp nháy led đơn:

  • Xét trường hợp bên phát yêu cầu sử dụng 2 nút nhấn để điều khiển RUN và STOP ở ngõ ra của Led đơn bên thu.
  • 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 1 led đơn được kết nối theo Catot chung được điều khiển tử bên phát đồng thời điều khiển led đơn bên phát nhấp nháy. Cách tính trở 330 xem trong giáo trình thầy Nguyễn Đình Phú
  • 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
Pic16F887Pic16F887
Điện trởĐiện trở
Nút nhấnNút nhấn
Thạch anhThạch anh
Led đơnLed đơn

nhap-nhay-led-don-giao-tiep-uart-2pic-nut-nhan-dieu-khien-led-lap-trinh-pic

Phần mềm nhấp nháy led đơn:

Xét Vi điều khiển 1 tức bên phát nhấp nháy led đơn:

Khai báo thư viện tiền sử lý của nhấp nháy led đơn:

  • 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 nội khai báo 8M bằng lệnh #Fuses  intrc_io  và  #delay(clock=8M).  
  • Khai báo giao tiếp UART chuẩn rs232 ” #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)” gồm tốc độ truyền bằng 9600, 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.
nhap-nhay-led-don-giao-tiep-uart-2pic-nut-nhan-dieu-khien-led-lap-trinh-pic-khai-bao

Chương trình chính nhấp nháy led đơn:

  • 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 D dùng cho nút nhấn để đưa vào Vi điều khiển vì thế khởi tạo giá trị là 0x03. Port C có chân RC7/RX nhận tín hiệu từ máy tính gửi xuống 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ó tín hiệu phản hồi từ vi điều khiển thu gửi qua thì tiến hành nhận tín hiệu, giá trị gửi qua là kiểu ký tự nên khi nhận dữ liệu cũng phải dùng kiểu char để nhận, Nếu giá trị nhận được là chữ b thì bật led ngược lại nếu nhận được chữ t thì tắt led.
  • Kiểm tra có nhấn nút không, nếu có thì sẽ trả về mức 0 theo thiết kế của phần cứng, nếu có thì chống dội, thời gian dội phím ít nhấn 20ms, tùy vào từng nút nhấn mà thời gian dội sẽ khác nhau, nhưng ít nhấn vẫn là 20ms.
  • Sau đó gửi giá trị qua bên thu và kiểm tra nếu chưa nhả phím thì làm nhiệm vụ chờ nhả, vòng lặp While chỉ thoát khi điều kiện sai, vậy nếu còn nhấn ngõ vào luôn bằng 0.
nhap-nhay-led-don-giao-tiep-uart-2pic-nut-nhan-dieu-khien-led-lap-trinh-pic-chinh

Xét Vi điều khiển 2 tức bên thu nhấp nháy led đơn:

Khai báo thư viện tiền sử lý của nhấp nháy led đơn:

  • 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 nội khai báo 8M bằng lệnh #Fuses  intrc_io  và  #delay(clock=8M).  
  • Khai báo giao tiếp UART chuẩn rs232 ” #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)” gồm tốc độ truyền bằng 9600, 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.
nhap-nhay-led-don-giao-tiep-uart-2pic-nut-nhan-dieu-khien-led-lap-trinh-pic-khai-bao-thu

Chương trình chính nhấp nháy led đơn:

  • 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 có chân RC7/RX nhận tín hiệu từ máy tính gửi xuống 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. Port E kết nối với led đơn xuất tín hiệu từ Vi điều khiển đi ra ngoài nên khởi tạo giá trị là 0x00.
  • Kiểm tra nếu có tín hiệu phản hồi từ vi điều khiển phát gửi qua thì tiến hành nhận tín hiệu, giá trị gửi qua là kiểu ký tự nên khi nhận dữ liệu cũng phải dùng kiểu char để nhận, Nếu giá trị nhận được là chữ b thì tt=1 ngược lại nếu nhận được chữ t thì tt=0.
  • Nếu tt=1 thì nhấp nháy led tần số 2Hz đồng thời tại mỗi trạng thái led sáng hoặc tắt sẽ gửi ký tự b hoặc t tương ứng qua vi điều khiển phát. Ngược lại thì tắt led đồng thời gửi ký tự t qua bên phát.
nhap-nhay-led-don-giao-tiep-uart-2pic-nut-nhan-dieu-khien-led-lap-trinh-pic-chinh-thu

Chúc các bạn có một kỳ thi thành công…!!!

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *