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

📄 inductioncooker050512ver2.lst

📁 应用松翰母体写的一款电磁炉
💻 LST
📖 第 1 页 / 共 5 页
字号:
   805  0000ED             ;**********************************************
   806  0000ED             ;Name	:mnkey
   807  0000ED             ;Function:
   808  0000ED             ;Input  :
   809  0000ED             ;Output	:
   810  0000ED             ;Register Used:
   811  0000ED             ;***********************************************
   812  0000ED             mnkey:
   813  0000ED   C0F1       	call	keyin
   814  0000EE   C10E      	call	keychk
   815  0000EF   C120      	call	keycvt
   816  0000F0             	
   817  0000F0             mnkey90:
   818  0000F0   0E00      	ret
   819  0000F1             	
   820  0000F1             ;**********************************************
   821  0000F1             ;Name	:keyin
   822  0000F1             ;Function:keyinbuf.7=0:key on line0,=1:key on line1
   823  0000F1             ;Input  :
   824  0000F1             ;Output	:
   825  0000F1             ;Register Used:var1,var2
   826  0000F1             ;***********************************************
   827  0000F1             keyin:
   828  0000F1             ;-----
   829  0000F1             	mov_	var1,p2		;push p2 value
   830  0000F1   1ED2      	mov	a, p2
   831  0000F2   1F36      	mov	var1, a
   832  0000F3             ;//	mov_	var2,p4
   833  0000F3   2DF0      	mov	a,#11110000b
   834  0000F4   19D4      	or	p4,a
   835  0000F5   C150      	call	p2input
   836  0000F6   2B10      	clr	keyinbuf
   837  0000F7             ;----
   838  0000F7             ;start scan key
   839  0000F7             ;line0
   840  0000F7   40D5      	bclr	line0
   841  0000F8   C3E7      	call	delay_10us
   842  0000F9   1ED2      	mov	a,p2
   843  0000FA   2A7F      	and	a,#01111111b
   844  0000FB   1F10      	mov	keyinbuf,a
   845  0000FC   1D7F      	xor	a,#01111111b
   846  0000FD   7886      	b0bts1	fz
   847  0000FE   8108      	jmp	keyin80			;line0 上有键按下,退出line1扫描
   848  0000FF             ;-----
   849  0000FF             ;line1					;line0 上无键按下,接着扫描line1
   850  0000FF   41D5      	bclr	line1
   851  000100   C3E7      	call	delay_10us
   852  000101   1ED2      	mov	a,p2
   853  000102   2A7F      	and	a,#01111111b
   854  000103   1F10      	mov	keyinbuf,a
   855  000104   1D7F      	xor	a,#01111111b
   856  000105   7086      	b0bts0	fz
   857  000106   8108      	jmp	keyin80			;line1 上无键按下
   858  000107             ;----
   859  000107   4F10      	bset	keyinbuf.7		;line1 上有键按下
   860  000108             ;------
   861  000108             keyin80:
   862  000108   48D5      	bset	line0
   863  000109   49D5      	bset	line1
   864  00010A             ;----
   865  00010A   C156      	call	p2output
   866  00010B             	mov_	p2,var1			;pop p2 value
   867  00010B   1E36      	mov	a, var1
   868  00010C   1FD2      	mov	p2, a
   869  00010D             ;//	mov_	p4,var2
   870  00010D             ;---
   871  00010D             keyin90:
   872  00010D   0E00      	ret
   873  00010E             	
   874  00010E             ;**********************************************
   875  00010E             ;Name	:keychk
   876  00010E             ;Function:
   877  00010E             ;Input  :
   878  00010E             ;Output	:
   879  00010E             ;Register Used:
   880  00010E             ;***********************************************
   881  00010E             keychk:
   882  00010E   1E10      	mov	a,keyinbuf	;check line0 state
   883  00010F   0711      	cmprs	a,keychkbuf
   884  000110   811A      	jmp	keychk10
   885  000111             	
   886  000111   7C27      	b0bts1	keystatflag	;check have key push or not?
   887  000112   811F      	jmp	keychk90
   888  000113             	
   889  000113   1E14      	mov	a,keychat	;banish key's dithering
   890  000114   7886      	b0bts1	fz
   891  000115   811F      	jmp	keychk90
   892  000116             	
   893  000116   1E11      	mov	a,keychkbuf	;save key value
   894  000117   1F12      	mov	keycvtbuf,a
   895  000118             	
   896  000118   4427      	bclr	keystatflag
   897  000119   811F      	jmp	keychk90
   898  00011A             ;---	
   899  00011A             keychk10:
   900  00011A   1E10      	mov	a,keyinbuf	;send key state to bufram
   901  00011B   1F11      	mov	keychkbuf,a
   902  00011C             	
   903  00011C   4C27      	bset	keystatflag	;set key push flag
   904  00011D   2D03      	mov	a,#3		;3
   905  00011E   1F14      	mov	keychat,a	;banish key's dithering 30ms
   906  00011F             ;---
   907  00011F             keychk90:
   908  00011F   0E00      	ret
   909  000120             
   910  000120             
   911  000120             ;**********************************************
   912  000120             ;Name	:keycvt
   913  000120             ;Function:
   914  000120             ;Input  :
   915  000120             ;Output	:
   916  000120             ;Register Used:temp3,temp4
   917  000120             ;***********************************************	
   918  000120             keycvt:
   919  000120   1E12      	mov	a,keycvtbuf	;convert key value
   920  000121   0713      	cmprs	a,keyoldbuf
   921  000122   8124      	jmp	keycvt10
   922  000123   814F      	jmp	keycvt90
   923  000124             ;-----------------------------------------	
   924  000124             keycvt10:
   925  000124   7712      	b0bts0	lineflag	;=0:line0 key,=1:line1 key
   926  000125   8137      	jmp	line1keypush
   927  000126             ;----
   928  000126             ;line0 key push
   929  000126   1E12      	mov	a,keycvtbuf
   930  000127   1F13      	mov	keyoldbuf,a
   931  000128   1A80      	or	a,#10000000b
   932  000129   1F31      	mov	temp3,a
   933  00012A             	mov_	temp4,#7
   934  00012A   2D07      	mov	a, #7
   935  00012B   1F32      	mov	temp4, a
   936  00012C             ;-----------------------------------------
   937  00012C             loopline0:
   938  00012C   4286      	bclr	fc
   939  00012D   0931      	rrcm	temp3
   940  00012E   7A86      	b0bts1	fc
   941  00012F   8134      	jmp	line0getonekey
   942  000130   2632      	decms	temp4
   943  000131   812C      	jmp	loopline0
   944  000132             ;-----
   945  000132   492C      	bset	keyokflag
   946  000133   0E00      	ret
   947  000134             ;-----
   948  000134             line0getonekey:
   949  000134   1E32      	mov	a,temp4
   950  000135   1F15      	mov	aplcode,a
   951  000136   0E00      	ret
   952  000137             ;------------------------------------------
   953  000137             line1keypush:
   954  000137   1E12      	mov	a,keycvtbuf
   955  000138   1F13      	mov	keyoldbuf,a
   956  000139   1A80      	or	a,#10000000b
   957  00013A   1F31      	mov	temp3,a
   958  00013B             ;----
   959  00013B   2A03      	and	a,#00000011b
   960  00013C   7086      	b0bts0	fz
   961  00013D   814C      	jmp	twokeypush
   962  00013E             	mov_	temp4,#5
   963  00013E   2D05      	mov	a, #5
   964  00013F   1F32      	mov	temp4, a
   965  000140             loopline1:
   966  000140   4286      	bclr	fc
   967  000141   0931      	rrcm	temp3
   968  000142   7A86      	b0bts1	fc
   969  000143   8148      	jmp	line1getonekey
   970  000144   2632      	decms	temp4
   971  000145   8140      	jmp	loopline1
   972  000146             ;-----
   973  000146   492C      	bset	keyokflag
   974  000147   0E00      	ret
   975  000148             ;-----
   976  000148             line1getonekey:
   977  000148   1E32      	mov	a,temp4
   978  000149   1407      	add	a,#7
   979  00014A   1F15      	mov	aplcode,a
   980  00014B   0E00      	ret
   981  00014C             ;----
   982  00014C             twokeypush:
   983  00014C   2D0D      	mov	a,#13
   984  00014D   1F15      	mov	aplcode,a
   985  00014E   492C      	bset	keyokflag	
   986  00014F             ;-----	
   987  00014F             keycvt90:
   988  00014F   0E00      	ret	
   989  000150             	
   990  000150             ;*******************************************************
   991  000150             ;*******************************************************
   992  000150             ;*******************************************************
   993  000150             p2input:
   994  000150   2BC2      	clr	p2m		;set p2 is input
   995  000151             	mov_	p2ur,#0ffh	;set p2 have pull_up
   996  000151   2DFF      	mov	a, #0ffh
   997  000152   1FE2      	mov	p2ur, a
   998  000153   8154      	jmp	$+1
   999  000154   8155      	jmp	$+1
  1000  000155   0E00      	ret
  1001  000156             ;-----------------
  1002  000156             p2output:
  1003  000156             	mov_	p2m,#0ffh	;set p2 is output
  1004  000156   2DFF      	mov	a, #0ffh
  1005  000157   1FC2      	mov	p2m, a
  1006  000158   2BE2      	clr	p2ur		;clr p2 pull_up
  1007  000159   815A      	jmp	$+1
  1008  00015A   815B      	jmp	$+1
  1009  00015B   0E00      	ret
  1010  00015C                 
  1011  00015C                 
  1012  00015C             ;//	include	scankey.asm
  1013  00015C             	include mnapp.asm
  1014  00015C             ;**********************************************
  1015  00015C             ;Name	:mnapp
  1016  00015C             ;Function:
  1017  00015C             ;Input  :
  1018  00015C             ;Output	:
  1019  00015C             ;Register Used:
  1020  00015C             ;***********************************************
  1021  00015C             mnapp:
  1022  00015C   C160      	call	checkkey
  1023  00015D   C25A      	call	getinitparameter  ;某些功能下,不需要
  1024  00015E   C285      	call	function
  1025  00015F             	
  1026  00015F             mnapp90:
  1027  00015F   0E00      	ret
  1028  000160             ;**********************************************
  1029  000160             ;Name	:ensure which key should operate
  1030  000160             ;Function:
  1031  000160             ;Input  :
  1032  000160             ;Output	:
  1033  000160             ;Register Used:
  1034  000160             ;***********************************************
  1035  000160             checkkey:
  1036  000160   712A      	b0bts0	poweronflag
  1037  000161   8255      	jmp	checkkey90	;刚通电,不响应按键
  1038  000162   792C      	b0bts1	keyokflag
  1039  000163   8259      	jmp	checkkey100
  1040  000164             ;----
  1041  000164   412C      	bclr	keyokflag
  1042  000165   1E15      	mov	a,aplcode
  1043  000166             	@jmp_a	14
  1044  000166   13CE      	add	pcl, a
  1045  000167   8255      	jmp	checkkey90	;0
  1046  000168   81E2      	jmp	boilwaterkey	;1,煮水
  1047  000169   81C8      	jmp	warmmilkkey	;2,热奶
  1048  00016A   81B4      	jmp	soupingkey	;3,煲汤
  1049  00016B   819B      	jmp	cookingkey	;4,煮饭,可定时
  1050  00016C   818F      	jmp	barbecuekey    	;5,烧烤,可定时
  1051  00016D   8184      	jmp	chaffydishkey   ;6,火锅
  1052  00016E   8175      	jmp	frieddishkey    ;7,炒菜
  1053  00016F   8240      	jmp	offkey		;8
  1054  000170   8215      	jmp	inckey		;9
  1055  000171   822C      	jmp	deckey		;10
  1056  000172   8206      	jmp	oneminkey	;11,一分钟
  1057  000173   81F7      	jmp	tenminkey    	;12,十分钟
  1058  000174   824D      	jmp	canceltimekey	;13,一分钟和十分钟键同时按下	
  1059  000175             ;************************************************
  1060  000175             frieddishkey:
  1061  000175             ;----
  1062  000175   C39C      	call	clearallflag
  1063  000176   4829      	bset	frieddishflag
  1064  000177   4D28      	bset	operateflag	;开始工作标志
  1065  000178   492B      	bset	parameterflag
  1066  000179   4D2A      	bset	settimeflag
  1067  00017A   49C9      	bset	fp01ien
  1068  00017B             ;----
  1069  00017B             ;初始化参数
  1070  00017B   C3A4      	call	initparameter
  1071  00017C   4024      	bclr	frieddishled	;light led
  1072  00017D   4225      	bclr	temp160cled	;1200w

⌨️ 快捷键说明

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