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

sử dụng cảm biến ds1820 đo nhiệt độ môi trường,gửi về vi điều khiển xử lý và hiển thị lên màn hình lcd

41 997 3

Đ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 41
Dung lượng 1,27 MB
File đính kèm mach va 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

CẢM BIẾN NHIỆT ĐỘ DS18B20Đặc điểm chính của DS18B20 như sau: • Có thể đo nhiệt độ trong khoảng đến.. • Lệnh cho phép bộ điều khiển bus có thể dò tìm được số lượng thành viên tớ đang được

Trang 1

BÁO CÁO

MÔN VI ĐIỀU KHIỂN

SỬ DỤNG CẢM BIẾN DS1820 ĐO NHIỆT ĐỘ MÔI TRƯỜNG,

GỬI VỀ VI ĐIỀU KHIỂN XỬ LÝ VÀ HIỂN THỊ LÊN MÀN HÌNH LCD

GVHD: Đoàn Thế Thảo

Trang 2

DANH SÁCH NHÓM

Trang 3

NỘI DUNG

Trang 5

CẢM BIẾN NHIỆT ĐỘ DS18B20

Phiên bản chống nước, chống ẩm

Trang 8

CẢM BIẾN NHIỆT ĐỘ DS18B20

Đặc điểm chính của DS18B20 như sau:

• Lấy nhiệt độ theo giao thức 1 dây (1wire)

• Cung cấp nhiệt độ với độ phân giải config 9,10,11,12 bit (tùy theo sử dụng)

• Thời gian chuyển đổi nhiệt độ tối đa là 750ms cho mã hóa 12 bit

Trong trường hợp không config thì nó tự động ở chế độ 12 bit

Trang 9

CẢM BIẾN NHIỆT ĐỘ DS18B20

Đặc điểm chính của DS18B20 như sau:

• Có thể đo nhiệt độ trong khoảng đến

• Với khoảng nhiệt độ là đến thì độ chính xác là , , , theo số bit config tương ứng là 8 bit, 9 bit, 10 bit và 12 bit Mặc định sẽ là 12 bit

• Có chức năng cảnh báo nhiệt khi nhiệt độ vượt ngưỡng cho phép

• Có mã nhận diện lên đến 64 bit, vì vậy có thể kiểm tra nhiệt độ với nhiều IC DS18B20 mà chỉ dùng 1 dây dẫn duy nhất để giao tiếp

Trang 10

CẢM BIẾN NHIỆT ĐỘ DS18B20

• Đo nhiệt độ từ cảm biến DS18B20

Trang 11

CẢM BIẾN NHIỆT ĐỘ DS18B20

Một số lệnh trong ROM liên quan đến cảm biến DS18B20

READ ROM (33h)

• Cho phép đọc ra 8 byte mã khắc bằng laser trên ROM, bao gồm:

8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC

• Chỉ dùng khi trên bus có 1 cảm biến DS18B20, nếu không sẽ xảy

ra xung đột trên bus do tất cả các thiết bị slave cùng đáp ứng

Trang 12

CẢM BIẾN NHIỆT ĐỘ DS18B20

Một số lệnh trong ROM liên quan đến cảm biến DS18B20

MATCH ROM (55h)

• Được gửi đi cùng với 64 bit ROM tiếp theo

• Cho phép bộ điều khiển bus chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào

Trang 14

• Lệnh cho phép bộ điều khiển bus có thể dò tìm được số lượng

thành viên tớ đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng một chu trình dò tìm

Trang 15

CẢM BIẾN NHIỆT ĐỘ DS18B20

Một số lệnh trong ROM liên quan đến cảm biến DS18B20

ALARM SEARCH (ECh)

• Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện

cảnh báo trong phép đo nhiệt độ cuối cùng

• Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo

được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến

Trang 16

CẢM BIẾN NHIỆT ĐỘ DS18B20

• Sau khi master sử dụng các lệnh ROM để định địa chỉ cho các cảm biến 1 dây đang được đấu vào bus, nó sẽ đưa ra các lệnh chức năng

• Bằng các lệnh chức năng này, master có thể:

• đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến

DS18B20

• khởi tạo quá trình chuyển đổi giá trị nhiệt độ đo được

• xác định chế độ cung cấp điện áp nguồn

Trang 17

CẢM BIẾN NHIỆT ĐỘ DS18B20

Các lệnh chức năng

WRITE SCRATCHPAD (4Eh)

• Lệnh cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820

• Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp)

• Byte thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp)

• Dữ liệu truyền theo trình tự đầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần Cả hai byte này phải được ghi trước khi master xuất ra một xung RESET hoặc khi có dữ liệu khác xuất hiện

Trang 18

CẢM BIẾN NHIỆT ĐỘ DS18B20

Các lệnh chức năng

READ SCRATCHPAD (BEh)

• Lệnh cho phép master đọc nội dung bộ nhớ nháp

• Quá trình đọc bắt đầu từ bit có ý nghĩa nhất của byte 0 và tiếp tục cho đến byte thứ 9 (byte 8 - CRC)

• Master có thể xuất ra một xung RESET để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc

Trang 20

• Thời gian chuyển đổi không quá 200 ms.

• Trong thời gian đang chuyển đổi, nếu thực hiện lệnh đọc thì các giá trị đọc ra đều bằng 0

Trang 21

CẢM BIẾN NHIỆT ĐỘ DS18B20

Các lệnh chức năng

READ POWER SUPPLY (B4h)

• Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp nguồn như thế nào

• Giá trị đọc được bằng 0 nếu cấp nguồn bằng chính đường dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng

Trang 22

CẢM BIẾN NHIỆT ĐỘ DS18B20

Cách config độ phân giải cho DS18B20

• Sơ đồ bộ nhớ của DS18B20

Trang 23

CẢM BIẾN NHIỆT ĐỘ DS18B20

Cách config độ phân giải cho DS18B20

• Các byte thứ 5 của bộ nhớ đệm có chức năng đăng ký cấu hình

(config) cho DS18B20, và các bit được tổ chức như sau:

• Các bit từ 0 đến bit 4 luôn được đọc giá trị là 1, bit 7 luôn được đọc giá trị là 0

MSB

Trang 24

CẢM BIẾN NHIỆT ĐỘ DS18B20

Cách config độ phân giải cho DS18B20

• Cấu hình độ phân giải cho DS18B20 được quyết định bởi R1 và R0

• Ta có bảng thiết lập như sau:

R1 R0 Thermometer resolution conversion time Max

Trang 27

LCD 1602

Trang 28

16 chân chức năng

Trang 30

LCD 1602

• Tập lệnh giao tiếp với LCD đã được chuẩn hóa trong thư viện CCS

• Để sử dụng, ta chỉ cần khai báo #include <LCD.c>

Trang 31

LCD 1602

• Một số hàm thông dụng:

• lcd_init(): Khởi tạo LCD, gọi 1 lần trong hàm main

• lcd_gotoxy(int8 x, int8 y) : hiển thị tại vị trí cột x , hàng y, bắt đầu ở

Trang 32

LCD 1602

• Một số hàm thông dụng:

• lcd_clear() : xóa LCD

• lcd_putc(char c) : gửi 1 ký tự lên LCD

• lcd_getc(int8 x, int8 y) : đọc ký tự tại cột x, hàng y

Trang 33

CODE VÀ MÔ PHỎNG

• Lập trình bằng CCS-C

• Mô phỏng Proteus

Trang 34

MẠCH PROTEUS

Trang 36

void hienthi(int8 chuc, int8

donvi, int8 phandonvi)

int8 chuc, donvi, phandonvi;

Trang 37

output_low(ONE_WIRE_PIN);

delay_us(2);

output_bit(ONE_WIRE_PIN, shift_right(&data, 1, 0));

delay_us(60);

output_float(ONE_WIRE_PIN);

delay_us(2);

} }

int onewire_read() {

int count, data;

for(count=0;count<8;++count) {

output_low(ONE_WIRE_PIN); delay_us(2);

output_float(ONE_WIRE_PIN); delay_us(8);

shift_right(&data, 1, input(ONE_WIRE_PIN));

delay_us(120);

} return data;

}

#endif /*ONE_WIRE_C*/

Trang 39

KẾT QUẢ THỰC TẾ

• Video

Trang 40

CẢM ƠN THẦY VÀ CÁC BẠN

ĐÃ LẮNG NGHE

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

HÌNH ẢNH LIÊN QUAN

Sơ đồ kết nối cảm biến - sử dụng cảm biến ds1820 đo nhiệt độ môi trường,gửi về vi điều khiển xử lý và hiển thị lên màn hình lcd
Sơ đồ k ết nối cảm biến (Trang 25)

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