发表于:2007/6/20 17:14:00
#0楼
;二进制00001111乘00001111在数码管显示程序即15乘15
;在自己开发的电路板运行通过
GDM EQU 50H ;定义寄存单元个位
SDM EQU 51H ;定义寄存单元十位
BDM EQU 52H ;定义寄存单元百位
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SCON,#00H
MOV B,#0FH ;二进制00001111
MOV A,#0FH ;二进制00001111
MUL AB ;累加器内容与寄存器B内容相乘
MOV R0,A ;累加器A内容送寄存器R0
MOV B,#64H ;/100分离数据百位
MOV A,R0
DIV AB
MOV R1,A
MOV A,B
MOV B,#0AH ;/10分离数据十位
DIV AB
MOV R2,A
MOV A,B
MOV B,#01H ;/1分离数据个位
DIV AB
MOV R3,A
LCALL XSCL
MOV SBUF,BDM
MOV P1,R3
LCALL TT ;164串行发送数据,共三位。百位十位个位
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
DB 6DH,7DH,07H,7FH,6FH
END
最后显示225
czha1@yahoo.com.cn
13775061792
江苏常州