单片机中怎样用汇编语言在数码管上显示1、2、3、4要求用定时计数器中断并延时2ms?

如题所述

ORG 0000H ; 数码管共阴 供参考
AJMP MAIN ; 显示 0 1 2 3 4 5 6 7 8 9
ORG 000BH
T0MS EQU NOT 50000 ; 100 mS 晶振 6.000 MHz
PJSBZ EQU 20H
PJSBZY EQU 21H
PST0: MOV TL0, #LOW T0MS ; T0 中断
MOV TH0, #HIGH T0MS
SETB PJSBZ ; 100 mS 标志
DJNZ R6, PST02
MOV R6, #20 ; 100 mS * 20 = 2 S
SETB PJSBZY ; 2 S 标志
PST02: RETI

MAIN: MOV TMOD, #01H
MOV IE, #82H ; 开 T0 中断
MOV SP, #30H
MOV TL0, #LOW T0MS ; TO 100MS 中断 计时 0
MOV TH0, #HIGH T0MS
SETB TR0
MOV R6, #10 ; 计时初值
MOV DPTR,#TAB
MAIN1: MOV R0, #0
MAIN2: JNB PJSBZY, $ ; 2 S
CLR PJSBZY
MOV A, R0
MOVC A,@A+DPTR
MOV SBUF, A
INC R0
CJNE R0, #0AH, MAIN2
AJMP MAIN1
TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH
DB 77H, 7CH, 39H, 5EH, 79H, 71H

END
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-29
ORG 0000H
AJMP XGC
ORG 0030H
XGC: MOV R3,#01H
MOV R4,#00H
MOV R5,#250
MOV R6,#250
MOV R0,#07H
XGC1: MOV A,R4
MOV DPTR,#CB
MOVC A,@A+DPTR
MOV P2,R3
MOV P0,A
DJNZ R5,XGC1
DJNZ R6,XGC1
INC R4
MOV A,R3
RL A
MOV R3,A
DJNZ R0,XGC1
LJMP $
CB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH
END
第2个回答  2012-06-02
最讨厌这样的问题,不同的单片机,不同的外设,不同的数码管,使用不同的引脚都是不一样的,这种不会自己研究只想着坐享其成的人真是讨厌。
相似回答