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

📄 ex_encoder.asm

📁 I0做LCD显示的子程序学习LCD驱动原理
💻 ASM
字号:

;*******************************************************************************************						
	Init_ModeByte:		.equ	8
	
Explain_matrix_number:
	JNZ	set_finish/100h,set_finish%100h,End_explain_encoder
	CLR	Time_mode_set
	LD	R10,KYM_data
	SUB	R10,#Initkey_number0
	JNZ	set_timer/100h,set_timer%100h,Explain_number_timer
	
	CLR	R2
	LD	R3,State_work
	RL	R3
	LDC	R0,#Table_encoder_analyse[RR2]		;
	INC	R3
	LDC	R1,#Table_encoder_analyse[RR2]
	JP	@RR0
Table_encoder_analyse:
	DW	Explain_number_wait
	DW	Explain_number_pause
	DW	Explain_number_work
	DW	Explain_number_ready
	DW	Explain_number_standby
	DW	Explain_number_clockadj
	DW	Explain_number_error	

Explain_encoder_buzzer:
	LD	BuzzerTime,#Buzzershort-1
Explain_number_pause:
Explain_number_error:
Explain_number_work:
End_explain_encoder:
	RET
	

;******************************************************************************************	
Explain_number_timer:
	SETB	set_timerd/100h,set_timerd%100h
	CLR	Time_disp_timer	
	CP	R15,#4
	JP	UGE,BuzzerError
	CP	R15,#0
	JP	NE,Explain_number_ready25
	CP	R10,#0
	JP	EQ,BuzzerError	
	JP	Explain_number_ready25
	
;******************************************************************************************	
Explain_number_wait:
	JNZ	set_finish/100h,set_finish%100h,BuzzerError
	CP	R10,#0
	JP	EQ,BuzzerError
	LD	Power_level,#10
	LD	ModeByte,#InitMode_Default
	JP	Explain_number_ready10

;******************************************************************************************	
Explain_number_standby:
	JNZ	set_adjust/100h,set_adjust%100h,Explain_number_ready10
;	CP	ModeByte,#InitMode_popcorn
;	JP	ULT,Explain_number_ready1	;Explain_weight_ready10
	CP	ModeByte,#InitMode_Faststart
	JP	EQ,BuzzerError
	CP	ModeByte,#InitMode_Convection
	JP	ULT,Explain_number_standby10
	JNZ	set_preheatup/100h,set_preheatup%100h,Explain_number_standby10
	JNZ	set_first/100h,set_first%100h,Explain_number_standby10
	CLR	R0
	CP	ModeByte,#InitMode_Convection
	JP	EQ,Explain_number_standby1
	CP	ModeByte,#InitMode_Turnconvection
	JP	EQ,Explain_number_standby1
	LD	R0,R10
	SUB	R0,#1
	CP	R0,#3
	JP	UGT,BuzzerError
	LD	Temp_setting+1,R0	
	LD	R0,#10
Explain_number_standby1:	
	SETB	set_first/100h,set_first%100h
	DEC	R10
	CP	R10,#10
	JP	ULT,Explain_number_standby2
	LD	R10,#9
Explain_number_standby2:	
	ADD	R0,R10
	LD	Temp_setting,R0
	JP	BuzzerKey	
Explain_number_standby10:	
	CP	R10,#0
	JP	EQ,BuzzerError
	
Explain_number_ready:
	JNZ	set_adjust/100h,set_adjust%100h,Explain_number_ready10
;	CP	ModeByte,#InitMode_popcorn
;	JP	UGE,Explain_number_conve
;Explain_number_ready1:
;	CP	R10,#0
;	JP	EQ,BuzzerError
;	CP	R10,Max_value
;	JP	UGE,BuzzerError
;	LD	Compu_unit,R10
;	JP	Explain_weight_ready20
	
Explain_number_conve:
	CP	ModeByte,#InitMode_JetDefrost
	JP	ULT,BuzzerError
	CP	ModeByte,#InitMode_Convection
	JP	ULT,Explain_number_ready10
	CP	R15,#3
	JP	UGE,BuzzerError
	JP	Explain_number_ready20
Explain_number_ready10:	
	CP	R15,#4
	JP	UGE,BuzzerError
Explain_number_ready20:
	LD	State_work,#status_ready
Explain_number_ready25:	
	INC	R15
	LD	R14,R13
	LD	R13,R12
	LD	R12,R11
	LD	R11,R10
	JP	BuzzerKey
	
;******************************************************************************************	
Explain_number_clockadj:
	CP	R15,#4
	JP	ULT,Explain_number_ready25	
	LD	R15,#5
	JP	Explain_number_ready25
	

⌨️ 快捷键说明

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