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

📄 key_process.asm

📁 一个电子秤sonix 1909芯片按键控制模块 可以在上面稍作修改 对编写电子秤程序很有帮助
💻 ASM
字号:
;*********************************************************************************
;NAME:			KEY_PROCESS10
;INPUT:			NONE
;FUNCTION:		keyapp
;DESCRIBE:		
;CALL SUBPROGRAM:	NONE
;USING RESOURCE:	A
;STACK NEED:		2
;OUTPUT:		
;*********************************************************************************
KEY_PROCESS10:

	b0bts0	KEY_COMMAND.0
	jmp	key_on
	b0bts0	KEY_COMMAND.1
	jmp	key_unit
	b0bts0	KEY_COMMAND.2
	jmp	key_light
	b0bts0	KEY_COMMAND.3
	jmp	key_off
	b0bts0	KEY_COMMAND.4
	jmp	key_mem
	b0bts0	KEY_COMMAND.5
	jmp	key_mem_ind
	b0bts0	KEY_COMMAND.6
	jmp	key_save
	jmp	KEY_PROCESS90
;--------------------------------------
key_on:
	bclr	key_command.0		;//get rid off flag on
	bclr	memory_f
	mov_	dis_data_buf,#25	;//clear display memory state.
	bset	system_on_f
	mov_	syschat,#120 		;//for delay 30second
	bset	system_start_f
	mov_	sysstchat,#4		;//for cut down gross weight.
	jmp	KEY_PROCESS90
;-------------------------------------------
key_unit:
	bclr	key_command.1		;//get rid off flag on
	bts0	kg_f
	jmp	key_unit1
	bset	kg_f
	mov_	unit_inf_buf,#01h
	jmp	key_unit20
key_unit1:
	bclr	kg_f
	clr	unit_inf_buf
	
key_unit20:
	MOV_	ee_add,#unit_inf_ee_add
	mov_	R0,unit_inf_buf
	CLR	R1
	CALL	write_eep_word		;write the unit data const
	jmp	KEY_PROCESS90
;----------------------------------------------
key_light:
	bclr	key_command.2		;//get rid off flag on
	b0bset	light_m_f
	bts0	light_f
	jmp	key_light1
	bset	light_f
	bset	light			;//open back light
	jmp	key_process90
key_light1:
	bclr	light
	bclr	light_f			;//close light
	jmp	KEY_PROCESS90
;------------------------------------------
key_off:
	bclr	key_command.3		;//get rid off flag on
	bclr	system_on_f
	bclr	light_f
	bclr	light
	mov_	memstate,#00h
	bclr	memory_f
	b0bset	F_SYS_OFF
	jmp	KEY_PROCESS90
;-----------------------------------------
key_mem:
	bclr	key_command.4		;//get rid off flag on
	bset	memory_f
	incms	memstate
	nop
	mov	a,memstate
	sub	a,#10			;//a<10  fc=0
	bts1	fc
	jmp	key_mem10
	mov_	memstate,#00h	
key_mem10:	
	mov	a,#mem_inf_ee_add
	add	a,memstate
	adc	a,memstate
	b0mov	ee_add,a
	call	read_eep_word
	mov_	QUALITY_DATA_INT_L,r1
	mov_	QUALITY_DATA_DOT_h,r0
	call	adc_display21
	mov_	DIS_DATA_BUF,memstate
	
	
	jmp	KEY_PROCESS90
;---------------------------------------------
key_mem_ind:				;//the book flag indicate the will goto 
	bclr	key_command.5		;//get rid off flag on
	bset	memory_indicate_f
	mov_	DIS_DATA_BUF,memstate
	b0bclr	memory_f
	jmp	KEY_PROCESS90
;--------------------------------------------	
key_save:
	bclr	key_command.6		;//get rid off flag on
	bclr	memory_indicate_f
	bclr	memory_f
	mov_	DIS_DATA_BUF,#25	;//cut down mem counter.
	mov_	r1,QUALITY_DATA_INT_L
	mov_	r0,QUALITY_DATA_DOT_h
	mov	a,#mem_inf_ee_add
	add	a,memstate
	adc	a,memstate
	b0mov	ee_add,a
	call	write_eep_word

;//	incms	memstate
	nop
	mov	a,memstate
	cmprs	a,#10
	jmp	key_process90
	mov_	memstate,#01h	
	
	jmp	KEY_PROCESS90
;--------------------------------------
KEY_PROCESS90:
	B0BCLR	F_DISPLAY_ENB		;Enable Display
KEY_PROCESS91:
	RET
    	

⌨️ 快捷键说明

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