Đọc ADC trung bình, Đọc LM35 2 kênh + LCD1602, Lập trình Vi điều khiển

Doc-adc-trung-binh-doc-nhiet-do-lm35-2-kenh-hien-thi-lcd1602-lap-trinh-pic
Đọc adc trung bình giúp cho hệ thống trả về kết quả có độ tin cậy cao hơn, ADC rất dễ bị nhiễu vì vậy đọc trung bình là điều kiện cần thiết để ADC hoạt động tốt. Các giá trị trả về dễ dàng sử lý trong nhiều trường hợp, đồng thời kết quả hiển thị ổn định hơn.

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 Đọc ADC trung bình, Đọc LM35 2 kênh + LCD1602

 

Blog Đọc ADC trung bình, Đọc LM35 2 kênh + LCD1602

Đề bài đọc adc trung bình:

Doc-adc-trung-binh-doc-nhiet-do-lm35-2-kenh-hien-thi-lcd1602-lap-trinh-pic-de-bai

Bài giải đọc adc trung bình:

Phần cứng chương trình đọc adc trung bình:

  • Đầu tiên yêu cầu đưa ra có 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 hai led đơn kết nối vào chân RA3RA4 để cảnh báo khi vượt ngưỡng.
  • 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
    LCD1602LCD1602
    Điện trởĐiện trở
    Nút nhấnNút nhấn
    Thạch anhThạch anh
    Led đơnLed đơn
    Nhiệt độ LM35Nhiệt độ LM35

Doc-adc-trung-binh-doc-nhiet-do-lm35-2-kenh-hien-thi-lcd1602-lap-trinh-pic

Phần mềm đọc adc trung bình:

Khai báo thư viện tiền sử lý của đọc ADC trung bình:

  • 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.
Doc-adc-trung-binh-doc-nhiet-do-lm35-2-kenh-hien-thi-lcd1602-lap-trinh-pic-khai-bao

Chương trình con đọc ADC trung bình:

  • Theo yêu cầu đưa ra phải đọc ADC trung bình 100 lần và phải đọc 2 kênh nhiệt độ LM35 vì vậy phải khởi tạo kênh cần đọc sau đó đọc trung bình 100 lần. sau khi đọc xong chia 2.046 đây là độ lệch độ phân giải của Vi điều khiển với độ phân giải của nhiệt độ LM35, các bạn có thể tham khảo cách tính tại giáo trình của thầy Nguyễn Đình Phú.
  • Và trả về kết quả cho biến LM35_A hoặc LM35_B để xử lý chương trình 
Doc-adc-trung-binh-doc-nhiet-do-lm35-2-kenh-hien-thi-lcd1602-lap-trinh-pic-doc-adc

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

  • 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 để đưa vào và chân RA2, RA3 xuất tín hiệu ra Vi điều khiển vì thế khởi tạo giá trị là 0x03. Port D kết nối với màn hình LCD1602 đưa tín hiệu từ Vi điều khiển ra ngoài 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 tín hiệu chân AN0 và AN1 đọc nhiệt độ LM35.
  • Thông tin hiển thị TÊN MSSV là cố định vì vậy được viết trước while(true) để tối ưu thời gian đọc giá trị.
  • Đọc hai cảm biến nhiệt độ LM35 đã được trang bị ở trên. Kiểm tra nếu nhiệt độ LM35_A lớn hơn 40 thì bật LED_A ngược lại thì tắt, nếu nhiệt độ LM35_B lớn hơn 45 thì bật LED_B ngược lại thì tắt, 
  • Cuối cùng hiển thị toàn bộ thông tin ra màn hình LCD1602 thông qua hàm hienthi(); và tạo trễ 200ms theo chương trình đọc trung bình của ADC.

Doc-adc-trung-binh-doc-nhiet-do-lm35-2-kenh-hien-thi-lcd1602-lap-trinh-pic-chuong-trinh-chinh

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 *