chương trình đếm từ 0 đến 90 hiển
thị trên 2 led 7 đoạn dùng trình biên
dịch assembler:
Dem EQU R2
0RG 0000H
LB: MOV DPTR,#MA7DOAN
LB2: MOV DEM,#0
LB1: CALL HEXTOBCD
CALL GIAIMA
CALL DELAY
INC DEM
CJNE DEM,#91,LB1
JMP LB2
HEXTOBCD: MOV A,DEM
MOV B,#10
DIV A,B
RET
GIAIMA: MOVC A,@A+DPTR
MOV P1,A
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
RET
DELAY: MOV 60H,#3
DEL2: MOV 61H,#255
DJNZ 62H,#$
DJNZ 61H,DEL1
DJNZ 60H,DEL2
RET
MA7DOAN: DB
0C0H,0F9H,0A4H,0B0H,099H,092H,08
2H,0F8H,080H,090H
END
chương trình đếm từ 90 về 0 hiển thị trên 2 led 7 đoạn dùng trình biên dịch assembler:
Dem EQU R2 0RG 0000H LB: MOV DPTR,#MA7DOAN LB2: MOV DEM,#90
LB1: CALL HEXTOBCD CALL GIAIMA
CALL DELAY DEC DEM CJNE DEM,#0,LB1 JMP LB2
HEXTOBCD: MOV A,DEM MOV B,#10
DIV A,B RET GIAIMA: MOVC A,@A+DPTR MOV P1,A
MOV A,B MOVC A,@A+DPTR MOV P0,A
RET DELAY: MOV 60H,#3 DEL2: MOV 61H,#255 DJNZ 62H,#$
DJNZ 61H,DEL1 DJNZ 60H,DEL2 RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,08 2H,0F8H,080H,090H
END