发表于:2007/6/20 11:08:00
#0楼
--------------------------------------------------------------------------------
本人利用自己开发的控制板做了二个二.十进制转换程序实验.并运行通过.
相当于测量温度,频率.速度所取得的二进制数.转换成十进制以便于在液晶或数码
管显示.对于注塑机测量位移有相当的一致性.程序加以改进也可应用于普通设备
的数字化测量.比如车床.铣床等需要行程测量控制的方面.具有一定的参考价值
;十进制16除2 三次分别显示在百位十位个位程序
GDM EQU 50H ;定义寄存单元个位
SDM EQU 51H ;定义寄存单元十位
BDM EQU 52H ;定义寄存单元百位
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SCON,#00H
MOV R0,#02H
MOV A,#10H
MOV B,R0
DIV A
MOV R1,A ;8
MOV B,R0
DIV AB
MOV R2,A ;4
MOV B,R0
DIV AB
MOV R3,A ;2
LCALL XSCL ;调用显示处理子程序
MOV SBUF,BDM
MOV P1,R3
LCALL TT
MOV SBUF,SDM
MOV P1,R2
LCALL TT
MOV SBUF,GDM
MOV P1,R1
LCALL TT
LOP: JB P3.2,LOP
ACALL D1
JB P3.2,LOP
CLR P3.7
AJMP MAIN
TT: JBC TI,TT
CLR TI
RET
XSCL: MOV A,R3
MOV DPTR,#TAB ;数据指针首地址
MOVC A,@A+DPTR
MOV BDM,A
MOV A,R2
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SDM,A
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV GDM,A
RET
D1: MOV R4,#0FFH
DE: MOV R5,#0FFH
DE1: DJNZ R5,DE1
DJNZ R4,DE
RET
ORG 0100H
TAB: DB 3FH,06H,5BH,4FH,66H ;共阴代码 三位数码管最后显示 8 4 2
DB 6DH,7DH,07H,7FH,6FH
END
;二进制10011000 用十进制152在数码管显示程序
GDM EQU 50H
SDM EQU 51H
BDM EQU 52H
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SCON,#00H
MOV R0,#98H ;152
MOV B,#64H ;/100除100
MOV A,R0
DIV AB
MOV R1,A
MOV A,B
MOV B,#0AH ;/10除10
DIV AB
MOV R2,A
MOV A,B
MOV B,#01H ;/1除1
DIV AB
MOV R3,A
LCALL XSCL
MOV SBUF,BDM
MOV P1,R3
LCALL TT
MOV SBUF,SDM
MOV P1,R2
LCALL TT
MOV SBUF,GDM
MOV P1,R1
LCALL TT
LOP: JB P3.2,LOP
ACALL D1
JB P3.2,LOP
CLR P3.7
AJMP MAIN
TT: JBC TI,TT
CLR TI
RET
XSCL: MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV BDM,A
MOV A,R2
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SDM,A
MOV A,R3
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV GDM,A
RET
D1: MOV R4,#0FFH
DE: MOV R5,#0FFH
DE1: DJNZ R5,DE1
DJNZ R4,DE
RET
ORG 0100H
TAB: DB 3FH,06H,5BH,4FH,66H ;三位数码管最后显示152
DB 6DH,7DH,07H,7FH,6FH
END
czha1@yahoo.com.cn
13775061792
江苏常州
本人利用自己开发的控制板做了二个二.十进制转换程序实验.并运行通过.
相当于测量温度,频率.速度所取得的二进制数.转换成十进制以便于在液晶或数码
管显示.对于注塑机测量位移有相当的一致性.程序加以改进也可应用于普通设备
的数字化测量.比如车床.铣床等需要行程测量控制的方面.具有一定的参考价值
;十进制16除2 三次分别显示在百位十位个位程序
GDM EQU 50H ;定义寄存单元个位
SDM EQU 51H ;定义寄存单元十位
BDM EQU 52H ;定义寄存单元百位
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SCON,#00H
MOV R0,#02H
MOV A,#10H
MOV B,R0
DIV A
MOV R1,A ;8
MOV B,R0
DIV AB
MOV R2,A ;4
MOV B,R0
DIV AB
MOV R3,A ;2
LCALL XSCL ;调用显示处理子程序
MOV SBUF,BDM
MOV P1,R3
LCALL TT
MOV SBUF,SDM
MOV P1,R2
LCALL TT
MOV SBUF,GDM
MOV P1,R1
LCALL TT
LOP: JB P3.2,LOP
ACALL D1
JB P3.2,LOP
CLR P3.7
AJMP MAIN
TT: JBC TI,TT
CLR TI
RET
XSCL: MOV A,R3
MOV DPTR,#TAB ;数据指针首地址
MOVC A,@A+DPTR
MOV BDM,A
MOV A,R2
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SDM,A
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV GDM,A
RET
D1: MOV R4,#0FFH
DE: MOV R5,#0FFH
DE1: DJNZ R5,DE1
DJNZ R4,DE
RET
ORG 0100H
TAB: DB 3FH,06H,5BH,4FH,66H ;共阴代码 三位数码管最后显示 8 4 2
DB 6DH,7DH,07H,7FH,6FH
END
;二进制10011000 用十进制152在数码管显示程序
GDM EQU 50H
SDM EQU 51H
BDM EQU 52H
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SCON,#00H
MOV R0,#98H ;152
MOV B,#64H ;/100除100
MOV A,R0
DIV AB
MOV R1,A
MOV A,B
MOV B,#0AH ;/10除10
DIV AB
MOV R2,A
MOV A,B
MOV B,#01H ;/1除1
DIV AB
MOV R3,A
LCALL XSCL
MOV SBUF,BDM
MOV P1,R3
LCALL TT
MOV SBUF,SDM
MOV P1,R2
LCALL TT
MOV SBUF,GDM
MOV P1,R1
LCALL TT
LOP: JB P3.2,LOP
ACALL D1
JB P3.2,LOP
CLR P3.7
AJMP MAIN
TT: JBC TI,TT
CLR TI
RET
XSCL: MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV BDM,A
MOV A,R2
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SDM,A
MOV A,R3
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV GDM,A
RET
D1: MOV R4,#0FFH
DE: MOV R5,#0FFH
DE1: DJNZ R5,DE1
DJNZ R4,DE
RET
ORG 0100H
TAB: DB 3FH,06H,5BH,4FH,66H ;三位数码管最后显示152
DB 6DH,7DH,07H,7FH,6FH
END
czha1@yahoo.com.cn
13775061792
江苏常州