⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.txt

📁 主要应用于称量方面
💻 TXT
📖 第 1 页 / 共 3 页
字号:
	JMP RE16
RE15:
	RL HT24_ADDR
	JMP RE12
RE16:
	SET PBC.2
	SET SCL
RE17:
	SZ SDA
	JMP RE17
	
	MOV A, 08H              ;读出8位数据
	MOV HT24_LOOP, A
	
RE18:
	CLR SCL
	NOP
	 NOP 
	nop
	nop
	nop
	nop         
	SET SCL  
	NOP
	SZ SDA
	JMP RE19
	CLR HT24_RWDATA.0
	JMP RE20
RE19:
	SET HT24_RWDATA.0
RE20:
	DEC HT24_LOOP
	SZ HT24_LOOP
	JMP RE21
	JMP RE22
RE21:
	;SET SCL
	RL HT24_RWDATA
	JMP RE18
RE22:
	NOP
	NOP
	;CLR SCL
	CLR PBC.2
	CLR SDA
	;NOP
	;SET SCL
	NOP
	SET SDA
	RET
READ ENDP

;**********************************
; 读24中的参数
READ_PARAMENTS  PROC
	MOV A, 08H                 ;显示4个8
	MOV BCD_DATA4, A
	MOV A, 08H
	MOV BCD_DATA3, A
	MOV A, 08H
	MOV BCD_DATA2, A
	MOV A, 08H
	MOV BCD_DATA1, A
	CALL DISPLAY

	;SZ FLAG6                   ;读24标志
	;JMP CHECK0
	MOV A, 00H                 ;读24中零点值
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV ZERO_L, A
	CALL LONG_DELAY
	MOV A, 01H
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV ZERO_H, A
	CALL LONG_DELAY

	MOV A, 0DH                 ;读最小称量数
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV D_MINWEIGHT, A
	CALL LONG_DELAY

	MOV A, 4eH                 ;读最小锁定称量数
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV min_lock, A
	CALL LONG_DELAY

	MOV A, 48H                 ;读自动追零设定值
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV AUTOTOZEROVALUE, A
	CALL LONG_DELAY

	MOV A, 02H                  ;读24中校准点值
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV CALDOT1L, A
	CALL LONG_DELAY
	MOV A, 03H
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV CALDOT1H, A
	CALL LONG_DELAY
	
	MOV A, 012H                 ;读校准点常数
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV CALCONST1L, A
	CALL LONG_DELAY
	MOV A, 013H
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV CALCONST1H, A
	CALL LONG_DELAY
	
	MOV A, 40H                  ;读零点稳定设定值
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV ZEROSTABLEVALUE, A
	CALL LONG_DELAY
       
	clr wdt	

	MOV A, 41H                  ;读开机归零时间 设定值
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV ToZeroTime, A
	CALL LONG_DELAY

	MOV A, 4CH                  ;读称重待机时间 设定值
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV AutoOffTime, A
	CALL LONG_DELAY

	MOV A, 46H                  ;读归零范围 设定值  (重量值)
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV ToZeroRang, A
	CALL LONG_DELAY

	MOV A, 4BH                  ;读称重 重量变化范围 设定值
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV AutoOffRange, A
	CALL LONG_DELAY

	MOV A, 0AH                  ;读 最大称重 低位 设定值  (重量值)
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV D_MAXWEIGHTL, A
	CALL LONG_DELAY

	MOV A, 0BH                  ;读 最大称重 高位 设定值  (重量值)
	MOV HT24_ADDR1, A
	CALL READ
	MOV A, HT24_RWDATA
	MOV D_MAXWEIGHTH, A
	CALL LONG_DELAY
	;SET FLAG6
READ_PARAMENTS ENDP
;************************************************************************
; 入口参数: BCD_NEIMAH, BCD_NEIMAL
; 出口参数: BCD_DATA4, BCD_DATA3, BCD_DATA2, BCD_DATA1
;显示高4位
BCDE PROC
	CLR BCD_RAM0
	CLR BCD_RAM1
	CLR BCD_RAM2
	MOV A, 10H
	MOV COUNT, A
BB0:
	CLR C
	RLC BCD_NEIMAL
	RLC BCD_NEIMAH
	MOV A, BCD_RAM0
	ADC A, BCD_RAM0
	DAA BCD_RAM0
	MOV A, BCD_RAM1
	ADC A, BCD_RAM1
	DAA BCD_RAM1
	MOV A, BCD_RAM2
	ADC A, BCD_RAM2
	DAA BCD_RAM2
	SDZ COUNT
	JMP BB0

	MOV A, 0F0H
	AND A, BCD_RAM0
	SWAP ACC
	MOV BCD_DATA1, A
	MOV A, 0FH
	AND A, BCD_RAM1
	MOV BCD_DATA2, A
	MOV A, 0F0H
	AND A, BCD_RAM1
	SWAP ACC
	MOV BCD_DATA3, A
	MOV A, 0FH
	AND A, BCD_RAM2
	MOV BCD_DATA4, A
	RET
BCDE ENDP		
;*********************************************************
; 入口参数: BCD_NEIMAH, BCD_NEIMAL
; 出口参数: BCD_DATA4, BCD_DATA3, BCD_DATA2, BCD_DATA1
;显示低4位
BCD1 PROC
	CLR BCD_RAM0
	CLR BCD_RAM1
	CLR BCD_RAM2
	MOV A, 10H
	MOV COUNT, A
BB1:
	CLR C
	RLC BCD_NEIMAL
	RLC BCD_NEIMAH
	MOV A, BCD_RAM0
	ADC A, BCD_RAM0
	DAA BCD_RAM0
	MOV A, BCD_RAM1
	ADC A, BCD_RAM1
	DAA BCD_RAM1
	MOV A, BCD_RAM2
	ADC A, BCD_RAM2
	DAA BCD_RAM2
	SDZ COUNT
	JMP BB1
	
	
	MOV A, 0FH
	AND A, BCD_RAM0
	MOV BCD_DATA1, A
	MOV A, 0F0H
	AND A, BCD_RAM0
	SWAP ACC
	MOV BCD_DATA2, A
	MOV A, 0FH
	AND A, BCD_RAM1
	MOV BCD_DATA3, A
	MOV A, 0F0H
	AND A, BCD_RAM1
	SWAP ACC
	MOV BCD_DATA4, A
	RET
BCD1 ENDP		
;*********************************************************
;*******************************************************************

;*******************************************************************
; 入口参数: BCD_DATA4, BCD_DATA3, BCD_DATA2, BCD_DATA1
DISPLAY	PROC	

	SZ BCD_DATA4         ;高位是零不显示
	JMP DD0
	MOV A, 20H
	MOV BCD_DATA4, A
	SZ BCD_DATA3
	JMP DD0
	MOV A, 20H
	MOV BCD_DATA3, A
	;SZ BCD_DATA2
	;JMP DD0
	;MOV A, 20H
	;MOV BCD_DATA2, A
DD0:
	MOV A, BCD_DATA1           ;查表得显示短码
	MOV TBLP, A
	TABRDL TAB_DATA1

	MOV A, BCD_DATA2
	MOV TBLP, A
	TABRDL TAB_DATA2

	MOV A, BCD_DATA3
	MOV TBLP, A
	TABRDL TAB_DATA3

	MOV A, BCD_DATA4
	MOV TBLP, A
	TABRDL TAB_DATA4

	SET BP.0

	MOV A, TAB_DATA1
	AND A, 0F0H
	SWAP ACC
	MOV ZHAN_CHUN, A
	MOV A, 04BH                             ;49H
	MOV MP1, A
	MOV A,ZHAN_CHUN
	MOV R1, A
	MOV A, TAB_DATA1
	MOV ZHAN_CHUN, A
	MOV A, 04AH
	MOV MP1, A
	MOV A, ZHAN_CHUN
	MOV R1, A

	MOV A, TAB_DATA2
	AND A, 0F0H
	SWAP ACC
	MOV ZHAN_CHUN, A
	MOV A, 049H
	MOV MP1, A
	MOV A,ZHAN_CHUN
	MOV R1, A
	MOV A, TAB_DATA2
	MOV ZHAN_CHUN, A
	MOV A, 048H
	MOV MP1, A
	MOV A, ZHAN_CHUN
	MOV R1, A

	MOV A, TAB_DATA3
	AND A, 0F0H
	SWAP ACC
	MOV ZHAN_CHUN, A
	MOV A, 047H
	MOV MP1, A
	MOV A,ZHAN_CHUN
	MOV R1, A
	MOV A, TAB_DATA3
	MOV ZHAN_CHUN, A
	MOV A, 046H
	MOV MP1, A
	MOV A, ZHAN_CHUN
	MOV R1, A

	MOV A, TAB_DATA4
	AND A, 0F0H
	SWAP ACC
	MOV ZHAN_CHUN, A
	MOV A, 045H
	MOV MP1, A
	MOV A,ZHAN_CHUN
	MOV R1, A
	MOV A, TAB_DATA4
	MOV ZHAN_CHUN, A
	MOV A, 044H
	MOV MP1, A
	MOV A, ZHAN_CHUN
	MOV R1, A
	
	;jmp pinbi
	SZ FLAG3                ; FLAG3 = 1 显示小数点、KG、LB  
	JMP DD4
	MOV A, 49H              ;47H
	MOV MP1, A
	CLR R1.0                ;不显示小数点 KG LB
	MOV A, 41H
	MOV MP1, A
	CLR R1.3
	CLR R1.2
	JMP DD1
	 
DD4:	  
    MOV A, 49H         ; 显示小数点、KG 或 LB  
	MOV MP1, A
	SET R1.0 
	 
	SZ FLAG4           ; FLAG4 = 1  显示 LB
	JMP DD2
	JMP DD3            ; FLAG4 = 0  显示 KG
DD2:
	MOV A, 41H
	MOV MP1, A
	SET R1.2
	CLR R1.3
	JMP DD1
DD3:
	MOV A, 41H
	MOV MP1, A
	SET R1.3
	CLR R1.2
	JMP DD1
pinbi:
DD1:
	CLR BP
	
	RET
DISPLAY	ENDP


;*************************************************************************

;*********************************************************
;入口参数: CMP—H, CMP_L     CMP1_H, CMP1_L
;出口参数: 二者相减的绝对值: CMP_H, CMP_L 

JUE_DUI_ZHI PROC
	MOV A, CMP1_H           ;比较 CMP1, CMP 大小
	SUB A, CMP_H
	SZ C
	JMP JU1
	JMP CMP_DA
JU1:
	SZ ACC
	JMP CMP1_DA
	MOV A, CMP1_L
	SUB A, CMP_L
	SZ C
	JMP CMP1_DA
	JMP CMP_DA

CMP1_DA:
	MOV A, CMP1_L       ;差值保存在CMP1
	SUB A, CMP_L
	SZ C
	JMP JU2
	DEC CMP1_H
	MOV A, 0FFH
	SUB A, CMP_L
	INC ACC
	ADDM A, CMP1_L
	JMP JU3
JU2:
	MOV CMP1_L, A
JU3:
	MOV A, CMP1_H
	SUB A, CMP_H
	MOV CMP1_H, A
	
	MOV A, CMP1_H          ;差值保存在 CMP
	MOV CMP_H, A
	MOV A, CMP1_L
	MOV CMP_L, A
	RET
CMP_DA:                     ;差值保存在 CMP
	MOV A, CMP_L
	SUB A, CMP1_L
	SZ C
	JMP JU4
	DEC CMP_H
	MOV A, 0FFH
	SUB A, CMP1_L
	INC ACC
	ADDM A, CMP_L
	JMP JU5
JU4:
	MOV CMP_L, A
JU5:
	MOV A, CMP_H
	SUB A, CMP1_H
	MOV CMP_H, A
	RET
JUE_DUI_ZHI ENDP
;***********************************************************
;32 BIT / 16 BIT
;(DIV_B4, DIV_B3, DIV_B2, DIV_B1) / (DIVH, DIVL) 
; = (DIV_S4, DIV_S3, DIV_S2, DIV_S1) + (DIV_Y4, DIV_Y3, DIV_Y2, DIV_Y1)

DIV PROC
	CLR DIV_S1
	CLR DIV_S2
	CLR DIV_S3
	CLR DIV_S4
	CLR DIV_Y1
	CLR DIV_Y2
	CLR DIV_Y3
	CLR DIV_Y4
	MOV A, 20H
	MOV COUNT, A
DDD0:
	RLC DIV_B1
	RLC DIV_B2
	RLC DIV_B3
	RLC DIV_B4
	RLC DIV_Y1
	RLC DIV_Y2
	RLC DIV_Y3
	RLC DIV_Y4
	SZ DIV_Y3
	JMP DDD1
	MOV A, DIV_Y2
	SUB A, DIVH
	SZ C
	JMP DDD2
	JMP DDD3
DDD2:
	SZ ACC
	JMP DDD1
	MOV A, DIV_Y1
	SUB A, DIVL
	SZ C
	JMP DDD1
	JMP DDD3
DDD3:
	CLR DIV_S1.0
DDD13:
	SDZ COUNT
	JMP DDD4
	JMP DDD14
DDD4:
	RLC DIV_S1
	RLC DIV_S2
	RLC DIV_S3
	RLC DIV_S4
	JMP DDD0
DDD1:
	SET DIV_S1.0
	MOV A, DIV_Y1	
	SUB A, DIVL
	SZ C
	JMP DDD5
	JMP DDD6
DDD5:
	MOV DIV_Y1, A
DDD7:	
	MOV A, DIV_Y2
	SUB A, DIVH
	SZ C
	JMP DDD9
	JMP DDD8
DDD9:
	MOV DIV_Y2, A
	JMP DDD13
DDD8:
	DEC DIV_Y3
	MOV A, 0FFH
	SUB A, DIVH
	INC ACC
	ADDM A, DIV_Y2
	JMP DDD13
DDD6:
	SZ DIV_Y2
	JMP DDD10
	JMP DDD11
DDD10:
	DEC DIV_Y2
DDD12:
	MOV A, 0FFH
	SUB A, DIVL
	INC ACC
	ADDM A, DIV_Y1
	JMP DDD7
DDD11:
	DEC DIV_Y3
	MOV A, 0FFH
	MOV DIV_Y2, A
	JMP DDD12

DDD14:                           ;四舍五入
	CLR C
	RLC DIV_Y1
	RLC DIV_Y2
	MOV A, DIVH
	SUB A, DIV_Y2
	SZ C
	JMP DDD15
	INC DIV_S1
	RET
DDD15:
	SZ ACC
	RET
	MOV A, DIVL
	SUB A, DIV_Y1
	SZ C
	RET
	INC DIV_S1
	RET
DIV ENDP
;*************************************************************************

;16 BIT * 16 BIT = 32 BIT
; (DIV_B4, DIV_B3) * (DIV_B2, DIV_B1) 
; = MUL_RAM4, MUL_RAM3, MUL_RAM2, MUL_RAM1 

MUL PROC
	CLR MUL_RAM1
	CLR MUL_RAM2
	CLR MUL_RAM3
	CLR MUL_RAM4
	CLR MUL_RAM5
	CLR MUL_RAM6
	MOV A, 10H
	MOV COUNT, A
MM0:
	SZ DIV_B1.0
	JMP MM1
MM2:
	SDZ COUNT
	JMP MM3
	RET
MM3:
	RRC DIV_B2
	RRC DIV_B1
	CLR C
	RLC DIV_B3
	RLC DIV_B4
	RLC MUL_RAM5
	RLC MUL_RAM6
	JMP MM0
MM1:
	MOV A, DIV_B3
	ADDM A, MUL_RAM1
	MOV A, DIV_B4
	ADCM A, MUL_RAM2
	MOV A, MUL_RAM5
	ADCM A, MUL_RAM3
	MOV A, MUL_RAM6
	ADCM A, MUL_RAM4
	JMP MM2
MUL ENDP
;*************************************************************************
SHORT_DELAY PROC                 ;256us
	MOV A, 0FFH
	MOV DELAY_LOOP1, A
DE0:
	SDZ DELAY_LOOP1
	JMP DE0
	RET
SHORT_DELAY ENDP
;*******************************************************************
LONG_DELAY PROC                    ;7.68ms
	;MOV ACC_RAM, A
	;MOV A, STATUS
	;MOV STATUS_RAM, A

	MOV A, 0FFH
	MOV DELAY_LOOP1, A
	MOV A, 01EH
	MOV DELAY_LOOP2, A
DE1:
	SDZ DELAY_LOOP1
	JMP DE1
	MOV A, 0FFH
	MOV DELAY_LOOP1, A
	SDZ DELAY_LOOP2
	JMP DE1

	;MOV A, STATUS_RAM
	;MOV STATUS, A
	;MOV A, ACC_RAM

	RET
LONG_DELAY ENDP
;*************************************************************************
;	ORG 0700H
;         0     1     2     3    4      5     6    7     8     9     
;TAB: DC 07DH, 060H, 03EH, 07AH, 063H, 05BH, 05FH, 70H, 07FH, 07BH
;         E	     P      A      S     S     O      U    E     r
;	 DC  1FH,  0ECH,  0EEH,  0DAH, 0DAH,  7DH,   6DH, 1FH,  07H
;*************************************************************************
	ORG 0700H
;          0     1     2     3    4     5     6     7     8     9     
TAB: DC  0ebH, 060H, 0c7H, 0e5H, 06cH, 0adH, 0afH, 0e0H, 0efH, 0edH
;         E	    P      A      S     S      O     U    E     r
	 DC  8FH,  0CEH,  0EEH,  0ADH, 0ADH,  0EBH,  6BH, 8FH,  0EH
;*************************************************************************
	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -