程序用BASIC语言写的,用反汇编转换出来大家学习
计数器0,定时器1作1ms定时,
p2.7--位
P2.6--十位
P2.5--个位
P1---------七段码输出p1.0----p1.7=a----h
p0.0-p0.3百 位直径BCD码
P0.4-P0.7 十位直径BCD码
P2.0-P2.3 个位直径BCD码
P3.4 脉冲输入
直径以毫米为单位设置
输出显示单位为米,小数点后一位,如果测量大于99.9米,小数后一位不显示,小数点不显示
;==============================================
;===========Disassemble information============
;==============================================
; File Name: E:\单片机\单片机程序\BASIC\LED显示线速表.BIN
; Type: MCS-51反编译器
; Date: 2005-11-30
;==============================================
;==============================================
Q0000: LJMP Q01F2
;===========================================
Q0003: RETI
;===========================================
Q0004: DB 00H,00H,00H,00H,00H,00H,00H ;.......
;===========================================
Q000B: LJMP Q0526
;===========================================
Q000E: DB 00H,00H,00H,00H,00H ;.....
;===========================================
Q0013: RETI
;===========================================
Q0014: DB 00H,00H,00H,00H,00H,00H,00H ;.......
;===========================================
Q001B: LJMP Q0560
;===========================================
Q001E: DB 00H,00H,00H,00H,00H ;.....
;===========================================
Q0023: RETI
;===========================================
Q0024: DB 00H,00H,00H,00H,00H,00H,00H,32H ;.......2
DB 00H,00H,00H,00H,00H,00H,00H,00H ;........
DB 00H,00H,00H,00H,00H,00H,00H,00H ;........
DB 00H,00H,00H,00H ;....
;===========================================
Q0040: LCALL Q004C
JZ Q0049
JC Q0049
CLR A
RET
;===========================================
Q0049: MOV A,#01H
RET
;===========================================
Q004C: CLR C
MOV A,R5
CJNE A,07H,Q0057
MOV A,R4
CJNE A,06H,Q0057
CLR A
RET
;===========================================
Q0057: MOV A,#01H
RET
;===========================================
Q005A: DB AEH,02H,E6H,F7H,08H,09H,DEH,FAH ;........
DB 22H ;"
;===========================================
Q0063: MOV R0,A
Q0064: MOV A,#A6H
Q0066: INC A
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
JNZ Q0066
NOP
DJNZ R0,Q0064
RET
;===========================================
Q0075: CLR C
MOV R6,02H
Q0078: MOV A,@R0
ADDC A,@R1
MOV @R1,A
INC R0
INC R1
DJNZ R6,Q0078
RET
;===========================================
Q0080: MOV A,#08H
PUSH B
MOV B,02H
MUL AB
MOV R7,A
POP B
MOV R0,#10H
ACALL Q00A3
Q008F: CLR C
MOV R0,#10H
ACALL Q00AB
MOV R0,#08H
ACALL Q00AB
JNC Q00A0
MOV R0,#0CH
MOV R1,#10H
ACALL Q0075
Q00A0: DJNZ R7,Q008F
RET
;===========================================
Q00A3: MOV R6,02H
Q00A5: MOV @R0,#00H
INC R0
DJNZ R6,Q00A5
RET
;===========================================
Q00AB: MOV R6,02H
Q00AD: MOV A,@R0
RLC A
MOV @R0,A
INC R0
DJNZ R6,Q00AD
RET
;===========================================
Q00B4: MOV R0,#0CH
ACALL Q00A3
JB 20H.1,Q00CC
CLR F0
MOV A,#08H
ADD A,R2
DEC A
MOV R0,A
MOV A,@R0
JNB ACC.7,Q00CC
CPL F0
MOV R0,#08H
ACALL Q012F
Q00CC: JB 20H.1,Q00DE
MOV A,#10H
ADD A,R2
DEC A
MOV R0,A
MOV A,@R0
JNB ACC.7,Q00DE
CPL F0
MOV R0,#10H
ACALL Q012F
Q00DE: MOV R0,#10H
MOV R1,#08H
MOV B,#08H
MOV A,R2
MUL AB
MOV R3,A
Q00E8: MOV A,@R0
ADD A,@R0
MOV @R0,A
PUSH PSW
CJNE R2,#01H,Q00F4
POP PSW
SJMP Q00FF
Q00F4: POP PSW
MOV R6,02H
DEC R6
Q00F9: INC R0
MOV A,@R0
RLC A
MOV @R0,A
DJNZ R6,Q00F9
Q00FF: MOV R0,#0CH
MOV R6,02H
Q0103: MOV A,@R0
RLC A
MOV @R0,A
INC R0
DJNZ R6,Q0103
MOV R6,02H
MOV R0,#0CH
Q010D: MOV A,@R0
SUBB A,@R1
INC R1
INC R0
DJNZ R6,Q010D
DEC R1
MOV R0,#10H
JC Q012A
MOV R1,#08H
CLR C
MOV R0,#0CH
MOV R6,02H
Q011F: MOV A,@R0
SUBB A,@R1
MOV @R0,A
INC R1
INC R0
DJNZ R6,Q011F
MOV R0,#10H
DEC R1
INC @R0
Q012A: MOV R1,#08H
DJNZ R3,Q00E8
RET
;===========================================
Q012F: MOV R6,02H
SETB C
Q0132: MOV A,@R0
CPL A
ADDC A,#00H
MOV @R0,A
INC R0
DJNZ R6,Q0132
RET
;===========================================
Q013B: CLR F0
PUSH 04H
PUSH 05H
MOV R4,06H
MOV R5,07H
MOV A,R5
JNB ACC.7,Q0152
CPL F0
LCALL Q0160
MOV R6,04H
MOV R7,05H
Q0152: POP 05H
POP 04H
MOV A,R5
JNB ACC.7,Q015F
CPL F0
LCALL Q0160
Q015F: RET
;===========================================
Q0160: MOV A,R5
CPL A
MOV R5,A
MOV A,R4
CPL A
ADD A,#01H
MOV R4,A
JNC Q016B
INC R5
Q016B: RET
;===========================================
Q016C: MOV B,#10H
CLR A
MOV R0,A
MOV R1,A
MOV R2,A
MOV R3,A
Q0174: CLR C
MOV A,R4
RLC A
MOV R4,A
MOV A,R5
RLC A
MOV R5,A
MOV A,R2
RLC A
MOV R2,A
MOV A,R3
RLC A
MOV R3,A
CLR C
MOV A,R2
SUBB A,R6
MOV DPL,A
MOV A,R3
SUBB A,R7
JC Q018D
MOV R3,A
MOV R2,DPL
Q018D: CPL C
MOV A,R0
RLC A
MOV R0,A
MOV A,R1
RLC A
MOV R1,A
DJNZ B,Q0174
CLR C
RET
;===========================================
Q0199: JB 20H.1,Q019F
LCALL Q013B
Q019F: LCALL Q016C
MOV R4,00H
MOV R5,01H
JB 20H.1,Q01AF
JNB F0,Q01AF
LCALL Q0160
Q01AF: RET
;===========================================
Q01B0: MOV DPH,R5
JB 20H.1,Q01B8
LCALL Q013B
Q01B8: LCALL Q016C
MOV R4,02H
MOV R5,03H
MOV A,DPH
JB 20H.1,Q01CA
JNB ACC.7,Q01CA
LCALL Q0160
Q01CA: RET
;===========================================
Q01CB: MOV A,@R0
ADD A,#01H
MOV @R0,A
MOV R2,A
INC R0
MOV A,@R0
ADDC A,#00H
MOV @R0,A
ORL A,R2
RET
;===========================================
Q01D7: DB C3H,ECH,33H,FCH,EDH,33H,FDH ;..3..3.
;===========================================
Q01DE: MOV A,DPL
ADD A,R4
MOV DPL,A
MOV A,DPH
ADDC A,R5
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV 08H,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV 09H,A
RET
;===========================================
Q01F2: MOV 20H,#00H
MOV SP,#60H
MOV 2DH,#00H
MOV 2EH,#00H
MOV 2FH,#00H
MOV 30H,#00H
MOV 21H,#00H
MOV P1,#00H
CLR P2.7
CLR P2.6
CLR P2.5
MOV TMOD,#14H
MOV TH1,#FCH
MOV TL1,#18H
MOV TH0,#FFH
MOV TL0,#16H
SETB PT0
SETB TR0
SETB ET0
SETB TR1
SETB ET1
SETB EA
Q022B: MOV A,21H
CJNE A,#C8H,Q0232
SJMP Q0234
Q0232: JNC Q0237
Q0234: LJMP Q024A
;===========================================
Q0237: MOV C,20H.5
MOV 20H.4,C
JNC Q0240
LJMP Q0247