mình đang làm cho hiển thị led 7 đoạn đếm từ 0000 đến 1234 thì ngưng, nhưng làm mãi chẳng đc, 4 led được nối vào port p0 và đc cho phép bởi port p1
mong các bạn giúp đỡ,
mình viết 1 cái nhưng nó chạy đến 9999 lun.
$mod51
ORG 00H
MAIN:
MOV DPTR,#DULIEU
MOV R0,#00H
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
TANGDONVI:
MOV R4,#100
VONGLAP:
MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0FEH
LCALL DELAY10
MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0FDH
LCALL DELAY10
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0FBH
LCALL DELAY10
MOV A,R3
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0F7H
LCALL DELAY10
DJNZ R4,VONGLAP
INC R0
CJNE R0,#10,TANGDONVI
MOV R0,#00H
INC R1
CJNE R1,#10,TANGDONVI
MOV R1,#00H
INC R2
CJNE R2,#10,TANGDONVI
MOV R2,#00H
INC R3
CJNE R3,#10,TANGDONVI
MOV R3,#00H
SJMP MAIN
DULIEU:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELAY10:
PUSH 00H
MOV R5,10
MOV TMOD,#01H
LOOP:
MOV TH0,#HIGH(-100)
MOV TL0,#LOW(-100)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R5,LOOP
POP 00H
RET
END
mong các bạn giúp đỡ,
mình viết 1 cái nhưng nó chạy đến 9999 lun.
$mod51
ORG 00H
MAIN:
MOV DPTR,#DULIEU
MOV R0,#00H
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
TANGDONVI:
MOV R4,#100
VONGLAP:
MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0FEH
LCALL DELAY10
MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0FDH
LCALL DELAY10
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0FBH
LCALL DELAY10
MOV A,R3
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#0F7H
LCALL DELAY10
DJNZ R4,VONGLAP
INC R0
CJNE R0,#10,TANGDONVI
MOV R0,#00H
INC R1
CJNE R1,#10,TANGDONVI
MOV R1,#00H
INC R2
CJNE R2,#10,TANGDONVI
MOV R2,#00H
INC R3
CJNE R3,#10,TANGDONVI
MOV R3,#00H
SJMP MAIN
DULIEU:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELAY10:
PUSH 00H
MOV R5,10
MOV TMOD,#01H
LOOP:
MOV TH0,#HIGH(-100)
MOV TL0,#LOW(-100)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R5,LOOP
POP 00H
RET
END
Comment