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

📄 inductioncooker050512ver2.lst

📁 应用松翰母体写的一款电磁炉
💻 LST
📖 第 1 页 / 共 5 页
字号:
   537  00005B             */
   538  00005B   45C9      	bclr	ftc0ien			;dis t0 int
   539  00005C   47DA      	bclr	ftc0enb			;stop t0 count
   540  00005D   2D64      	mov	A,#01100100B		;//f0=fcpu/4
   541  00005E             ;//	mov	A,#01010100B		;//f0=fcpu/4
   542  00005E   2FDA      	b0mov	Tc0M,A
   543  00005F   2D83      	mov	A,#131			;//0.5ms constant  for  f0=1mips/64
   544  000060             ;//	mov	A,#194			;0.25ms	
   545  000060   2FDB      	b0mov	Tc0C,A
   546  000061   2FCD      	b0mov	Tc0r,a
   547  000062   6FDA      	b0bset	FTc0ENB			; Enable TIMER0
   548  000063   4DC9      	bset	FTc0IEN			; Enable T0 interrupt
   549  000064   45C8      	bclr	ftc0irq			; CLEAR TIMER0 INTERRUPT FLAG
   550  000065             ;----
   551  000065             ;初始化pwm
   552  000065   46C9      	bclr	ftc1ien			;dis t1 int
   553  000066   2BDD      	clr	tc1c
   554  000067             ;//	mov_	tc1r,pwmpulsebuf
   555  000067   2D64      	mov	a,#01100100b		
   556  000068   1FDC      	mov	tc1m,a			;set pwm=32 duty fpwm=62.5k
   557  000069   41DC      	bclr	ftc1out
   558  00006A   40DC      	bclr	fpwm1out
   559  00006B   47DC      	bclr	ftc1enb			;stop t1 count	
   560  00006C             ;----
   561  00006C   2BB1      	clr	ADM
   562  00006D   6FB1      	b0bset	FADENB			;enable adc
   563  00006E             	mov_	ADR,#01010000b		;select 12 bit ADC,Fcpu/2=128us
   564  00006E   2D50      	mov	a, #01010000b
   565  00006F   1FB3      	mov	ADR, a
   566  000070             ;----
   567  000070   40C8      	bclr	fp00irq
   568  000071             	mov_	pedge,#10h		;p00 falling edge
   569  000071   2D10      	mov	a, #10h
   570  000072   1FBF      	mov	pedge, a
   571  000073   48C9      	bset	fp00ien
   572  000074             
   573  000074   41C8      	bclr	fp01irq			;p01 falling edge
   574  000075             ;//	bset	fp01ien
   575  000075             ;----
   576  000075   492A      	bset	poweronflag		;通电标志	
   577  000076   6FDF      	b0bset	FGIE			;//enable Interrupt gain
   578  000077   0E00      	ret
   579  000078             
   580  000078             ;**********************************************
   581  000078             ;Name	:Pdelay
   582  000078             ;Function:
   583  000078             ;Input  :
   584  000078             ;Output	:
   585  000078             ;Register Used:
   586  000078             ;***********************************************
   587  000078             Pdelay:
   588  000078   2DFF      	mov	a,#0ffh
   589  000079   1F36      	mov	var1,a
   590  00007A             loop10:
   591  00007A   2DFF      	mov	a,#0ffh
   592  00007B   1F37      	mov	var2,a
   593  00007C             loop11:
   594  00007C   2637      	decms	var2
   595  00007D   807C      	jmp	loop11			;power on delay
   596  00007E   2636      	decms	var1
   597  00007F   807A      	jmp	loop10
   598  000080   0E00      	ret
   599  000081             	include	intserver.asm
   600  000081             ;************************************************
   601  000081             ;Name	:InterruptSub
   602  000081             ;Function:
   603  000081             ;Input  :
   604  000081             ;Output	:
   605  000081             ;Register Used:
   606  000081             ;*************************************************
   607  000081             InterruptSub:
   608  000081   2C00      	XCH	A,AccBuf
   609  000082   2C86      	XCH	A,PFLAG
   610  000083   2F01      	B0MOV	PflagBuf,A
   611  000084             	
   612  000084   75C8      	b0bts0	FTc0IRQ		;//Analyse the Interrupt resourc
   613  000085   808E      	jmp	Tc0INTR
   614  000086             	
   615  000086   70C8      	b0bts0	FP00IRQ		;//P00 interrupt
   616  000087   80B6      	jmp	P00INTR
   617  000088             	
   618  000088   71C8      	b0bts0	FP01IRQ		;//P01 interrupt
   619  000089   80BD      	jmp	P01INTR
   620  00008A             
   621  00008A             Interrup90:
   622  00008A             
   623  00008A   2C01      	XCH	A,PflagBuf
   624  00008B   2F86      	B0MOV	PFLAG,A
   625  00008C   2C00      	XCH	A,AccBuf	;//For release the Acc And Pflag
   626  00008D             	
   627  00008D   0F00      	RETI
   628  00008E             
   629  00008E             ;--------------------------------------------------------
   630  00008E             Tc0INTR:
   631  00008E             ;//User can add  interrupt program
   632  00008E             ;----
   633  00008E   7E28      	b0bts1	buzzerflag
   634  00008F   8095      	jmp	TC0INTR30
   635  000090             	notbit	ptbuzzer
   636  000090   74D5      		b0bts0 ptbuzzer
   637  000091   8094      		jmp $+3
   638  000092   6CD5      		b0bset ptbuzzer
   639  000093   8095      		jmp $+2
   640  000094   64D5      		b0bclr ptbuzzer
   641  000095             ;----
   642  000095             TC0INTR30:
   643  000095   2602      	decms	timer10ms
   644  000096   80B4      	jmp	TC0INTR90
   645  000097   4827      	bset	t10msflag
   646  000098             	mov_	timer10ms,#20
   647  000098   2D14      	mov	a, #20
   648  000099   1F02      	mov	timer10ms, a
   649  00009A             
   650  00009A   1E14      	mov	a,keychat
   651  00009B   7086      	b0bts0	fz
   652  00009C   809F      	jmp	TC0INTR10
   653  00009D             	
   654  00009D   2614      	decms	keychat
   655  00009E   0000      	nop
   656  00009F             ;-----
   657  00009F             TC0INTR10:
   658  00009F   2603      	decms	timer1s
   659  0000A0   80B4      	jmp	TC0INTR90
   660  0000A1   4927      	bset	t1sflag
   661  0000A2             	mov_	timer1s,#100
   662  0000A2   2D64      	mov	a, #100
   663  0000A3   1F03      	mov	timer1s, a
   664  0000A4             ;-----
   665  0000A4             TC0INTR20:
   666  0000A4   2604      	decms	timer1m
   667  0000A5   80A9      	jmp	TC0INTR40
   668  0000A6             	mov_	timer1m,#60
   669  0000A6   2D3C      	mov	a, #60
   670  0000A7   1F04      	mov	timer1m, a
   671  0000A8   4A27      	bset	t1mflag
   672  0000A9             ;-----
   673  0000A9             TC0INTR40:
   674  0000A9   2605      	decms	timer1h
   675  0000AA   80B4      	jmp	TC0INTR90
   676  0000AB             	mov_	timer1h,#60
   677  0000AB   2D3C      	mov	a, #60
   678  0000AC   1F05      	mov	timer1h, a
   679  0000AD   4B2B      	bset	t1hflag
   680  0000AE             ;-----
   681  0000AE   1E06      	mov	a,timer2h
   682  0000AF   7086      	b0bts0	fz
   683  0000B0   80B4      	jmp	TC0INTR90
   684  0000B1   2606      	decms	timer2h
   685  0000B2   80B4      	jmp	TC0INTR90
   686  0000B3   4B27      	bset	t2hflag
   687  0000B4             TC0INTR90:
   688  0000B4   65C8      	b0bclr	FTc0IRQ
   689  0000B5   808A      	jmp	Interrup90
   690  0000B6             	
   691  0000B6             ;--------------------------------------------------------
   692  0000B6             P00INTR:
   693  0000B6             ;//User can add  interrupt program
   694  0000B6             ;--------------------------------------------------------
   695  0000B6             
   696  0000B6   7D28      	b0bts1	operateflag
   697  0000B7   80BB      	jmp	P00INTR90		;//锅检测信号
   698  0000B8             ;-----
   699  0000B8   772B      	b0bts0	checkcookerflag
   700  0000B9   80BB      	jmp	P00INTR80
   701  0000BA             ;-----
   702  0000BA   4F2B      	bset	checkcookerflag
   703  0000BB             ;-----
   704  0000BB             P00INTR80:
   705  0000BB             
   706  0000BB             ;-----
   707  0000BB             P00INTR90:
   708  0000BB   60C8      	b0bclr	FP00IRQ
   709  0000BC   808A      	jmp	Interrup90
   710  0000BD             ;--------------------------------------------------------
   711  0000BD             P01INTR:
   712  0000BD             ;//User can add  interrupt program,过零
   713  0000BD             ;--------------------------------------------------------
   714  0000BD             
   715  0000BD   7D28      	b0bts1	operateflag
   716  0000BE   80C7      	jmp	P01INTR90		;//启动信号
   717  0000BF             ;-----
   718  0000BF   772A      	b0bts0	Igbtstartupflag
   719  0000C0   80C7      	jmp	P01INTR90
   720  0000C1             ;-----
   721  0000C1   4F2A      	bset	Igbtstartupflag
   722  0000C2   4DD5      	bset	ptcout
   723  0000C3             	mov_	tc1r,pwmpulsebuf
   724  0000C3   1E1F      	mov	a, pwmpulsebuf
   725  0000C4   1FDE      	mov	tc1r, a
   726  0000C5   48DC      	bset	fpwm1out
   727  0000C6   4FDC      	bset	ftc1enb
   728  0000C7             
   729  0000C7             P01INTR90:
   730  0000C7   61C8      	b0bclr	FP01IRQ
   731  0000C8   808A      	jmp	Interrup90
   732  0000C9             ;***********************************************
   733  0000C9             
   734  0000C9             
   735  0000C9             
   736  0000C9             ;***********************************************
   737  0000C9             ;Name	:mnintgnd
   738  0000C9             ;Function:interface between interrupt and main
   739  0000C9             ;Input  :
   740  0000C9             ;Output	:
   741  0000C9             ;Register Used:
   742  0000C9             ;***********************************************
   743  0000C9             mnintgnd:
   744  0000C9   7827      	b0bts1	t10msflag
   745  0000CA   80EC      	jmp	mnintgnd90
   746  0000CB             ;-----------------------------
   747  0000CB   4027      	bclr	t10msflag
   748  0000CC             ;----
   749  0000CC             /*
   750  0000CC             	decms	buzfrequent
   751  0000CC             	jmp	mnintgnd10
   752  0000CC             	bset	buzfrequentflag
   753  0000CC             	mov_	buzfrequent,frequentbuf1
   754  0000CC             */
   755  0000CC             ;------------------------------
   756  0000CC             mnintgnd10:
   757  0000CC             ;----
   758  0000CC   1E0A      	mov	a,loadfrequent
   759  0000CD   7086      	b0bts0	fz
   760  0000CE   80E4      	jmp	mnintgnd20
   761  0000CF   260A      	decms	loadfrequent
   762  0000D0   80E4      	jmp	mnintgnd20
   763  0000D1             	notbit	loadfrequentflag
   764  0000D1   742B      		b0bts0 loadfrequentflag
   765  0000D2   80D5      		jmp $+3
   766  0000D3   6C2B      		b0bset loadfrequentflag
   767  0000D4   80D6      		jmp $+2
   768  0000D5   642B      		b0bclr loadfrequentflag
   769  0000D6             	mov_	loadfrequent,frequentbuf2
   770  0000D6   1E0D      	mov	a, frequentbuf2
   771  0000D7   1F0A      	mov	loadfrequent, a
   772  0000D8             ;-----
   773  0000D8   1E0F      	mov	a,buzzercnt
   774  0000D9   7086      	b0bts0	fz
   775  0000DA   80E4      	jmp	mnintgnd20
   776  0000DB             ;---
   777  0000DB             	notbit	buzzerflag
   778  0000DB   7628      		b0bts0 buzzerflag
   779  0000DC   80DF      		jmp $+3
   780  0000DD   6E28      		b0bset buzzerflag
   781  0000DE   80E0      		jmp $+2
   782  0000DF   6628      		b0bclr buzzerflag
   783  0000E0   260F      	decms	buzzercnt
   784  0000E1   80E4      	jmp	mnintgnd20
   785  0000E2   4628      	bclr	buzzerflag
   786  0000E3   4F2C      	bset	alarmendfalg
   787  0000E4             ;------------------------------
   788  0000E4             mnintgnd20:
   789  0000E4             ;----
   790  0000E4   1E0B      	mov	a,ledfrequent
   791  0000E5   7086      	b0bts0	fz
   792  0000E6   80EC      	jmp	mnintgnd30
   793  0000E7   260B      	decms	ledfrequent
   794  0000E8   80EC      	jmp	mnintgnd30
   795  0000E9   4E2B      	bset	ledfrequentflag
   796  0000EA             	mov_	ledfrequent,frequentbuf3
   797  0000EA   1E0E      	mov	a, frequentbuf3
   798  0000EB   1F0B      	mov	ledfrequent, a
   799  0000EC             ;-------------------------------
   800  0000EC             mnintgnd30:
   801  0000EC             
   802  0000EC             mnintgnd90:
   803  0000EC   0E00      	ret
   804  0000ED             	include keyscan.asm

⌨️ 快捷键说明

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