Các anh cho em hỏi. Em viết 2 chương trinh asm quet led theo hai chiều trai sang phải và ngược lại. Nhưng bây giò làm thế nào để ghép 2 chương trình này với nhau nạp vào 8051 để khi bật lên nó có thể tự động chạy theo 2 chiều tuần tự.
Thông báo
Collapse
No announcement yet.
Hỏi về quét led matrix
Collapse
X
-
ban có thể tham khảo cái của mình sau đây thử,mình mô phỏng thấy cũng đc
$MOD51
ORG 00H
MAIN:
SDATA BIT P2.0
CK BIT P2.2
CLEAR BIT P2.1
//************************************************** *************
PHAI_TRAI:
MOV DPTR,#DATABASE ;DIA CHI NAP DU LIEU, DAT CON
; TRO CUOI VUNG MA
MP5:
MOV R0,#10 ;THOI GIAN CUA 1 TRANG THAI MAN
;HINH LED
MP6:
LCALL SCANDATA ;HIEN THI DU LIEU
DJNZ R0,MP6
INC DPTR
MOV A,DPL
MOV R1,DPH
CJNE R1,#HIGH(DATABASE+64),MP5
CJNE A,#LOW(DATABASE+64),MP5
ljmp TRAI_PHAI
TRAI_PHAI:
MOV DPTR,#DATABASE+64 ;DIA CHI NAP DU LIEU, DAT CON
; TRO CUOI VUNG MA
MP3:
MOV R0,#10
;THOI GIAN CUA 1 TRANG THAI MAN
;HINH LED
MP4:
LCALL SCANDATA ;HIEN THI DU LIEU
DJNZ R0,MP4
LCALL DEC_DPTR
MOV A,DPL
MOV R1,DPH
CJNE R1,#HIGH(DATABASE),MP3
CJNE A,#LOW(DATABASE),MP3
DEC_DPTR:
PUSH ACC
DEC DPL
MOV A,DPL
CJNE A,#00H,SKIP
DEC DPH
SKIP:
POP ACC
RET
SCANDATA:
PUSH ACC
PUSH 00H
PUSH 01H
;HIEN THI RA COT DAU TIEN
SETB SDATA
SETB CK
NOP
CLR CK
CLR SDATA
SETB CLEAR
NOP
CLR CLEAR
MOV R0,#00H
SCAN:
MOV P0,#00H
MOV A,R0
MOVC A,@A+DPTR ;NAP DU LIEU TU DATABASE VAO A
MOV P0, A ;HIEN THI RA DONG TUONG UNG
LCALL DELAYMS ;CHUONG TRINH TAO TRE 5 MS
MOV P0,#0FFH ;HIEN THI RA COT DAU TIEN
SETB CK
NOP
CLR CK
SETB CLEAR
NOP
CLR CLEAR
INC R0
CJNE R0,#32H ,SCAN
POP 01H
POP 00H
POP ACC
RET
DELAYMS:
PUSH 00H
PUSH 01H
MOV R1,#1
DEL:
MOV R0,#250
DJNZ R0,$
DJNZ R1,DEL
POP 01H
POP 00H
RET
ret
DATABASE:
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 1H,0FBH,0F7H,0EFH,1H,0FFH
DB 1H,6DH,6DH,7DH,7DH,0FFH
DB 1H,0EDH,0EDH,0EDH,0F3H,0FFH
DB 83H,7DH,7DH,7DH,83H,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH ,0FFH,0FFH ,0FFH
-
Cụ thể là mình có 2 chuơng trình riêng biệt như sau. Nhưng chưa biet cách ghép nó lạimạch em quét 4 led matrix theo cột)
Chuơng trinh trai sang phai
org 0000h ;
batdau:
mov DPTR,#maled
lap:mov r0,#30
main1 :
mov r2,#24
mov r1,#16
mov r7,#8
mov b ,#0
mov r3,#00feh
main2:
mov a,r3
rr a
mov r3,a
mov p1,a
setb p3.1
setb p3.2
setb p3.3
clr p3.0
mov a,b
movc a,@a+DPTR
mov p2,a
inc b
acall delay
cjne r3,#00feh,main2
main3:
mov a,r3
rr a
mov r3,a
mov p1,a
clr p3.1
setb p3.0
setb p3.2
setb p3.3
mov a,r7
movc a,@a+DPTR
mov p2,a
inc r7
acall delay
cjne r3,#00feh,main3
main4:
mov a,r3
rr a
mov r3,a
mov p1,a
clr p3.2
setb p3.0
setb p3.1
setb p3.3
mov a,r1
movc a,@a+DPTR
mov p2,a
inc r1
acall delay
cjne r3,#00feh,main4
main5:
mov a,r3
rr a
mov r3,a
mov p1,a
clr p3.3
setb p3.2
setb p3.0
setb p3.1
mov a,r2
movc a,@a+DPTR
mov p2,a
inc r2
acall delay
cjne r3,#00feh,main5
djnz r0,main1
inc DPTR
mov a,DPL
cjne a,#144,lap
sjmp batdau
delay :
push 04
push 05
push 06
mov r4,#4
n1:mov r5,#4
n2:mov r6,#4
n3:djnz r6,n3
djnz r5,n2
djnz r4,n1
pop 06
pop 05
pop 04
ret
delay2:
mov r4,#4
m1:mov r5,#4
m2:mov r6,#4
m3:djnz r6,m3
djnz r5,m2
djnz r4,m1
ret
org 800h
maled: db 0h, 0h, 0h, 0h, 0h, 0h ,0h, 0h
db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
DB 0H,0H,0H,0FFH,20H,10H,8H,4H,2H,0FFH,0H,3CH,42H,81H ,81H,81H,42H,3CH,80H,80H,80H,80H,80H,0FFH
DB 0H,0H,0H,0EH,11H,11H,11H,11H,0FFH,0H,0FCH,12H,11H, 11H,12H,0FCH,0H,1H,1H,1H,0FFH,1H,1H,1H
DB 0H,0H,0H,0H,0H,81H,81H,0FFH,81H,81H,0H,0FCH,12H,11 H,11H,12H,0FCH,0H,66H,99H,89H,89H,89H,0FFH
end
chuơng trình phải sang trái
org 0000h
batdau:
mov DPTR,#maled
lap:mov r0,#30
main1 :
mov r2,#24
mov r1,#16
mov r7,#8
mov b ,#0
mov r3,#7fh
main2:
mov a,r3
rl a
mov r3,a
mov p1,a
setb p3.3
setb p3.2
setb p3.3
clr p3.0
mov a,r2
movc a,@a+DPTR
mov p2,a
inc r2
acall delay
cjne r3,#07fh,main2
main3:
mov a,r3
rl a
mov r3,a
mov p1,a
clr p3.1
setb p3.0
setb p3.2
setb p3.3
mov a,r1
movc a,@a+DPTR
mov p2,a
inc r1
acall delay
cjne r3,#07fh,main3
main4:
mov a,r3
rl a
mov r3,a
mov p1,a
clr p3.2
setb p3.0
setb p3.1
setb p3.3
mov a,r7
movc a,@a+DPTR
mov p2,a
inc r7
acall delay
cjne r3,#07fh,main4
main5:
mov a,r3
rl a
mov r3,a
mov p1,a
clr p3.3
setb p3.2
setb p3.0
setb p3.1
mov a,b
movc a,@a+DPTR
mov p2,a
inc b
acall delay
cjne r3,#07fh,main5
djnz r0,main1
inc DPTR
mov a,DPL
cjne a,#200,lap
sjmp batdau
delay :
push 04
push 05
push 06
mov r4,#4
n1:mov r5,#4
n2:mov r6,#4
n3:djnz r6,n3
djnz r5,n2
djnz r4,n1
pop 06
pop 05
pop 04
ret
delay2:
mov r4,#4
m1:mov r5,#4
m2:mov r6,#4
m3:djnz r6,m3
djnz r5,m2
djnz r4,m1
ret
org 800h
maled: db 0h, 0h, 0h, 0h, 0h, 0h ,0h, 0h
db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h
DB 81H,0FFH,0FFH,99H,38H,0E5H,0C3H,81H,80H,1H,3H,0FH, 8DH,0F8H,0F0H,8CH,5H,3H,1H,0H,0H,0H,0H,0H
DB 3H,3H,81H,0FFH,0FFH,81H,3H,3H,0H,81H,0FFH,0FFH,91H ,10H,91H,0FFH,0FFH,81H,0H,1H,3FH,0FFH,0C1H,80H
DB 80H,0C1H,7FH,81H,0E0H,0B8H,1EH,13H,9EH,0F8H,0E0H,8 0H,3H,3H,81H,0FFH,0FFH,81H,3H,3H,0H,0H,0H,0H
DB 1H,7H,1FH,39H,0E0H,60H,38H,0DH,7H,1H,0H,0H,81H,0FF H,0FFH,81H,0H,0H,0H,0H,0H,0H,0H,0H
DB 81H,0C3H,0E7H,2DH,18H,38H,0E5H,0C3H,81H,0H,1H,7FH, 0FFH,81H,80H,80H,0C1H,7FH,1H,0H,0H,0H,0H,0H
DB 81H,0FFH,0FFH,81H,80H,80H,80H,0C0H,0H,1H,3H,87H,0F DH,0F8H,88H,5H,3H,1H,0H,0H,0H,0H,0H,0H
DB 81H,0FFH,0FFH,99H,18H,0B5H,0E3H,81H,0H,0H,87H,85H, 85H,8DH,79H,20H,0H,30H,38H,24H,22H,0FFH,0FFH,20H
end
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
-
Channel: Điện tử công suất
hôm nay, 13:11 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanSửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
-
Channel: Điện tử công suất
hôm nay, 09:25 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanĐúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....-
Channel: Điện thanh
hôm nay, 09:10 -
-
bởi Ng.Phuong.5Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
Mấy con...-
Channel: Cadence ORCAD
Hôm qua, 19:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhBác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...-
Channel: Điện thanh
Hôm qua, 18:12 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nguyendinhvanTheo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
Cách đơn giản...-
Channel: Điện thanh
Hôm qua, 00:04 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
-
Channel: Điện tử công suất
08-01-2025, 19:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanChủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
-
Channel: Điện tử công suất
08-01-2025, 15:43 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
-
Channel: Điện thanh
08-01-2025, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
-
Channel: Điện thanh
08-01-2025, 11:44 -
Comment