KỸ THUẬT VI XỬ LÝ BÁO CÁO BÀI TẬP LỚN BÀI 2: Đồng hồ báo thức hiển thị trên LCD

25 2 0
KỸ THUẬT VI XỬ LÝ BÁO CÁO BÀI TẬP LỚN BÀI 2: Đồng hồ báo thức hiển thị trên LCD

Đ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

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG I KỸ THUẬT VI XỬ LÝ BÁO CÁO BÀI TẬP LỚN BÀI 2: Đồng hồ báo thức hiển thị trên LCD Giảng viên: Nguyễn Trung Hiếu Nhóm bài tập: Nhóm 8 Phạm Quốc Khánh Thành viên: Phí Đức Khánh Đỗ Trung Kiên Nguyễn Bùi Khuyến Hà Nội – 2023 MỤC LỤC PHẦN I: Cấu tạo và nguyên lý hoạt động các linh kiện được sử dụng 4 1.1 STM32F103C8T6 4 1.2 LCD gắn I2C 5 1.3 Nút nhấn(Button) .7 1.4 Còi báo TMB12A03 8 1.5 Pin CR2032 Phần II: Những thành phần quan trọng trong bộ hẹn giờ 10 2.1 RTC ( Real – Time Clock ) 10 2.2 I2C ( Inter – Integreted Circuit ) 10 2.3 NIVC ( Nested Vectored Interrupt Controller ) 10 2.3.1 Ngắt ( Interrupt ) 10 2.3.2 Một số tác dụng chính của ngắt 10 Phần III: Nguyên tắc hoạt động 11 Phần IV : Lưu đồ thuật toán hiển thị từng chế độ của LCD và chạy mạch thực tế .11 4.1 Lưu đồ thuật toán 11 2 NHẬN XÉT CỦA GIẢNG VIÊN MÔN HỌC ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… PHẦN CHO ĐIỂM CỦA GIẢNG VIÊN MÔN HỌC Điểm: (bằng chữ: .) Hà Nội, ngày tháng năm 2023 Giảng viên môn học 3 Phân công công việc Phạm Quốc Khánh : lắp mạch, lên ý tưởng Đỗ Trung Kiên lắp mạch, làm slide Nguyễn Bùi Khuyến : lắp mạch, làm báo cáo Phí Đức Khánh: Hỗ trợ nhóm 4 PHẦN I: Cấu tạo và nguyên lý hoạt động các linh kiện được sử dụng - STM32F103C8T6 - STM32F103C8T6 là một trong các dòng vi điều khiển ARM Cortex-M3 của STMicroelectronics Đây là một dòng vi điều khiển tích hợp nhiều tính năng và được sử dụng rộng rãi trong các ứng dụng nhúng, điều khiển và các hệ thống nhúng khác Dưới đây là một số thông tin về cấu trúc và chức năng chính của STM32F103C8T6: 1 Kiến trúc:  Sử dụng lõi vi xử lý ARM Cortex-M3 32-bit  Tốc độ xử lý có thể lên đến một số MHz (tùy thuộc vào biến thể cụ thể) 2 Bộ nhớ:  Bộ nhớ flash để lưu trữ chương trình (kích thước tùy thuộc vào biến thể)  Bộ nhớ RAM cho dữ liệu và bộ nhớ EEPROM 3 Giao tiếp: 5  Nhiều cổng GPIO (General-Purpose Input/Output) để kết nối với các thiết bị ngoại vi  Các cổng giao tiếp như USART, SPI, I2C cho truyền thông dữ liệu  Giao diện USB 4 Ngắt và Timer:  Hỗ trợ nhiều ngắt để xử lý sự kiện ngoại vi  Timer và counter tích hợp để đo thời gian, tạo xung, và các chức năng khác 5 Chuyển đổi ADC/DAC:  Bộ chuyển đổi ADC (Analog-to-Digital Converter) để đo lường các tín hiệu analog  Bộ chuyển đổi DAC (Digital-to-Analog Converter) để tạo ra các tín hiệu analog 6 Liên kết truy cập và Tính năng an ninh:  Bảo vệ bộ nhớ với các tính năng như bảo vệ khu vực bộ nhớ, cổng code và cổng dữ liệu  Các chức năng an ninh như bảo vệ truy cập và mã hóa 7 Nguồn điện và Tiết kiệm năng lượng:  Hỗ trợ nhiều nguồn cung cấp điện từ 2V đến 3.6V  Chế độ tiết kiệm năng lượng để giảm tiêu thụ năng lượng khi không hoạt động - LCD gắn I2C 6 Cấu tạo của LCD gắn I2C: 1 Màn hình LCD:  Hiển thị thông tin dưới dạng văn bản hoặc đồ họa 2 Bộ điều khiển LCD:  Quản lý dữ liệu được hiển thị trên màn hình  Điều khiển các đơn vị điều khiển như thanh trượt hoặc các ký tự đặc biệt 3 Bộ chuyển đổi I2C (I2C Converter):  Chuyển đổi tín hiệu điều khiển và dữ liệu từ giao diện I2C sang các tín hiệu mà màn hình LCD có thể hiểu được 4 Giao diện I2C:  Cung cấp chân dữ liệu (SDA - Serial Data) và chân xác định thời gian (SCL - Serial Clock) cho việc truyền thông I2C Nguyên lý hoạt động: 1 Giao tiếp thông qua I2C:  LCD gắn I2C có thể kết nối với vi điều khiển hoặc bất kỳ thiết bị khác hỗ trợ giao thức I2C  I2C giúp giảm số lượng chân kết nối, giúp tiện ích trong việc tích hợp vào các hệ thống nhúng và điều khiển 2 Điều khiển bằng lệnh:  Bạn có thể điều khiển LCD bằng cách gửi lệnh thông qua giao diện I2C  Các lệnh này có thể bao gồm việc di chuyển con trỏ, xóa màn hình, hiển thị ký tự, và các chức năng khác 3 Hiển thị văn bản và đồ họa:  LCD có khả năng hiển thị văn bản, con số, và đôi khi đồ họa đơn giản  Dữ liệu được truyền thông qua giao diện I2C để cập nhật nội dung hiển thị 4 Đa nhiệm:  LCD gắn I2C thường hỗ trợ đa nhiệm, có thể hiển thị nhiều thông điệp cùng một lúc 5 Quản lý ký tự và thanh trượt:  Một số LCD gắn I2C có khả năng quản lý các ký tự đặc biệt và thanh trượt để hiển thị dữ liệu theo cách tương tác 7 Lập trình và Sử dụng: 1 Thư viện và API:  Các nhà sản xuất thường cung cấp thư viện và API để tương tác với LCD gắn I2C  Cần sử dụng các hàm và lệnh cụ thể để gửi dữ liệu và lệnh đến LCD thông qua giao diện I2C 2 Địa chỉ I2C:  Mỗi LCD gắn I2C sẽ có một địa chỉ I2C duy nhất Bạn cần xác định địa chỉ này để có thể gửi dữ liệu đến LCD 3 Gửi lệnh và dữ liệu:  Sử dụng các hàm được cung cấp để gửi lệnh và dữ liệu thông qua giao diện I2C  Lệnh được sử dụng để kiểm soát LCD, còn dữ liệu là nội dung bạn muốn hiển thị 4 Thiết lập và cấu hình:  Trước khi sử dụng, bạn cần thiết lập và cấu hình LCD theo yêu cầu cụ thể của mình, ví dụ như kích thước màn hình, số hàng và cột, v.v 5 Hiển thị thông tin:  Gửi dữ liệu và lệnh để hiển thị thông tin mong muốn lên LCD - Nút nhấn (Button) Nút nhấn là một loại công tắc đơn giản điều khiển hoạt động của máy hoặc một số loại quá trình Hầu hết, các nút nhấn là nhựa hoặc kim loại Hình dạng của nút ấn có thể phù hợp với ngón tay hoặc bàn tay để sử dụng dễ dàng Tất cả phụ thuộc vào thiết kế cá nhân Nút ấn có 2 loại chính là nút nhấn thường mở hoặc nút nhấn thường đóng 8 Nguyên lý hoạt động Nút nhấn có ba phần: Bộ truyền động, các tiếp điểm cố định và các rãnh Bộ truyền động sẽ đi qua toàn bộ công tắc và vào một xy lanh mỏng ở phía dưới Bên trong là một tiếp điểm động và lò xo Khi nhấn nút, nó chạm vào các tiếp điểm tĩnh làm thay đổi trạng thái của tiếp điểm Trong một số trường hợp, người dùng cần giữ nút hoặc nhấn liên tục để thiết bị hoạt động Với các nút nhấn được sử dụng trong bài này chúng ta sử dụng loại nút nhấn có chốt sẽ giữ nút bật cho đến khi người dùng nhấn nút lần nữa - Còi báo TMB12A03 Cấu tạo của Còi báo TMB12A03: 1 Điện áp hoạt động:  TMB12A03 thường hoạt động ở điện áp cung cấp cụ thể (ví dụ: 12V) 2 Chân kết nối:  Chân dương (+): Kết nối với nguồn điện dương  Chân âm (-): Kết nối với nguồn điện âm 3 Nguyên lý hoạt động: 9  Còi báo TMB12A03 hoạt động bằng cách tạo ra âm thanh cảnh báo khi được kích thích bởi điện áp đầu vào Kết nối với STM32F103C8T6: 1 Nguồn điện:  Kết nối chân dương của còi báo TMB12A03 với nguồn 3V  Kết nối chân âm của còi báo TMB12A03 với nguồn đất (GND) 2 Kết nối với STM32F103C8T6:  Chọn một chân GPIO trên STM32F103C8T6 để kết nối với chân dương của còi báo  Kết nối chân âm của còi báo với một chân GND trên STM32F103C8T6 - Pin CR2032 -Pin CR2032 là một loại pin lithium-ion có kích thước 20mm x 3.2mm (do đó được gọi là CR2032) Đây là loại pin nút (button cell) thường được sử dụng trong các ứng dụng như đồng hồ, bảng mạch, và thiết bị nhỏ Pin CR2032 không phải là một thiết bị có thể lập trình trực tiếp, nhưng nó có thể được sử dụng trong các ứng dụng lập trình STM32F103C8T6 để cung cấp nguồn điện cho chip Cấu Tạo của Pin CR2032: 1 Ấn Nút:  Một số loại pin CR2032 có một nút ấn ở giữa Nút này thường được sử dụng để kích hoạt mạch khi pin được lắp đặt 2 Nút Kết Nối:  Nút kết nối pin dương và pin âm với mạch điện trong trường hợp pin nút có nút ấn 3 Vỏ Bọc: 10  Pin CR2032 thường được đặt trong một vỏ bọc kim loại để bảo vệ và cách ly 4 Hóa Chất Lithium-Ion:  Năng lượng của pin CR2032 thường dựa trên hóa chất lithium-ion, giúp cung cấp điện năng ổn định trong thời gian dài Nguyên Lý Hoạt Động: 1 Tạo Điện Áp:  Trong quá trình phản ứng hóa học, điện áp được tạo ra giữa hai điện cực, cung cấp nguồn điện 2 Cung Cấp Nguồn Điện cho Thiết Bị:  Khi pin CR2032 được kết nối với một mạch điện, nó cung cấp điện áp để làm hoạt động thiết bị Sử Dụng trong Lập Trình STM32F103C8T6: -Pin CR2032 thường được sử dụng như một nguồn điện dự phòng hoặc duy trì thời gian thực (RTC) trong các ứng dụng STM32F103C8T6 STM32F103C8T6 có thể có một module RTC tích hợp, và pin CR2032 có thể được kết nối với nó để giữ lại thời gian thực và ngày tháng khi nguồn điện chính không khả dụng Phần II Những thành phần quan trọng trong bộ hẹn giờ 1 RTC (Real-Time Clock): - Là một thành phần trong vi điều khiển, RTC là một đồng hồ thời gian thực được sử dụng để theo dõi và duy trì thời gian thực Nó thường được sử dụng trong các ứng dụng yêu cầu đồng hồ chính xác, như đồng hồ đeo tay, bộ đàm, hệ thống đo thời gian, vv 2 I2C (Inter-Integrated Circuit): - Là một giao thức truyền thông, I2C cho phép các thiết bị kết nối với nhau thông qua hai dây dữ liệu (SDA và SCL) Nó được sử dụng để giao tiếp giữa vi điều khiển và các thiết bị ngoại vi như cảm biến, bộ nhớ EEPROM, và các vi điều khiển khác 3 NVIC (Nested Vectored Interrupt Controller): - Là một thành phần của vi điều khiển, NVIC quản lý các ngắt (interrupts) và xác định ưu tiên giữa chúng Ngắt là cơ chế cho phép hệ thống phản ứng nhanh chóng và xử lý các sự kiện bất thường hoặc quan trọng nhưng không dự định Ngắt (Interrupt): - Là một cơ chế cho phép vi điều khiển phản ứng tức thì và chuyển đổi từ thực hiện một tác vụ sang thực hiện một tác vụ khác khi có sự kiện xảy ra Trong ngữ cảnh của RTC, ngắt có thể được sử dụng để xử lý các sự kiện thời gian như báo thức hoặc cập nhật thời gian 11 - Ngắt (interrupt) trong lập trình vi điều khiển đồng hồ hẹn giờ (RTC - Real- Time Clock) có tác dụng quan trọng để xử lý sự kiện theo thời gian thực và thực hiện các công việc liên quan đến đồng hồ - Dưới đây là một số tác dụng chính của ngắt trong lập trình RTC: 1 Cập nhật thời gian thực: Khi đồng hồ RTC cần cập nhật giá trị thời gian, một ngắt có thể được kích hoạt để thông báo về sự kiện này Trong hàm ngắt, bạn có thể thực hiện các công việc như đọc giá trị thời gian mới từ RTC, cập nhật các biến hoặc cấu trúc dữ liệu liên quan 2 Thông báo báo thức (Alarm):  RTC thường có chức năng hẹn giờ hoặc báo thức để thông báo về một thời điểm cụ thể Khi thời gian đến, một ngắt được kích hoạt, cho phép bạn thực hiện các hành động liên quan đến sự kiện báo thức 3 Tiêu thụ năng lượng thấp:  Ngắt có thể được sử dụng để tối ưu hóa tiêu thụ năng lượng Thay vì kiểm tra liên tục giá trị thời gian, việc sử dụng ngắt giúp hệ thống "tự thức tỉnh" chỉ khi cần thiết, giảm tiêu thụ năng lượng tổng cộng 4 Giao tiếp với các chức năng khác:  Ngắt cũng có thể được sử dụng để giao tiếp với các chức năng khác của vi điều khiển Chẳng hạn, bạn có thể sử dụng ngắt để kích hoạt các chức năng khác như ghi dữ liệu vào bộ nhớ, hiển thị thông tin trên màn hình, hoặc thực hiện các tác vụ khác liên quan đến thời gian thực Phần III Nguyên tắc hoạt động - Các chân Port B0,B1,B6,B7,B10,B11,C13,VBT ngoài ra có chân 5V và chân GND + Chân 5V ,GND, B6,B7 dùng để kết nối với I2C(I2C được gắn cùng LCD): Dùng để truyền dữ liệu đến LCD , hiển thị thời gian ra màn hình +Chân B11,B10,B0,B1 dùng để nối với các button, thiết lập các chế độ hiển thị, thiết lập thời gian thực , cài đặt báo thức + Các chân còn lại dùng để cấp nguồn cho còi -Khi đến thời gian báo thức được thiết lập còi sẽ kêu -Khi qua 1s đồng hồ hiển thị thời gian thực sẽ cộng thêm 1 đơn vị, khi đạt đến 23:59:59 màn hình sẽ reset về 00:00:00 Phần IV Lưu đồ thuật toán từng chế độ hiển thị LCD và chạy mạch thực tế 1 Lưu đồ thuật toán Show mode 12 Hiển thị Alarm Status và Alarm Time 13 Hiển thị Time và Alarm 14 15 Báo thức 16 Chỉnh thời gian Tăng giảm Time 17 Chế độ Setting 18 2 Mạch thực tế Alm Status : thiệt lập chế độ hẹn giờ +Alm Status : ON chế độ hẹn giờ + Alm Status : OFF tắt chế độ hẹn giờ Alm Time : thời gian còi báo thức kêu 19 Time : hiển thị thời gian thực Alarm : hiển thị thời gian hẹn giờ 20

Ngày đăng: 28/03/2024, 04:36

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan