本帖最后由 a742788538 于 2014-2-28 13:43 编辑
ORG 0000H
MOV IE,#00H
mov TMOD,#00H ;
mov TH1,#0FCH ; 计时周期5ms
mov TL1,#78H
MOV R0,#00h
MOV R1,#00h
MOV R2,#00h
MOV R3,#00h
MOV R4,#00h
MOV A ,#00H
MOV R5,#00H
SETB TR1
LOOP: JB TF1,LOOP1
AJMP LOOP
LOOP1: mov TH1,#0FCH ;
mov TL1,#78H
CLR TF1 ; 重新计时
INC R0
CJNE R0,#02H,SHUCHU_0 ;判断是否满10ms
MOV R0,#00H
INC R1
CJNE R1,#0AH,SHUCHU_0 ; 判断是否满100ms
MOV R1,#00H
INC R2
CJNE R2,#0AH,SHUCHU_0 ;判断是否满1s
MOV R2,#00H
INC R3
CJNE R3,#0AH,SHUCHU_0 ; ;判断是否满10s
MOV R3,#00H
INC R4
CJNE R4,#0AH,SHUCHU_0 ;判断是否满100s
AJMP
tiNGZHI_1
SHUCHU_0:INC R5 计数,
CJNE R5,#04H,SHUCHU_3
SHUCHU_4:mov R5,#00H ;第四个数码管导通
MOV A,R4
DA A
ANL A,#0FH
ORL A,#70H
AJMP XIANSHI_1
SHUCHU_3:CJNE R5,#03H,SHUCHU_2
MOV A,R3 ;第三个数码管导通
DA A
ANL A,#0FH
ORL A,#20H
AJMP XIANSHI_1
SHUCHU_2:CJNE R5,#02H,SHUCHU_1
MOV A,R2 ;第二个数码管导通
DA A
ANL A,#0FH
ORL A,#50H
AJMP XIANSHI_1
SHUCHU_1:MOV A,R1 ;第一个数码管导通
DA A
ANL A,#0FH
ORL A,#40H
AJMP XIANSHI_1
XIANSHI_1: MOV P2,A
AJMP LOOP
TINGZHI_1: CPL TR1
END
用8051
单片机,没加入外部中断,P2输出,P2.0~P2.3通过74LS47译码器(四输入七输出)控制4个数码管的显示
p2.4~p2.5通过74HC139(二输入四输出)后用三级管控制数码管共阳极
p2.6连接第二个数码管的小数点位
程序运行后得不到想要的效果,希望谁能指导一下,还有感觉程序运算复杂,第一次课设编程,水平浅薄,描述也可能不准确,希望谅解。
一周热门 更多>