09 Dec

Hướng dẫn quét led ma trận với 8951 và IC thanh ghi dịch nối tiếp 74HC595 hoặc 6B595

matrix

Các bạn thân mến.

Trong bài này hocdientu sẽ giới thiệu với các bạn 1 cách quét led ma trận với 8951 (hoặc 8952) khác đó là sử dụng IC thanh ghi dịch nối tiếp 74HC595 hoặc 6B595 để quét cột kết hợp với IC vi điều khiển AT89C52 xuất dữ liệu hàng.

Qua các bài trước chắc các bạn cũng đã biết để quét được led ma trận ta phải thực hiện quét cột và xuất dữ liệu hàng hoặc quét hàng và xuất dữ liệu cột.

Ở đây chúng ta chọn cách quét cột và xuất dữ liệu hàng. Các cột sẽ được kết nối với các ANODE của led ma trận, cho nên ta dùng mức 1 để quét cột. Và hàng sẽ được kết nối với các CATHODE của led ma trận, cho nên hàng sẽ xuất mức 0 thì led sẽ sáng.

Các bạn có thể tìm đọc lại các bài trước trên hocdientu để hiểu rõ về cấu tạo và cách hiển thị hình ảnh trên led ma trận, các bài viết đó có nói rất rõ nên ở đây hocdientu sẽ không nói lại mà xem như các bạn đã hiểu phương pháp quét này.

Trong bài này hocdientu dùng phần mềm Keil C để soạn chương trình nguồn và biên dịch file .hex để nạp cho vi điều khiển 8952. Dùng phần mềm PROTEUS để mô phỏng quét dãy led ma trận 8X32, hiển thị 1 màu, với cách hiển thị 2 màu các bạn cũng làm tương tự.

Cách sử dụng phần mềm Keil C các bạn có thể xem tại đây: Hướng dẫn cài đặt và sử dụng phần mềm Keil C

Cách sử dụng phần mềm Proteus các bạn có thể xem tại đây: Hướng dẫn cài đặt và sử dụng phần mềm Proteus

Bên dưới hocdientu cung cấp cho các bạn link tải project của Keil C và mạch điện trong Proteus, tải về các bạn dùng 2 chương trình này để mở ra, với Proteus thì các bạn mở mạch điện ra rồi nạp file .hex có tên là test.hex đã được biên dịch sẵn trong thư mục Keil C vào vi điều khiển 8952 là có thể mô phỏng được, cách nạp file .hex thì các bạn xem hướng dẫn trong bài viết bên dưới. Và chương trình nguồn được chứa trong file Text1.asm cũng nằm trong thư mục Keil C.

Link tải project:

project pass un-zip: hocdientu.info

 

Video Demo:



(Bài viết độc quyền trên Học Điện Tử.info, copy đi nơi khác xin ghi rõ nguồn.)

Mã nguồn của chương trình:

ser_ind            bit        p3.0

srck_d             bit        p3.1

srclr_d             bit        p3.2

rck_d               bit        p3.3

g_d                  bit        p3.4

dem                 equ      r3

 

org       0000h

clr        g_d

clr        srck_d

clr        rck_d

td:        clr        srclr_d

setb     srclr_d

mov     dptr,#0500h

x2:       mov     r2,#50

x21:     mov     r4,#32

setb     ser_ind

mov     dem,#0

x1:       setb     srck_d

clr        srck_d

setb     rck_d

clr        rck_d

 

mov     a,dem

movc   a,@a+dptr

mov     p2,a

call       delay

mov     p2,#0ffh

clr        ser_ind

inc       dem

djnz      r4,x1

djnz      r2,x21

 

inc       dptr

mov     a,dpl

cjne     a,#105,x2

 

jmp      td

 

delay:

mov     r7,#5

de:     mov     r6,#10

djnz      r6,$

djnz      r7,de

ret

 

org       0500h

db 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

db 0FFH,00H,00H,0EFH,0EFH,0F0H,0FFH,0F1H,0E0H,0EEH,0EEH,0F1H,0FFH,0F1H,0E0H,0EEH,0EEH,0FDH,0FFH,0F1H,0EEH,0EEH,00H,00H,0FFH,0A0H,0A0H,0FFH

db 0F1H,0E0H,0EAH,0E6H,0FDH,0FFH,0F0H,0E0H,0F7H,0EFH,0A0H,0BFH,00H,00H,0BFH,0E1H,0E0H,0FEH,0FEH,0E1H,0FFH,0FCH,0FCH,0FFH,0A0H,0A0H,0FFH,0F0H,0E0H,0F7H,0EFH,0E0H

db        0FFH,0EFH,80H,00H,6FH,6FH,0FFH,0F1H,0E0H,0EEH,0EEH,0F1H

db 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

end

 

——————
Bạn chạy Proteus sẽ có giao diện như hình dưới:

01

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Tiến hành lấy linh kiện như hình dưới, ở đây mình chỉ làm vắn tắt, muốn biết cách sử dụng Proteus bạn hãy đọc lại bài Hướng dẫn cài đặt và sử dụng Proteus

02

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

(Bài viết độc quyền trên Học Điện Tử.info, copy đi nơi khác xin ghi rõ nguồn.)

03

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Lấy led ma trận ra như hình dưới:

04

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

05

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Lấy nguồn 5VDC và mass (GND) để test tìm chân anode và cathode của led ma trận, cách lấy 2 linh kiện này bạn hãy đọc bài  Hướng dẫn cài đặt và sử dụng Proteus

06

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Kết nối led ma trận với nguồn và mass:

07

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Như hình dưới thì ta đã có kết luận về chân của led ma trận:

08

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Tiếp theo lấy IC 74HC595:

09

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Chú ý:

Trong thực tế thì người ta ít dùng linh kiện 74HC595 để quét led ma trận mà người ta hay dùng IC 6B595 để quét. Tại sao lại như vậy? Bạn hãy xem các datasheet của 2 IC này bên dưới:

Sơ đồ nguyên lý của 6B595:

6B595

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Sơ đồ cấu tạo bên trong của 6B595:

6B595

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

(Bài viết độc quyền trên Học Điện Tử.info, copy đi nơi khác xin ghi rõ nguồn.)

Sơ đồ nguyên lý của 74HC595:

74595

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Sơ đồ cấu tạo bên trong của 74HC595:

74595

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Như các ban thấy, về nguyên lý thì 2 IC này như nhau nhưng cấu tạo bên trong của 6B595 ở ngõ ra có thêm các transistor FET kênh N khuếch đại đệm dòng điện, cho nên IC 6B595 có khả năng cho ra dòng điện có cường độ lớn hơn IC 74595. Do đó nếu ta dùng IC 6B595 để quét led ma trận thì ta không cần phải dùng thêm các IC khuếch đại đệm dòng điện như 74245 hoặc ULN2803 đê kết nối với led ma trận, dẫn đến mạch của chúng ta sẽ gọn và đẹp hơn việc sử dụng 74HC595.

Ở hình bên dưới cho ta thấy rõ thông số dòng điện ngõ ra theo datasheet của 2 IC:

Dòng điện ngõ ra max của 6B595 là 500mA, và dòng điện ra bình thường là 150 mA:

6b595

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

(Bài viết độc quyền trên Học Điện Tử.info, copy đi nơi khác xin ghi rõ nguồn.)

Dòng điện ra của 74595 nhỏ hơn rất nhiều so với 6B595:

74595

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Trở lại với mạch của chúng ta, ta kết nối mạch như hình:

10

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

11

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

(Bài viết độc quyền trên Học Điện Tử.info, copy đi nơi khác xin ghi rõ nguồn.)

Thực hiện nạp file .hex cho vi điều khiển như hình:

12

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

13

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Hocdientu xin giới thiệu thêm với các bạn 2 chương trình tạo mã cho led ma trận và tạo mã cho led 7 đoạn do một người bạn của hocdientu lập trình, tên tác giả có trên chương trình. 2 chương trình này sẽ giúp các bạn tiết kiệm rất nhiều công sức để tạo ra mã cho led ma trận và 7 đoạn.

(Bài viết độc quyền trên Học Điện Tử.info, copy đi nơi khác xin ghi rõ nguồn.)

Tạo mã ma trận:  download

 

Tạo mã led 7 đoạn: download

 

14

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

15

(Hình có kích thước lớn nên đã được resize cho phù hợp độ rộng trang web, nếu bạn không nhìn rõ hãy save hình về máy để xem bằng cách click chuột phải lên hình chọn “Save Image As…)

Bài viết độc quyền trên Học Điện Tử.info , copy đi nơi khác xin ghi rõ nguồn.

 

Related Posts Plugin for WordPress, Blogger...

Bài liên quan: