?? soc080225.asm
字號:
LCALL DELAY1
BIAO20:
SETB SETS
JNB SETS,BIAO21
SJMP BIAO20
BIAO21:
SETB SPK
SETB FMQ
LCALL DSPXS ;;;顯示系數
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
MOV R2,#05H
MOV R5,#0FFH
MOV R6,#20H
BIAO22:
SETB ZERO
SETB SETS
JNB SETS,BIAO23
JNB ZERO,BIAO25
DJNZ R5,BIAO22
MOV R5,#0FFH
DJNZ R6,BIAO22
MOV R6,#20H
LCALL SHANSHUO
SJMP BIAO22
BIAO23:
SETB SPK
SETB FMQ
DJNZ R2,BIAO24 ;;;移位
SJMP BIAO26 ;;;設定完成
BIAO24:
LCALL TTOL5 ;;;更新顯示
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
MOV R5,#0FFH
MOV R6,#20H
SJMP BIAO22
BIAO25:
SETB SPK
SETB FMQ
LCALL ZENGYI
JNB ZERO,$
LCALL DELAY1
SJMP BIAO24
BIAO26:
LCALL SVXS
MOV DSPL1,#0DH ;;;顯示[ END]
MOV DSPL2,#13H ;;;結束標定
MOV DSPL3,#0EH
MOV DSPL4,#15H
MOV DSPL5,#15H
MOV R5,#0FFH
MOV R6,#50H
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
BIAO27:
SETB SETS
JNB SETS,BIAO28 ;;;按下[置零]退出
DJNZ R5,BIAO27
MOV R5,#0FFH
DJNZ R6,BIAO27
MOV R6,#50H ;;;時間到后自動退出
BIAO28:
SETB SPK
SETB FMQ
SETB DDT
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;置零操作:當前質量在置零范圍內時,;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;允許清0,否則顯示" Err-1"并退出;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ZHILING:
MOV MNDAT1,CQDAT1 ;;;保存修補質量對應的內碼
MOV MNDAT2,CQDAT2
MOV CQXS1,#00H
MOV CQXS2,#00H
MOV A,#15H
LCALL DISPLAY5
MOV DSPL1,#00H
JNB DDT,ZL1
MOV DSPL2,#00H
ZL1:
CLR SYMB1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DSPSCAN: ;;;功能說明:設定分度值時,先讀取設定值.
MOV R5,#00H
MOV R3,#01H
MOV R6,#00H
MOV R0,#DSPT1
CLR EA
LCALL RDBYTE
SETB EA
MOV A,DSPT1
ANL A,#0FH
CJNE A,#0AH,BIAO04
MOV DSPL1,#00H
MOV DSPL2,#01H
RET
BIAO04:
CJNE A,#05H,BIAO05
MOV DSPL2,#15H
MOV DSPL1,#05H
RET
BIAO05:
CJNE A,#02H,BIAO06
MOV DSPL2,#15H
MOV DSPL1,#02H
RET
BIAO06:
MOV DSPL2,#15H
MOV DSPL1,#01H
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SCALE: ;;;功能說明:標定分度值,保存在x5045的00單元
MOV A,DSPL1
CJNE A,#00H,SCALE1
MOV A,#0AH
JMP SCALE5
SCALE1:
CJNE A,#01H,SCALE2
MOV A,#01H
JMP SCALE5
SCALE2:
CJNE A,#02H,SCALE3
MOV A,#02H
JMP SCALE5
SCALE3:
MOV A,#05H
SCALE5:
MOV DSPT1,A
MOV SCADAT,A ;;;更新當前分度值
MOV R0,#DSPT1 ;;;待寫入的數據在RAM中首地址
MOV R3,#01H ;;;寫入數據的個數
MOV R5,#00H ;;;A8=0
MOV R6,#00H ;;;存放在x5045中的地址00H
CLR EA
LCALL WRBYTE
SETB EA
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DSPDOT: ;;;功能說明:設定分度值時,先讀取設定值.
MOV R5,#00H
MOV R3,#01H
MOV R6,#01H
MOV R0,#DSPT1
CLR EA
LCALL RDBYTE
SETB EA
MOV A,DSPT1
CJNE A,#0AAH,DSPDOT1
SETB DOT
MOV DSPL1,#05H
MOV DSPL2,#0EH ;;;顯示YES
MOV DSPL3,#1AH
RET
DSPDOT1:
MOV DSPL1,#12H
MOV DSPL2,#13H ;;;顯示no
MOV DSPL3,#15H
CLR DOT
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SVDOT: ;;;功能說明:標定小數位,保存在x5045的00單元
JB DOT,SVDOT1
MOV A,#55H
SJMP SVDOT2
SVDOT1:
MOV A,#0AAH
SVDOT2:
MOV DSPT1,A
MOV DOTDAT,A ;;;更新當前小數點位
MOV R0,#DSPT1 ;;;待寫入的數據在RAM中首地址
MOV R3,#01H ;;;寫入數據的個數
MOV R5,#00H ;;;A8=0
MOV R6,#01H ;;;存放在x5045中的地址00H
CLR EA
LCALL WRBYTE
SETB EA
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DSPOVL:
MOV A,DOTDAT
CJNE A,#0AAH,DSPOVL1
SETB DOT
SJMP DSPOVL2
DSPOVL1:
CLR DOT
DSPOVL2:
MOV R5,#00H
MOV R3,#02H
MOV R6,#02H
MOV R0,#DSPT1
CLR EA
LCALL RDBYTE
SETB EA
MOV R5,DSPT1
MOV R6,DSPT2
MOV R7,#00H
MOV R1,#DSPT1
LCALL BCD
LCALL TTOL5
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OVLOAD: ;;;功能說明:標定滿量程時,將滿量程轉換為2個字節的重量值保存在02H,03H中
LCALL LTOT5
LCALL TWOBCD
MOV FSDAT1,TEMP1
MOV FSDAT2,TEMP2 ;;;更新滿量程設定值
MOV R0,#TEMP1 ;;;待寫入的數據在RAM中首地址
MOV R3,#02H ;;;寫入數據的個數
MOV R5,#00H ;;;A8=0
MOV R6,#02H ;;;存放在x5045中的地址02H
CLR EA
LCALL WRBYTE
SETB EA
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DSPXS: ;;;功能說明:顯示最后一次標定的系數.
MOV R5,#00H
MOV R3,#02H
MOV R6,#04H
MOV R0,#DSPT1
CLR EA
LCALL RDBYTE
SETB EA
MOV R5,DSPT1
MOV R6,DSPT2
MOV R7,#00H
MOV R1,#DSPT1
LCALL BCD
LCALL TTOL5
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SVXS: ;;;功能說明:標定載重時系數,將數據保存在0BH,0CH(內碼)中,將標定參數保存在0DH中.
LCALL LTOT5
LCALL TWOBCD
MOV XSDAT1,TEMP1
MOV XSDAT2,TEMP2 ;;;更新當前標定系數
MOV DSPT1,TEMP1
MOV DSPT2,TEMP2
MOV DSPT3,#0AAH
MOV R0,#DSPT1 ;;;待寫入的數據在RAM中首地址
MOV R3,#03H ;;;寫入數據的個數
MOV R5,#00H ;;;A8=0
MOV R6,#04H ;;;存放在x5045中的地址04H
CLR EA
LCALL WRBYTE
SETB EA
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ZENGYI:
CJNE R2,#05H,ZY1
INC DSPT5
MOV A,DSPT5
MOV B,#0AH
DIV AB
MOV DSPT5,B
MOV DSPL5,DSPT5
RET
ZY1:
CJNE R2,#04H,ZY2
INC DSPT4
MOV A,DSPT4
MOV B,#0AH
DIV AB
MOV DSPT4,B
MOV DSPL4,DSPT4
RET
ZY2:
CJNE R2,#03H,ZY3
INC DSPT3
MOV A,DSPT3
MOV B,#0AH
DIV AB
MOV DSPT3,B
MOV DSPL3,DSPT3
RET
ZY3:
CJNE R2,#02H,ZY4
INC DSPT2
MOV A,DSPT2
MOV B,#0AH
DIV AB
MOV DSPT2,B
MOV DSPL2,DSPT2
RET
ZY4:
INC DSPT1
MOV A,DSPT1
MOV B,#0AH
DIV AB
MOV DSPT1,B
MOV DSPL1,DSPT1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SHANSHUO:
CJNE R2,#05H,SHSH2
MOV A,DSPL5
CJNE A,#15H,SHSH1
MOV DSPL5,DSPT5
RET
SHSH1:
MOV DSPL5,#15H
RET
SHSH2:
CJNE R2,#04H,SHSH4
MOV A,DSPL4
CJ
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -