Khoảng cách Analog, Đọc ADC + Tính Vref + Led 7đoạn, Lập trình Pic

khoang-cach-analog-doc-adc-chuyen-doi-cm-tinh-vref-hien-thi-led-7doan-quet-lap-trinh-pic
Khoảng cách Analog đây là cảm biến trả về giá trị điện áp sau đó quy đổi thành giá trị khoảng cách theo biểu đồ trạng thái của nhà sản xuất, khoảng cách analog có sai số nhỏ có thể hàng mm với khoảng cách ngắn, nhưng lại sai số lớn đối với khoảng cách xa, đặt biệt khoảng cách thông thường cực đại khoảng 80cm, cảm biến này có mức độ tốn tại đã khá lâu tuy nhiên tính ứng dụng vẫn còn được sử dụng đến ngày hôm nay.

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 Khoảng cách Analog, Đọc ADC + Tính Vref + Led 7đoạn

 

Blog Khoảng cách Analog, Đọc ADC + Tính Vref + Led 7đoạn

Đề bài khoảng cách Analog:

khoang-cach-analog-doc-adc-chuyen-doi-cm-tinh-vref-hien-thi-led-7doan-quet-lap-trinh-pic-de-bai

Bài giải khoảng cách Analog:

Phần cứng chương trình khoảng cách Analog:

  • Đầu tiên yêu cầu đưa ra có cảm biến khoảng cách analog 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.
  • Theo yêu cầu phải sử dụng tín hiệu điện áp Vref+ bên ngoài tức kết nối vào chân RA3 vì vậy phải tính giá trị mạch cầu phân áp để phân áp đúng giá trị điện áp mong muốn, đề bài đặt ra giá trị điện áp cần đo từ [0,2] nên giá trị Vref+ cần chọn là 2V, nhưng hệ thống đan hoạt động ở mức điện áp 5V từ đó phải phân áp xuống 2V.
  • Hiển thị hai led 7 đoạn anot chung theo phương pháp xuất tín hiệu quét led 7 đoạn nên phải gắn vào 2 Port là Port DPort B. Nếu làm mạch thực tế phải gắn trở cho led, 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
Led 7 đoạnLed 7 đoạn
Điện trởĐiện trở
Nút nhấnNút nhấn
Thạch anhThạch anh
Led đơnLed đơn
Tranzitor A1015Tranzitor A1015

khoang-cach-analog-doc-adc-chuyen-doi-cm-tinh-vref-hien-thi-led-7doan-quet-lap-trinh-pic

Phần mềm khoảng cách Analog:

Khai báo thư viện tiền sử lý của khoảng cách Analog:

  • 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=8 tức sử dụng bộ ADC 8bit. Ngoài ra có thể chọn ADC 10bit16bit.
  • 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).  
  • Đị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.
  • Mã 7 đoạn là đoạn mã Anot: Cấu trúc lệnh cho bạn nào cần copy : ” unsigned int8 ma7doan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8.0x80,0x90,0xff} “.
  • 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.

khoang-cach-analog-doc-adc-chuyen-doi-cm-tinh-vref-hien-thi-led-7doan-quet-lap-trinh-pic-khai-bao

Chương trình con hiển thị khoảng cách Analog:

  • Chương trình con đầu tiên là hiển thị, vì ở đây là quét led 7 đoạn nên chỉ cần mỗi thời điểm chỉ cho một led 7 đoạn sáng đồng thời kích chân tương ứng, với tần số quét từ 50Hz trở lên thì hiệu ứng lưu ảnh trên mắt sẽ được ứng dụng tốt vì vậy sẽ không thấy được led bị nhấp nháy. Ở đây không hướng dẫn chi tiết về quét led chỉ nói khái quát sơ qua.
khoang-cach-analog-doc-adc-chuyen-doi-cm-tinh-vref-hien-thi-led-7doan-quet-lap-trinh-pic-hien-thi

Chương trình chính đọc khoảng cách Analog:

  • 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 biến trở để thay đổi điện áp , đưa tín hiệu chân Vref+ thông qua chân RA3 để đưa vào Vi điều khiển vì thế khởi tạo giá trị là 0xff, nếu đúng thì chỉ cần khởi tạo là 0x05. Port D, Port B sử dụng xuất tiến hiệu cho led 7 đoạn vì vậy khởi tạo là 0x00.
  • Khởi tạo ADC sử dụng bộ chia 32 để số lần đọc nhiệt độ trên 1s ít. Khi sử dụng tín hiệu là Vref+ bên ngoài phải khai báo rõ ràng theo yêu cầu đã đặt ra, Ở đây mình dùng chân RA2/AN2 vì vậy chân Vref- phải sử dụng bằng chân Vss tức là đưa xuống GND của nguồn, Vref+ được lấy từ bên ngoài chân RA3/Vref+. Kênh cần đọc là kênh số 2.
  • Đọc giá trị điện áp thông qua hàm Read_adc(); sau đó chuyển giá trị từ 0 – 255 sang dãy điện áp Vref+0 – 2000. Theo yêu cầu đề bài đưa ra khoảng cách cần đo từ 0 – 20 cm vì vậy phải chuyển sang giá trị khoảng cách mong muốn. Sau đó hiển thị kết quả ra 2 led 7 đoạn theo phương pháp quét led.

khoang-cach-analog-doc-adc-chuyen-doi-cm-tinh-vref-hien-thi-led-7doan-quet-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 *