1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn học phần vi xử lý chủ Đề sử dụng atmega328p Để hiển thị giá trị nhiệt Độ cảm biến lm35 trên màn hình lcd 1602

13 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Sử Dụng Atmega328P Để Hiển Thị Giá Trị Nhiệt Độ Cảm Biến Lm35 Trên Màn Hình Lcd 1602
Tác giả Nguyễn Quý Tuấn, Nguyễn Thế Khánh
Người hướng dẫn Ts. Nguyễn Hữu Quang
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Cơ Khí
Thể loại Báo cáo
Thành phố Hà Nội
Định dạng
Số trang 13
Dung lượng 3,4 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ÁO CÁO BÀI TẬP LỚN HỌC PHẦN: VI XỬ LÝ Chủ đề: Sử dụng ATMega328P để hiển thị giá trị nhiệt độ cảm biến Lm35 trên màn hình Lcd 1602 Giảng viên hướng dẫn: Ts... Đây là một bo mạch phát tr

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG CƠ KHÍ

.

BÁO CÁO BÀI TẬP LỚN

HỌC PHẦN: VI XỬ LÝ Chủ đề: Sử dụng ATMega328P để hiển thị giá trị nhiệt độ cảm biến Lm35

trên màn hình Lcd 1602 Giảng viên hướng dẫn: Ts Nguyễn Hữu Quang Sinh viên thực hiện:

Nguyễn Quý Tuấn MSSV: 20205514

Nguyễn Thế Khánh MSSV: 20205344

Trang 2

- -1 Các linh kiện sử dụng

1.1 Arduino Uno R3

Arduino Uno R3 là một bo mạch phổ biến thuộc dòng sản phẩm Arduino Đây là một bo mạch phát triển dựa trên vi điều khiển ATmega328P, chủ yếu được sử dụng

để xây dựng các dự án điện tử và nhúng

Thông số kỹ thuật:

Trang 3

1.2 Cảm biến nhiệt độ Lm35

Cảm biến nhiệt độ LM35 là một cảm biến nhiệt độ linh hoạt thường được sử dụng trong các ứng dụng điện tử và nhúng

LM35 là một cảm biến nhiệt độ dựa trên nguyên tắc làm thay đổi điện áp đầu ra tuyến tính với nhiệt độ

Thông số kỹ thuật:

- Điện áp hoạt động: 4-20VDC

- Công suất tiêu thụ: khoảng 60uA

- Khoảng đo: -55 đến 150 độ C

- Điện áp tuyến tính theo nhiệt độ: 10mV/độ C

- Sai số: 0.25 độ C

- Kiểu chân: TO92

- Kích thước: 4.3 x 4.3mm

1.3 Màn hình LCD 16x2

Màn hình LCD 16x2 có kích thước 16 ký tự trên mỗi dòng và 2 dòng, nói cách khác, có khả năng hiển thị tổng cộng 32 ký tự

Mỗi ký tự được hiển thị trong một ô, và màn hình được chia thành 16 ô theo chiều ngang và 2 ô theo chiều dọc

Trang 4

Thông số kỹ thuật:

- Điện áp hoạt động: 5V

- Kích thước: 8 x 3.6 x 0.8cm

- Màu nền: xanh lá hoặc xanh dương

- Màu chữ: đen

- Khoảng cách giữa hai chân kết nối: 0.1 inch

- Tiện dụng khi kết nối với Breadboard

Chức năng các chân của LCD:

Trang 5

Địa chỉ được hiển thị trên màn hình LCD trong bộ nhớ DDRAM:

Tập lệnh của LCD:

Trang 6

2 Sơ lược về vi điều khiển ATMega328P

ATmega328P là một vi điều khiển AVR (Advanced Virtual RISC) được sản xuất bởi Atmel (hiện nay đã được Microchip Technology mua lại) Đây là một trong những vi điều khiển phổ biến và được sử dụng rộng rãi trong các ứng dụng nhúng, đặc biệt là trong dự án Arduino

Thông số kỹ thuật:

- Số chân ngõ vào Analog: 6 chân

- Bộ nhớ flash: 32KB

- SRAM: 2KB

- EEPROM: 1KB

- Tốc độ xung nhịp: 16 MHz

- Nhiệt độ: -40 - 105 độ C

- Tổng số chân I/O kỹ thuật số: 14 chân

- Chứa tổng cộng ba bộ định thời: hai 8 bit và một 16 bit

- Tổng số chân I/O: 23 chân

- Tổng số kênh PWM: 6 kênh

Trang 7

Sơ đồ chân: có tất cả 28 chân trong đó có 23 chân I/O

3 Bộ chuyển đổi ADC

Bộ chuyển đổi ADC (Analog-to-Digital Converter) là một thành phần quan trọng trong vi điều khiển để chuyển đổi tín hiệu analog thành dạng số mà vi điều khiển

có thể xử lý ATmega328P, như được sử dụng trong các board Arduino, cũng tích hợp một bộ ADC với độ phân dải 10 bit

ATmega328P có 8 kênh ADC (ADC0 đến ADC7), 16 tổ hợp chuyển đổi dạng so sánh, trong đó có 2 kênh so sánh có thể khuếch đại

Bộ ADC có thể được cấu hình với một độ chia tỷ lệ để điều chỉnh tốc độ chuyển đổi Điều này giúp đảm bảo rằng tốc độ chuyển đổi là phù hợp với yêu cầu ứng dụng và giảm tải cho vi điều khiển

Có 4 thanh ghi trong bộ ADC trên AVR trong đó có 2 thanh ghi data chứa dữ liệu sau khi chuyển đổi, 2 thanh ghi điều khiển và chứa trạng thái của ADC

- ADMUX: là 1 thanh ghi 8 bit điều khiển việc chọn điện áp tham chiếu, kênh và chế độ hoạt động của ADC

Trang 8

Bit 7:6 – REFS1:0: là các bit chọn điện áp tham chiếu cho ADC.

Bảng chọn điện áp tham chiếu

Bit 5 – ADLAR: là bit cho phép hiệu chỉnh trái kết quả chuyển đổi Nếu ADLAR=0 kết quả sẽ được hiệu chỉnh về phía phải ( thanh ghi ADCL chứa chọn 8 bit thấp và thanh ghi ADCH chứa 2 bit cao trong 10 bit kết quả ), và nếu ADLAR=1 thì kết quả được hiểu chỉnh trái ( thanh ghi ADCH chứa trọn 8 bit cao nhất, các bit từ 9 đến 2, và thanh ADCL chứa 2 bit thấp nhất trong 10 bit kết quả ) Bit 4:0 – MUX4:0: là 5 bit cho phép chọn kênh, chế độ và cả hệ số khuếch đại cho ADC

Bảng chọn kênh cho ADC:

MUX4.0 Single ended input

- ADCSRA: là thanh ghi chính điều khiển hoạt động và trạng thái của ADC

Trang 9

Bit 7 – ADEN: viết giá trị 1 vào bit này tức là đã cho phép module ADC được sử dụng

Bit 6 – ADSC: set bit này lên 1 là bắt đầu thực hiện quá trình chuyển đổi Trong quá trình chuyển đổi, bit ADSC sẽ được giữ nguyên giá trị 1, khi quá trình chuyển đổi kết thúc, bit này sẽ được trả về 0

Bit 4 – ADIF: cờ báo ngắt, khi một chuyển đổi kết thúc, bit này tự động được set lên 1

Bit 3 – ADIE: bit cho phép ngắt

Bit 2:0 – ADPS2:0: các bit cho phép chọn hệ số chia từ nguồn clock chính đến ADC

Bảng chọn hệ số chia xung nhịp cho ADC:

- ADCL và ADCH: 2 thanh ghi chứa giá trị của quá trình chuyển đổi Bit ADLAR trong thanh ghi ADMUX quy định cách mà kết quả được ghi vào

ADLAR=0:

ADLAR=1:

Trang 10

4 Sơ đồ mạch

5 Chương trình

Khai báo và định nghĩa:

#define F_CPU 16000000u1

#include <avr/io.h>

#include <util/delay.h>

#include <stdio.h>

#define DB DDRB

#define DD DDRD

#define PB PORTB

#define PD PORTD

#define RS PB1

#define RW PB2

#define RE PB3

Trang 11

void gui_lenh (unsigned char);

void display_char (unsigned char);

void khoi_tao (void);

void display_string (char *);

void display_stringxy (char, char, char *); void clear_lcd();

uint16_t read_adc (uint8_t);

Hàm main:

Hàm gửi lệnh từ vi điều khiến đến LCD:

Trang 12

Hàm gửi dữ liệu từ vi điều khiển đến LCD:

Hàm khởi tạo LCD:

Hàm hiển thị chuỗi ký tự lên LCD:

Hàm điều khiển vị trí hiển thị trên LCD:

Trang 13

Hàm xóa màn hình LCD:

Hàm đọc giá trị sau khi chuyển đổi:

The

Ngày đăng: 21/04/2025, 21:44

HÌNH ẢNH LIÊN QUAN

Bảng chọn hệ số chia xung nhịp cho ADC: - Báo cáo bài tập lớn học phần vi xử lý chủ Đề sử dụng atmega328p Để hiển thị giá trị nhiệt Độ cảm biến lm35  trên màn hình lcd 1602
Bảng ch ọn hệ số chia xung nhịp cho ADC: (Trang 9)
4. Sơ đồ mạch - Báo cáo bài tập lớn học phần vi xử lý chủ Đề sử dụng atmega328p Để hiển thị giá trị nhiệt Độ cảm biến lm35  trên màn hình lcd 1602
4. Sơ đồ mạch (Trang 10)

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

w