;NAME: 數碼管0~9的顯示
;AUTOR:
;TIEE: 2012年3月29日 13:22:22
;CONTENT: 數碼管0~9的顯示,延時1s(沒有通過用計數器的延時)
6 ORG 0000H
7 SJMP MAIN
8 ORG 0030H
9 MAIN:
10 LOOP1: MOV A, #00H
11 MOV R5,#00H
12 MOV DPTR, #TAB ;首地址即0C0HQA的地址
13 LOOP2:
14 MOV A, R5
15 MOVC A, @A+DPTR
16 MOV P1, A
17 CALL DELAY
18 CJNE R5, #0AH , FLAG ;比較R5是否等于10,若不是向FLAG跳轉
19 SJMP LOOP1 ;當R5等與10,重新開始,即跳到了LOOP1:A的值變?yōu)?
20 FLAG: INC R5
21 SJMP LOOP2 ;當R5不等于10,程序跳到了LOOP2,即顯示下一個數字
22
23 ;執(zhí)行1s的延時程序
24 DELAY:
25 MOV R7, #1DH
26 DL1:
27 MOV R6, #10H
28 DL0:
29 MOV R4, #0B2H
30
31 DJNZ R4, $
32 DJNZ R6, DL0
33 DJNZ R7, DL1
34 RET
35
36 ;DELAY:
37 ; MOV R0, #250D
38 ; DJNZ R0, DELAY1
39 ;DELAY1:
40 ; MOV R1, #250D
41 ; DJNZ R1, DELAY2
42 ;DELAY2:
43 ; MOV R2, #250D
44 ; DJNZ R2, $
45 ; RET
46
47 TAB:
48 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
49 END