không hiểu tại sao mà con 89s52 mình không quyét led 7 đoan dc.chạy từ 0-9 thì chỉ ra số 0 thôi,còn cho hiện 0123 ra 4led thì hiện được hai số 0 và 1,delay thì mình viết >1 giây mà nó cứ chết chân ko chớp gì hết . dùng mổi lệnh: mov r1,#255 ,djnz r1 $ ,thì led chớp rất kỳ,khoảng 100ms.
http://c.upanh.com//upload/4/1012/CS0.9143072_1_1.jpg
http://www.upanh.com/screenshot---3_.../v/9143072.htm
main:
mov 40h,#00h
mov p2,#00h
mov r1,#255
lap:
mov a,40h
mov dptr,#led7
movc a,@a+dptr
mov p0,a
setb p2.0
call delay
clr p2.0
inc 40h
mov a,40h
cjne a,#10,lap
jmp main
led7: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
delay:
push 07
push 06
mov r5,#255
L1:
mov r6,#255
l2:
mov r7,#255
djnz r7,$
djnz r6,l2
djnz r5,l1
pop 06
pop 07
ret
end
http://c.upanh.com//upload/4/1012/CS0.9143072_1_1.jpg
http://www.upanh.com/screenshot---3_.../v/9143072.htm
main:
mov 40h,#00h
mov p2,#00h
mov r1,#255
lap:
mov a,40h
mov dptr,#led7
movc a,@a+dptr
mov p0,a
setb p2.0
call delay
clr p2.0
inc 40h
mov a,40h
cjne a,#10,lap
jmp main
led7: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
delay:
push 07
push 06
mov r5,#255
L1:
mov r6,#255
l2:
mov r7,#255
djnz r7,$
djnz r6,l2
djnz r5,l1
pop 06
pop 07
ret
end