em co xem ở diễn đàn khác có 1 doan code viết lề led ma trận như sau (phần sau dấu hai ; là phần dịch theo ý của em nhưng có chổ chưa hiểu...đúng sai chổ nào mong mọi người góp ý giúp em nhé :
ORG 0000H
MOV DPTR,#NHOM_4: nạp giá trị của ctrình con nhom_4 vào dptr
LOOP:
MOV R2,#0;
LOOP2:
MOV R5,#78 ;................chổ này củng ko biết tại sao lại là 78h và 78 làm sao tính ra,là giá trị của cái nào........
LOOP1:
MOV R0,#0 ;.....ng ta nói là chổ này dùng quét hàng quét cột jì đó....
MOV R1,#0 ;...chổ này củng quét hàng hay cột.???
LOOP3:
MOV A,R1 ;nạp giá trị của r1 vào thanh ghi A
MOV P2,A ;xuất giá trị thanh ghi A ra p2
MOV A,R0 ;nạp giá trị ro vào thanh ghi A
ADD A,R2 ; cộng A với r2 (mà ko biết cộng để làm jì)
MOVC A,@A+DPTR ;TRA BẢNG;....chổ này ko hiểu
MOV P1,A ; xuất giá trị thanh ghi A ra p1
CALL DELAY1
INC R0 ;tăng R0
INC R1 ; tăng R1....có phải tăng để nó xuất dữ liệu từ nhom_4 ra 1 cách tuần tự trên xuống dưới ko...
CJNE R1,#32,LOOP3;so sanh r1 với 32,nếu ko bằng thì làm LOOP3(mà 32 này ở đâu ra,là giá trị của cái nào,sao bít nó là 32)
DJNZ R5,LOOP1; xem coi r5 đạt giá trị 0 chưa,nếu chưa thì làm LOOP1
INC R2 ;tăng r2 (mà tăng để làm jì ta????)
CJNE R2,#155,LOOP2 ;so sánh r2 với 155 nếu ko bằng thì làm LOOP2(mà giá trị 155 là jì...có phải là giá trị của nhóm_4 ko...mà sao tính ra 155 được)
LJMP LOOP
DELAY1:
MOV TMOD,#02H
MOV TH0,#(-200)
SETB TR0
JNB TF0,$
CLR TF0
RET
NHOM_4:
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0
DB 0FFH,81H,81H,42H,3CH,0 ;chữ D
DB 0FEH,1H,1H,1H,0FEH,0 ;chữ U
DB 0E0H,10H,0FH,10H,0E0H,0 ;chữ Y
DB 8H,8H,8H,0 ;dấu -
DB 0FFH, 10H,10H,10H,0FFH,0 ;chữ H
DB 0FEH,1H,1H,1H,0FEH,0 ;chữ U
DB 0E0H,10H,0FH,10H,0E0H,0 ;chữ Y
DB 8H,8H,8H,0 ;dấu –
DB 0FFH,28H,44H,82H,1H,0 ;chữ K
DB 0FFH, 10H,10H,10H,0FFH,0 ;chữ H
DB 7EH,81H,81H,81H,7EH,0 ;chữ O
DB 3FH,48H,88H,48H,3FH,0 ;chữ A
DB 8H,8H,8H,0 ;dấu -
DB 80H,80H,0FFH,80H,80H,0 ;chữ T
DB 0FFH, 10H,10H,10H,0FFH,0 ;chữ H
DB 0,81H,0FFH,81H,0,0 ;chữ I
DB 0FFH,20H,10H,8H,0FFH,0 ;chữ N
DB 0FFH,10H,10H,10H,0FFH,0 ;chữ H
DB 8H,8H,8H,0 ;dấu -
DB 0FCH,2H,1H,2H,0FCH,0 ;chữ V
DB 3FH,48H,88H,48H,3FH,0 ;chữ A
DB 0FFH,20H,10H,8H,0FFH ;chữ N
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0
END
ai giup dum em với....
với lai cho em hoi cái là muốn phát triển từ led matrix 8*8 thanh 16*64 thi minh chỉ cần thêm ic đệm vô thôi phải ko???
ORG 0000H
MOV DPTR,#NHOM_4: nạp giá trị của ctrình con nhom_4 vào dptr
LOOP:
MOV R2,#0;
LOOP2:
MOV R5,#78 ;................chổ này củng ko biết tại sao lại là 78h và 78 làm sao tính ra,là giá trị của cái nào........
LOOP1:
MOV R0,#0 ;.....ng ta nói là chổ này dùng quét hàng quét cột jì đó....
MOV R1,#0 ;...chổ này củng quét hàng hay cột.???
LOOP3:
MOV A,R1 ;nạp giá trị của r1 vào thanh ghi A
MOV P2,A ;xuất giá trị thanh ghi A ra p2
MOV A,R0 ;nạp giá trị ro vào thanh ghi A
ADD A,R2 ; cộng A với r2 (mà ko biết cộng để làm jì)
MOVC A,@A+DPTR ;TRA BẢNG;....chổ này ko hiểu
MOV P1,A ; xuất giá trị thanh ghi A ra p1
CALL DELAY1
INC R0 ;tăng R0
INC R1 ; tăng R1....có phải tăng để nó xuất dữ liệu từ nhom_4 ra 1 cách tuần tự trên xuống dưới ko...
CJNE R1,#32,LOOP3;so sanh r1 với 32,nếu ko bằng thì làm LOOP3(mà 32 này ở đâu ra,là giá trị của cái nào,sao bít nó là 32)
DJNZ R5,LOOP1; xem coi r5 đạt giá trị 0 chưa,nếu chưa thì làm LOOP1
INC R2 ;tăng r2 (mà tăng để làm jì ta????)
CJNE R2,#155,LOOP2 ;so sánh r2 với 155 nếu ko bằng thì làm LOOP2(mà giá trị 155 là jì...có phải là giá trị của nhóm_4 ko...mà sao tính ra 155 được)
LJMP LOOP
DELAY1:
MOV TMOD,#02H
MOV TH0,#(-200)
SETB TR0
JNB TF0,$
CLR TF0
RET
NHOM_4:
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0
DB 0FFH,81H,81H,42H,3CH,0 ;chữ D
DB 0FEH,1H,1H,1H,0FEH,0 ;chữ U
DB 0E0H,10H,0FH,10H,0E0H,0 ;chữ Y
DB 8H,8H,8H,0 ;dấu -
DB 0FFH, 10H,10H,10H,0FFH,0 ;chữ H
DB 0FEH,1H,1H,1H,0FEH,0 ;chữ U
DB 0E0H,10H,0FH,10H,0E0H,0 ;chữ Y
DB 8H,8H,8H,0 ;dấu –
DB 0FFH,28H,44H,82H,1H,0 ;chữ K
DB 0FFH, 10H,10H,10H,0FFH,0 ;chữ H
DB 7EH,81H,81H,81H,7EH,0 ;chữ O
DB 3FH,48H,88H,48H,3FH,0 ;chữ A
DB 8H,8H,8H,0 ;dấu -
DB 80H,80H,0FFH,80H,80H,0 ;chữ T
DB 0FFH, 10H,10H,10H,0FFH,0 ;chữ H
DB 0,81H,0FFH,81H,0,0 ;chữ I
DB 0FFH,20H,10H,8H,0FFH,0 ;chữ N
DB 0FFH,10H,10H,10H,0FFH,0 ;chữ H
DB 8H,8H,8H,0 ;dấu -
DB 0FCH,2H,1H,2H,0FCH,0 ;chữ V
DB 3FH,48H,88H,48H,3FH,0 ;chữ A
DB 0FFH,20H,10H,8H,0FFH ;chữ N
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0
END
ai giup dum em với....
với lai cho em hoi cái là muốn phát triển từ led matrix 8*8 thanh 16*64 thi minh chỉ cần thêm ic đệm vô thôi phải ko???
Comment