Đề Tài: Điều Khiển Led Matrix 8X8 89C51, Hướng Dẫn Cách Làm Led Ma Trận 8X8

-

Module LED ma trận 8×8 được thực hiện khá thịnh hành trong quá trình học xây dựng Arduino cùng được ứng dụng rộng rãi trong các hoạt động như làm đại dương quảng cáo, thông báo… Trong giải đáp này, các bạn sẽ tìm phát âm cách thực hiện module LED ma trận 8×8 MAX7219 cùng với Arduino để tạo thành các chương trình thú vị như lập trình led matrix 8×8 chạy chữ cùng hiển thị chữ trên led ma trận


Tổng quan về Module MAX7219

Có 2 dạng module Led ma trận được sử dụng rộng rãi trên thị trường, trong những số ấy phải nói đến là Module MAX7219 với Module FC-16.

Bạn đang xem: Đề tài: điều khiển led matrix 8x8 89c51

*
Hướng dẫn sử dụng module LED ma trận 8×8 MAX7219 cùng với Arduino

Module MAX7219 gồm một Led ma trận 8×8 với IC tinh chỉnh và điều khiển LED MAX7219.

LED ma trận 8×8


*

Led ma trận 8×8 thông thường sẽ sở hữu được 16 chân, 8 chân cho mỗi hàng và 8 chân cho từng cột.Tất cả những hàng cùng cột được nối cùng với nhau.Cách nối này để giúp led matrix 8×8 bớt được con số chân, còn nếu không nó sẽ có 65 chân, mỗi chân đại diện cho một đèn LED và một chân vẫn mắc vào năng lượng điện áp dương (Anode chung) hoặc điện áp âm (Cathode chung).Bằng phương pháp kết nối các hàng cùng cột, chỉ cần 16 chân để điều khiển toàn bộ 8×8 led matrix.Kỹ thuật điều khiển này được call làGhép kênh.


*

Trong chuyên môn này, mỗi cột được kích hoạt trong một thời hạn rất ngắn, đồng thời, đèn led trên cột đó sáng lên bằng phương pháp gọi địa chỉ cửa hàng cho sản phẩm tương ứng. Những cột được chuyển đổi nhanh đến mức (hàng trăm hoặc hàng trăm lần từng giây).


*

IC MAX7219

Vấn đề quan trọng nhất lúc ghép kênh (ghép các module lại với nhau) là đề xuất làm mới thường xuyên màn hình để giữ mang đến hình ảnh luôn ổn định định.

Các IC MAX7219 đã xử lý toàn bộ các các bước kiểm kiểm tra và làm cho mới. Chỉ cần bảo đảm các lệnh đã được gửi trải qua giao tiếp SPI.


*

Nó có thể điều khiển 64 đèn LED lẻ loi mà vẫn giữ khả năng chiếu sáng không đổi.Khi cỗ vi tinh chỉnh và điều khiển đã cập nhật màn hình, MAX7219 đang xử lý công việc làm mới screen ở 800 Hz.Điều này góp giải phóng cỗ vi điều khiển để triển khai những việc đặc trưng khác.

MAX7219 tất cả tích hợp chính sách tiết kiệm tích điện nên có thể tắt đèn LED trong lúc khởi động, nhằm ngăn những hiển thị bất thường trong những giây đầu tiên hoạt động.


MAX7219 giao tiếp qua SPI nên chỉ cần 3 chân dữ liệu để kết nối với vi điều khiển.Ngoài ra, bạn cũng có thể kết nối các module lại cùng với nhau để có màn hình khủng hơn bằng cách sử dụng 3 dây giống như nhau.

Điều chỉnh độ sáng của LED ma trận bởi phần cứng cùng phần mềm

Module Led ma trận 8×8 MAX7219 được cho phép điều chỉnh khả năng chiếu sáng của Led matrix bởi phần cứng hoặc phần mềm.

Điều chỉnh bằng phần cứng

Module MAX7219 tất cả một điện trở (RSet) dùng để điều chỉnh ánh sáng của Led ma trận 8×8.


*

Điện trở này dùng để điều hành và kiểm soát dòng điện tối đa rất có thể cung cấp cho đèn LED, vì thế việc kiểm soát và điều hành độ sáng toàn diện của led matrix trở đề xuất dễ dàng.


Dưới phía trên là bảng giá trị điện trở sử dụng dựa trên điện áp và chiếc điện của ma trận LED 8×8.Ví dụ, đèn led chiếu sáng 2V 20m
A năng lượng điện trở được yêu mong là 28kΩ.


Điều chỉnh bởi phần mềm

Ở phần này bản thân sẽ hiểu rõ hơn trong phần hướng dẫn dưới nhé.

Xem thêm: Realtek rtl8185l lan driver card mạng win 7 32bit 2023, 3 cách cài driver wifi win 7 đơn giản

Sơ thứ chân Module MAX7219


Đầu vào

VCC: được nối cùng với 5V.Vì Led ma trận thao tác với chiếc điện béo (lên đến 1A lúc ở độ sáng tối đa), giỏi nhất các bạn nên áp dụng nguồn cấp phía bên ngoài thay bởi vì nguồn 5V của Arduino với hãy giữ khả năng chiếu sáng dưới 25% để tránh vượt nhiệt mang lại bộ kiểm soát và điều chỉnh điện áp.GND: là chân nối đất.DIN: là chân dữ liệu.Kết nối nó với bất kỳ chân kỹ thuật số nào của vi điều khiển.CS/LOAD: là chip Select (đôi khi được dán nhãn là LOAD).CLK: là viết tắt của Clock pin.Được kết nối các chân Digital của Arduino.

Đầu ra

VCC: liên kết với chân 5V của module tiếp theo.GND: kết nối với chân GND của module tiếp theo.DOUT: là chân Data Out và liên kết với chân DIN của module tiếp theo.CS/LOAD: kết nối với CS/LOAD của module tiếp theo.CLK: kết nối với chân CLK của module tiếp theo.

Đấu nối Module MAX7219 với Arduino UNO

Như vậy, chúng ta đã mày mò được biện pháp thức buổi giao lưu của Module 8×8 Led matrix, tiếp theo bọn họ sẽ liên kết với Arduino.

Vì Led ma trận vận động ở năng suất khoảng 1A và yêu cầu tính ổn định nên bản thân sẽ áp dụng nguồn điện cung cấp từ Adapter thay do dùng mối cung cấp 5V của Arduino.Nếu chỉ áp dụng một module MAX7219, các bạn cũng có thể cấp mối cung cấp trực tiếp cho nó từ bỏ Arduino.


MAX7219 sẽ chuyển động dựa trên chuẩn giao tiếp SPI.Đối với các board Arduino như UNO/Nano V3.0, những chân này vẫn là số 13(SCK), 12(MISO), 11(MOSI) và 10 SS).


Các linh kiện quan trọng cho dự án

TÊN LINH KIỆNSỐ LƯỢNGNƠI BÁN
Arduino Uno R31Shopee | Cytron
Dây cắm10-20Shopee | Cytron
Breadboard1Shopee | Cytron
Adapter 5V 1A1Shopee | Cytron
Module Led ma trận 8×8 MAX72194Shopee | Cytron

Cài để thư viện

Để chương trình rất có thể hoạt động các bạn cần thiết lập thư viện MD Parola.

Lập trình led matrix 8×8, tiếp diễn bài trước, trong bài bác này mình sẽ hướng dẫn các bạn lập trình led matrix 8×8 hiển thị 1 kí tự bất kể như số hoặc chữ. Bản thân sẽ chạy thử với chữ A nhé.

1. Sản xuất font cho chữ A


Font chữ A mang theo mặt hàng ngang ! LED sáng sủa = 1 LED tắt =0

Sau khi đem được 8bit mã nhị phân tương xứng với các trạng thái bật và tắt của LED. Mình lật sang mã hex để viết đến gọn

2. Xây cất mạch nguyên lí proteus


*

Do vào mô phỏng không cần sử dụng điện trở tuyệt transistor để khuyếch đại công suất nên mình sẽ nối trực tiếp những chân IO của vi điều khiển vào tấm led ma trận 8×8 color đỏ. Ở đây, 8 chân dương của led bản thân nối vào port P2, các chân dương đã điều khển 8 mặt hàng ngang của tấm LED. 8 chân âm mình nối vào port P3, các chân âm này sẽ tinh chỉnh và điều khiển 8 hàng dọc của đổi thay LED. Dịp nãy tôi đã lấy fonts theo sản phẩm ngang, nên những mã led mang được vẫn xuất ra port P2. Còn port P3 sẽ lo việc quét ( tức sẽ bật xong xuôi tắt, bật kết thúc tắt những chân P3)

OK. Hiện thời viế lịch trình nhé ! Đầu tiên mình sẽ tạo nên 1 hàm delay để gia công chậm trễ, nếu như không quét nhanh quá mắt mình lại còn chưa kịp nhìn !


Trong vòng lặp chính, mình sẽ tắt hết cổng P3, đưa mã font cùng cổng P2, bật chân P3_0 , delay 1 chút mang đến mắt kịp nhìn. Liên tục làm tương tự cho tới P3_7 là không còn 1 chu kì quét.Nếu bạn chú ý ở trên thì mình có nói nối 8 chân âm led vào P3, tức là port P3 lành mạnh và tích cực âm. Nếu mình đưa những chân port P3 lên 1 thì chắc hẳn rằng led đang tắt. Thế nên để tắt không còn led mình chỉ việc gọi P3=0x
FF;



Như vậy là sẽ hiện được chữ A lên LED matrix. Khá dễ dàng và đơn giản phải ko ! hiện giờ chúng ta giỏi tìm bí quyết rút gọn đoạn code trên cho đối chọi giản, ngăn nắp hơn nhé. Phần mã phông xuất ra port P2 bản thân sẽ đưa vào 1 mảng tài liệu như sau:


Phần mã font xuất ra port 3 mình sẽ gửi vào 1 mảng dữ liệu như sau, mã này thực chất là xuất cả byte ra cổng P3 thay vì chưng xuất từng chân như code trên, miễn sao để cho chỉ có một chân sáng trong 1 thời điểm !


Bây giờ chỉ câu hỏi tạo 1 vòng lặp for chạy trường đoản cú 0 mang lại 7 là đây dữ liệu trong những mảng ra PORT là xong. Đoạn code rất ngắn gọn gàng !


#include unsigned char code maled<8>=0x18,0x3C,0x66,0x66,0x7E,0x7E,0x66,0x66;unsigned char code maquet<8>=0x
FE,0x
FD,0x
FB,0x
F7,0x
EF,0x
DF,0x
BF,0x7F;void delay(unsigned int t) //hàm delay { unsigned int x,y; for(x=0;x

Từ tác giả:

Nếu có bất kỳ thắc mắc như thế nào trong bài bác viết, vui tươi để lại phản hồi dưới mỗi bài bác ! Mình sẽ không trả lời thắc mắc của chúng ta ở facebook hay thư điện tử !

Nếu trong phần code các bạn nhìn thấy nhưng lại thứ dạng hình như & thì chính là lỗi hiển thị, rõ ràng 3 kí trường đoản cú và bị biến đổi thành như thế& là &> là >


*

DIY,chế cháo, viết blog phân tách sẽ kỹ năng về lập trình,điện tử - Io