1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế và lập trình chức năng đọc giá trị cảm biến nhiệt độ DS18B20 và thực hiện thao tác điều khiển phản hồi trên KIT AVR V7

40 243 0

Đ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 40
Dung lượng 1,9 MB

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

Nội dung

- Lập trình chức năng giao tiếp đọc giá trị nhiệt độ môi trường bằng chức năng giao tiếp truyền thông one – wire với IC DS18B20. - Hiển thị được giá trị nhiệt độ lên màn hình LCD. - Cấu hình ngưỡng cảnh báo nhiệt độ mức cao mức thấp. - Sử dụng phím bấm để xuất dữ liệu nhiệt độ đo được lên máy tính thông qua UART.

Trang 1

TRƯỜNG ĐẠI HỌC KỸ THUẬT - HẬU CẦN CAND

KHOA ĐIỆN TỬ VIỄN THÔNG

DỮ LIỆU GIAO TIẾP VỚI MÁY TÍNH

Trang 2

TRƯỜNG ĐẠI HỌC KỸ THUẬT - HẬU CẦN CAND

KHOA ĐIỆN TỬ VIỄN THÔNG

DỮ LIỆU GIAO TIẾP VỚI MÁY TÍNH

Trang 3

BẢNG PHÂN CÔNG NHIỆM VỤ

Hồ Văn Hơn

- Làm nội dung báo cáo chương 1,2

- Vẽ mạch mô phỏng trên Proteus, nghiêncứu code, nghiên cứu nạp code vào KITAVR V7

Nguyễn Nhật

Hoàng

- Làm nội dung báo cáo chương 1,2

- Viết code, làm báo cáo, nghiên cứu mạch

mô phỏng trên ProteusPhan Thị Thu

Hường

- Làm nội dung báo cáo chương 1,3

- Nghiên cứu mạch mô phỏng trên Proteus,nghiên cứu nạp code vào KIT AVR V7

Trang 4

UART Universal Asynchronous Receiver –Transmitter

Trang 5

DANH MỤC BẢNG VÀ HÌNH ẢNH

Hình 1.1 Đơn vị cung cấp nguồn điện kép 4

Hình 1.2 Hệ thống sơ đồ nối chân USB UART 6

Hình 1.3 Cấu tạo chân nối màn hình LCD 7

Hình 1.4 Sơ đồ chân nối hệ thống LED 7 thanh 7

Hình 1.5 Sơ đồ chân nối IC DS1820 8

Hình 1.6 Hệ thống âm báo 9

Hình 1.7 Sơ đồ nguyên lý UART 10

Hình 1.8 Sơ đồ chân IC DS18B20 12

Hình 1.9 Sơ đồ khối IC DS18B20 13

Hình 1.10 Cấu tạo thanh ghi cấu hình 14

Bảng 1.1 Cấu hình độ phân giải và thời gian chuyển dổi 15

Bảng 1.2 Bảng chuyển đổi giá trị nhiệt độ sang hệ nhị phân 16

Hình 1.11 LCD 16x2 17

Hình 1.12 Sơ đồ kết nối text LCD 18

Bảng 1.3 Chức năng chân nối text LCD 16x2 19

Hình 1.13 Tổ chức của DDRAM 20

Hình 1.14 Hoạt động của chân RS 21

Hình 1.15 Button 6mm và sơ đồ chân 22

Hình 2.1 Sơ đồ khối ứng dụng 23

Hình 2.2 Khối xử lý trung tâm 24

Hình 2.3 Khối phím bấm 24

Hình 2.4 Khối hiển thị LCD 24

Hình 2.5 Khối cảm biến nhiệt độ 25

Hình 2.7 Sơ đồ thuật toán xuất giá trị ra LCD 25

Hình 2.6 Sơ đồ thuật toán đọc giá trị nhiệt độ 25

Hình 2.8 Sơ đồ thuật toán phím bấm xuất ra máy tính 26

Hình 3.1 Kết quả mô phỏng phần cứng 27

Hình 3.2 Cài đặt ngưỡng cao 28

Hình 3.3 Cài đặt ngưỡng thấp 28

Hình 3.4 Cảnh báo vượt ngưỡng cao bằng chuông và đèn LED 29

Hình 3.5 Kết quả mô phỏng dùng phím bấm gửi dữ liệu lên máy tính 29

Trang 6

MỤC LỤC

MỤC LỤC 1

LỜI MỞ ĐẦU 3

CHƯƠNG I – CƠ SỞ LÝ THUYẾT CỦA ỨNG DỤNG 4

1.1 Tổng quan về cấu trúc phần cứng KIT easyAVR V7 4

1.1.1 Nguồn điện kép 4

1.1.2 Vi điều khiển được hỗ trợ 4

1.1.3 Xung clock 5

1.1.4 Lập trình on-board 5

1.1.5 Phần mềm lập trình 5

1.1.6 UART qua RS-232 5

1.1.7 USB UART 5

1.1.8 Đầu nối máy chủ mikroBUS 6

1.1.9 Nhóm đầu vào / đầu ra 6

1.1.10 LCD 16x2 6

1.1.11 GLCD 128X64 7

1.1.12 Bảng điều khiển cảm ứng 7

1.1.13 Hệ thống 4 LED 7 thanh 7

1.1.14 DS1820 - Cảm biến nhiệt độ số 8

1.1.15 LM35 - Cảm biến nhiệt độ tương tự 8

1.1.16 Đầu vào ADC 8

1.1.17 I2C EEPROM 9

1.1.18 Piezo Buzzer 9

1.2 Tổng quan về khối truyền thông UART 9

1.2.1 Các thông số cơ bản trong truyền nhận UART 10

1.2.2 Thanh ghi 10

1.2.3 Sử dụng UART 12

1.3 Các khối ngoại vi 12

1.3.1 IC DS18B20 12

1.3.1.1 Chuẩn one – wire 13

1.3.1.2 Thanh ghi dữ liệu 13

1.3.1.3 Bộ nhớ và thanh ghi 14

Trang 7

1.3.1.4 Trao đổi dữ liệu giữa vi điều khiển và DS18B20 15

1.3.1.5 Cách đọc giá trị nhiệt độ 16

1.3.2 LCD (Liquid Crystal Display) 17

1.3.2.1 Sơ đồ chân 18

1.3.2.2 Thanh ghi và tổ chức bộ nhớ 19

1.3.2.3 DDRAM 19

1.3.2.4 CGROM 20

1.3.2.5 CGRAM 20

1.3.2.6 Các chân điều khiển LCD 20

1.3.2.7 Tập lệnh của LCD 21

1.3.2.8 Giao tiếp 8 bit và 4 bit 22

1.3.3 Phím bấm (Button) 22

CHƯƠNG II – THIẾT KẾ ỨNG DỤNG VÀ GIẢI THUẬT PHẦN MỀM 23

2.1 Nguyên lý thiết kế ứng dụng và thiết kế phần cứng 23

2.1.1 Khối xử lí trung tâm 23

2.1.2 Khối phím bấm 24

2.1.3 Khối hiển thị 24

2.1.4 Khối cảm biến nhiệt độ 25

2.2 Thuật toán thực hiện 25

CHƯƠNG III – KẾT QUẢ ỨNG DỤNG 27

3.1 Kết quả mô phỏng 27

3.2 Ứng dụng trong thực tế 29

3.3 Ưu nhược điểm của mạch thiết kế 30

3.3.1 Ưu điểm 30

3.3.2 Nhược điểm 30

KẾT LUẬN 31

TÀI LIỆU THAM KHẢO 32

Trang 8

LỜI MỞ ĐẦU

Trong thời đại cách mạng 4.0, các ngành khoa học kỹ thuật, đặt biệt là tự độnghóa, có tốc độ phát triển rất nhanh và đổi mới từng ngày, từng giờ, tác động trực tiếplàm thay đổi đời sống hàng ngày Các hệ thống diện tử đã và đang tham gia vào mọilĩnh vực trong cuộc sống hằng ngày của con người từ học tập, làm việc cho đến vuichơi, giải trí, giảm tải sức lao động của con người Có thể nói, điện tử là một trongnhững ngành phát triển mũi nhọn, có những bước tiến vượt bậc về công nghệ cũng

Với mục đích tìm hiểu, thiết kế và ứng dụng một hệ thống đo lường, cụ thể là

đo nhiệt độ, dựa vào những những kiến thức đã học về vi điều khiển Nhóm chúng em

đã thực hiện đề tài: ” Thiết kế và lập trình chức năng đọc giá trị cảm biến nhiệt độDS18B20 và thực hiện thao tác điều khiển phản hồi trên KIT AVR V7”

Ngoài ra-việc-thực-hiện-đề-tài-cũng-là-để-chúng-em-tìm-hiểu-và-nâng-cao kiếnthức của bản thân về KIT easyAVR V7, chip atmega32, IC DS18B20, màn hình LCD

và làm-quen-với-các-thiết-bị-điện-tử-khác.-Mặc-dù-được-sự-chỉ-dẫn-tận tình củagiảng viên và sự có gắng của nhóm em nhưng do khối lượng kiến thức và thời giancòn hạn chế, nên-không-tránh-khỏi-những-thiếu-sót,-hạn-chế-vì-thế em rất mong đónnhận những-góp-ý-và-nhắc-nhở-từ-thầy-giáo-để-có-thể hoàn thiện đề tài củamình.hhhhh

Em xin chân thành cảm ơn!

Trang 9

CHƯƠNG I – CƠ SỞ LÝ THUYẾT CỦA ỨNG DỤNG 1.1 Tổng quan về cấu trúc phần cứng KIT easyAVR V7

ATmega32-là-vi-điều-khiển-mặc-định-của-EasyAVR-V7.-Có-16 thao tácMIPS, 32K byte bộ nhớ chương trình Flash, 2K byte bộ nhớ SRAM và 1K byte của bộnhớ EEPROM.-Nó-có-40-chân-với-32-chân-I/O,-bộ-chuyển đổi Analog-to-Digital 10-bit với tối đa 8 kênh (ADC), hai bộ xử lý 8-bit và một bộ đếm 16-bit, bốn kênh PWM,lập trình-nối-tiếp-USART,-Master/Slave-SPI-và-giao diện I2C-hai-dây,-bộ-định vị 8MHz RC nội bộ-và-bộ-dao-động-RTC-32-KHz.-Nó-cũng-có-giao-diện-JTAG-cho lậptrình và gỡ lỗi

1.1.1 Nguồn điện kép

KIT có sẵn nguồn điện chuyển đổi tạo ra điện áp ổn định và mức dòng điện cần

để-cấp-nguồn-cho-từng-phần-của-bảng-mạch.-Bộ-phận-cung-cấp-điện gồm hai bộđiều chỉnh công suất: ST1S10 tạo ra VCC-5V và MC33269DT3.3 tạo ra VCC-3.3V

Cách-cung-cấp-nguồn-cho-bảng-mạch:

- Sử dụng cáp USB

- Sử dụng adapter

- Sử-dụng-nguồn-điện-của-phòng-thí-nghiệm

Hình 1.1 Đơn vị cung cấp nguồn điện kép

1.1.2 Vi điều khiển được hỗ trợ

Ổ-cắm-vi-điều-khiển:-Bảng-có-7-ổ-DIP.-Bo-mạch-có-thể-lập-trình-khoảng-65

Trang 10

-bộ-vi-điều-khiển-khác nhau từ AVR.

1.1.3 Xung clock

Bộ vi điều khiển AVR có thể sử dụng xung clock bên trong hoặc dùng dao độngthạch-anh-bên-ngoài.-KIT-EasyAVR-V7-chứa-một-tinh-thể-thạch-anh cho tất cả ổcắm vi điều khiển.-Giá-trị-của-thạch-anh-phụ-thuộc-vào-tần-số-xung clock tối đa chophép và ứng dụng của người dùng

1.1.4 Lập trình on-board

MikroProg là một lập trình USB 2.0 nhanh cho phép mikroProg hỗ trợ khoảng

65-bộ-điều-khiển-AVR-trong-một-lập-trình-đơn-lẻ.-Để-bắt-đầu-sử-dụng mikroProg vàlập trình vi điều khiển chỉ cần làm theo 2 bước:

1.1.6 UART qua RS-232

- UART (thu/phát không đồng bộ) là một trong những cách phổ biến nhất đểtrao đổi dữ-liệu-giữa-MCU-và-các-thành-phần-ngoại vi

- Giao-tiếp-nối-tiếp-RS-232-được-thực-hiện-thông-qua-đầu-nối SUB-D 9-pin

và môđun UART của vi điều khiển

1.1.7 USB UART

Giao-tiếp-USB-UART-được-thực-hiện-thông-qua-bộ-điều-khiển-FT232RL,đầu nối USB (CN4) và mô-đun UART-vi-điều-khiển.-Kết-nối-này được thực hiện

Trang 11

bằng cách sử dụng DIP switch SW10.

Hình 1.2 Hệ thống sơ đồ nối chân USB UART

1.1.8 Đầu nối máy chủ mikroBUS

Mỗi kết-nối-máy-chủ-mikroBUS-bao-gồm-hai-đầu-1x8-có-chứa-các-chân cónhiều-khả-năng-được-sử-dụng-trong-bảng-phụ-kiện.-Có ba nhóm chân giao tiếp : SPI,UART-và-giao-tiếp-I2C.-Ngoài-ra-còn-có-một chân cho PWM, Interrup, đầu vàoAnalog, Reset và Chip Select

1.1.9 Nhóm đầu vào / đầu ra

Các-đầu-PORT,-các-nút-PORT-và-PORT-LED-đều-nằm kế bên nhau và đượcnhóm-lại-với-nhau.-Có-thêm-các-đầu-PORT-ở phía bên trái của bảng, vì vậy ngườidùng-có-thể-truy-cập-vào-bất-kỳ-chân-nào từ cả hai mặt của bảng mạch

Bộ chuyển-mạch-DIP-của-Tri-State-được-sử-dụng để kích hoạt điện trở kéolên hoặc-kéo-xuống-4K7-lên-bất-kỳ-cổng-nào.-Mỗi thiết bị chuyển mạch có ba trạngthái:

- Vị-trí-giữa-vô-hiệu-hóa-chức-năng kéo lên và kéo xuống từ chân PORT

- Vị-trí-trên-kết-nối-điện-trở trong trạng thái kéo lên đến chân chọn

- Vị-trí-dưới-kết-nối-điện-trở-trong-kéo-xuống đến pin PORT đã chọn

Trang 12

1.1.10 LCD 16x2

EasyAVR-V7-cung-cấp-hệ-thống-chân-nối-để-lắp-màn hình LCD 2x16 ở chế

độ 4-bit.-Khi-lắp-LCD-vào-bảng-mạch,-phải-tắt-nguồn-rồi-mới thay

Hình 1.3 Cấu tạo chân nối màn hình LCD

1.1.11 GLCD 128X64

EasyAVR V7 cung cấp đầu nối và giao diện cần thiết để hỗ trợ GLCD với độphân-giải-128x64-pixel,-được-điều-khiển-bởi-bộ-điều-khiển-hiển thị KS108 hoặc bộđiều-khiển-hiển-thị-tương-thích.-Giao-tiếp-với-mô-đun-hiển thị được thực hiện thôngqua-kết-nối-màn-hình-CN16.-Không-thể-sử-dụng cả hai màn hình đồng thời

1.1.12 Bảng điều khiển cảm ứng

KIT-EasyAVR-V7-được-trang-bị-điều-khiển-cảm-ứng-và-đầu nối cho bảngcảm ứng điện trở 4 dây Bảng điều khiển cảm ứng được bật bằng SW8.5, SW8.6,SW8.7 và SW8.8.-Chúng-kết-nối-các-dòng-READ-X-và-READ-Y-của-bảng-điềukhiển cảm ứng với đầu vào analog PA0 và PA1, DRIVEA và DRIVEB với đầu ra sốPA2 và PA3 trên ổ cắm-vi-điều-khiển.-Đảm-bảo-ngắt-kết-nối-các-thiết-bị-ngoại-vikhác, đèn LED và các điện-trở-kéo-lên-hoặc-kéo-xuống-để-không-can-thiệp-vào-tínhiệu/dữ liệu

1.1.13 Hệ thống 4 LED 7 thanh

Trang 13

Hình 1.4 Sơ đồ chân nối hệ thống LED 7 thanh

EasyAVR-V7-có-4-con-Led-7-thanh-và-được-kết-nối-song-song Mỗi chữ số

có một dòng chọn số, được sử dụng để cho phép số mà dữ liệu hiện đang được gửi đi.LED được-kết-nối-với-PORTC,-và-các-dòng-lựa-chọn-chữ-số-được-kết-nối với dòngPA0-PA3 trên chân cắm vi điều khiển

1.1.14 DS1820 - Cảm biến nhiệt độ số

DS1820-là-một-cảm-biến-nhiệt-độ-số-sử-dụng-giao-diện 1 dây để hoạt động

Nó có-khả-năng-đo-nhiệt-độ-trong-khoảng-từ 55-đến 128 ° C và độ chính xác ±0.5°C cho nhiệt-độ-trong-khoảng-từ 10-đến-85°C Nó đòi-hỏi-nguồn điện 3V đến5.5V để hoạt động ổn định

Hình 1.5 Sơ đồ chân nối IC DS1820

EasyAVR V7 cung cấp một ổ cắm riêng (TS1) cho DS1820 Dây kết nối với viđiều-khiển-được-kết-nối-thông-qua-chân-J18.-EasyAVR-V7-cho phép bạn thiết lậptruyền-thông-1-wire-giữa-DS1820-và-vi-điều-khiển-thông-qua-chân vi xử lí PB4 hoặcPA7

1.1.15 LM35 - Cảm biến nhiệt độ tương tự

EasyAVR-V7-cho-phép-bạn-lấy-các-phép-đo-tương-tự-từ cảm biến LM35trong khoảng-nhiệt-độ-giới-hạn-từ-+-2ºC-đến-+ 150ºC Bảng mạch cung cấp một ổ

Trang 14

cắm riêng (TS2)-cho-cảm-biến-LM35-trong-bao-bì-nhựa-TO-92 EasyAVR V7 chophép bạn có được-các-tín-hiệu-tương-tự-từ-bộ-cảm-biến-LM35 sử dụng chân PA7hoặc PB4 Việc chọn một-trong-hai-đường-này được thực hiện bằng cách sử dụngchân J19.

1.1.16 Đầu vào ADC

EasyAVR V7-cung-cấp-một-giao-diện-dưới-dạng hai chiết áp để mô phỏng cácđiện áp-đầu-vào-tương-tự-có-thể-được-chuyển-tới-bất-kỳ-một trong 12 chân đầu vàotương tự-được-hỗ-trợ.-Để-kết-nối-đầu-ra của chiết áp P1 với đầu vào vi điều khiểntương-tự-PB0,-PB2,-PD6,-PB4,-PB5-hoặc-PC3,-bạn phải đặt chân J3 ở vị trí mongmuốn.-Nếu-bạn-muốn-kết-nối-chiết-áp-P3-với-bất-kỳ-đầu-vào-vi điều khiển tương tựPB1, PB3, PD7, PC4, PA5 hoặc PA6, đặt chân J4 ở vị trí mong muốn Bằng cách dichuyển-núm-chiết-áp,-bạn-có-thể-tạo-ra-các-điện-áp-từ-khoảng GND đến VCC-BRD

1.1.17 I2C EEPROM

EasyAVR V7 hỗ trợ EEPROM nối tiếp sử dụng giao tiếp truyền thông I2C và

có bộ-nhớ-1024-byte.-I2C-là-một-kênh-đơn-nối-tiếp-đa-chủ-được sử dụng để gắn cácthiết bị-ngoại-vi-tốc-độ-thấp-vào-máy-tính-hoặc-các-hệ-thống nhúng

1.1.18 Piezo Buzzer

EasyAVR-V7-đi-kèm-với-piezo-buzzer-có-thể-được-kết-nối với chân điềukhiển vi-điều-khiển-PB1-hoặc-PD4-được-xác định bởi vị trí của chân J21 Buzzerđược điều khiển bởi-bán-dẫn-Q8.-Vi-điều-khiển-có-thể-tạo-ra-âm-thanh-bằng cách tạo

ra tín hiệu PWM-(Pulse-Width-Modulated)- -một-tín-hiệu-sóng-vuông,-một chuỗi các

số không logic và các số nguyên

Trang 15

Hình 1.6 Hệ thống âm báo

1.2 Tổng quan về khối truyền thông UART

UART-là-viết-tắt-của-Universal-Asynchronous-Receiver – Transmitter.Thường được-sử-dụng-trong-việc-truyền-dẫn-dữ-liệu-nối tiếp giữa máy tính và cácthiết bị ngoại vi Rất-nhiều-vi-điều-khiển-hiện-nay-đã được tích hợp UART Như cácbạn đã biết giao tiếp-SPI-và-I2C-có-1-dây-truyền-dữ-liệu-và-1-dây được sử dụng đểtruyền xung clock (SCL) để-đồng-bộ-trong-giao-tiếp.-Với-UART thì không có dâySCL, vấn đề được giải quyết-khi-mà-việc-truyền-UART-được-dùng-giữa-2 vi xử lývới nhau, đồng nghĩa với việc-mỗi-vi-xử-lý-có-thể-tự-tạo-ra-xung-clock-cho-chính-

nó-sử-dụng

Hình 1.7 Sơ đồ nguyên lý UART

Ở trạng thái chờ mức điện thế ở mức 1 (high) Khi bắt đầu truyền START bit sẽchuyển-từ-1-xuống-0-để-báo-hiệu-là-quá-trình-truyền-dữ liệu sắp xảy ra Sau STARTbit-là-đến-các-bit-dữ-liệu-D0-D7-(Có-thể-ở-mức-High-or-Low tùy theo dữ liệu) Saukhi truyền-hết-dữ-liệu-thì-đến-Bit-Parity-để-bộ-nhận-kiểm tra tính đúng đắn của dữ

Trang 16

liệu truyền.-Cuối-cùng-là-STOP-bit-là-1-báo-cho-thiết-bị-là các bit đã được gửi xong.Thiết bị-nhận-sẽ-tiến-hành-kiểm-tra-khung-truyền-để-đảm-báo-tính-đúng-đắn của dữliệu.

1.2.1 Các thông số cơ bản trong truyền nhận UART

- Baund-rate-(tốc-độ-baund):-Khoảng-thời-gian-dành-cho-1 bit được truyền.Phải được cài đặt giống nhau ở gửi và nhận

- Frame-(khung-truyền ): Khung truyền quy định về số bit trong mỗi lần truyền

- Start bit: là bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận

có-một-gói-dữ-liệu-sắp-đc-truyền-đến.-Bit-bắt-buộc

- Data:-dữ-liệu-cần-truyền.-Bit-có-trọng-số-nhỏ-nhất-LSB được truyền trướcsau đó đến bit MSB

- Parity bit : kiểm tra dữ liệu truyền có đúng không

- Stop-bit:-là-1-hoặc-các-bit-báo-cho-thiết-bị rằng các bit đã được gửi xong.Thiết bị nhận-sẽ-tiến-hành-kiểm-tra-khung-truyền-nhằm-đảm-bảo-tính đúng đắn của

dữ liệu

1.2.2 Thanh ghi

Cũng như các thiết bị khác trên AVR, tất cả hoạt động và trạng thái của moduleUSART-được-điều-khiển-và-quan-sát-thông-qua-các-thanh-ghi-trong-vùng nhớ I/O

Có 5 thanh ghi được thiết kế riêng cho hoạt động và điều khiển USART

UDR:-hay-thanh-ghi-dữ-liệu,-là-1-thanh-ghi-8-bit chứa giá trị nhận được vàphát đi của USART

UCSRA(-USART-control-and-Status-register-A)-là 1 trong 3 thanh ghi điềukhiển hoạt-động-của-module-USART

Trang 17

UCSRB- -USART-control-and-Status-register B) đây là thanh ghi quan trọngđiều khiển USART.

UCSRC (USART control and Status register C): thanh ghi quy định khungtruyền và-chế-độ-truyền.-Thanh-ghi-này-cùng-địa-chỉ-với-thanh ghi UBRRH (thanhghi dùng để xác lập tốc độ baud ) Vì thế bit 7 ( bit URSEl) là bit chọn thanh ghi KhiURSEl =1 thanh-ghi-này-được-chip-AVR-hiểu-là-thanh ghi điều khiển UCSRC, nếubit URSEl =0 thì-thanh-ghi-UBRRH-sẽ-được-sử-dụng

1.2.3 Sử dụng UART

Để sử-dụng-module-USART-trên-AVR-phải-thực hiện 3 việc quan trọng đó là:+ Cài đặt tốc độ baud ( thanh ghi UBRR)

+ Định-dạng-khung-truyền-(UCSRB,-UCSRC)

+-Cuối-cùng-kích-hoạt-bộ-truyền-bộ-nhận-bộ-ngắt,…

1.3 - Các - khối - ngoại vi

1.3.1 IC DS18B20

Cảm-biến-nhiệt-độ-hay-nhiệt-kế-số-DS18B20-có-những-tính-năng-như-sau:

- Theo chuẩn giao tiếp one – wire

- Dãi-nhiệt-độ-đo-lường:-từ 55°C-đến-+125°C (-67°F to +257°F)

Trang 18

- Độ chính xác: ±0.5°C trong khoảng đo từ -10°C đến +85°C

- Độ-phân-giải-9-đến-12-bit

Mỗi-thiết-bị-có-mã-định-danh-duy-nhất-64-bit-cho-phép kết nối nhiều IC trêncùng một đường BUS

- Có-thể-dùng-nguồn-ký-sinh-(không-cần-cung-cấp-nguồn cho chip, chip lấynguồn từ tín hiệu)

Hình 1.8 Sơ đồ chân IC DS18B20

1.3.1.1 Chuẩn one – wire

One - Wire là một hệ thống bus giao tiếp với thiết bị, có tốc độ tối đa 16Kbps.Truyền-tín-hiệu-và-nguồn-nuôi-qua-cùng-một-chân-tín-hiệu đơn one -wire cũngtương tự như I2C, nhưng với tốc độ truyền dữ liệu thấp và khoảng cách xa hơn ( Xanhất là 300m).-Nó-thường-được-sử-dụng-để-giao-tiếp-với-các-thiết-bị-nhỏ-giá rẻ nhưnhiệt kế kĩ thuật số và công cụ đo thời tiết Một mạng lưới của các thiết bị One -Wirevới một thiết-bị-điều-khiển-chính-được-gọi-là-một-MicroLAN

Một-tính-năng-đặc-biệt-là-khả-năng-chỉ-sử-dụng-hai-dây tín hiệu: data vàGND Để thực hiện điều này, các thiết bị one - wire bao gồm một tụ điện 800pF để trữđiện và cung-cấp-nguồn-trong-quá-trình-đường-data-đang-hoạt-động

Trang 19

Hình 1.9 Sơ đồ khối IC DS18B20

1.3.1.2 Thanh ghi dữ liệu

Mỗi-DS18B20-đều-có-mã-định-danh-với-độ-lớn-64-bit-duy-nhất được lưu trong ROM

- 8 bit-thấp-nhất-của-ROM-chứa đựng mã quy ước của họ dòng đo nhiệt độ 1dây DS18B20 với mã là 28h

- 48-bit-tiếp-theo-là-số-serial-duy-nhất-của-thiết-bị

- 8-bit-cuối-cùng-mà-mã-kiểm-tra-CRC-tính-toán-từ 56 bit trước

1.3.1.3 Bộ nhớ và thanh ghi

Bộ nhớ của DS18B20 bao gồm bộ nhớ nháp (SRAM scratchpad), thanh ghi lưutrữ-kích-hoạt-cảnh-báo-cao-và-thấp-(TH-và-TL)-và thanh ghi cấu hình, cả hai thanhghi này đều trang bị bộ nhớ EEPROM Lưu ý rằng nếu chức năng cảnh báo khôngđược sử dụng-thì-thanh-ghi-TH-và-TL-có-thể-được-sử-dụng-như-bộ-nhớ-đa-mụcđích Byte 0 và Byte 1 của bộ nhớ nháp chứa đựng LSB và MSB của thanh ghi nhiệt

độ Những Byte này-chỉ-có-thể đọc

- Byte-2-và-3-truy-cập-thanh-ghi-TH-và-TL

- Byte-4-chứng-đựng-dữ-liệu-của-thanh-ghi-cấu-hình

- Byte-5,-6-và-7-để-dành-riêng-cho-sử-dụng-bởi thiết bị, ta không thể ghi đến

Trang 20

các byte này

- Byte-8-chứa-đựng-mã-CRC-của-byte-0-đến-byte-7 của bộ nhớ nháp

Dữ liệu trong các thanh ghi EEPROM không mất đi khi ngắt nguồn cấp; khi cónguồn-cấp-lại-dữ-liệu-trong-các-thanh-ghi-này-sẻ-được-nạp-vào bộ nhớ nháp theo vịtrí byte-tương-ứng.-Dữ-liệu-này có thể nạp lại bằng lệnh từ EEPROM bằng lệnh E2[B8h]

Thanh ghi cấu hình:

Hình 1.10 Cấu tạo thanh ghi cấu hình Bảng 1.1 Cấu hình độ phân giải và thời gian chuyển dổi

R1 R0

Độ phân giải(Bit) Thời gian chuyển đổi tối đa

Ngày đăng: 28/02/2020, 08:14

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