Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
1,51 MB
Nội dung
ĐỒ ÁN HỆ THỐNG NHÚNG Nhóm Thành Viên 01 Nguyễn Thái Hoàng-B18DCDT085 02 Nguyễn Mạc Thành-B18DCDT233 03 Lâm Ngọc Đại-B18DCDT036 04 Phạm Đức Hiếu-B18DCDT076 ĐỀ TÀI Thiết kế ổ khóa đóng mở cửa key pad , Đọc thời gian thực RTC thị lên LCD PASSWORD SƠ ĐỒ KHỐI Hiện thị ngày lên LCD Keypad 4x4 Mở cửa pass Vi điều khiển SM32 Hiển thị LCD,PASS Linh kiện ● ● ● ● ● STM32F103C8T6 Module I2C Keypad 4x4 Màn hình LCD Module RTC (Có sẵn STM32) 01 Hệ điều hành FreeRTOS FREERTOS Là hệ điều hành nhúng thời gian thực (Real Time Operating System) mã nguồn mở phát triển Real Time Engineers Ltd, sáng lập sở hữu Richard Barry FreeRTOS thiết kế phù hợp cho nhiều hệ nhúng nhỏ gọn triển khai chức như: chế quản lý nhớ tác vụ bản, hàm API quan trọng cho chế đồng Nó không cung cấp sẵn giao tiếp mạng, drivers, hay hệ thống quản lý tệp (file system) hệ điều hành nhúng cao cấp khác Tuy vậy, FreeRTOS có nhiều ưu điểm, hỗ trợ nhiều kiến trúc vi điều khiển khác nhau, kích thước nhỏ gọn (4.3 Kbytes sau biên dịch Arduino), viết ngôn ngữ C sử dụng, phát triển với nhiều trình biên dịch C khác (GCC, OpenWatcom, Keil, IAR, Eclipse, …), cho phép không giới hạn tác vụ chạy đồng thời, không hạn chế quyền ưu tiên thực thi, khả khai thác phần cứng Ngồi ra, cho phép triển khai chế điều độ tiến trình như: queues, counting semaphore, mutexes.(Theo Wiki Media) FREERTOS RTOS thường phân đoạn chương trình Tại có nhiệm vụ giải điều phối tác vụ (task), lập lịch phân mức ưu tiên cho chúng Việc thực chế Hướng kiện (Event-driven) Chia sẻ thời gian (Time-sharing) Cơ chế Hướng kiện điều hướng tác vụ dựa mức độ ưu tiên Chia sẻ thời gian làm nhiệm vụ chuyển đổi tác vụ RTOS kèm theo thuật Pre-emptive scheduling (Đặt lịch trước) 02 Lập Trình Lập trình KeyPad Ma trận phím tập hợp nút nhấn kết nối với theo hàng cột Số nút nhấn tương ứng tích số hàng nhân số cột Để điều khiển 16 nút nhấn, thông thường phải sử dụng 16 GPIO sử dụng ma trận phím cần sử dụng GPIO Các nút nhấn nối hàng cột với Khi nhần nút dây Hàng (Row) nối với dây Cột (Colum hay Col) Các nút nhấn tương ứng có vị trí nối hàng với cột khác 10 Lập trình KeyPad Đầu tiên kéo chân kết nối với hàng xuống mức thấp, chân cột lên mức cao Khi có phím nhấn bắt đầu tìm vị trí phím Lần lượt xét trường hợp sau: hàng A hàng B, C, D suy đọc tín hiệu vào cột (1,2,3), có cột kéo xuống mức thấp thực lệnh tương ứng xuất vị trí phím Nếu khơng có phím nhấn tiếp tục cho hàng (các hàng lại 1) đến tìm vị trí phím nhấn 11 Lập trình LCD module I2C -Giới thiệu I2C I2C sử dụng đường truyền tín hiệu: ➢ SCL - Serial Clock Line : Tạo xung nhịp đồng hồ Master phát ➢ SDA – Serial Data Line : Đường truyền nhận liệu 12 Lập trình LCD module I2C -Quá trình truyền liệu đến thiết bị I2C Bước 1: Master gửi tín hiệu start I2C Bước 2: Master gửi địa thiết bị I2C (7 bit) kèm bit Write (bit 0); Bước 3: Master gửi địa ghi liệu Slave muốn ghi giá trị Bước 4: Master gửi giá trị mà muốn ghi vào thành ghi bước Bước 5: Master tạo tín hiệu stop 13 Lập trình LCD module I2C -Quá trình nhận liệu đến thiết bị I2C Bước 1: Master gửi tín hiệu start I2C Bước 2: Master gửi địa thiết bị I2C (7 bit) kèm bit Write (bit 0) Bước 3: Master gửi đia ghi Slave mà muốn đọc liệu Bước 4: Master gửi tín hiệu Repeated Start Bước 5: Master gửi địa thiết bị I2C (7 bit) kèm bit Read (bit 1) Bước 6: Master đọc liệu chứa ghi bước từ Slave gửi Bước 7: Master tạo tín hiệu Stop 14 Lập trình LCD module I2C -Quá trình giao tiếp module LCD I2C PCF8574 Vận dụng lập trình sử dụng STM32F103C8T6 thực trình I2C ghi liệu Bước 1: Gửi tín hiệu Start Bước 2: Gửi địa thiết bị I2C: PCF8574 Bước 3: Master truyền liệu tới Slave Bước 4: Tạo tín hiệu Stop 15 Cấu hình RTC STM32 Đầu tiên, chương trình gọi chương trình cấu hình(GPIO, UART, NVIC) để chúng hoạt động Tiếp đến kiểm tra ghi có backup data hay chưa cách đọc data ghi DR1 so sánh chúng với 0xA5A5 • Nếu chưa có thơng báo chưa cấu hình, gọi chương trình cấu hình, chương trình set thời gian, ghi data 0xA5A5 vào ghi DR1 để sau reset cịn kiểm tra • Nếu cấu hình kiểm tra nguyên nhân Reset đưa nguyên nhân nguồn bị tắt nhấn nút reset Trong vịng lặp while : cờ báo có ngắt 1s xảy đọc ghi thời gian in lên máy tính thơng qua UART, xóa cờ ngắt báo 1s Chương trình thực thi ngắt 1s đặt file stm3210x_it.c 16 THANKS! Cảm ơn thầy bạn lắng nghe CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik ... Hệ điều hành FreeRTOS FREERTOS Là hệ điều hành nhúng thời gian thực (Real Time Operating System) mã nguồn mở phát triển Real Time Engineers Ltd, sáng lập sở hữu Richard Barry FreeRTOS thiết kế. .. nhiều hệ nhúng nhỏ gọn triển khai chức như: chế quản lý nhớ tác vụ bản, hàm API quan trọng cho chế đồng Nó khơng cung cấp sẵn giao tiếp mạng, drivers, hay hệ thống quản lý tệp (file system) hệ điều... Ngọc Đại-B18DCDT036 04 Phạm Đức Hiếu-B18DCDT076 ĐỀ TÀI Thiết kế ổ khóa đóng mở cửa key pad , Đọc thời gian thực RTC thị lên LCD PASSWORD SƠ ĐỒ KHỐI Hiện thị ngày lên LCD Keypad 4x4 Mở cửa pass