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

📄 inductioncooker050524ver2.lst

📁 应用松翰母体写的一款电磁炉
💻 LST
📖 第 1 页 / 共 5 页
字号:
   535  00004C   1F0F      	mov	ledfrequent,a
   536  00004D   1F0E      	mov	loadfrequent,a
   537  00004E   0E00      	ret
   538  00004F             ;**********************************************
   539  00004F             ;Name	:PortInitial
   540  00004F             ;Function:
   541  00004F             ;Input  :
   542  00004F             ;Output	:
   543  00004F             ;Register Used:
   544  00004F             ;***********************************************
   545  00004F             PortInitial:
   546  00004F             
   547  00004F   2DFF      	mov	a,#0ffh	
   548  000050   1FC2      	mov	p2m,a		;set p2 is output port
   549  000051   1FD2      	mov	p2,a		;set all p2 pin high level
   550  000052             
   551  000052   2DF0      	mov	a,#11110000b	;set p4.7~p4.4 is output,others is input
   552  000053   1FC4      	mov	p4m,a		
   553  000054   2DF0      	mov	a,#11110000b
   554  000055   1FD4      	mov	p4,a
   555  000056   2BE4      	clr	p4ur
   556  000057             	
   557  000057   2DFF      	mov	a,#11111111b
   558  000058   1FC5      	mov	p5m,a		;set p5 is output except p5.1
   559  000059   2DCB      	mov	a,#11001011b
   560  00005A   1FD5      	mov	p5,a
   561  00005B             
   562  00005B   0E00      	ret
   563  00005C             
   564  00005C             ;**********************************************
   565  00005C             ;Name	:SysInitial
   566  00005C             ;Function:
   567  00005C             ;Input  :
   568  00005C             ;Output	:
   569  00005C             ;Register Used:
   570  00005C             ;***********************************************
   571  00005C             SysInitial:
   572  00005C             ;-----
   573  00005C   2BD8      	clr	t0m			;ftc1=fcpu
   574  00005D             
   575  00005D   45C9      	bclr	ftc0ien			;dis t0 int
   576  00005E   47DA      	bclr	ftc0enb			;stop t0 count
   577  00005F   2D64      	mov	A,#01100100B		;//f0=fcpu/4
   578  000060             ;//	mov	A,#01010100B		;//f0=fcpu/4
   579  000060   2FDA      	b0mov	Tc0M,A
   580  000061   2D83      	mov	A,#131			;//0.5ms constant  for  f0=1mips/64
   581  000062             ;//	mov	A,#194			;0.25ms	
   582  000062   2FDB      	b0mov	Tc0C,A
   583  000063   2FCD      	b0mov	Tc0r,a
   584  000064   6FDA      	b0bset	FTc0ENB			; Enable TIMER0
   585  000065   4DC9      	bset	FTc0IEN			; Enable T0 interrupt
   586  000066   45C8      	bclr	ftc0irq			; CLEAR TIMER0 INTERRUPT FLAG
   587  000067             ;----
   588  000067             ;初始化pwm
   589  000067   46C9      	bclr	ftc1ien			;dis t1 int
   590  000068   2BDD      	clr	tc1c
   591  000069             ;//	mov	a,#01100100b	
   592  000069   2D62      	mov	a,#01100010b	
   593  00006A   2FDC      	b0mov	tc1m,a			;set pwm=32 duty fpwm=62.5k
   594  00006B   41DC      	bclr	ftc1out
   595  00006C   40DC      	bclr	fpwm1out
   596  00006D   47DC      	bclr	ftc1enb			;stop t1 count	
   597  00006E   43D5      	bclr	ptpwm
   598  00006F             ;----
   599  00006F   2BB1      	clr	ADM
   600  000070   6FB1      	b0bset	FADENB			;enable adc
   601  000071             	mov_	ADR,#01010000b		;select 12 bit ADC,Fcpu/2=128us
   602  000071   2D50      	mov	a, #01010000b
   603  000072   1FB3      	mov	ADR, a
   604  000073             ;----
   605  000073   40C8      	bclr	fp00irq
   606  000074             	mov_	pedge,#10h		;p00 falling edge
   607  000074   2D10      	mov	a, #10h
   608  000075   1FBF      	mov	pedge, a
   609  000076   48C9      	bset	fp00ien
   610  000077             
   611  000077   41C8      	bclr	fp01irq			;p01 falling edge
   612  000078             ;//	bset	fp01ien
   613  000078             ;----
   614  000078   4939      	bset	poweronflag		;通电标志	
   615  000079   6FDF      	b0bset	FGIE			;//enable Interrupt gain
   616  00007A   0E00      	ret
   617  00007B             
   618  00007B             ;**********************************************
   619  00007B             ;Name	:Pdelay
   620  00007B             ;Function:
   621  00007B             ;Input  :
   622  00007B             ;Output	:
   623  00007B             ;Register Used:
   624  00007B             ;***********************************************
   625  00007B             Pdelay:
   626  00007B   2DFF      	mov	a,#0ffh
   627  00007C   1F47      	mov	var1,a
   628  00007D             loop10:
   629  00007D   2DFF      	mov	a,#0ffh
   630  00007E   1F48      	mov	var2,a
   631  00007F             loop11:
   632  00007F   2648      	decms	var2
   633  000080   807F      	jmp	loop11			;power on delay
   634  000081   2647      	decms	var1
   635  000082   807D      	jmp	loop10
   636  000083   0E00      	ret
   637  000084             	include	intserver.asm
   638  000084             ;************************************************
   639  000084             ;Name	:InterruptSub
   640  000084             ;Function:
   641  000084             ;Input  :
   642  000084             ;Output	:
   643  000084             ;Register Used:
   644  000084             ;*************************************************
   645  000084             InterruptSub:
   646  000084   2C00      	XCH	A,AccBuf
   647  000085   2C86      	XCH	A,PFLAG
   648  000086   2F01      	B0MOV	PflagBuf,A
   649  000087             	
   650  000087   75C8      	b0bts0	FTc0IRQ		;//Analyse the Interrupt resourc
   651  000088   8091      	jmp	Tc0INTR
   652  000089             	
   653  000089   70C8      	b0bts0	FP00IRQ		;//P00 interrupt
   654  00008A   80BF      	jmp	P00INTR
   655  00008B             	
   656  00008B   71C8      	b0bts0	FP01IRQ		;//P01 interrupt
   657  00008C   80C1      	jmp	P01INTR
   658  00008D             
   659  00008D             Interrup90:
   660  00008D             
   661  00008D   2C01      	XCH	A,PflagBuf
   662  00008E   2F86      	B0MOV	PFLAG,A
   663  00008F   2C00      	XCH	A,AccBuf	;//For release the Acc And Pflag
   664  000090             	
   665  000090   0F00      	RETI
   666  000091             
   667  000091             ;--------------------------------------------------------
   668  000091             Tc0INTR:
   669  000091             ;//User can add  interrupt program
   670  000091             ;----
   671  000091   7E37      	b0bts1	buzzerflag
   672  000092   8098      	jmp	TC0INTR60
   673  000093             	notbit	ptbuzzer	;buzzer frequent=1k~2khz
   674  000093   74D5      		b0bts0 ptbuzzer
   675  000094   8097      		jmp $+3
   676  000095   6CD5      		b0bset ptbuzzer
   677  000096   8098      		jmp $+2
   678  000097   64D5      		b0bclr ptbuzzer
   679  000098             ;-----
   680  000098             TC0INTR60:
   681  000098             	
   682  000098             ;----
   683  000098             TC0INTR30:
   684  000098   2602      	decms	timer10ms
   685  000099   80BD      	jmp	TC0INTR90
   686  00009A   4836      	bset	t10msflag
   687  00009B             	mov_	timer10ms,#20
   688  00009B   2D14      	mov	a, #20
   689  00009C   1F02      	mov	timer10ms, a
   690  00009D             	
   691  00009D   1E03      	mov	a,timer20ms
   692  00009E   7086      	b0bts0	fz
   693  00009F   80A2      	jmp	TC0INTR50
   694  0000A0   2603      	decms	timer20ms
   695  0000A1   0000      	nop
   696  0000A2             ;-----
   697  0000A2             TC0INTR50:
   698  0000A2   1E18      	mov	a,keychat
   699  0000A3   7086      	b0bts0	fz
   700  0000A4   80A7      	jmp	TC0INTR10
   701  0000A5             	
   702  0000A5   2618      	decms	keychat
   703  0000A6   0000      	nop
   704  0000A7             ;-----
   705  0000A7             TC0INTR10:
   706  0000A7   2605      	decms	timer1s
   707  0000A8   80BD      	jmp	TC0INTR90
   708  0000A9   4936      	bset	t1sflag
   709  0000AA             	mov_	timer1s,#100
   710  0000AA   2D64      	mov	a, #100
   711  0000AB   1F05      	mov	timer1s, a
   712  0000AC             ;-----
   713  0000AC             TC0INTR20:
   714  0000AC   2606      	decms	timer1m
   715  0000AD   80BD      	jmp	TC0INTR90
   716  0000AE             	mov_	timer1m,#60
   717  0000AE   2D3C      	mov	a, #60
   718  0000AF   1F06      	mov	timer1m, a
   719  0000B0   4A36      	bset	t1mflag
   720  0000B1   4F3B      	bset	oneminuteflag
   721  0000B2             ;-----
   722  0000B2             TC0INTR40:
   723  0000B2   2607      	decms	timer1h
   724  0000B3   80BD      	jmp	TC0INTR90
   725  0000B4             	mov_	timer1h,#60
   726  0000B4   2D3C      	mov	a, #60
   727  0000B5   1F07      	mov	timer1h, a
   728  0000B6   4B3A      	bset	t1hflag
   729  0000B7             ;-----
   730  0000B7   1E08      	mov	a,timer2h
   731  0000B8   7086      	b0bts0	fz
   732  0000B9   80BD      	jmp	TC0INTR90
   733  0000BA   2608      	decms	timer2h
   734  0000BB   80BD      	jmp	TC0INTR90
   735  0000BC   4B36      	bset	t2hflag
   736  0000BD             ;-----
   737  0000BD             TC0INTR90:
   738  0000BD   65C8      	b0bclr	FTc0IRQ
   739  0000BE   808D      	jmp	Interrup90
   740  0000BF             	
   741  0000BF             ;--------------------------------------------------------
   742  0000BF             P00INTR:
   743  0000BF             ;//User can add  interrupt program
   744  0000BF             ;--------------------------------------------------------
   745  0000BF             ;-----
   746  0000BF             P00INTR90:
   747  0000BF   60C8      	b0bclr	FP00IRQ
   748  0000C0   808D      	jmp	Interrup90
   749  0000C1             ;--------------------------------------------------------
   750  0000C1             P01INTR:
   751  0000C1             ;//User can add  interrupt program,过零
   752  0000C1             ;--------------------------------------------------------
   753  0000C1             
   754  0000C1   7D37      	b0bts1	operateflag
   755  0000C2   80DA      	jmp	P01INTR90		;//启动信号
   756  0000C3             ;-----
   757  0000C3   7C3C      	b0bts1	havecookerflag
   758  0000C4   80CF      	jmp	P01INTR80
   759  0000C5   7739      	b0bts0	Igbtstartupflag
   760  0000C6   80DA      	jmp	P01INTR90
   761  0000C7             ;-----
   762  0000C7   4F39      	bset	Igbtstartupflag
   763  0000C8   4DD5      	bset	ptcout
   764  0000C9   48DC      	bset	fpwm1out
   765  0000CA   49DC      	bset	ftc1out
   766  0000CB   4FDC      	bset	ftc1enb
   767  0000CC             	mov_	tc1r,pwmpulsebuf
   768  0000CC   1E2C      	mov	a, pwmpulsebuf
   769  0000CD   1FDE      	mov	tc1r, a
   770  0000CE   80DA      	jmp	P01INTR90
   771  0000CF             ;------------------------
   772  0000CF             P01INTR80:
   773  0000CF   733E      	b0bts0	noneedflag
   774  0000D0   80DA      	jmp	P01INTR90	;检测到有锅开始加热后,不在需要发送PWM试探信号
   775  0000D1   753C      	b0bts0	checkingflag
   776  0000D2   80DA      	jmp	P01INTR90
   777  0000D3             ;-----
   778  0000D3   4D3C      	bset	checkingflag
   779  0000D4   4DD5      	bset	ptcout
   780  0000D5   48DC      	bset	fpwm1out
   781  0000D6   49DC      	bset	ftc1out
   782  0000D7   4FDC      	bset	ftc1enb
   783  0000D8             	mov_	tc1r,#cookerpwmvalue
   784  0000D8   2D23      	mov	a, #cookerpwmvalue
   785  0000D9   1FDE      	mov	tc1r, a
   786  0000DA             ;-----
   787  0000DA             P01INTR90:
   788  0000DA   61C8      	b0bclr	FP01IRQ
   789  0000DB   808D      	jmp	Interrup90
   790  0000DC             ;***********************************************
   791  0000DC             
   792  0000DC             
   793  0000DC             
   794  0000DC             ;***********************************************
   795  0000DC             ;Name	:mnintgnd
   796  0000DC             ;Function:interface between interrupt and main
   797  0000DC             ;Input  :
   798  0000DC             ;Output	:
   799  0000DC             ;Register Used:
   800  0000DC             ;***********************************************
   801  0000DC             mnintgnd:

⌨️ 快捷键说明

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