模拟计算器十进制整数输入及显示课程设计.docx
- 文档编号:18480324
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:18
- 大小:16.43KB
模拟计算器十进制整数输入及显示课程设计.docx
《模拟计算器十进制整数输入及显示课程设计.docx》由会员分享,可在线阅读,更多相关《模拟计算器十进制整数输入及显示课程设计.docx(18页珍藏版)》请在冰点文库上搜索。
模拟计算器十进制整数输入及显示课程设计
模拟计算器十进制整数输入及显示课程设计
XX文库搜索“模拟计算器数字输入及显示课程设计”并将程序清单中的程序改成以下程序:
ORG0000H
LJMPSTART
ORG0030H
START:
MOV30H,#00H
MOV38H,#00H
MOV39H,#00H
MOV3AH,#00H
MOV3BH,#00H
MOV3CH,#00H
MOV3DH,#00H
MOV3EH,#00H
MOV3FH,#00H
MOV40H,#00H
MOV41H,#00H
MOV42H,#00H
MOV43H,#00H
MOV44H,#00H
MOV50H,#0E0H
MOV51H,#0D0H
MOV52H,#0B0H
MOV53H,#70H
LOOP3:
ACALLDISPLAY
MOVR0,#50H
MOVR7,#04H
LOOP1:
MOVA,@R0
MOVP3,A
MOVA,#0FFH
MOVP1,A
MOVA,P1
ANLA,#0FH
MOVR5,A
CJNEA,#0FH,LOOP2
INCR0
DJNZR7,LOOP1
JMPLOOP3
LOOP2:
MOVR4,#0A0H
TFF:
ACALLDELAY1mS
DJNZR4,TFF
SS:
MOVA,#0FFH
MOVP1,A
MOVA,P1
ANLA,#0FH
CJNEA,#0FH,SS
MOVA,42H
CJNEA,#01H,NEXT1
MOV40H,#00H
MOV42H,#00H
NEXT1:
CJNE@R0,#0E0H,ROW2KEY
MOVA,R5
ORLA,@R0
CJNEA,#0EEH,KEY2
MOVA,40H
CJNEA,#08H,TW1
ACALLWARNNING
JMPLOOP3
TW1:
INC40H
MOVA,#07H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY2:
CJNEA,#0EDH,KEY3
MOVA,40H
CJNEA,#08H,TW2
ACALLWARNNING
JMPLOOP3
TW2:
INC40H
MOVA,#08H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY3:
CJNEA,#0EBH,KEY4
MOVA,40H
CJNEA,#08H,TW3
ACALLWARNNING
JMPLOOP3
TW3:
MOVA,#09H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY4:
ACALLJUDEG
ACALLCHANGE
MOV42H,#01H
MOV41H,#04H
JMPLOOP3
ROW2KEY:
CJNE@R0,#0D0H,ROW3KEY
MOVA,R5
ORLA,@R0
CJNEA,#0DEH,KEY5
MOVA,40H
CJNEA,#08H,TW4
ACALLWARNNING
JMPLOOP3
TW4:
INC40H
MOVA,#04H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY5:
CJNEA,#0DDH,KEY6
MOVA,40H
CJNEA,#08H,TW5
ACALLWARNNING
JMPLOOP3
TW5:
MOVA,#05H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY6:
CJNEA,#0DBH,KEY7
MOVA,40H
CJNEA,#08H,TW6
ACALLWARNNING
JMPLOOP3
TW6:
MOVA,#06H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY7:
ACALLJUDEG
ACALLCHANGE
MOV42H,#01H
MOV41H,#03H
JMPLOOP3
ROW3KEY:
CJNE@R0,#0B0H,ROW4KEY
MOVA,R5
ORLA,@R0
CJNEA,#0BEH,KEY8
MOVA,40H
CJNEA,#08H,TW7
ACALLWARNNING
JMPLOOP3
TW7:
MOVA,#01H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY8:
CJNEA,#0BDH,KEY9
MOVA,40H
CJNEA,#08H,TW8
ACALLWARNNING
JMPLOOP3
TW8:
MOVA,#02H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY9:
CJNEA,#0BBH,KEY10
MOVA,40H
CJNEA,#08H,TW9
ACALLWARNNING
JMPLOOP3
TW9:
MOVA,#03H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY10:
ACALLJUDEG
ACALLCHANGE
MOV42H,#01H
MOV41H,#02H
JMPLOOP3
ROW4KEY:
MOVA,R5
ORLA,@R0
CJNEA,#7EH,KEY11
JMPSTART
KEY11:
CJNEA,#7DH,KEY12
MOVA,40H
JZQQ
CJNEA,#08H,TW10
ACALLWARNNING
JMPLOOP3
TW10:
MOVA,#00H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
QQ:
MOVA,#00H
INC40H
MOV43H,A
ACALLMOVE
ACALLCHANGE11
JMPLOOP3
KEY12:
CJNEA,#07BH,KEY13
ACALLJUDEG
ACALLCHANGE
MOV41H,#00H
MOV42H,#01H
MOV3CH,#00H
MOV3DH,#00H
JMPLOOP3
KEY13:
ACALLJUDEG
ACALLCHANGE
MOV42H,#01H
MOV41H,#01H
JMPLOOP3
MOVE:
MOVR1,#30H
MOVR6,40H
DDD:
XCHA,@R1
NOP
NOP
NOP
NOP
INCR1
DJNZR6,DDD
RET
MAKEADD:
MOVA,R0
MOVR2,A
MOVA,R3
MOVR7,A
CLRC
LOP:
MOVA,@R0
ADDCA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR7,LOP
JNCNEXT
INCR3
MOV@R0,#01H
NEXT:
MOVA,R2
MOVR0,A
RET
MAKESUB:
CLR07H
MOVA,R0
MOVR2,A
MOVA,R3
MOVR7,A
CLRC
LOP1:
MOVA,@R0
SUBBA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR7,LOP1
JNCLOP2
SETB07H
LOP2:
MOVA,R2
MOVR0,A
RET
MAKEMUL:
MOVA,R3
MOVB,R7
MULAB
XCHA,R7
MOVR5,B
MOVB,R2
MULAB
ADDA,R5
MOVR4,A
CLRA
ADDCA,B
MOVR5,A
MOVA,R6
MOVB,R3
MULAB
ADDA,R4
XCHA,R6
XCHA,B
ADDCA,R5
MOVR5,A
MOVF0,C
MOVA,R2
MULAB
ADDA,R5
MOVR5,A
CLRA
MOVACC.0,C
MOVC,F0
ADDCA,B
MOVR4,A
RET
MAKEDIV:
MOVA,R5
CLRC
SUBBA,R3
MOVA,R4
SUBBA,R2
JNCDIV11
MOVB,#16
DIV22:
CLRC
MOVA,R7
RLCA
MOVR7,A
MOVA,R6
RLCA
MOVR6,A
MOVA,R5
RLCA
MOVR5,A
XCHA,R4
RLCA
XCHA,R4
MOVF0,C
CLRC
SUBBA,R3
MOVR1,A
MOVA,R4
SUBBA,R2
JBF0,DIV33
JCDIV44
DIV33:
MOVR4,A
MOVA,R1
MOVR5,A
INCR7
DIV44:
DJNZB,DIV22
CLRF0
RET
DIV11:
SETBF0
RET
CHANGE11:
MOVR0,#40H
CJNE@R0,#01H,TA1
MOV38H,43H
JMPTA2
TA1:
MOVR3,38H
MOVR2,39H
MOVR6,#00H
MOVR7,#0AH
ACALLMAKEMUL
MOV39H,R6
MOV38H,R7
MOV3AH,R5
MOV3BH,R4
MOVR0,#38H
MOVR1,#43H
MOVR3,#02H
ACALLMAKEADD
TA2:
RET
CHANGE:
MOV40H,#00H
MOVR0,#30H
MOVR7,3CH
MOVR6,3DH
TD1:
MOVR5,#00H
MOVR4,#00H
MOVR2,#00H
MOVR3,#0AH
INC40H
ACALLMAKEDIV
MOVA,R5
MOV@R0,A
INCR0
MOVA,R6
CJNEA,#00H,TD1
MOVA,R7
CJNEA,#00H,TD1
RET
JUDEG:
MOVA,3AH
JZJUD1
ACALLERROR
LJMPLOOP3
JUD1:
MOVR1,#38H
MOVA,41H
CJNEA,#00H,TB
MOV3CH,@R1
INCR1
MOV3DH,@R1
JMPTBB
TB:
CJNEA,#01H,TB1
MOVR0,#3CH
MOVR3,#02H
ACALLMAKEADD
MOVA,R3
CJNEA,#03H,JUD2
ACALLERROR
LJMPLOOP3
JUD2:
JMPTBB
TB1:
CJNEA,#02H,TB2
MOVR0,#3CH
MOVR3,#02H
ACALLMAKESUB
JNB07H,JUD4
ACALLERROR
LJMPLOOP3
JUD4:
JMPTBB
TB2:
CJNEA,#03H,TB3
MOVR3,3CH
MOVR2,3DH
MOVR6,39H
MOVR7,38H
ACALLMAKEMUL
MOV3DH,R6
MOV3CH,R7
MOV3EH,R5
MOV3FH,R4
MOVA,R5
JZJUD3
ACALLERROR
LJMPLOOP3
JUD3:
JMPTBB
TB3:
MOVR7,3CH
MOVR6,3DH
MOVR5,#00H
MOVR4,#00H
MOVR2,39H
MOVR3,38H
ACALLMAKEDIV
MOV3CH,R7
MOV3DH,R6
JNBF0,TBB
ACALLERROR
LJMPLOOP3
TBB:
MOV38H,#00H
MOV39H,#00H
MOV3AH,#00H
MOV3BH,#00H
RET
WARNNING:
CLRP3.0
SETBP3.0
MOVR4,#0FFH
TFg:
ACALLDELAY1mS
DJNZR4,TFg
RET
ERROR:
MOVR0,#30H
MOVA,#0AH
MOVR5,#08H
MOV40H,#08H
ET:
MOV@R0,A
INCR0
INCA
DJNZR5,ET
RET
DISPLAY:
MOVDPTR,#TABLE1
MOVR0,#30H
MOVR1,#80H
MOVR5,40H
NEXTF:
MOVP2,R1
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY1mS
MOVA,P2
RRA
MOVR1,A
INCR0
MOVA,R5
JZAA
DJNZR5,NEXTF
AA:
RET
DELAY1mS:
MOVR7,#02H
DL:
MOVR6,#0FFH
DL6:
DJNZR6,DL6
DJNZR7,DL
RET
TABLE1:
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H
DB0CEH,0C0H,0CEH,0CEH,86H,0FFH,0FFH,0FFH
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 计算器 十进制 整数 输入 显示 课程设计