?? 電動卷尺貼片段碼控制程序.asm
字號:
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
CLR FRONT
CLR BACK
MOV A,#00H
MOV DATA6,A
MOV DATA5,A
MOV DATA4,A
LJMP HCQ4
;***********************************************************************
;***********************************************************************
; 計算器功能 ***********************************************
;***********************************************************************
;***********************************************************************
CALCTER:
SETB P1.7
SETB P1.6
LCALL LCDON
CALL WR
CLR LCDDATA
CALL WRITE
CALL WRITE
CALL WRITE
CALL WRITE
CALL WRITE
CALL WRITE
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #00H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #15H
LCALL WRA
MOV A,#00H
MOV CALCNUM1,A
MOV CALCNUM2,A
MOV CALCNUM3,A
MOV CALCNUM4,A
MOV CALCNUM5,A
MOV CALCNUM6,A
LCALL DATA1XIANSHI
CALCTER1:
LCALL ANNIUJC
JNB CALC,HCQ50
LCALL POINTCL
LCALL DATAINPUT
LCALL DATA1XIANSHI
JB YUNSUAN,FUHAOXIANSHI
LJMP CALCTER1
HCQ50:
LJMP HCQ5
;*******************************************
FUHAOXIANSHI:
LCALL NUMCHULI
DATASHURU0:
MOV CALCNUMC,CALCNUM6
MOV CALCNUMB,CALCNUM5
MOV CALCNUMA,CALCNUM4
MOV CALCNUM9,CALCNUM3
MOV CALCNUM8,CALCNUM2
MOV CALCNUM7,CALCNUM1
MOV A,#00H
MOV CALCNUM1,A
MOV CALCNUM2,A
MOV CALCNUM3,A
MOV CALCNUM4,A
MOV CALCNUM5,A
MOV CALCNUM6,A
NOP
LCALL DELAY1MS
LCALL DELAY1MS
LCALL DELAY1MS
JNB JIA,JIANFA
MOV FUHAO,#01H
MOV A,#2BH
LCALL WRA
LJMP DATA2INPUT
JIANFA:
JNB JIAN,CHENGFA
MOV FUHAO,#02H
MOV A,#2DH
LCALL WRA
LJMP DATA2INPUT
CHENGFA:
JNB CHENG,CHUFA
MOV FUHAO,#03H
MOV A,#2AH
LCALL WRA
LJMP DATA2INPUT
CHUFA:
MOV FUHAO,#04H
MOV A,#2FH
LCALL WRA
DATA2INPUT:
LCALL ANNIUJC
JNB CALC,HCQ6
LCALL POINTCL
LCALL DATAINPUT
LCALL DATA1XIANSHI
JB DENGYU,JIEGUO
LJMP DATA2INPUT
HCQ6:
LJMP HCQ5
JIEGUO:
LCALL NUMCHULI
MOV R0,#CALCNUM6
LCALL BTOF
MOV R0,#CALCNUMC
LCALL BTOF
MOV R1,#CALCNUM6
MOV A,FUHAO
CJNE A,#01H,JIANFA1
LCALL FADD
AJMP YUNSUANOUT
JIANFA1:
CJNE A,#02H,CHENGFA1
LCALL FSUB
AJMP YUNSUANOUT
CHENGFA1:
CJNE A,#03H,CHUFA1
LCALL FMUL
AJMP YUNSUANOUT
CHUFA1:
CJNE A,#04H,YUNSUANOUT
LCALL FDIV
YUNSUANOUT:
LCALL FTOB
MOV CALCNUM6,CALCNUMC
MOV CALCNUM5,CALCNUMB
MOV CALCNUM4,CALCNUMA
MOV CALCNUM3,CALCNUM9
MOV CALCNUM2,CALCNUM8
MOV CALCNUM1,CALCNUM7
MOV A,CALCNUMC
CJNE A,#00H,CALC1
MOV A,CALCNUM9
MOV B,#10H
DIV AB
MOV CALCNUM7,A
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM8,B
MOV CALCNUM9,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMA,B
MOV CALCNUMB,A
MOV CALCNUMC,#0AH
LJMP CALCXIANSHI
CALC1:
CJNE A,#01H,CALC2
MOV A,CALCNUM9
MOV B,#10H
DIV AB
MOV CALCNUM7,B
MOV CALCNUM8,A
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM9,B
MOV CALCNUMA,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMB,B
ADD A,#0AH
MOV CALCNUMC,A
LJMP CALCXIANSHI
CALC2:
CJNE A,#02H,CALC3
MOV A,CALCNUM9
MOV B,#10H
DIV AB
MOV CALCNUM7,B
MOV CALCNUM8,A
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM9,B
MOV CALCNUMA,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMC,A
MOV A,B
ADD A,#0AH
MOV CALCNUMB,A
LJMP CALCXIANSHI
CALC3:
CJNE A,#03H,CALC4
MOV A,CALCNUM9
MOV B,#10H
DIV AB
MOV CALCNUM7,B
MOV CALCNUM8,A
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM9,B
ADD A,#0AH
MOV CALCNUMA,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMB,B
MOV CALCNUMC,A
LJMP CALCXIANSHI
CALC4:
CJNE A,#04H,CALC5
MOV A,CALCNUM9
MOV B,#10H
DIV AB
MOV CALCNUM7,B
MOV CALCNUM8,A
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUMA,A
MOV A,B
ADD A,#0AH
MOV CALCNUM9,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMC,A
MOV CALCNUMB,B
LJMP CALCXIANSHI
CALC5:
CJNE A,#05H,CALC6
MOV A,CALCNUM9
MOV B,#10H
DIV AB
MOV CALCNUM7,B
ADD A,#0AH
MOV CALCNUM8,A
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM9,B
MOV CALCNUMA,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMB,B
MOV CALCNUMC,A
LJMP CALCXIANSHI
CALC6:
CJNE A,#06H,CALC7
MOV A,CALCNUM9
MOV B,#10H
DIV AB
MOV CALCNUM7,B
MOV CALCNUM8,A
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM9,B
MOV CALCNUMA,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMB,B
MOV CALCNUMC,A
LJMP CALCXIANSHI
CALC7:
CJNE A,#0EH,CALC8
CALC8:
JNC CALC9
SUBB A,#03H
MOV CALCNUM7,A
MOV CALCNUM8,#17H
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM9,B
MOV CALCNUMA,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMB,B
MOV CALCNUMC,A
LJMP CALCXIANSHI
CALC9:
CJNE A,#41H,CALC10
MOV CALCNUM7,#00H
MOV CALCNUM8,#0F0H
MOV CALCNUM9,#0F0H
MOV CALCNUMA,#0F0H
MOV CALCNUMB,#0F0H
MOV CALCNUMC,#0F0H
LJMP CALCXIANSHI
CALCTER00:
LJMP CALCTER
CALC10:
JC CALCTER00
CJNE A,#77H,CALC11
CALC11:
JC CALCTER00
MOV B,A
MOV A,#80H
SUBB A,B
MOV CALCNUM7,A
MOV CALCNUM8,#18H
MOV A,CALCNUMA
MOV B,#10H
DIV AB
MOV CALCNUM9,B
MOV CALCNUMA,A
MOV A,CALCNUMB
MOV B,#10H
DIV AB
MOV CALCNUMB,B
MOV CALCNUMC,A
CALCXIANSHI:
LCALL LCDON
CALL WR
CLR LCDDATA
CALL WRITE
CALL WRITE
CALL WRITE
CALL WRITE
CALL WRITE
CALL WRITE
MOV A, CALCNUMC
LCALL WRA
MOV A, CALCNUMB
LCALL WRA
MOV A, CALCNUMA
LCALL WRA
MOV A, CALCNUM9
LCALL WRA
MOV A, CALCNUM8
LCALL WRA
MOV A, CALCNUM7
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #20H
LCALL WRA
MOV A, #15H
LCALL WRA
DATASHURU1:
LCALL ANNIUJC
JNB CALC,HCQ7
JB YUNSUAN,DATASHURU2
LJMP DATASHURU1
HCQ7:
LJMP HCQ5
DATASHURU2:
LJMP DATASHURU0
;*******************************************
NUMCHULI:
MOV A,CALCNUM6
ANL A,#0F0H
JZ NUMCHULI1
MOV CALCNUM6,#00H
MOV A,CALCNUM5
SWAP A
ADD A,CALCNUM4
MOV CALCNUM5,A
MOV A,CALCNUM3
SWAP A
ADD A,CALCNUM2
MOV CALCNUM4,A
MOV A,CALCNUM1
SWAP A
MOV CALCNUM3,A
LJMP NUMCHULI7
NUMCHULI1:
MOV A,CALCNUM5
ANL A,#0F0H
JZ NUMCHULI2
MOV A,CALCNUM6
SWAP A
ADD A,CALCNUM4
MOV CALCNUM5,A
MOV CALCNUM6,#01H
MOV A,CALCNUM3
SWAP A
ADD A,CALCNUM2
MOV CALCNUM4,A
MOV A,CALCNUM1
SWAP A
MOV CALCNUM3,A
LJMP NUMCHULI7
NUMCHULI2:
MOV A,CALCNUM4
ANL A,#0F0H
JZ NUMCHULI3
MOV A,CALCNUM6
SWAP A
ADD A,CALCNUM5
MOV CALCNUM5,A
MOV CALCNUM6,#02H
MOV A,CALCNUM3
SWAP A
ADD A,CALCNUM2
MOV CALCNUM4,A
MOV A,CALCNUM1
SWAP A
MOV CALCNUM3,A
LJMP NUMCHULI7
NUMCHULI3:
MOV A,CALCNUM3
ANL A,#0F0H
JZ NUMCHULI4
MOV A,CALCNUM6
SWAP A
ADD A,CALCNUM5
MOV CALCNUM5,A
MOV CALCNUM6,#03H
MOV A,CALCNUM4
SWAP A
ADD A,CALCNUM2
MOV CALCNUM4,A
MOV A,CALCNUM1
SWAP A
MOV CALCNUM3,A
LJMP NUMCHULI7
NUMCHULI4:
MOV A,CALCNUM2
ANL A,#0F0H
JZ NUMCHULI5
MOV A,CALCNUM6
SWAP A
ADD A,CALCNUM5
MOV CALCNUM5,A
MOV CALCNUM6,#04H
MOV A,CALCNUM4
SWAP A
ADD A,CALCNUM3
MOV CALCNUM4,A
MOV A,CALCNUM1
SWAP A
MOV CALCNUM3,A
LJMP NUMCHULI7
NUMCHULI5:
MOV A,CALCNUM1
ANL A,#0F0H
JZ NUMCHULI6
MOV A,CALCNUM6
SWAP A
ADD A,CALCNUM5
MOV CALCNUM5,A
MOV CALCNUM6,#05H
MOV A,CALCNUM4
SWAP A
ADD A,CALCNUM3
MOV CALCNUM4,A
MOV A,CALCNUM2
SWAP A
MOV CALCNUM3,A
LJMP NUMCHULI7
NUMCHULI6:
MOV A,CALCNUM6
SWAP A
ADD A,CALCNUM5
MOV CALCNUM5,A
MOV CALCNUM6,#06H
MOV A,CALCNUM4
SWAP A
ADD A,CALCNUM3
MOV CALCNUM4,A
MOV A,CALCNUM2
SWAP A
ADD A,CALCNUM1
MOV CALCNUM3,A
NUMCHULI7:
RET
;*******************************************
;*******************************************
;*******************************************
FENSHURU0:
LJMP FENSHURU
DATAINPUT:
JB FENSHU,FENSHURU0
JNB NUM0,HJX1
CLR NUM0
MOV DATASHURU,#00H
LJMP NUMCZ
HJX1:
JNB NUM1,HJX2
CLR NUM1
MOV DATASHURU,#01H
LJMP NUMCZ
HJX2:
JNB NUM2,HJX3
CLR NUM2
MOV DATASHURU,#02H
LJMP NUMCZ
HJX3:
JNB NUM3,HJX4
CLR NUM3
MOV DATASHURU,#03H
LJMP NUMCZ
HJX4:
JNB NUM4,HJX5
CLR NUM4
MOV DATASHURU,#04H
LJMP NUMCZ
HJX5:
JNB NUM5,HJX6
MOV DATASHURU,#05H
CLR NUM5
LJMP NUMCZ
HJX6:
JNB NUM6,HJX7
MOV DATASHURU,#06H
CLR NUM6
LJMP NUMCZ
HJX7:
JNB NUM7,HJX8
MOV DATASHURU,#07H
CLR NUM7
LJMP NUMCZ
HJX8:
JNB NUM8,HJX9
MOV DATASHURU,#08H
CLR NUM8
LJMP NUMCZ
HJX9:
JNB NUM9,HJX10
MOV DATASHURU,#09H
CLR NUM9
LJMP NUMCZ
HJX10:
RET
;****************************************
POINTCL:
JNB POINT,POINT1
MOV DATASHURU,#0FEH
LJMP NUMCZ
POINT1:
RET
;****************************************
NUMCZ:
JB INCM,MUCZ1
MOV CALCNUM6,CALCNUM5
MOV CALCNUM5,CALCNUM4
MOV CALCNUM4,CALCNUM3
MOV CALCNUM3,CALCNUM2
MOV CALCNUM2,CALCNUM1
MOV CALCNUM1,DATASHURU
AJMP MUCZ4
MUCZ1:
MOV CALCNUM6,CALCNUM5
MOV CALCNUM5,CALCNUM4
MOV CALCNUM4,DATASHURU
MUCZ4:
RET
;****************************************
FENSHURU:
CLR FENSHU
JNB TWO,FENSHU2
CLR TWO
MOV A,FSDATA1
ADD A,#08H
CJNE A,#10H,FENSHU1
FENSHU1:
JNC FENSHU8
MOV FSDATA1,A
SJMP FENSHU8
FENSHU2:
JNB FOUR,FENSHU4
CLR FOUR
MOV A,FSDATA1
ADD A,#04H
CJNE A,#10H,FENSHU3
FENSHU3:
JNC FENSHU8
MOV FSDATA1,A
SJMP FENSHU8
FENSHU4:
JNB EIGHT,FENSHU6
CLR EIGHT
MOV A,FSDATA1
ADD A,#02H
CJNE A,#10H,FENSHU5
FENSHU5:
JNC FENSHU8
MOV FSDATA1,A
SJMP FENSHU8
FENSHU6:
CLR SIXTY
MOV A,FSDATA1
ADD A,#01H
CJNE A,#10H,FENSHU7
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -