mình đang làm mạch đếm số từ 0 đến 99, nhưng chắc vì chưa hiểu rõ kỹ thuật quét led nên mạch mình làm, 2 con đèn led 7đoạn nó chưa sáng liên tục đc mà cứ chớp tắt, mọi người xem rồi giúp mình với, tại đây là bài báo cáo vi xử lý của mình, cám ơn mọi người nha
org 0000h
main:
mov r0,#00h
quet:
mov r1,#07h
loop:
mov a,r0
mov b,#10
div ab
mov dptr,#bangled
movc a,@a+dptr
mov p2,a
clr p3.6
call delayms
setb p3.6
mov a,b
mov dptr,#bangled
movc a,@a+dptr
mov p2,a
clr p3.7
call delayms
setb p3.7
djnz r1,loop
inc r0
cjne r0,#99,quet
call delay500ms
sjmp main
delay500ms:
mov r5,#5
d1:
mov r4,#200
d2:
mov r3,#250
djnz r3,$
djnz r4,d2
djnz r5,d1
ret
delayms:
mov r7,#200
d:
mov r6,#200
djnz r6,$
djnz r7,d
ret
bangled:
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H
end
main:
mov r0,#00h
quet:
mov r1,#07h
loop:
mov a,r0
mov b,#10
div ab
mov dptr,#bangled
movc a,@a+dptr
mov p2,a
clr p3.6
call delayms
setb p3.6
mov a,b
mov dptr,#bangled
movc a,@a+dptr
mov p2,a
clr p3.7
call delayms
setb p3.7
djnz r1,loop
inc r0
cjne r0,#99,quet
call delay500ms
sjmp main
delay500ms:
mov r5,#5
d1:
mov r4,#200
d2:
mov r3,#250
djnz r3,$
djnz r4,d2
djnz r5,d1
ret
delayms:
mov r7,#200
d:
mov r6,#200
djnz r6,$
djnz r7,d
ret
bangled:
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H
end
Comment