Em mới kiếm được một đề tài VXL, có cả bài giải luôn, nhưng mà em không hiểu vài chỗ, em post các bác xem rùi giải đáp giúp em nhé.
Đề tài: hiển thị tên các sinh viên thực hiện trên ma trận led 8 hàng x 32 cột. các chữ được dịh từ phải sang trái và lập lại.(chữ trong bài này là: DUY-HUY-KHOA-THINH-VAN). Mỗi cột dịch trong 0.5s.
Sơ đỗ mắc như sau:
(các bác phóng lớn hình nhín cho rõ)
IC 74138 để quét và chôt cột quét, nối từ port 2 và đưa data ra 4 led.
IC 74373 để đệm dòng, nối với chân P2 và đưa data ra 4 led.
Mã chương trình:
ORG 0000H
MOV DPTR,#NHOM_4
LOOP: MOV R2,#0 ;BỘ ĐẾM DỊCH
LOOP2: MOV R5,#78 ;SỐ LẦN QUÉT TẠO DELAY
LOOP1: MOV R0,#0 ;MẢ QUÉT HÀNG
MOV R1,#0 ;MẢ QUÉT CỘT
LOOP3: MOV A,R1
MOV P2,A ;XUẤT MÃ QUÉT CỘT
MOV A,R0
ADD A,R2
MOVC A,@A+DPTR ;TRA BẢNG
MOV P1,A ;XUẤT MẢ QUÉT HÀNG
CALL DELAY1
INC R0
INC R1
CJNE R1,#32,LOOP3
DJNZ R5,LOOP1
INC R2
CJNE R2,#155,LOOP2
LJMP LOOP
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
DELAY1: MOV TMOD,#02H
MOV TH0,#(-200)
SETB TR0
JNB TF0,$
CLR TF0
RET
END
Em không hiểu cách quét matran nó ntn?
Mấy con số 78, 32, 155 có ý nghĩa thế nào?
Trong mã có một dòng:
MOVC A,@A+DPTR ;TRA BẢNG
MOV P1,A ;XUẤT MẢ QUÉT HÀNG
Không lẽ đưa cả bảng tra DPTR ra chân P1 hả các bác?
Các bác giải thích bằng lời đoạn mã trên giúp em nhé.
Mô phỏng bẳng protus, chạy chình xác, các bác tải về xem thử.
http://www.mediafire.com/?d9ni19qwmng
Đề tài: hiển thị tên các sinh viên thực hiện trên ma trận led 8 hàng x 32 cột. các chữ được dịh từ phải sang trái và lập lại.(chữ trong bài này là: DUY-HUY-KHOA-THINH-VAN). Mỗi cột dịch trong 0.5s.
Sơ đỗ mắc như sau:
(các bác phóng lớn hình nhín cho rõ)
IC 74138 để quét và chôt cột quét, nối từ port 2 và đưa data ra 4 led.
IC 74373 để đệm dòng, nối với chân P2 và đưa data ra 4 led.
Mã chương trình:
ORG 0000H
MOV DPTR,#NHOM_4
LOOP: MOV R2,#0 ;BỘ ĐẾM DỊCH
LOOP2: MOV R5,#78 ;SỐ LẦN QUÉT TẠO DELAY
LOOP1: MOV R0,#0 ;MẢ QUÉT HÀNG
MOV R1,#0 ;MẢ QUÉT CỘT
LOOP3: MOV A,R1
MOV P2,A ;XUẤT MÃ QUÉT CỘT
MOV A,R0
ADD A,R2
MOVC A,@A+DPTR ;TRA BẢNG
MOV P1,A ;XUẤT MẢ QUÉT HÀNG
CALL DELAY1
INC R0
INC R1
CJNE R1,#32,LOOP3
DJNZ R5,LOOP1
INC R2
CJNE R2,#155,LOOP2
LJMP LOOP
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
DELAY1: MOV TMOD,#02H
MOV TH0,#(-200)
SETB TR0
JNB TF0,$
CLR TF0
RET
END
Em không hiểu cách quét matran nó ntn?
Mấy con số 78, 32, 155 có ý nghĩa thế nào?
Trong mã có một dòng:
MOVC A,@A+DPTR ;TRA BẢNG
MOV P1,A ;XUẤT MẢ QUÉT HÀNG
Không lẽ đưa cả bảng tra DPTR ra chân P1 hả các bác?
Các bác giải thích bằng lời đoạn mã trên giúp em nhé.
Mô phỏng bẳng protus, chạy chình xác, các bác tải về xem thử.
http://www.mediafire.com/?d9ni19qwmng
Comment