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

📄 mnapp.asm

📁 应用松翰母体写的一款电磁炉
💻 ASM
字号:
;**********************************************
;Name	:mnapp
;Function:
;Input  :
;Output	:
;Register Used:
;***********************************************
mnapp:
	call	checkkey
	
mnapp90:
	ret
;**********************************************
;Name	:ensure which key should operate
;Function:
;Input  :
;Output	:
;Register Used:
;***********************************************
checkkey:
	b0bts0	poweronflag
	jmp	checkkey90	;刚通电,不响应按键
	mov	a,aplcode
	@jmp_a	13
	jmp	checkkey90	;0
	jmp	boilwaterkey	;1,煮水
	jmp	warmmilkkey	;2,热奶
	jmp	soupingkey	;3,煲汤
	jmp	cookingkey	;4,煮饭
	jmp	barbecuekey    	;5,烧烤
	jmp	chaffydishkey   ;6,火锅
	jmp	frieddishkey    ;7,炒菜
	jmp	offkey		;8
	jmp	deckey		;9
	jmp	inckey		;10
	jmp	oneminkey	;11,一分钟
	jmp	tenminkey    	;12,十分钟	
;************************************************
frieddishkey:
;----
	bset	frieddishflag


	jmp	checkkey90
;************************************************
chaffydishkey:
;----
	bset	chaffydishflag

	jmp	checkkey90
;************************************************
barbecuekey:
;----
	bset	barbecueflag
	
	jmp	checkkey90	
;************************************************
cookingkey:
;----
	bset	cookingflag
	
	jmp	checkkey90	
;************************************************
soupingkey:
;----
	bset	soupingflag

	jmp	checkkey90	
;************************************************
warmmilkkey:
;----
	bset	warmmilkflag

	jmp	checkkey90	
;************************************************
boilwaterkey:
;----
	bset	boilwaterflag

	jmp	checkkey90	

;************************************************
tenminkey:
	
	mov	a,timerbuf
	and	a,#0f0h
	sub	a,#90h
	b0bts0	fc
	jmp	turnoffnum1
;-----
	mov	a,#10h
	add	timerbuf,a
	bset	refurbishflag
	jmp	checkkey90
;---------------------
turnoffnum1:
	mov	a,#0fh
	and	timerbuf,a
	mov_	seg1buf,#0ffh
	jmp	checkkey90	
;************************************************
oneminkey:
;-----
	bset	refurbishflag	
	mov	a,timerbuf
	and	a,#0fh
	sub	a,#9
	b0bts0	fc
	jmp	backzeronum0
;-----
	mov	a,#1
	add	timerbuf,a
	jmp	checkkey90
;-----
backzeronum0:
	mov	a,#0f0h
	and	timerbuf,a
	jmp	checkkey90
;************************************************
inckey:

	jmp	checkkey90	
;************************************************
deckey:

	jmp	checkkey90	
;************************************************
offkey:

	jmp	checkkey90	
;*************************************************
checkkey90:
	clr	aplcode
;-----
checkkey100:
	ret	
	
;**********************************************
;Name	:poweronsub
;Function:
;Input  :
;Output	:
;Register Used:temp0,temp1
;***********************************************
poweronsub:
	b0bts1	poweronflag		;=1:刚通电,初始状态
	jmp	poweronsub90
	b0bts0	settimeflag
	jmp	poweronsub10
;-----------------------
	bset	settimeflag
	bclr	t1sflag
	mov_	timer1s,#100		;定时1s
;----
	mov_	combuf,#11101111b	;点亮所有的LED
	mov	a,#00111111b
	mov	seg1buf,a
	mov	seg2buf,a
	clr	seg3buf
	clr	seg4buf
	ret
;------------------------
poweronsub10:
	b0bts1	t1sflag
	jmp	poweronsub90
	bclr	t1sflag			;数码管显示0,其他LED关
	bclr	settimeflag
	bclr	poweronflag
	mov	a,#0ffh
	mov	seg3buf,a
	mov	seg4buf,a	
;----
poweronsub90:	
	ret
	
;******************************************************
;******************************************************
;******************************************************
delay4us:
	jmp	$+1	;2us	
	ret		;2us,2+2=4us
;-----
delay_10us:
	jmp	$+1
	jmp	$+1
	jmp	$+1
	ret
;------
delay100us:
	mov_	var3,#100
loop100us00:
	decms	var3
	jmp	loop100us00
	ret
;--------	
delay2ms:
	mov_	var3,#2
loop2ms00:
	mov_	var4,#0ffh
loop2ms01:
	decms	var4
	jmp	loop2ms01
	decms	var3
	jmp	loop2ms00
	ret
;---------
delay20ms:
	mov_	var3,#15
loop20ms00:
	mov_	var4,#0ffh
loop20ms01:
	decms	var4
	jmp	loop20ms01
	decms	var3
	jmp	loop20ms00
	ret

⌨️ 快捷键说明

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