- PSEN: Program Store Enable là chế độ đọc vào bộ nhớ chương trình bênngoài.Khi AT89C51 đang thực thi mã từ bộ nhớ chương trình bên ngoài, PSEN Hình 3: Các chức năng đặc biệt của cổng 3.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA: ĐIỆN - ĐIỆN TỬ
Học kỳ 1 2023-2024TIỂU LUẬN
Kỹ thuật số
ĐỀ TAI
“ ỨNG DỤNG IC SỬ DỤNG MA TRẬN 4 LEDHIỂN THỊ CHỮ MONG MUỐN ”
MÃ LỚP: DIGI330163_23_1_12Giảng viên: ThS Nguyễn Duy ThảoSinh viên thực hiện
1 Nguyễn Thanh Quân 22119219
2 Trương Hoài Thương 22119237
TP Hồ Chí Minh, thang 12 năm 2023
Trang 2Mục Lục
PHẦN 1: MÔ TẢ CÁC MẠCH 2
CHƯƠNG 1: GIỚI THIỆU VỀ VI ĐIỀU KHIỂN AT89C51 2
1.1 MÔ TẢ 2
1.2 CẤU HÌNH CHÂN RA 3
1.2.1 SƠ ĐỒ KHỐI CỦA AT89C51 3
1.2.2 SƠ LƯỢC CÁC CHÂN CỦA AT89C51 4
1.3 CẤU TRÚC BỘ NHỚ 5
1.3.1 Cấu trúc bộ nhớ 5
1.3.2 Các thanh ghi có chức năng đặc biệt (SFR) 6
1.3.3 Hoạt động Reset 7
CHƯƠNG 2: GIỚI THIỆU VỀ IC 74HC595 8
2.1 Mô tả 8
2.2 Cấu hình chân ra 9
2.3 Cách sử dụng IC 74HC595 9
CHƯƠNG 3: LED MA TRẬN 11
3.1 Mô tả 11
3.2.Cấu tạo của LED ma trận 12
3.3.Ưu điểm của LED ma trận 12
PHẦN 2: ỨNG DỤNG MÔ PHỎNG LED MA TRẬN DÙNG 4 LED 8x8 HIỂN THỊ CHỮ “ SPKT UTE ” 14
1.Thiết kế mạch trên proteus 14
2.Các linh kiện 14
2.1 IC AT89C51 14
2.2 IC 74HC595 15
2.3 LED ma trận 8x8 15
3.Mô tả hoạt động 16
TÀI LIỆU THAM KHẢO 20
Trang 3là một hệ vi tính 8 bit đơn chip mạnh cho ta một giải pháp có hiệu quả về chi phí
và rất linh hoạt đối với các ứng dụng điều khiển
AT89C51 có các đặc trưng sau:
- 4 KB bộ nhớ có thể lập trình lại nhanh, có khả năng tới 1000 chu kỳ ghixoá
- Dãy tần hoạt động: 0Hz đến 24 MHz
- 2 bộ Timer/counter 16 Bit
- 128 Byte RAM nội
- 4 Port I/O 8 bit
- Giao tiếp nối tiếp
Trang 41.2 CẤU HÌNH CHÂN RA
1.2.1 SƠ ĐỒ KHỐI CỦA AT89C51
Hình 2: Sơ đồ khối AT89C51.
Trang 51.2.2 SƠ LƯỢC CÁC CHÂN CỦA AT89C51
- VCC: nguồn cung cấp
- GND: chân nối đất
- PORT 0: là cổng I/O hai chiều 8 bit
- PORT 1: là cổng I/O 8 bit và cũng nhận các byte địa chỉ bậc thấp trong quátrình
- PSEN: Program Store Enable là chế độ đọc vào bộ nhớ chương trình bênngoài.Khi AT89C51 đang thực thi mã từ bộ nhớ chương trình bên ngoài, PSEN
Hình 3: Các chức năng đặc biệt của cổng 3.
Trang 6được kích hoạt hai lần mỗi chu kỳ, ngoại trừ hai lần kích hoạt, PSEN bị bỏ quatrong quá trình truy cập vào bộ nhớ dữ liệu ngoài.
- EA / Vpp: Cho phép truy cập ngoài EA phải được gắn vào GND để chophép thiết bị tìm nạp mã từ các vị trí bộ nhớ chương trình ngoài bắt đầu từ0000H đến FFFFH Tuy nhiên, nếu lock bit 1 được lập trình, EA sẽ được chốtkhi thiết lập lại Chân này cũng nhận điện áp cho phép lập trình 12V trong quátrình lập trình Flash, dành cho các bộ phận yêu cầu 12V
- XTAL 1: Ngõ vào đến mạch khuyếch đại đảo dao động và ngõ vào ra mạchtạo xung clock bên trong chip
- XTAL 2: Ngõ ra từ mạch khuyết đại đảo của mạch dao động
1.3 CẤU TRÚC BỘ NHỚ
1.3.1 Cấu trúc bộ nhớ
Các vi điều khiển đóng vai trò là thành phần trung tâm trong các thiết kếhướng điều khiển, trong đó bộ nhớ có dung lượng giới hạn, không có ổ đĩa và hệđiều hành Chương trình điều khiển phải được cài đặt trong ROM nên AT89C51
có không gian bộ nhớ riêng cho chương trình và dữ liệu, cả hai bộ nhớ chươngtrình và dữ liệu đều đặt trong chip, tuy nhiên ta có thể mở rộng bộ nhớ chươngtrình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ bên ngoài với dunglượng tối đa thêm là 64K
Bộ nhớ trong chip bao gồm ROM và RAM RAM trên AT89C51 bao gồmvùng RAM đa chức năng (general purpose RAM: 30H-7FH), vùng RAM gồmtừng bit được định địa chỉ (bit address locations) gọi là vùng RAM định địa chibit (20H-2FH), các dãy thanh ghi (bank: 00H-1FH), các thanh ghi chức năng đặcbiệt SFR (special function register: 80H-FFH)
Hình 4: Cấu trúc bộ nhớ.
Trang 71.3.1.1.Vùng RAM đa mục đích
Vùng RAM đa mục đích có 80 byte có địa chỉ từ 30H-7FH Bằng cách sửdụng các kiểu định địa chỉ gián tiếp hoặc trực tiếp, bất kỳ vị trí nhớ nào trongvùng RAM đa mục đích đều có thể được truy xuất tự do
1.3.1.2.Vùng RAM định địa chỉ bit
AT89C51 có 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trong cácbyte ở địa chỉ từ 20H-2FH và phần còn lại chứa trong các thanh ghi chức năngđặc biệt
1.3.1.3.Các dãy thanh ghi
32 vị trí cuối của bộ nhớ nội chứa các dãy thanh ghi Các lệnh của AT89C51
hỗ trợ 8 thanh ghi từ R0-R7 thuộc bank 0 Đây là dãy mặc định sau khi hệ thốngđược reset Các thanh ghi này được định địa chỉ từ 00H-07H
1.3.2 Các thanh ghi có chức năng đặc biệt (SFR)
Các thanh ghi trong của AT89C51 được cấu hình thành một phần của RAMtrên chip, do vậy mỗi thanh ghi cũng có một địa chỉ Cũng như các thanh ghi từR0-R7 ta có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của RAMtrong từ địa chỉ 80H-FFH Chỉ có 21 địa chỉ trong tất cả 128 địa chỉ từ 80H-FFHđược định nghĩa Các thanh ghi chức năng đặc biệt gồm có:
- Từ trạng thái chương trình PSW: Là thanh ghi chứa trạng thái của chươngtrình
- Thanh ghi B: có địa chỉ là FH là thanh ghi được dùng chung với thanh ghi
A trong các phép toán
- Con trỏ stack: là một thanh ghi 8 bit ở địa chỉ 81H
- Con trỏ dữ liệu DPTR: Là thanh ghi 16 bit kết hợp của 2 thanh ghi 8 bit làDPH và DPL
- Các thanh ghi Port
- Các thanh ghi định thời
- Các thanh ghi Port nối tiếp
- Các thanh ghi ngắt
Trang 81.3.3 Hoạt động Reset
Mức cao ở chân này trong hai chu kỳ máy trong khi bộ dao động đang chạy
sẽ đặt lại thiết bị Bảng trạng thái các thanh ghi sau khi được reset:
Hoạt động của thanh ghi dịch:
Hình 5: Bảng trạng thái các thanh ghi sau khi được reset.
Hình 6: Hoạt động của thanh ghi dịch:
Trang 9CHƯƠNG 2: GIỚI THIỆU VỀ IC 74HC595
2.1 Mô tả
IC 74HC595 là một IC thanh ghi dịch có 16 chân bao gồm một chân chốt loại
D cùng với một thanh ghi dịch bên trong chip Nó nhận dữ liệu đầu vào nối tiếp
và sau đó gửi dữ liệu này ra ngoài thông qua các chân song song
Ngoài các đầu ra song song, nó còn cung cấp một đầu ra nối tiếp, nó có cácđầu vào xung nhịp riêng lẻ cho thanh ghi dịch và chân chốt D IC này thuộc họlinh kiện logic HC được thiết kế để sử dụng trong các ứng dụng công nghệCMOS
74HC595 có hai thanh ghi tích hợp Cái đầu tiên là thanh ghi dịch và cái thứhai là thanh ghi lưu trữ Dữ liệu được truyền nối tiếp để thay đổi từng bit thanhghi Nhưng nó chỉ chuyển vào thanh ghi lưu trữ khi chân chốt dữ liệu được kích
ở mức cao
74HC595 có các đặc trưng sau:
- 8-bit, thanh ghi dịch nối tiếp vào song song ra
- Điện áp hoạt động: 2V đến 6V
- Mức tiêu thụ điện: 80uA
- Source ra / dòng sink: 35mA
- Điện áp đầu ra bằng điện áp hoạt động
- Điện áp đầu vào mức cao tối thiểu: 3,15V @ (Vcc = 4,5V)
- Điện áp đầu vào mức thấp tối đa: 1.35V @ (Vcc = 4.5V)
- Có thể dễ dàng xếp tầng với nhiều IC hơn để có nhiều đầu ra hơn
- Tần số đồng hồ tối đa: 25Mhz @ 4.5V
- Có các gói PDIP, GDIP, PDSO 16 chân
Trang 102.2 Cấu hình chân ra
2.3 Cách sử dụng IC 74HC595
Thanh ghi dịch 74HC595 thường được sử dụng với bộ vi điều khiển hoặc bộ
vi xử lý để mở rộng các chức năng của GIPO Nó chỉ yêu cầu 3 chân kết nối vớiMCU, đó là Clock, Data và Latch Nó có điện áp hoạt động rộng từ 2V đến 6V.Dưới đây là một mạch ứng dụng của IC:
Hình 7: IC 74HC595 và sơ đồ chân.
Hình 8: Cấu hình chân ra.
Trang 11Các chân 11, 14 và 12 được kết nối với các chân GPIO của vi điều khiển.Trong đó chân 11 là Clock phát xung nhịp không đổi để giữ thời gian Chân 14
là Data gửi dữ liệu về chân đầu ra nào phải ở mức thấp và chân nào sẽ ở mứccao Chân 12 là Latch cập nhật dữ liệu nhận được vào các chân đầu ra khi đặt ởmức cao, chân này cũng có thể được giữ ở mức cao vĩnh viễn Hình ảnh dướiđây sẽ giúp bạn hiểu rõ hơn
Như bạn có thể thấy clock là dòng xung liên tục và dữ liệu chỉ tăng cao ở nơitương ứng nơi đầu ra phải đạt mức cao Ví dụ ở đây, giá trị nhị phân0b10110011 được chuyển đến bộ vi điều khiển Chân Master reset (MR) được
sử dụng để reset các đầu ra, khi không sử dụng nó được giữ ở mức cao về vcc,tương tự như vậy, chân phải được giữ ở mức thấp khi không sử dụng
Một ưu điểm quan trọng khác của vi mạch 74hc595 là nó có thể được xếptầng để điều khiển hơn 8 đầu ra Để thực hiện chúng ta sử dụng Q7 ’(chân 9),chân này được kết nối với chân data của IC 74HC595 thứ hai Bằng cách này, 8bit đầu tiên được gửi từ vi điều khiển sẽ được sử dụng bởi IC thứ nhất và 8 bitthứ hai sẽ được sử dụng bởi IC thứ hai
Hình 9: Mạch ứng dụng của IC.
Hình 10: Biểu diễn xung Data và xung Clock.
Trang 12CHƯƠNG 3: LED MA TRẬN
3.1 Mô tả
LED matrix được cấu thành từ những bóng Led, được xếp thành các hàng vàcác cột (dạng Module) rồi ghép lại với nhau, thường có kích thước từ nhỏ đếnlớn Mỗi đèn LED trong ma trận có thể được điều khiển độc lập để tạo ra cáchiệu ứng ánh sáng khác nhau.Bên trong nó là ma trận diode hai chiều có cựcdương sắp theo hàng và cực âm sắp theo cột Có thể điều khiển từng điểm củaled ma trận bằng cách điều khiển dòng điện đi qua mỗi cặp diode theo cột hoặchàng Loại ma trận này rất phổ biến trong sử dụng hiển thị thông tin, nó chophép hiển thị hình ảnh và văn bản dạng tĩnh hoặc động Bên dưới là hình 1 led
ma trận
Mỗi đèn LED trong LED matrix có thể được bật hoặc tắt, tạo ra các điểmsáng và tối trên màn hình Khi các đèn LED được bật theo một mẫu cụ thể,chúng tạo ra các hình ảnh, biểu đồ hoặc ký tự được hiển thị trên màn hình
Để điều khiển LED matrix, cần sử dụng một mạch điều khiển hoặc vi điềukhiển như Arduino hoặc Raspberry Pi Mạch điều khiển này sẽ gửi tín hiệu điềukhiển đến từng đèn LED trong ma trận để kiểm soát trạng thái bật/tắt của chúng
Có nhiều loại LED matrix khác nhau, bao gồm các loại đơn màu và đa màu.LED matrix đơn màu chỉ có thể hiển thị một màu sắc duy nhất, trong khi LEDmatrix đa màu có thể hiển thị nhiều màu sắc khác nhau
Để lập trình điều khiển LED matrix, người dùng có thể sử dụng các ngôn ngữlập trình như C/C++ hoặc Python Các thư viện và công cụ phát triển phổ biến
Hình 11: LED ma trận 8x8.
Trang 13như Adafruit NeoPixel hoặc FastLED cung cấp các chức năng và giao diện dễ
sử dụng để điều khiển LED matrix
3.2.Cấu tạo của LED ma trận
Lấy ví dụ led ma trận 8x8 (8 hàng và 8 cột) Trong led ma trận này có 64 đènled Những đèn led này được hàn trên bảng mạch 1 mặt Cực dương của led nàyđược nối với cực dương của led kia thành một hàng, cả 8 hàng đều tương tự nhưvậy Cực âm của led này được nối với cực âm của led kia thành 8 cột Tất cả cácled được nối với nhau bằng dây đồng trần
Trong ma trận điểm các led nối với nhau theo hàng và cột Điều này giúpgiảm số lượng chân cần thiết để điều khiển led Giả sử trong ma trận 8x8 có 64chân I/O để hiển thị mỗi điểm ảnh Để tạo ma trận điểm 8x8 tất cả các cựcdương nối với nhau theo hàng từ R1 đến R8, tương tự các cực dương nối vớinhau theo cột từ C1 đến C8 Bằng cách này có thể giảm số chân I/O đi 16 cái
Theo hình thì mỗi led được định vị bằng số hàng và số cột Nếu R5 set mứccao và C4 set mức thấp, thì đèn led ở dòng 5 cột 4 sẽ sáng Bằng cách đó chúng
ta có thể cho hiển thị ký tự bằng cách quét mỗi hàng và mỗi cột
3.3.Ưu điểm của LED ma trận
– Trình chiếu ấn tượng: có thể hiển thị văn bản, hình ảnh thậm chí là videonhư một màn hình tivi thông thường
Hình 12: Cấu tạo của LED ma trận.
Trang 14– Thay đổi nội dung dễ dàng: chỉ cần nhập nội dung bằng phần mềm và sau
đó biển sẽ chạy nội dung chính xác với thông tin đã nhập
– Tiết kiệm điện: sử dụng đèn led giúp giảm thiểu từ 50 – 80% lượng điệnnăng tiêu thụ so với bóng đèn huỳnh quang và bóng đèn sợi đốt
– Sức bền cao: duy trì tuổi thọ từ 50.000 – 100.000 giờ nên là công cụ quảngcáo phù hợp với cả môi trường trong nhà và ngoài trời
– Kết cấu mỏng nhẹ: phù hợp với mọi địa hình lắp đặt, đặc biệt là ở những vịtrí cần tiết kiệm không gian và đòi hỏi độ thẩm mỹ cao như mặt tiền công ty, cửahàng; các cơ sở kinh doanh nằm trong ngõ nhỏ; chuỗi đại lý nằm san sátnhau; …
– Dễ dàng tháo lắp: chi phí bảo hành, sửa chữa được tiết kiệm tối đa
– An toàn, thân thiện với môi trường: Lượng nhiệt tỏa ra trong quá trình hoạtđộng tương đối thấp nên rất an toàn với sức khỏe con người, đồng thời khôngphát tỏa khí CO2 gây hại cho tầng Ozone
– LED matrix được sử dụng rộng rãi trong các ứng dụng như bảng điện tử,biển quảng cáo, bảng điều khiển, hiển thị thông tin công cộng và nhiều ứng dụngsáng tạo khác
Trang 15PHẦN 2: ỨNG DỤNG MÔ PHỎNG LED MA TRẬN DÙNG 4 LED 8x8
Trang 162.2 IC 74HC595
- Các chân từ 1 tới 7 và chân số 15 của ngõ ra của IC (ứng với Q0,Q1, Q7)
- Chân DS(chân số 14) là ngõ vào của IC(đây là vào nối tiếp nên ta chỉ cần 1ngõ vào là đủ)
- Chân 16 -VCC là chân cấp nguồn dương (từ 2V đến 6V)
- Chân số 8 GND là chân cấp ground-cực(-) của nguồn
2.3 LED ma trận 8x8
Để LED MATRIX hoạt động, chúng ta chỉ cần cấp dòng điện vào các chân ROWs
và nối các chân COLUMNS với GND
Hình 15: Sơ đồ các chân IC 74HC595.
Hình 16: Mô phỏng LED ma trận 8x8.
Trang 174, row 0 8 chân ở bottom của LED matrix (từ trái qua phải) gồm: row 4, row 6,column 6, column 5, row 7, column 3, row 5, row 2.
- Ở đây ta lắp IC 74HC595 nối vào cột và IC AT89C51 để điều khiển dòng
- Chân 14 của từng con IC 74HC595 sẽ nối với chân Q7’ và nối chung vớichân 22 của IC AT89C51
- Chân 12 của IC 74HC595 sẽ nối chung với chân 23 của IC AT89C51
- Chân 13 của IC 74HC595 sẽ nối chung với nhau và nối đất
- Chân 21 của IC AT89C51 se nối chung 11 của IC 17HC595
- Sau khi kết nối xong toàn bộ mạch ta code chương trình để hiển thị chữ
- CODE:
org 0h
XUNG BIT P2.0 ;chan cap xung ic74hc595
DL BIT P2.1 ;chan du lieu ic74hc595
CHOT BIT P2.2 ;chan xuat du lieu ra 8 chan cua 74hc595
MP:ACALL HIENTHI ;GOI ham hien thi trang thai 30 lan
DJNZ R0,MP ;giam R0,den khi R0=0 thi thoat vong lap
DEC DPL ;giam gia tri con tro 1 dvi
MOV A,DPL ;chuyen byte thap con tro vao A
CJNE A,#LOW(maquet+23),AGAIN ; so sanh voi lan quet cuoi cung
SJMP main
;*** *****************HAM HIEN THI*****************
HIENTHI:
Trang 18PUSH 0 ;cat r0 vao ngan xep
PUSH 1 ;cat r1 vao ngan xep
PUSH ACC ; cat thanh ghi a vao ngan xep
MOV R0,#8H ;nap so lan quet cot
MOV R1,#01H ;nap gia tri de quet cot
HT:
ACALL DOCMA ;GOI HAM DOC MA QUET len 4 led
MOV P1,R1 ;nap r1 vao p1 - quet cot dau tien
ACALL DELAY ;tao tre
MOV P1,#0H ;tat cot 1
INC DPTR ;tang gia tri con tro 1 don vi de doc 4 ma quettiep ;trong lan docma tiep theo
DJNZ R0,HT ;thuc hien quet tu cot 1 - cot 8 (lap 8 lan)
mov A,DPL ; lay byte thap cua thanh ghi con tro gan vao a
SUBB A,#8 ;tru a di 8 - lay lai vi tri ban dau cua con tro
MOV DPL,A ; dua lai gia tri ban dau vao con tro
POP ACC ; lay lai thanh ghi a tu ngan xep
POP 1 ; lay lai r1 tu ngan xep
POP 0 ;lay lai r0 tu ngan xep
RET ;quay tro lai chuong trinh chinh
;**********HAM DOC MA QUET CHO 4 MATRIX****************
DOCMA:
PUSH 0 ;cat r0 vao ngan xep
PUSH 1 ;cat r1 vao ngan xep
PUSH ACC ;CAT THANH GHI A vao ngan xep
MOV R0,#04h ;nap so lan doc ma
DOC:
mov A,#0H ; xoa thanh ghi a
MOVC A,@A+DPTR ; doc ma quet va gan vao thanh ghi a
MOV R1,#8H ;nap so lan dich
BACK:
RLC A ; xoay trai thanh ghi a, lay bit 0 cua a dua vao co ;nho
MOV DL,C ; dua bit 0 cua a ra chan du lieu
SETB XUNG ;chuyen vao thanh ghi dich cua ic74595
CLR XUNG
DJNZ R1,BACK ;lap lai 8 lan de doc het ma quet vao thanh ghi dich
Trang 19CLR C ;xoa co nho
MOV A,DPL ;lay vi tri cua ma quet led tiep theo
SUBB A,#8
MOV DPL,A
DJNZ R0,DOC ;doc 4 ma quet vao 4 ic74hc595
MOV A,DPL ;lay lai vi tri ban dau cua con tro truoc khi goi ham ;docmaADD A,#32D
MOV DPL,A
SETB CHOT ;xuat thanh ghi dich ra 8 chan cua 74595
CLR CHOT
POP ACC ;lay lai gia tri thanh ghi a
POP 1 ;lay lai gia tri thanh ghi r1
POP 0 ;lay lai gia tri thanh ghi r0
DB 0FFH,0B6H,0B6H,0B6H,80H ;ma quet chu E
DB 0FFH,0BFH,0BFH,80H,0BFH,0BFH ;ma quet chu T