帮帮忙!!!
a_bit equ 20h ;个位数存放处
b_bit equ 21h ;十位数存放处
temp equ 22h ;计数器寄存器
AN BIT P3.1
BN BIT P3.0
ORG 0000H
LJMP START
ORG 0100H
START:
MOV temp,#00H
NEXT: MOV A,temp
MOV B,#10
DIV AB
mov b_bit,a ;十位在a
mov a_bit,b ;个位在b
MOV DPTR,#numtab
mov r0,#4
dpl1: mov r1,#250 ;显示1000次
dplop: mov a,a_bit ;取个位数
MOVC A,@A+DPTR ;查个位数的7段代码
mov p0,a ;送出个位的7段代码
clr p1.7 ;开个位显示
acall d1ms ;显示1ms
setb p1.7
mov a,b_bit ;取十位数
MOVC A,@A+DPTR ;查十位数的7段代码
mov p0,a ;送出十位的7段代码
clr p1.6 ;开十位显示
acall d1ms ;显示1ms
setb p1.6
djnz r1,dplop ;100次没完循环
djnz r0,dpl1 ;4个100次没完循环
JB AN,Q1 ;按键检测
acall d1ms ;显示1ms
INC temp ;计数加一
MOV A,temp
MOV B,#10
DIV AB
mov b_bit,a ;十位在a
mov a_bit,b ;个位在NE A,#100,NEXT
CJNE A,#100,NEXT
Q1:JB BN,NEXT ;按键检测
acall d1ms ;显示1ms
DEC temp ;计数减一
MOV A,temp
MOV B,#10
DIV AB
mov b_bit,a ;十位在a
mov a_bit,b ;个位在
CJNE A,#0,NEXT
LJMP START
;*************************1MS延时(按12MHZ算)************************
D1MS: MOV R7,#25 ;
D1:MOV R6,#2 ;
D2:DJNZ R6,$ ;
DJNZ R7,D1
RET
numtab:DB 84H,0bdH,04cH,01cH,35H,16H,06H,0bCH,04H,14H
END
转0---100有问题。。。
能加入编码开关就更好啦!!!!
发表时间:2006年4月27日18:53:21