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

📄 inductioncooker050524ver2.lst

📁 应用松翰母体写的一款电磁炉
💻 LST
📖 第 1 页 / 共 5 页
字号:
   802  0000DC   7836      	b0bts1	t10msflag
   803  0000DD   80FC      	jmp	mnintgnd90
   804  0000DE             ;-----------------------------
   805  0000DE   4036      	bclr	t10msflag
   806  0000DF             ;------------------------------
   807  0000DF             mnintgnd10:
   808  0000DF             ;----
   809  0000DF   260E      	decms	loadfrequent
   810  0000E0   80EE      	jmp	mnintgnd20
   811  0000E1             	mov_	loadfrequent,#50
   812  0000E1   2D32      	mov	a, #50
   813  0000E2   1F0E      	mov	loadfrequent, a
   814  0000E3             ;-----
   815  0000E3   1E13      	mov	a,buzzercnt
   816  0000E4   7086      	b0bts0	fz
   817  0000E5   80EE      	jmp	mnintgnd20
   818  0000E6             ;---
   819  0000E6             	notbit	buzzerflag
   820  0000E6   7637      		b0bts0 buzzerflag
   821  0000E7   80EA      		jmp $+3
   822  0000E8   6E37      		b0bset buzzerflag
   823  0000E9   80EB      		jmp $+2
   824  0000EA   6637      		b0bclr buzzerflag
   825  0000EB   2613      	decms	buzzercnt
   826  0000EC   80EE      	jmp	mnintgnd20
   827  0000ED   4637      	bclr	buzzerflag
   828  0000EE             ;------------------------------
   829  0000EE             mnintgnd20:
   830  0000EE             ;----
   831  0000EE   260F      	decms	ledfrequent
   832  0000EF   80F3      	jmp	mnintgnd30
   833  0000F0   4E3A      	bset	ledfrequentflag
   834  0000F1             	mov_	ledfrequent,#50
   835  0000F1   2D32      	mov	a, #50
   836  0000F2   1F0F      	mov	ledfrequent, a
   837  0000F3             ;-------------------------------
   838  0000F3             mnintgnd30:
   839  0000F3   2604      	decms	timer200ms
   840  0000F4   80FC      	jmp	mnintgnd90
   841  0000F5             	notbit	heattimeflag
   842  0000F5   713E      		b0bts0 heattimeflag
   843  0000F6   80F9      		jmp $+3
   844  0000F7   693E      		b0bset heattimeflag
   845  0000F8   80FA      		jmp $+2
   846  0000F9   613E      		b0bclr heattimeflag
   847  0000FA             	mov_	timer200ms,#20
   848  0000FA   2D14      	mov	a, #20
   849  0000FB   1F04      	mov	timer200ms, a
   850  0000FC             mnintgnd90:
   851  0000FC   0E00      	ret
   852  0000FD             	include keyscan.asm
   853  0000FD             ;**********************************************
   854  0000FD             ;Name	:mnkey
   855  0000FD             ;Function:
   856  0000FD             ;Input  :
   857  0000FD             ;Output	:
   858  0000FD             ;Register Used:
   859  0000FD             ;***********************************************
   860  0000FD             mnkey:
   861  0000FD   C101       	call	keyin
   862  0000FE   C11E      	call	keychk
   863  0000FF   C130      	call	keycvt
   864  000100             	
   865  000100             mnkey90:
   866  000100   0E00      	ret
   867  000101             	
   868  000101             ;**********************************************
   869  000101             ;Name	:keyin
   870  000101             ;Function:keyinbuf.7=0:key on line0,=1:key on line1
   871  000101             ;Input  :
   872  000101             ;Output	:
   873  000101             ;Register Used:var1,var2
   874  000101             ;***********************************************
   875  000101             keyin:
   876  000101             ;-----
   877  000101             	mov_	var1,p2		;push p2 value
   878  000101   1ED2      	mov	a, p2
   879  000102   1F47      	mov	var1, a
   880  000103   2DF0      	mov	a,#11110000b
   881  000104   19D4      	or	p4,a
   882  000105   C160      	call	p2input
   883  000106   2B14      	clr	keyinbuf
   884  000107             ;----
   885  000107             ;start scan key
   886  000107             ;line0
   887  000107   40D5      	bclr	line0
   888  000108   C417      	call	delay_10us
   889  000109   1ED2      	mov	a,p2
   890  00010A   2A7F      	and	a,#01111111b
   891  00010B   1F14      	mov	keyinbuf,a
   892  00010C   1D7F      	xor	a,#01111111b
   893  00010D   7886      	b0bts1	fz
   894  00010E   8118      	jmp	keyin80			;line0 上有键按下,退出line1扫描
   895  00010F             ;-----
   896  00010F             ;line1					;line0 上无键按下,接着扫描line1
   897  00010F   41D5      	bclr	line1
   898  000110   C417      	call	delay_10us
   899  000111   1ED2      	mov	a,p2
   900  000112   2A7F      	and	a,#01111111b
   901  000113   1F14      	mov	keyinbuf,a
   902  000114   1D7F      	xor	a,#01111111b
   903  000115   7086      	b0bts0	fz
   904  000116   8118      	jmp	keyin80			;line1 上无键按下
   905  000117             ;----
   906  000117   4F14      	bset	keyinbuf.7		;line1 上有键按下
   907  000118             ;------
   908  000118             keyin80:
   909  000118   48D5      	bset	line0
   910  000119   49D5      	bset	line1
   911  00011A             ;----
   912  00011A   C166      	call	p2output
   913  00011B             	mov_	p2,var1			;pop p2 value
   914  00011B   1E47      	mov	a, var1
   915  00011C   1FD2      	mov	p2, a
   916  00011D             ;---
   917  00011D             keyin90:
   918  00011D   0E00      	ret
   919  00011E             	
   920  00011E             ;**********************************************
   921  00011E             ;Name	:keychk
   922  00011E             ;Function:
   923  00011E             ;Input  :
   924  00011E             ;Output	:
   925  00011E             ;Register Used:
   926  00011E             ;***********************************************
   927  00011E             keychk:
   928  00011E   1E14      	mov	a,keyinbuf	;check line0 state
   929  00011F   0715      	cmprs	a,keychkbuf
   930  000120   812A      	jmp	keychk10
   931  000121             	
   932  000121   7C36      	b0bts1	keystatflag	;check have key push or not?
   933  000122   812F      	jmp	keychk90
   934  000123             	
   935  000123   1E18      	mov	a,keychat	;banish key's dithering
   936  000124   7886      	b0bts1	fz
   937  000125   812F      	jmp	keychk90
   938  000126             	
   939  000126   1E15      	mov	a,keychkbuf	;save key value
   940  000127   1F16      	mov	keycvtbuf,a
   941  000128             	
   942  000128   4436      	bclr	keystatflag
   943  000129   812F      	jmp	keychk90
   944  00012A             ;---	
   945  00012A             keychk10:
   946  00012A   1E14      	mov	a,keyinbuf	;send key state to bufram
   947  00012B   1F15      	mov	keychkbuf,a
   948  00012C             	
   949  00012C   4C36      	bset	keystatflag	;set key push flag
   950  00012D   2D03      	mov	a,#3		;3
   951  00012E   1F18      	mov	keychat,a	;banish key's dithering 30ms
   952  00012F             ;---
   953  00012F             keychk90:
   954  00012F   0E00      	ret
   955  000130             
   956  000130             
   957  000130             ;**********************************************
   958  000130             ;Name	:keycvt
   959  000130             ;Function:
   960  000130             ;Input  :
   961  000130             ;Output	:
   962  000130             ;Register Used:temp3,temp4
   963  000130             ;***********************************************	
   964  000130             keycvt:
   965  000130   1E16      	mov	a,keycvtbuf	;convert key value
   966  000131   0717      	cmprs	a,keyoldbuf
   967  000132   8134      	jmp	keycvt10
   968  000133   815F      	jmp	keycvt90
   969  000134             ;-----------------------------------------	
   970  000134             keycvt10:
   971  000134   7716      	b0bts0	lineflag	;=0:line0 key,=1:line1 key
   972  000135   8147      	jmp	line1keypush
   973  000136             ;----
   974  000136             ;line0 key push
   975  000136   1E16      	mov	a,keycvtbuf
   976  000137   1F17      	mov	keyoldbuf,a
   977  000138   1A80      	or	a,#10000000b
   978  000139   1F42      	mov	temp3,a
   979  00013A             	mov_	temp4,#7
   980  00013A   2D07      	mov	a, #7
   981  00013B   1F43      	mov	temp4, a
   982  00013C             ;-----------------------------------------
   983  00013C             loopline0:
   984  00013C   4286      	bclr	fc
   985  00013D   0942      	rrcm	temp3
   986  00013E   7A86      	b0bts1	fc
   987  00013F   8144      	jmp	line0getonekey
   988  000140   2643      	decms	temp4
   989  000141   813C      	jmp	loopline0
   990  000142             ;-----
   991  000142   493B      	bset	keyokflag
   992  000143   0E00      	ret
   993  000144             ;-----
   994  000144             line0getonekey:
   995  000144   1E43      	mov	a,temp4
   996  000145   1F19      	mov	aplcode,a
   997  000146   0E00      	ret
   998  000147             ;------------------------------------------
   999  000147             line1keypush:
  1000  000147   1E16      	mov	a,keycvtbuf
  1001  000148   1F17      	mov	keyoldbuf,a
  1002  000149   1A80      	or	a,#10000000b
  1003  00014A   1F42      	mov	temp3,a
  1004  00014B             ;----
  1005  00014B   2A03      	and	a,#00000011b
  1006  00014C   7086      	b0bts0	fz
  1007  00014D   815C      	jmp	twokeypush
  1008  00014E             	mov_	temp4,#5
  1009  00014E   2D05      	mov	a, #5
  1010  00014F   1F43      	mov	temp4, a
  1011  000150             loopline1:
  1012  000150   4286      	bclr	fc
  1013  000151   0942      	rrcm	temp3
  1014  000152   7A86      	b0bts1	fc
  1015  000153   8158      	jmp	line1getonekey
  1016  000154   2643      	decms	temp4
  1017  000155   8150      	jmp	loopline1
  1018  000156             ;-----
  1019  000156   493B      	bset	keyokflag
  1020  000157   0E00      	ret
  1021  000158             ;-----
  1022  000158             line1getonekey:
  1023  000158   1E43      	mov	a,temp4
  1024  000159   1407      	add	a,#7
  1025  00015A   1F19      	mov	aplcode,a
  1026  00015B   0E00      	ret
  1027  00015C             ;----
  1028  00015C             twokeypush:
  1029  00015C   2D0D      	mov	a,#13
  1030  00015D   1F19      	mov	aplcode,a
  1031  00015E   493B      	bset	keyokflag	
  1032  00015F             ;-----	
  1033  00015F             keycvt90:
  1034  00015F   0E00      	ret	
  1035  000160             	
  1036  000160             ;*******************************************************
  1037  000160             ;*******************************************************
  1038  000160             ;*******************************************************
  1039  000160             p2input:
  1040  000160   2BC2      	clr	p2m		;set p2 is input
  1041  000161             	mov_	p2ur,#0ffh	;set p2 have pull_up
  1042  000161   2DFF      	mov	a, #0ffh
  1043  000162   1FE2      	mov	p2ur, a
  1044  000163   8164      	jmp	$+1
  1045  000164   8165      	jmp	$+1
  1046  000165   0E00      	ret
  1047  000166             ;-----------------
  1048  000166             p2output:
  1049  000166             	mov_	p2m,#0ffh	;set p2 is output
  1050  000166   2DFF      	mov	a, #0ffh
  1051  000167   1FC2      	mov	p2m, a
  1052  000168   2BE2      	clr	p2ur		;clr p2 pull_up
  1053  000169   816A      	jmp	$+1
  1054  00016A   816B      	jmp	$+1
  1055  00016B   0E00      	ret
  1056  00016C                 
  1057  00016C                 
  1058  00016C             	include mnapp.asm
  1059  00016C             ;**********************************************
  1060  00016C             ;Name	:mnapp
  1061  00016C             ;Function:
  1062  00016C             ;Input  :
  1063  00016C             ;Output	:
  1064  00016C             ;Register Used:
  1065  00016C             ;***********************************************
  1066  00016C             mnapp:
  1067  00016C   C170      	call	checkkey
  1068  00016D   C267      	call	getinitparameter  ;某些功能下,不需要

⌨️ 快捷键说明

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