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

📄 inductioncooker050413ver1.lst

📁 应用松翰母体写的一款电磁炉
💻 LST
📖 第 1 页 / 共 5 页
字号:
   547  000086             ;***********************************************
   548  000086             
   549  000086             
   550  000086             
   551  000086             ;***********************************************
   552  000086             ;Name	:mnintgnd
   553  000086             ;Function:interface between interrupt and main
   554  000086             ;Input  :
   555  000086             ;Output	:
   556  000086             ;Register Used:
   557  000086             ;***********************************************
   558  000086             mnintgnd:
   559  000086   7820      	b0bts1	t10msflag
   560  000087   809F      	jmp	mnintgnd90
   561  000088             ;-----------------------------
   562  000088   4020      	bclr	t10msflag
   563  000089             ;----
   564  000089   1E06      	mov	a,buzfrequent
   565  00008A   7086      	b0bts0	fz
   566  00008B   808F      	jmp	mnintgnd10
   567  00008C             ;----
   568  00008C   2606      	decms	buzfrequent
   569  00008D   808F      	jmp	mnintgnd10
   570  00008E   4824      	bset	buzfrequentflag
   571  00008F             ;------------------------------
   572  00008F             mnintgnd10:
   573  00008F   1E07      	mov	a,loadfrequent
   574  000090   7086      	b0bts0	fz
   575  000091   8099      	jmp	mnintgnd20
   576  000092             ;----
   577  000092   2607      	decms	loadfrequent
   578  000093   8099      	jmp	mnintgnd20
   579  000094             	notbit	loadfrequentflag
   580  000094   7424      		b0bts0 loadfrequentflag
   581  000095   8098      		jmp $+3
   582  000096   6C24      		b0bset loadfrequentflag
   583  000097   8099      		jmp $+2
   584  000098   6424      		b0bclr loadfrequentflag
   585  000099             ;------------------------------
   586  000099             mnintgnd20:
   587  000099   1E08      	mov	a,ledfrequent
   588  00009A   7086      	b0bts0	fz
   589  00009B   809F      	jmp	mnintgnd30
   590  00009C             ;----
   591  00009C   2608      	decms	ledfrequent
   592  00009D   809F      	jmp	mnintgnd30
   593  00009E   4E24      	bset	ledfrequentflag
   594  00009F             ;-------------------------------
   595  00009F             mnintgnd30:
   596  00009F             
   597  00009F             mnintgnd90:
   598  00009F   0E00      	ret
   599  0000A0             	include keyscan.asm
   600  0000A0             ;**********************************************
   601  0000A0             ;Name	:mnkey
   602  0000A0             ;Function:
   603  0000A0             ;Input  :
   604  0000A0             ;Output	:
   605  0000A0             ;Register Used:
   606  0000A0             ;***********************************************
   607  0000A0             mnkey:
   608  0000A0   C0A4       	call	keyin
   609  0000A1   C0BF      	call	keychk
   610  0000A2   C0D1      	call	keycvt
   611  0000A3             	
   612  0000A3             mnkey90:
   613  0000A3   0E00      	ret
   614  0000A4             	
   615  0000A4             ;**********************************************
   616  0000A4             ;Name	:keyin
   617  0000A4             ;Function:keyinbuf.7=0:key on line0,=1:key on line1
   618  0000A4             ;Input  :
   619  0000A4             ;Output	:
   620  0000A4             ;Register Used:var1
   621  0000A4             ;***********************************************
   622  0000A4             keyin:
   623  0000A4             ;-----
   624  0000A4             	mov_	var1,p2		;push p2 value
   625  0000A4   1ED2      	mov	a, p2
   626  0000A5   1F2D      	mov	var1, a
   627  0000A6   C0F4      	call	p2input
   628  0000A7   2B09      	clr	keyinbuf
   629  0000A8             ;----
   630  0000A8             ;start scan key
   631  0000A8             ;line0
   632  0000A8   40D5      	bclr	line0
   633  0000A9   C1BE      	call	delay_10us
   634  0000AA   1ED2      	mov	a,p2
   635  0000AB   2A7F      	and	a,#01111111b
   636  0000AC   1F09      	mov	keyinbuf,a
   637  0000AD   1D7F      	xor	a,#01111111b
   638  0000AE   7886      	b0bts1	fz
   639  0000AF   80B9      	jmp	keyin80			;line0 上有键按下,退出line1扫描
   640  0000B0             ;-----
   641  0000B0             ;line1					;line0 上无键按下,接着扫描line1
   642  0000B0   41D5      	bclr	line1
   643  0000B1   C1BE      	call	delay_10us
   644  0000B2   1ED2      	mov	a,p2
   645  0000B3   2A7F      	and	a,#01111111b
   646  0000B4   1F09      	mov	keyinbuf,a
   647  0000B5   1D7F      	xor	a,#01111111b
   648  0000B6   7086      	b0bts0	fz
   649  0000B7   80B9      	jmp	keyin80			;line1 上无键按下
   650  0000B8             ;----
   651  0000B8   4F09      	bset	keyinbuf.7		;line1 上有键按下
   652  0000B9             ;------
   653  0000B9             keyin80:
   654  0000B9   48D5      	bset	line0
   655  0000BA   49D5      	bset	line1
   656  0000BB             ;----
   657  0000BB   C0FA      	call	p2output
   658  0000BC             	mov_	p2,var1			;pop p2 value
   659  0000BC   1E2D      	mov	a, var1
   660  0000BD   1FD2      	mov	p2, a
   661  0000BE             ;---
   662  0000BE             keyin90:
   663  0000BE   0E00      	ret
   664  0000BF             	
   665  0000BF             ;**********************************************
   666  0000BF             ;Name	:keychk
   667  0000BF             ;Function:
   668  0000BF             ;Input  :
   669  0000BF             ;Output	:
   670  0000BF             ;Register Used:
   671  0000BF             ;***********************************************
   672  0000BF             keychk:
   673  0000BF   1E09      	mov	a,keyinbuf	;check line0 state
   674  0000C0   070A      	cmprs	a,keychkbuf
   675  0000C1   80CB      	jmp	keychk10
   676  0000C2             	
   677  0000C2   7C20      	b0bts1	keystatflag	;check have key push or not?
   678  0000C3   80D0      	jmp	keychk90
   679  0000C4             	
   680  0000C4   1E0D      	mov	a,keychat	;banish key's dithering
   681  0000C5   7886      	b0bts1	fz
   682  0000C6   80D0      	jmp	keychk90
   683  0000C7             	
   684  0000C7   1E0A      	mov	a,keychkbuf	;save key value
   685  0000C8   1F0B      	mov	keycvtbuf,a
   686  0000C9             	
   687  0000C9   4420      	bclr	keystatflag
   688  0000CA   80D0      	jmp	keychk90
   689  0000CB             ;---	
   690  0000CB             keychk10:
   691  0000CB   1E09      	mov	a,keyinbuf	;send key state to bufram
   692  0000CC   1F0A      	mov	keychkbuf,a
   693  0000CD             	
   694  0000CD   4C20      	bset	keystatflag	;set key push flag
   695  0000CE   2D03      	mov	a,#3		;3
   696  0000CF   1F0D      	mov	keychat,a	;banish key's dithering 30ms
   697  0000D0             ;---
   698  0000D0             keychk90:
   699  0000D0   0E00      	ret
   700  0000D1             
   701  0000D1             
   702  0000D1             ;**********************************************
   703  0000D1             ;Name	:keycvt
   704  0000D1             ;Function:
   705  0000D1             ;Input  :
   706  0000D1             ;Output	:
   707  0000D1             ;Register Used:var1,var2
   708  0000D1             ;***********************************************	
   709  0000D1             keycvt:
   710  0000D1   1E0B      	mov	a,keycvtbuf	;convert key value
   711  0000D2   070C      	cmprs	a,keyoldbuf
   712  0000D3   80D5      	jmp	keycvt10
   713  0000D4   80F3      	jmp	keycvt90
   714  0000D5             ;-----------------------------------------	
   715  0000D5             keycvt10:
   716  0000D5   770B      	b0bts0	lineflag	;=0:line0 key,=1:line1 key
   717  0000D6   80E5      	jmp	line1keypush
   718  0000D7             ;----
   719  0000D7             ;line0 key push
   720  0000D7             	mov_	var1,keycvtbuf
   721  0000D7   1E0B      	mov	a, keycvtbuf
   722  0000D8   1F2D      	mov	var1, a
   723  0000D9             	mov_	var2,#7
   724  0000D9   2D07      	mov	a, #7
   725  0000DA   1F2E      	mov	var2, a
   726  0000DB             ;-----------------------------------------
   727  0000DB             loopline0:
   728  0000DB   4286      	bclr	fc
   729  0000DC   092D      	rrcm	var1
   730  0000DD   7A86      	b0bts1	fc
   731  0000DE   80E2      	jmp	line0getonekey
   732  0000DF   262E      	decms	var2
   733  0000E0   80DB      	jmp	loopline0
   734  0000E1   0E00      	ret
   735  0000E2             ;-----
   736  0000E2             line0getonekey:
   737  0000E2   1E2E      	mov	a,var2
   738  0000E3   1F0E      	mov	aplcode,a
   739  0000E4   0E00      	ret
   740  0000E5             ;------------------------------------------
   741  0000E5             line1keypush:
   742  0000E5             	mov_	var1,keycvtbuf
   743  0000E5   1E0B      	mov	a, keycvtbuf
   744  0000E6   1F2D      	mov	var1, a
   745  0000E7             	mov_	var2,#5
   746  0000E7   2D05      	mov	a, #5
   747  0000E8   1F2E      	mov	var2, a
   748  0000E9             loopline1:
   749  0000E9   4286      	bclr	fc
   750  0000EA   092D      	rrcm	var1
   751  0000EB   7A86      	b0bts1	fc
   752  0000EC   80F0      	jmp	line1getonekey
   753  0000ED   262E      	decms	var2
   754  0000EE   80E9      	jmp	loopline1
   755  0000EF   0E00      	ret
   756  0000F0             ;-----
   757  0000F0             line1getonekey:
   758  0000F0   1E2E      	mov	a,var2
   759  0000F1   1407      	add	a,#7
   760  0000F2   1F0E      	mov	aplcode,a
   761  0000F3             ;-----	
   762  0000F3             keycvt90:
   763  0000F3   0E00      	ret	
   764  0000F4             	
   765  0000F4             ;*******************************************************
   766  0000F4             ;*******************************************************
   767  0000F4             ;*******************************************************
   768  0000F4             p2input:
   769  0000F4   2BC2      	clr	p2m		;set p2 is input
   770  0000F5             	mov_	p2ur,#0ffh	;set p2 have pull_up
   771  0000F5   2DFF      	mov	a, #0ffh
   772  0000F6   1FE2      	mov	p2ur, a
   773  0000F7   80F8      	jmp	$+1
   774  0000F8   80F9      	jmp	$+1
   775  0000F9   0E00      	ret
   776  0000FA             ;-----------------
   777  0000FA             p2output:
   778  0000FA             	mov_	p2m,#0ffh	;set p2 is output
   779  0000FA   2DFF      	mov	a, #0ffh
   780  0000FB   1FC2      	mov	p2m, a
   781  0000FC   2BE2      	clr	p2ur		;clr p2 pull_up
   782  0000FD   80FE      	jmp	$+1
   783  0000FE   80FF      	jmp	$+1
   784  0000FF   0E00      	ret
   785  000100                 
   786  000100                 
   787  000100             	include mnapp.asm
   788  000100             ;**********************************************
   789  000100             ;Name	:mnapp
   790  000100             ;Function:
   791  000100             ;Input  :
   792  000100             ;Output	:
   793  000100             ;Register Used:
   794  000100             ;***********************************************
   795  000100             mnapp:
   796  000100   C104      	call	checkkey
   797  000101   C167      	call	getinitparameter
   798  000102   C18B      	call	function
   799  000103             	
   800  000103             mnapp90:
   801  000103   0E00      	ret
   802  000104             ;**********************************************
   803  000104             ;Name	:ensure which key should operate
   804  000104             ;Function:
   805  000104             ;Input  :
   806  000104             ;Output	:
   807  000104             ;Register Used:
   808  000104             ;***********************************************
   809  000104             checkkey:
   810  000104   7123      	b0bts0	poweronflag
   811  000105   8165      	jmp	checkkey90	;刚通电,不响应按键
   812  000106   1E0E      	mov	a,aplcode
   813  000107             	@jmp_a	13
   814  000107   13CE      	add	pcl, a
   815  000108   8165      	jmp	checkkey90	;0
   816  000109   812E      	jmp	boilwaterkey	;1,煮水
   817  00010A   812B      	jmp	warmmilkkey	;2,热奶
   818  00010B   8128      	jmp	soupingkey	;3,煲汤
   819  00010C   8125      	jmp	cookingkey	;4,煮饭

⌨️ 快捷键说明

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