LCD1602 4bit, Giao tiếp 2 LM35 + cảnh báo Loa + Led, Lập trình Vi điều khiển

LCD1602 4bit được sử dụng rộng rãi hơn LCD giao tiếp 8bit và LCD I2C. Tùy vi điều khiển giao tiếp có số lượng IO nhiều hay ít mà lựa chọn bộ giao tiếp cho phù hợp. LCD1602 4bit có thể lựa chọn chân phù hợp khi thiết kế phần cứng giúp tối ưu tuyệt đối. Tuy nhiên việc lập trình và thời gian truy xuất dữ liệu sẽ tăng gấp đôi. 

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

 

Video LCD1602 4bit, Giao tiếp 2 LM35 + cảnh báo Loa + Led

 

Blog LCD1602 4bit, Giao tiếp 2 LM35 + cảnh báo Loa + Led

Đề bài lcd1602 4bit:

LCD1602-4bit-giao-tiep-2-lm35-canh-bao-loa-led-lap-trinh-vi-dieu-khien-de-bai

Bài giải lcd1602 4bit:

Phần cứng chương trình lcd1602 4bit:

  • Đầu tiên yêu cầu đưa ra có Biến trở phần áp đều chỉnh giá trị cài đặt ngưỡng cho nhiệt độ và nhiệt độ LM35 vì vậy bắt buộc phải gắn vào chân ANxx tức chân đọc tín hiệu Analog chuyển sang Digital.
  • Sử dụng loa 5V hàn bo nhưng vì mô phỏng nên thay thế là Led đơn. Và loa theo yêu cầu tích cực mức thấp.
  • Hiển thị LCD1602 dùng giao tiếp 4bit sẽ giúp tối ưu tốc phần cứng hơn, và việc sử dụng thư viện do phần mềm hổ trợ cũng là một cách tối ưu chương trình khá tốt.   
  • 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
LCD1602LCD1602
LM35LM35
  LCD1602-4bit-giao-tiep-2-lm35-canh-bao-loa-led-lap-trinh-vi-dieu-khien

Phần mềm lcd1602 4bit:

Khai báo thư viện tiền sử lý của lcd1602 4bit:

  • Vi điều khiển hiện tại mình đan dùng là Pic16F887
  • Theo yêu cầu hệ thống có đọc giá trị ADC vì vậy phải khai báo ADC bằng lệnh #device  adc=10 tức sử dụng bộ ADC 10bit. Ngoài ra có thể chọn ADC 8bit16bit.
  • 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).  
  • Thư viện LCD1602 sử dụng 4bit, thư viện sử dụng do phần mềm hổ trợ. Giúp đơn giản trong quá trình lập trình hơn.
  • Đị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.
LCD1602-4bit-giao-tiep-2-lm35-canh-bao-loa-led-lap-trinh-vi-dieu-khien-khai-bao

Chương trình con lcd1602 4bit:

Chương trình đọc nhiệt độ và hiển thị lcd1602

  • Đọc cảm biến nhiệt độ LM35 từ chân AN2 và AN4, Sau đó đọc kết quả về rồi chia kết quả đọc được cho 2.046 đây là độ lệch độ phân giải vi điều khiển với độ phân giải của LM3510mV
  • Theo yêu cầu đề bài việc định vị trí hiển thị theo hình của yêu cầu. Khi khởi tạo là lcd_gotoxy(1,1); hoặc lcd_gotoxy(10,1); là cần xuất dữ liệu ra LCD1602 vị trí hàng 1 cột 10. Tương tự cho các vị trí khác chỉ cần xem định vị theo yêu cầu. 
  • Khi các phép chia lm354/10%10, lm354%10 đây là phương pháp tách số, lý do mỗi ô của LCD1602 chỉ hiển thị một ký tự duy nhất tại một thời điểm nhất định. Ví dụ 23 là một số nhưng có 2 giá trị. Sau khi tách số xong đem + 0x30 chuyển giá trị thập phân sang bảng mã ASCII. Hiển thị chữ “do C” theo đúng yêu cầu của đề bài đưa ra, mọi thông tin các bạn tra bảng sẽ hiểu rõ hơn.
LCD1602-4bit-giao-tiep-2-lm35-canh-bao-loa-led-lap-trinh-vi-dieu-khien-doc-lm35

Chương trình đọc kiểm tra kích hoạt Loa và led

  • Sau khi đọc hai nhiệt độ LM35 trả về kiểm tra theo bảng giá trị của yêu cầu đề bài đưa ra. Khi cả hai giá trị cùng nhỏ hơn 50 độ thì tắt loa và led  và truyền chuỗi hiển thị theo bảng giá trị.
  • Ngược lại nếu một trong hai giá trị nhiệt độ lớn hơn 50 độ thì sẽ bật led và tắt loa hiển thị vị trí nhiệt độ lớn hơn là Q.NHIET.
  • Ngược lại nếu cả hai cùng lớn hơn 50 độ thì bật loa và led đồng thời hiển thị cả hai đều là quá nhiệt. 
LCD1602-4bit-giao-tiep-2-lm35-canh-bao-loa-led-lap-trinh-vi-dieu-khien-kiem-tra

Chương trình chính thực hiện toàn bộ hoạt động của vi điều khiển lcd1602 4bit

  • 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 A dùng cho nhiệt độ LM35 và cảm biến để đưa vào Vi điều khiển vì thế khởi tạo giá trị là 0xff, Port D, Port C đưa tín hiệu từ Vi điều khiển ra ngoài cho LCD1602 và led đơn, loa nên khởi tạo là 0x00
  • Sử dụng ADC khởi tạo bộ chia 32 để số lần đọc ADC trên 1s được xem nhỏ nhất. Yêu cầu sử dụng hai tín hiệu sử dụng chân AN2,AN4.
  • Khởi tạo LCD1602 bằng lệnh lcd_init(); Lệnh này bắt buộc phải có thì lcd mới hoạt động được.
  • Kiểm tra đọc nhiệt độ và hàm kiem_tra như đã trang bị ở trên.

LCD1602-4bit-giao-tiep-2-lm35-canh-bao-loa-led-lap-trinh-vi-dieu-khien-chinh

 

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

Leave a Reply