1. Trang chủ
  2. » Thể loại khác

Đề tài đồng hồ đo nhiệt độ thể hiện trên led 7 đoạn

15 463 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 1,05 MB
File đính kèm code.rar (1 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề bàiĐề bài: Đo nhiệt độ môi trường hiển thị ra led 7 đoạn.. Yêu cầu của đề bài: Dùng một cảm biến và một vi xử lý để đo nhiệt độ của môi trường sau đó đưa ra led 7 đoạn.. Thiết kếSơ đồ

Trang 2

NỘI DUNg

Yêu cầu và thiết kế

Mạch Proteus

Code Kết quả

Trang 3

Đề bài

Đề bài: Đo nhiệt độ môi trường hiển thị ra led 7 đoạn.

Yêu cầu của đề bài:

Dùng một cảm biến và một vi xử lý để đo nhiệt độ của môi trường sau đó đưa ra led 7 đoạn.

Quy trình để đo nhiệt độ:

NHIỆT ĐỘ=>CẢM BIẾN=>ADC=>XỬ LÝ=>HIỂN THỊ

Trang 4

Thiết kế

Các linh kiện sử dụng:

• LM35.

• PIC16F877A.

• LED 7 đoạn MPX2-CA.

Trang 5

Thiết kế

Sơ đồ khối điều khiển chung:

Nguồn

Vi xử lý Pic16f877a

Hiển thị led

7 đoạn

Cảm biến

LM35

Tín hiệu tương tự Tín hiệu số

Trang 6

Thiết kế

• Khối nguồn: Cung cấp điện áp cho các khối trong hệ

thống.

• Khối cảm biến LM35: thu giá trị analog (tín hiệu tuần

tự) đưa qua khối vi điều khiển để xử lý.

• Khối vi điều khiển Pic16f877a: xử lý tín hiệu tuần tự

sang tín hiệu số (digital) sau đó xuất ra led.

• Khối hiển thị: hiện thị nhiệt độ đo được.

Trang 7

Thiết kế

Nguyên lý hoạt động: Nhiệt độ bên ngoài môi trường sẽ

được cảm biến thu nhận chuyển thành tín hiệu tương tự (analog) sau đó được đưa qua vi điều khiển Trong vi điều khiển có tích hợp sẵn bộ ADC nên tín hiệu sẽ được chuyển thành tín hiệu số (digital) và tính toán xử lý sau đó xuất ra led 7 đoạn.

Trang 8

Thiết kế

Công thức biến đổi ADC:

Khi dùng ADC 10 bit, tín hiệu đọc từ các chân ADC như sau:

ADC của pic 10bit nên max = 1023 với Vref = Vcc = 5V.

→ 𝑉 = 𝐴𝐷𝐶 × 5

1023 Với: V điện áp.

ADC tín hiệu cảm biến nhận được.

Ứng với 1°𝐶 → 10 𝑚𝑉

1023 × 10 × 1000

Trang 9

Lưu đồ giải thuật

Bắt đầu

Định nghĩa các biến

Đọc giá trị nhiệt độ

Hiển thị giá trị nhiệt

độ lên led 7 đoạn

Kết thúc

Trang 11

Xây dựng code

#include <16f877a.h>

#device *=16 adc=10 // sử dụng bộ ADC 10 bit

#fuses NOWDT

#fuses NOBROWNOUT

#fuses NOLVP

#use delay(clock=20000000) // sử dụng thạch anh tần số 20 MHz

#byte port_B=0x06 // cài đặt port B

#byte port_D=0x08 // cài đặt port D

#bit led_1=port_D.7 // cài đặt led1

#bit led_2=port_D.6 // cài đặt led2

unsigned int value;

int maled[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // {0,1,2,3,4,5,6,7,8,9}

int chuc,donvi;

void docADC(); // Khai báo hàm đọc ADC

void hienthi(unsigned int value); // Khai báo hàm hiển thị

Trang 12

Xây dựng code

void main()

{

set_tris_a(0xff); // Port A là giá trị đầu vào

set_tris_b(0x00); // Port B là giá trị đầu ra

output_d(0x00); // cho tất cả port D giá trị 0

while(TRUE) // lặp vô tận

{

hienthi(value); // Hiển thị ra led

docADC(); // Đọc tín hiệu ADC

value=read_ADC(); // gán giá trị ADC cho biến value value=0.488*value; // tính toán lại tín hiệu

}

}

Trang 13

Xây dựng code

void docADC() // Hàm đọc tín hiệu

{

setup_ADC(ADC_clock_internal); // cài đặt ADC thời gian lấy mẫu bằng xung clock setup_ADC_ports(AN0); // Dùng chân AN0 làm chân ADC

set_ADC_channel(0); // Chọn chân A0 để đọc giá trị analog bằng lệnh read_adc() delay_us(100);

}

void hienthi(unsigned int value) // Hàm hiển thị

{

chuc=value/10; // lấy phần nguyên

donvi=value%10; // lấy phần dư

port_b=maled[chuc]; // xuất ra led 2

led_2=1;

delay_ms(1);

led_2=0;

port_b=maled[donvi]; // xuất ra led 1

led_1=1;

delay_ms(1);

led_1=0;

}

Trang 14

Kết quả

Ngày đăng: 07/01/2016, 16:31

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối điều khiển chung: - Đề tài đồng hồ đo nhiệt độ thể hiện trên led 7 đoạn
Sơ đồ kh ối điều khiển chung: (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w