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

📄 inductioncooker050706ver2.lst

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

⌨️ 快捷键说明

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