Professional Documents
Culture Documents
ĐỀ TÀI: XÂY DỰNG THƯ VIỆN GIAO TIẾP MÀN HÌNH LCD
1
2
MỤC LỤC
LỜI MỞ ĐẦU ........................................................................................................................................... 1
CHƯƠNG I. TỔNG QUAN VỀ ĐỀ TÀI....................................................................................................... 3
1.1 Mục tiêu đề tài .............................................................................................................................. 3
1.2 Cơ sở thực hiện đề tài ................................................................................................................... 3
1.3 Tài nguyên, kiến thức sử dụng trong đề tài .................................................................................. 4
CHƯƠNG II. BỘ KIT STM32 (NUCLEO-F401RE) ...................................................................................... 5
CHƯƠNG III. NGOẠI VI SPI ..................................................................................................................... 7
3.1. Tổng quan về ngoại vi SPI ............................................................................................................ 7
3.2. Tổng quan về cách thức hoạt động của SPI ................................................................................. 7
3.3. Ưu và nhược điểm của SPI ........................................................................................................... 8
CHƯƠNG IV. DỰ ÁN ............................................................................................................................... 9
4.1 Tiến hành xây dựng dự án ............................................................................................................ 9
4.2 Kết quả dự án .............................................................................................................................. 10
4.3. Code ........................................................................................................................................... 11
KẾT LUẬN .............................................................................................................................................. 12
TÀI LIỆU THAM KHẢO ........................................................................................................................... 13
3
LỜI MỞ ĐẦU
Màn hình LCD (Liquid Crystal Display) đã trở thành một phần quan trọng không
thể thiếu trong cuộc sống hàng ngày của chúng ta. Chúng xuất hiện trên các thiết bị
điện tử, từ điện thoại di động, máy tính xách tay, đến đồ điện gia dụng và thiết bị y tế.
Tính linh hoạt và khả năng hiển thị hình ảnh và văn bản một cách rõ ràng của màn hình
LCD đã làm cho chúng trở thành công cụ quan trọng cho việc hiển thị thông tin và
tương tác người-máy.
Trong bối cảnh này, việc xây dựng một thư viện giao tiếp màn hình LCD đáng
tin cậy và hiệu quả là một nhiệm vụ quan trọng trong lĩnh vực kỹ thuật điện tử và lập
trình nhúng. Thư viện này không chỉ giúp giảm bớt thời gian và công sức khi phát triển
các ứng dụng sử dụng màn hình LCD, mà còn đóng góp vào việc tối ưu hóa tài nguyên
và nâng cao hiệu suất của các thiết bị điện tử.
Báo cáo này sẽ trình bày tổng quan đề tài, phát triển, và thử nghiệm thư viện
giao tiếp màn hình LCD, và tìm hiểu về ngoại vi SPI, cùng với các giải pháp được áp
dụng để tạo ra một sản phẩm hoàn thiện. Chúng tôi sẽ trình bày về kiến thức cơ bản
về LCD, các giao thức giao tiếp, cũng như các công cụ và tài liệu tham khảo đã sử dụng
trong quá trình nghiên cứu.
Chúng tôi hy vọng rằng báo cáo này sẽ cung cấp cho độc giả cái nhìn rõ hơn về
quá trình xây dựng thư viện giao tiếp màn hình LCD và đóng góp vào sự hiểu biết về
vai trò quan trọng của công nghệ này trong thế giới hiện đại.
1
2
CHƯƠNG I. TỔNG QUAN VỀ ĐỀ TÀI
Lập trình tạo ra một thư viện giao tiếp với LCD và thay đổi được font chữ (30
font chữ) và vẽ hình mặc định lên màn hình. Thông qua dự án, học được cách lập trình
trên vi điều khiển, cụ thể là STM32, và các ứng dụng của nó.
3
1.3 Tài nguyên, kiến thức sử dụng trong đề tài
- Sử dụng môi trường phát triển phần mềm (IDE) thích hợp là STM32CubeIDE để
viết mã điều khiển cho STM32.
- KIT STM32F401RE – NUCLEO
- Thư viện SDK (SDK_1.0.3_NUCLEO-F401RE)
4
CHƯƠNG II. BỘ KIT STM32 (NUCLEO-F401RE)
Bộ kit STM32 NUCLEO-F401RE là một trong những sản phẩm phổ biến trong
dòng sản phẩm NUCLEO của STMicroelectronics. Bộ kit này được thiết kế để giúp bạn
dễ dàng phát triển ứng dụng nhúng sử dụng các vi điều khiển STM32, đặc biệt là vi
điều khiển dòng F4.
Dưới đây là một số thông tin tổng quan về bộ kit STM32 NUCLEO-F401RE:
1. Vi điều khiển STM32F401RE: Bộ kit này đi kèm với một vi điều khiển STM32F401RE,
thuộc dòng F4 của STM32. Vi điều khiển này có lõi ARM Cortex-M4, tốc độ xử lý cao
và nhiều tính năng mạnh mẽ.
2. Chức năng nạp và giao tiếp: NUCLEO-F401RE có một giao diện ST-LINK/V2-1 tích
hợp, cho phép bạn nạp chương trình và giao tiếp với vi điều khiển thông qua USB. Bạn
cũng có thể sử dụng các chân giao tiếp ngoại vi như UART, SPI, I2C để kết nối với các
thiết bị ngoại vi khác.
3. Thiết kế hệ thống: Bộ kit này có một nút nhấn và một LED tích hợp để giúp bạn kiểm
tra và điều khiển các chức năng cơ bản của vi điều khiển. Bạn cũng có thể mở rộng các
tính năng bằng cách sử dụng các chân ngoại vi và gắn thêm các module mở rộng thông
qua giao tiếp GPIO.
4. Hỗ trợ cho môi trường phát triển: STMicroelectronics cung cấp hỗ trợ phần mềm
bằng cách sử dụng môi trường phát triển tích hợp (IDE) như STM32CubeIDE hoặc các
IDE phổ biến khác như Keil hoặc IAR. Bạn có thể viết mã ứng dụng bằng các ngôn ngữ
lập trình như C/C++ và sử dụng các thư viện HAL (Hardware Abstraction Layer) để truy
cập các tính năng của vi điều khiển.
5. Hỗ trợ cho các giao tiếp và tính năng nâng cao: NUCLEO-F401RE hỗ trợ nhiều giao
tiếp như UART, SPI, I2C, GPIO, và còn nhiều tính năng nâng cao khác như PWM, DMA,
và các tính năng bảo mật.
5
Bộ kit STM32 NUCLEO-F401RE rất phù hợp để bạn bắt đầu phát triển các ứng dụng
nhúng, học tập và thử nghiệm các tính năng của vi điều khiển STM32. Điều này giúp
bạn có cơ hội thực hành và tìm hiểu về công nghệ nhúng và phát triển sản phẩm dựa
trên vi điều khiển STM32.
6
CHƯƠNG III. NGOẠI VI SPI
SPI là một giao thức truyền thông tốc độ cao, có tốc độ đạt tới hàng trăm
megabit mỗi giây. SPI thường được sử dụng để kết nối các thiết bị ngoại vi như màn
hình LCD, cảm biến, flash bộ nhớ,...
Thiết bị ngoại vi có thể gửi dữ liệu ngược lại vi điều khiển bằng cách bật tín hiệu SS.
7
Chế độ 0: Dữ liệu được truyền từ vi điều khiển sang thiết bị ngoại vi trên đường MOSI
trong chu kỳ đồng hồ đầu tiên và từ thiết bị ngoại vi sang vi điều khiển trên đường
MISO trong chu kỳ đồng hồ thứ hai.
Chế độ 1: Dữ liệu được truyền từ vi điều khiển sang thiết bị ngoại vi trên đường MOSI
trong chu kỳ đồng hồ thứ nhất và từ thiết bị ngoại vi sang vi điều khiển trên đường
MISO trong chu kỳ đồng hồ đầu tiên.
Chế độ 2: Dữ liệu được truyền từ vi điều khiển sang thiết bị ngoại vi trên đường MOSI
trong chu kỳ đồng hồ chẵn và từ thiết bị ngoại vi sang vi điều khiển trên đường MISO
trong chu kỳ đồng hồ lẻ.
Chế độ 3: Dữ liệu được truyền từ vi điều khiển sang thiết bị ngoại vi trên đường MOSI
trong chu kỳ đồng hồ lẻ và từ thiết bị ngoại vi sang vi điều khiển trên đường MISO
trong chu kỳ đồng hồ chẵn.
8
CHƯƠNG IV. DỰ ÁN
- Bước 2: Tạo một project và thêm các đường dẫn đến thư mục cần thiết trong thư
viện SDK_1.0.3_NUCLEO-F401RE như các bài Lab đã thực hành.
- Bước 3: Thêm các thư viện cần thiết về ngoại vi GPIO, SPI, TIMER vào project.
- Bước 4: Xây dựng các hàm khởi tạo ngoại vi GPIO, SPI và TIMER của vi điều khiển
STM32F401.
- Bước 5: Khai báo và định nghĩa kiểu dữ liệu và biến toàn cục
Một số loại dữ liệu được định nghĩa để mô tả trạng thái và sự kiện của ứng
dụng.
Các biến toàn cục được khai báo để lưu trữ trạng thái thông tin, thời gian, sự
kiện và các thông tin khác cần thiết cho ứng dụng.
Một mảng chứa các font được định nghĩa bằng cách sử dụng Ucglib.
Cài đặt hệ thống và các thành phần cơ bản cho ứng dụng, bao gồm đồng bộ hệ
thống, bộ hẹn giờ, quản lý sự kiện và các cài đặt ban đầu khác.
Thiết lập môi trường cho màn hình hiển thị và font ban đầu
9
Quản lý trạng thái của ứng dụng và xử lý các sự kiện tương ứng với trạng thái
đó
Hàm này được gọi định kỳ để cập nhật nội dung trên màn hình.
Nó cập nhật thông tin về font chữ hiện tại
Hàm chính của chương trình, nơi chạy vòng lặp chính.
Nó quản lý việc xử lý sự kiện và cập nhật màn hình.
Hàm này cài đặt ban đầu cho màn hình hiển thị, bao gồm vẽ hình ảnh của ngôi
nhà và xe tải
10
4.3. Code
Dự án
11
KẾT LUẬN
Trong báo cáo này, chúng ta đã tìm hiểu về quá trình xây dựng thư viện giao
tiếp màn hình LCD, một phần quan trọng trong việc điều khiển và hiển thị thông tin
trên các màn hình LCD trong các ứng dụng như điều khiển máy tính, thiết bị IoT, và
nhiều lĩnh vực công nghiệp khác.
Chúng ta đã tìm hiểu vào các khía cạnh quan trọng của việc xây dựng thư viện
giao tiếp màn hình LCD, bao gồm việc hiểu cách hoạt động của STM32, cách thức giao
tiếp như SPI cũng như việc lập trình các chức năng cơ bản để điều khiển hiển thị trên
màn hình LCD.
Nhóm chúng em đã cố gắng vận dụng những kiến thức được học trên trường,
trên công ty cũng như các tài liệu tham khảo bên ngoài để hoàn thành đề tài này. Sản
phẩm đã chạy và đã có những thành công bước đầu.Tuy nhiên, do vốn kiến thức và
kinh nghiệm hạn chế nên không tránh khỏi những thiếu sót.
Chúng em xin chân thành cảm ơn Công ty Cổ Phần Lumi Việt Nam, quý thầy cô
và các anh chị đã hướng dẫn chúng em làm đề tài này trong suốt thời gian vừa qua.
Chúng em rất hi vọng được lắng nghe những góp ý từ công ty, thầy cô, các anh chị và
các bạn để hoàn thiện hơn.
12
TÀI LIỆU THAM KHẢO
[2] Các nguồn tài liệu của công ty CP Lumi Việt Nam.
13