Đồ án thiết kế đồng hồ thời gian thực LED ma trận - ĐH Công nghệ GTVT

Hướng dẫn thiết kế đồng hồ thời gian thực led ma trận chạy chữ bằng vi điều khiển. Tổng hợp sơ đồ nguyên lý mạch, code lập trình và báo cáo đồ án chi tiết.

Trường đại học

Đại học Công nghệ Giao thông Vận tải

Chuyên ngành

Cơ điện tử

Người đăng

Ẩn danh

Thể loại

Đồ án vi điều khiển

2024

63
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về đồng hồ LED ma trận chạy chữ

Đồng hồ LED ma trận chạy chữ là dự án vi điều khiển kết hợp giữa hiển thị thời gian thực và chức năng chạy chữ động. Hệ thống này sử dụng vi điều khiển AVR làm trung tâm xử lý, kết hợp với màn hình LED ma trận 8x8 để hiển thị thông tin. IC DS1307 đảm bảo đồng bộ thời gian chính xác, trong khi giao diện người dùng được điều khiển qua các nút nhấn. Thiết bị này đáp ứng nhu cầu hiển thị thông tin thời gian và thông báo động trong môi trường công nghiệp hoặc giáo dục. Đặc biệt, thiết kế này tối ưu hóa sử dụng nguồn điện và dễ dàng mở rộng chức năng.

1.1. Các thành phần cơ bản của hệ thống

Hệ thống bao gồm vi điều khiển AVR (ATMEGA16), màn hình LED ma trận 8x8, IC DS1307 và các thành phần ngoại vi như nút điều khiển và thạch anh 32.768kHz. Vi điều khiển xử lý logic và giao tiếp với các thành phần qua giao diện I2C và GPIO. Màn hình LED ma trận chuyển đổi dữ liệu thành hình ảnh thời gian hoặc chữ chạy. IC DS1307 cung cấp thời gian thực và lưu trữ dữ liệu ngay cả khi mất điện. Các nút điều khiển cho phép người dùng tương tác để cài đặt hoặc thay đổi chế độ hiển thị.

1.2. Ứng dụng thực tế của thiết bị

Đồng hồ LED ma trận chạy chữ có thể ứng dụng trong các môi trường như phòng thí nghiệm, nhà xưởng hoặc hệ thống tự động hóa. Thiết bị này hiển thị thời gian thực và thông báo chạy chữ để cảnh báo hoặc thông báo nhanh chóng. Ví dụ, trong phòng thí nghiệm, nó có thể hiển thị thời gian thí nghiệm còn lại hoặc thông báo kết quả. Trong nhà xưởng, thiết bị này có thể cảnh báo về tình trạng nhiệt độ hoặc thời gian hoạt động của máy móc. Thiết kế đơn giản và hiệu quả giúp tiết kiệm chi phí và dễ dàng triển khai.

II. Phân tích vấn đề trong thiết kế đồng hồ LED

Thiết kế đồng hồ LED ma trận chạy chữ gặp một số thách thức chính như đồng bộ thời gian chính xác và quản lý hiệu suất hiển thị. IC DS1307 cung cấp thời gian thực nhưng yêu cầu nguồn điện ổn định và thạch anh chính xác. Hiển thị chữ chạy đòi hỏi xử lý nhanh và quản lý bộ nhớ hiệu quả để tránh lag. Ngoài ra, giao diện người dùng cần thiết kế rõ ràng để người dùng dễ dàng tương tác. Vấn đề bảo mật dữ liệu cũng cần được xem xét khi lưu trữ thời gian trong IC. Giải pháp tối ưu hóa sử dụng bộ nhớ và logic xử lý là cần thiết để đảm bảo hệ thống hoạt động suôn sẻ.

2.1. Thách thức về đồng bộ thời gian

Đồng bộ thời gian chính xác là yếu tố quan trọng nhất trong thiết kế. IC DS1307 yêu cầu nguồn điện ổn định và thạch anh 32.768kHz để tránh sai lệch thời gian. Nếu nguồn điện không ổn định, IC có thể mất dữ liệu hoặc sai lệch. Ngoài ra, việc cập nhật thời gian từ nguồn bên ngoài cũng cần được xem xét để đảm bảo chính xác. Giải pháp là sử dụng bộ ổn áp và thạch anh chất lượng cao. Ngoài ra, việc kiểm tra và cập nhật thời gian định kỳ cũng giúp duy trì độ chính xác.

2.2. Quản lý hiệu suất hiển thị chữ chạy

Hiển thị chữ chạy đòi hỏi xử lý nhanh và quản lý bộ nhớ hiệu quả. Vi điều khiển AVR cần xử lý dữ liệu LED ma trận với tốc độ cao để tránh hiện tượng lag. Bộ nhớ RAM được sử dụng để lưu trữ các ký tự và logic chuyển đổi. Giải pháp tối ưu hóa là sử dụng thuật toán hiển thị hiệu quả và giảm thiểu thời gian refresh màn hình. Ngoài ra, việc chọn lựa màn hình LED ma trận với tốc độ phản hồi cao cũng giúp cải thiện trải nghiệm người dùng.

III. Giải pháp thiết kế và phương pháp triển khai

Giải pháp thiết kế đồng hồ LED ma trận chạy chữ tập trung vào sử dụng vi điều khiển AVR và IC DS1307 để đảm bảo đồng bộ thời gian. Màn hình LED ma trận được điều khiển qua giao diện GPIO và logic hiển thị được viết bằng ngôn ngữ C trong môi trường CodeVisionAVR. Thiết kế mạch điện bao gồm nguồn 5V ổn định, bộ ổn áp và các thành phần ngoại vi như nút điều khiển và thạch anh. Phần mềm được viết để xử lý logic hiển thị thời gian và chữ chạy, đồng thời quản lý các nút điều khiển để cài đặt chế độ hoạt động. Kết quả là hệ thống hoạt động ổn định và hiệu quả.

3.1. Kiến trúc phần mềm và logic điều khiển

Phần mềm được viết bằng ngôn ngữ C trong CodeVisionAVR, sử dụng thư viện giao tiếp I2C để kết nối với IC DS1307. Logic hiển thị thời gian và chữ chạy được triển khai bằng cách chia nhỏ dữ liệu và gửi đến màn hình LED ma trận. Các nút điều khiển được xử lý qua interrupt để đảm bảo phản ứng nhanh chóng. Thư viện hỗ trợ hiển thị ký tự và quản lý bộ nhớ giúp tối ưu hóa hiệu suất. Kết quả là hệ thống phản ứng nhanh và hiệu quả trong việc hiển thị thông tin.

3.2. Thiết kế mạch điện và nguồn ổn định

Mạch điện bao gồm nguồn 5V ổn định từ bộ ổn áp LM7805 và các thành phần ngoại vi như thạch anh 32.768kHz và IC DS1307. Màn hình LED ma trận được kết nối qua các chân GPIO của vi điều khiển. Để đảm bảo ổn định, nguồn điện được lọc qua các tụ điện và bộ ổn áp. Thiết kế mạch 2D và 3D được vẽ bằng phần mềm Altium Designer để đảm bảo tính chính xác và dễ dàng sản xuất. Kết quả là mạch hoạt động ổn định và hiệu quả trong mọi điều kiện sử dụng.

IV. Kết luận và ứng dụng thực tế

Dự án đồng hồ LED ma trận chạy chữ thành công triển khai với việc sử dụng vi điều khiển AVR và IC DS1307. Hệ thống hiển thị thời gian thực và chữ chạy một cách chính xác và hiệu quả. Ứng dụng thực tế bao gồm các môi trường như phòng thí nghiệm, nhà xưởng hoặc hệ thống tự động hóa. Thiết bị này không chỉ tiết kiệm chi phí mà còn dễ dàng mở rộng chức năng. Kết quả đạt được là hệ thống hoạt động ổn định, đáp ứng nhu cầu hiển thị thông tin thời gian và thông báo nhanh chóng trong môi trường công nghiệp hoặc giáo dục. Đây là cơ sở để phát triển các hệ thống tự động hóa đơn giản và hiệu quả.

4.1. Kết quả đạt được trong dự án

Dự án đạt được các mục tiêu chính như hiển thị thời gian thực, chữ chạy và chức năng cài đặt thông qua nút điều khiển. Hệ thống hoạt động ổn định và hiệu quả trong mọi điều kiện sử dụng. Thời gian đồng bộ chính xác và chữ chạy diễn ra suôn sẻ. Ngoài ra, thiết bị còn có khả năng cảnh báo nhiệt độ và cài đặt thời gian chạy chữ. Kết quả này chứng minh tính hiệu quả của thiết kế và triển khai dự án.

4.2. Hướng phát triển và ứng dụng tương lai

Dự án có thể được phát triển thêm các chức năng như hiển thị thông tin khí tượng hoặc cảnh báo sự cố. Sử dụng màn hình LED ma trận lớn hơn hoặc kết hợp với màn hình cảm ứng sẽ cải thiện trải nghiệm người dùng. Ngoài ra, việc kết nối với mạng IoT sẽ mở rộng khả năng ứng dụng trong hệ thống tự động hóa hiện đại. Đây là cơ sở để phát triển các thiết bị thông minh và hiệu quả trong tương lai.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

15/06/2026
Đồ án vi điều khiển đề tài thiết kế đồng hồ thời gian thực led ma trận chạy chữ

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan về để tài • Chương 2: Cơ sở lý thuyết • Chương 3: Thiết kế và thi công • Chương 4: Đánh giá và kết luận 3. Mục tiêu của đồ án Trong quá trình nghiên cứu và thực hiện đề tài này nhắm giúp người học: - Tăng khả năng tự nghiên cứu cũng như tự học. - Bước đầu tiếp xúc với thực tế. - Vận dụng những kiến thức đã có đồng thời tìm tỏi những kiến thức mới để hiểu sâu sắc hơn trong lĩnh vực này.

Để thiết kế được một hệ thống như đã nêu ở trên thì người nghiên cứu phải nắm vững kiến thức chuyên ngành điện tử, tìm hiêu, nghiên cứu qua sách vở, tài liệu nước ngoài và dạng mạch thực tế để thi công phần cứng. CHƯƠNG 2: SƠ LƯỢC VỀ ATMEGA16 Atmega16 là bộ vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựa trên kiến trúc RISC (Reduced Intruction Set Computer). Vào ra Analog – digital và ngược lại. Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 8 Mhz.

Vi điều khiển này cho phép người thiết kế có thể tối ưu hoá chế độ độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lí Sơ đồ khối PAGE \* MERGEFORMAT 3 Đồ án vi điều khiển Atmega16 có tập lệnh phong phú về số lượng với 32 thanh ghi làm việc đa năng. Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU (Arithmetic Logic Unit), cho phép truy cập 2 thanh ghi độc lập bằng một chu kì xung nhịp. Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC (Complex Intruction Set Computer) thông thường. Khi sử dụng vi điều khiển Atmega16, có rất nhiều phần mềm được dùng để lập trình bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly như AVR studio của Atmel, Trình dịch C như win AVR, CodeVisionAVR C, ICCAVR.

C - CMPPILER của GNU… Trình dịch C đã được nhiều người dụng và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu AVR, đó là trình dịch CodeVisionAVR C. Phần mềm này hỗ trợ nhiều ứng dụng và có nhiều hàm có sẵn nên việc lập trình tốt hơn 1.1 ĐẶC TRƯNG - Được chế tạo theo kiến trúc RISC, hiệu suất cao và điện năng tiêu thụ thấp. Bộ lệnh gồm 131 lệnh, hầu hết đều thực thi chỉ trong một chu kì xung nhịp. Bộ nhân 2 chu kỳ.

32x8 thanh ghi làm việc đa dụng. PAGE \* MERGEFORMAT 3 Đồ án vi điều khiển Hoạt động tĩnh. 16MIPS với thông lượng 16 MHz. 8KB Flash ROM lập trình được ngay trên hệ thống.

+ Giao diện nối tiếp SPI enable lập trình ngay trên hệ thống. + Enable 1000 lần ghi/xoá. Bộ EEPROM 512 byte. 16 K Byte bộ nhớ chương trình in-System Self-programmable Flash.

Chu kỳ Write/Erase : 10,000 Flash/100,000 EEPROM Độ bền dữ liệu 20 năm ở 85°C và 100 năm ở 25°C Bộ nhớ SRAM 512 byte. Bộ biến đổi ADC 8 kênh, 10 bit. 32 ngõ I/O lập trình được. Bộ truyền nối tiếp bất đồng bộ vạn năng UART.

Tốc độ làm việc: 8 MHz đối với Atmega16L, 16MHz đối với Atmega16 tối đa. Tốc độ xử lí lệnh đến 8 MIPS ở 8 MHz nghĩa là 8 triệu lệnh trên giây. Bộ định thời gian thực (RTC) với bộ dao động và chế độ đếm tách biệt 2 bộ Timer 8 bit và 1 bộ Timer 16 bit với chế độ so sánh và chia tần số tách biệt và chế độ bắt mẫu - 4 kênh điều chế độ rộng xung PWM. - Có đến 13 interrupt ngoài và trong.

- Bộ so sánh Analog. - Bộ lập trình Watch dog timer. - 6 chế độ ngủ : Idle, ADC Noise Reduction, Power-save, Power-down, Standby và Extended Standby. - Giao tiếp nối tiếp Master/Slave SPI PAGE \* MERGEFORMAT 3 Đồ án vi điều khiển a b Hình 1.1 a,b cấu trúc Atmega16 - VCC: Điện áp nguồn nuôi.

- GND: Nối mass. - PortA (PA7…PA0): PortA nhận vào tín hiệu Analog và chuyển đổi qua tín hiệu Digital. Ngoài ra PortA có thể được tách ra làm vào ra 2 hướng 2 bit nếu bộ chuyển đổi A/D không được sử dụng. Khi các chân PA0 đến PA7 là các lối vào và được đặt xuống chế độ thấp từ bên ngoài, chúng sẽ là nguồn dòng nếu các điện trở nối lên nguồn dương được kích hoạt.

Các chân của Port A ở vào trạng thái có điện trở cao khi tín hiệu Reset ở chế độ tích cực hoặc ngay cả khi không có tín hiệu xung đồng hồ. Port A cung cấp các đường địa chỉ/ dữ liệu vào/ ra hoạt động theo kiểu đa hợp kênh khi dùng bộ nhớ SRAM ở bên ngoài. - PortB,D : tương tự như PortA. - PortC (PC7…PC0): tương tự như PortA.

Nhưng nếu enable giao diện JTAG, thì các chân PC5, PC3, PC2 sẽ hoạt động ngay cả khi Reset lại tín hiệu. - Reset: Lối vào đặt lại. Bộ vi điều khiển sẽ được đặt lại khi chân này ở chế độ thấp trong hơn 50ns, các xung ngắn hơn không tạo ra tín hiệu đặt lại. - XTAL1: Lối vào bộ khuếch đại đảo và lối vào mạch tạo xung nhịp bên trong.

- XTAL2: Lối ra bộ khuếch đại đảo. XTAL1 và XTAL2 lần lượt là lối vào và lối ra của một bộ khuếch đại đảo. Bộ khuếch đại này được bố trí để làm bộ tạo dao động trên chip. Một bộ tinh thể thạch anh hoặc một bộ cộng hưởng gốm có thể được sử dụng.

Để điều khiển bộ vi điều khiển từ một nguồn xung nhịp bên ngoài, chân XTAL2 để trống, còn chân XTAL1 được nối với bộ dao động bên ngoài. PAGE \* MERGEFORMAT 3 Đồ án vi điều khiển - AREF: Là chân chuyển đổi tín hiệu analog cho bộ chuyển đổi A/D. - AVCC : là chân nguồn cho PortA và cho bộ chuyển đổi A/D. Nó có thể tự kết nối với nguồn chính ngay cả khi ADC không được sử dụng.

AVR CPU Kiến trúc AVR nói chung, các chức năng chính của CPU đảm bảo sự thực thi chính xác process. CPU phải có khả năng truy xuất bộ nhớ, thực hiện tính toán, điều khiển thiết bị ngoại vi và các kênh ngắt. Trong thứ tự thực hiện song song, AVR sử dụng kiến trúc Harvard với bộ nhớ tách rời giữa hai luồng process và dữ liệu. Các chỉ lệnh trong bộ nhớ process được thực hiện với những mức đơn pipeline.

Trong khi một lệnh dang thực thi, lênh tiếp theo sẽ được tìm nạp trước từ bộ nhớ process. Khái niệm này enable các lệnh sẽ được thực hiện trong mọi chu kỳ xung. Bộ nhớ process là hệ thống bộ nhớ Flash lập trình lại được. Truy xuất nhanh thanh ghi File chứa 32*8 bit thanh ghi làm việc đa năng với một chu kỳ xung đơn truy xuất thời gian.

Điều này enable bộ tính toán ALU làm việc đơn chu kỳ. 6 trong 32 thanh ghi có thể sử dụng như 3 địa chỉ gián tiếp thanh ghi con trỏ cho không gian địa chỉ dữ liệu. Nó cũng có thể được sử dụng như con trỏ của bộ nhớ process Flash. Một lệnh AVR có 16 bit đơn định dạng word.

Mỗi địa chỉ bộ nhớ process chứa 16 hoặc 32 lệnh. Bộ nhớ process Flash được chia ra làm 2 khu vực, khu vực khởi động process và khu vực ứng dụng process. Cả hai khu vực được thiết kế bảo vệ các bit ghi và đọc/ghi. Trong khi các ngắt và process con được gọi, địa chỉ trả về của Counter process (PC) được lưu trữ trong Stack.

Stack được định phần trong dữ liệu tổng quát SRAM, vì vậy kích thước STACK được hạn chế bởi kích thước SRAM tổng và cách sử dụng của nó. Tất cả các process sử dụng phải khởi tạo giá trị đầu cho Stack Poiter trước khi process con hoặc ngắt được gọi. Stack Poiter được đọc/ghi được sử dụng trong không gian I/O. Dữ liệu SRAM có thể dễ dàng được truy xuất qua 5 cách đánh địa chỉ khác nhau hộ trợ trong kiến trúc AVR.

Không gian bộ nhớ trong kiến trúc AVR là tất cả những bản đồ bộ nhớ phổ biến tuyến tính. Một mô đun ngắt linh hoạt có những thanh ghi điều khiển trong không gian I/O với một ngắt toàn cục enable ngắt trong thanh ghi PAGE \* MERGEFORMAT 3 Đồ án vi điều khiển trạng thái. Tất cả các ngắt đều có vector ngắt riêng biệt trong bảng vector ngắt. Địa chỉ vector ngắt càng thấp quyền ưu tiên ngắt càng cao.

Không gian bộ nhớ I/O chứa 64 địa chỉ cho các chức năng ngoại vi CPU như thanh ghi điều khiển,SPI, và một số chức năng I/O khác.2: Lược đồ khối kiến trúc AVR MCU PAGE \* MERGEFORMAT 3 Đồ án vi điều khiển 1. ALU – Arithmetic Logic Unit Thực thi cao AVR ALU hoạt động trong sự kết nối trực tiếp với tất cả 32 thanh ghi hỗ trợ làm việc. Hoạt động trong ALU được chia thành 3 chức năng chính : số học, logic và chức năng bit 1. STATUS REGISTER Chứa thông tin về kết quả của các tính toán được thực thi gần nhất.

Chú ý Status Register được thay đổi sau tất cả các phép tính toán trong ALU - Bit 7-I : enable ngắt toàn cục. Không enable người sử dụng tự ý xóa. Chỉ bị xóa khi có ngắt mới xuất hiện và được chỉ dẫn bởi RETI cho những ngắt kế tiếp. Có thể được đặt hoặc được xóa bởi SEI và CLI.

- Bit 6-T : bit lưu trữ. Có thể chép từ BST sang BLD và ngược lại. - Bit 5-H : Cờ nhớ nửa H sử dụng để nhớ nửa hữu ích trong phép tính số BCD -Bit 4-S : tín hiệu bit S = N ⊕ V - Bit 3-D : 2 cờ tràn - Bit 2-N : cờ phủ định. - Bit 1-Z : cờ zero - Bit 0-C : cờ nhớ 1.

Thanh ghi mục đích chung Thanh ghi file được tối ưu hóa cho AVR tăng cường lập tập tin. Trong mệnh lệnh để đạt được sự thực hiện đòi hỏi và tính tối ưu hóa những sơ đồ vào ra đây được hỗ trợ : ● Một toán hạng ngõ ra 8 bit và một kết quả ngõ vào 8 bit. ● Hai toán hạng ngõ ra 8 bit và một kết quả ngõ vào 8 bit. ● Hai toán hạng ngõ ra 8 bit và một kết quả ngõ vào 16 bit.

● Một toán hạng ngõ ra 16 bit và một kết quả ngõ vào 16 bit. PAGE \* MERGEFORMAT 3 Đồ án vi điều khiển Hình 1.3: Các thanh ghi hỗ trợ làm việc AVR CPU Thanh ghi Stack Poiter luôn trỏ đến đỉnh của ngăn xếp. Stack Poiter trỏ đến ngăn xếp dữ liệu SRAM lưu trữ những process con và những ngắt cục bộ. Khoảng trống trong SRAM phải được định nghĩa bởi process trước bất kỳ process con nào gọi nó thực thi hoặc ngắt nào được hoạt động.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ