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

📄 intserver.asm

📁 应用松翰母体写的一款电磁炉
💻 ASM
字号:
;************************************************
;Name	:InterruptSub
;Function:
;Input  :
;Output	:
;Register Used:
;*************************************************
InterruptSub:
	XCH	A,AccBuf
	XCH	A,PFLAG
	B0MOV	PflagBuf,A
	
	b0bts0	FTc0IRQ		;//Analyse the Interrupt resourc
	jmp	Tc0INTR
	
	b0bts0	FP00IRQ		;//P00 interrupt
	jmp	P00INTR
	
	b0bts0	FP01IRQ		;//P01 interrupt
	jmp	P01INTR

Interrup90:

	XCH	A,PflagBuf
	B0MOV	PFLAG,A
	XCH	A,AccBuf	;//For release the Acc And Pflag
	
	RETI

;--------------------------------------------------------
Tc0INTR:
;//User can add  interrupt program
;----
	b0bts1	buzzerflag
	jmp	TC0INTR30
	notbit	ptbuzzer
;----
TC0INTR30:
	decms	timer10ms
	jmp	TC0INTR90
	bset	t10msflag
	mov_	timer10ms,#20

	mov	a,keychat
	b0bts0	fz
	jmp	TC0INTR10
	
	decms	keychat
	nop
;-----
TC0INTR10:
	decms	timer1s
	jmp	TC0INTR90
	bset	t1sflag
	mov_	timer1s,#100
;-----
TC0INTR20:
	decms	timer1m
	jmp	TC0INTR40
	mov_	timer1m,#60
	bset	t1mflag
;-----
TC0INTR40:
	decms	timer1h
	jmp	TC0INTR90
	mov_	timer1h,#60
	bset	t1hflag
;-----
	mov	a,timer2h
	b0bts0	fz
	jmp	TC0INTR90
	decms	timer2h
	jmp	TC0INTR90
	bset	t2hflag
TC0INTR90:
	b0bclr	FTc0IRQ
	jmp	Interrup90
	
;--------------------------------------------------------
P00INTR:
;//User can add  interrupt program
;--------------------------------------------------------

	b0bts1	operateflag
	jmp	P00INTR90		;//锅检测信号
;-----
	b0bts0	checkcookerflag
	jmp	P00INTR80
;-----
	bset	checkcookerflag
;-----
P00INTR80:

;-----
P00INTR90:
	b0bclr	FP00IRQ
	jmp	Interrup90
;--------------------------------------------------------
P01INTR:
;//User can add  interrupt program,过零
;--------------------------------------------------------

	b0bts1	operateflag
	jmp	P01INTR90		;//启动信号
;-----
	b0bts0	Igbtstartupflag
	jmp	P01INTR90
;-----
	bset	Igbtstartupflag
	bset	ptcout
	mov_	tc1r,pwmpulsebuf
	bset	fpwm1out
	bset	ftc1enb

P01INTR90:
	b0bclr	FP01IRQ
	jmp	Interrup90
;***********************************************



;***********************************************
;Name	:mnintgnd
;Function:interface between interrupt and main
;Input  :
;Output	:
;Register Used:
;***********************************************
mnintgnd:
	b0bts1	t10msflag
	jmp	mnintgnd90
;-----------------------------
	bclr	t10msflag
;----
/*
	decms	buzfrequent
	jmp	mnintgnd10
	bset	buzfrequentflag
	mov_	buzfrequent,frequentbuf1
*/
;------------------------------
mnintgnd10:
;----
	mov	a,loadfrequent
	b0bts0	fz
	jmp	mnintgnd20
	decms	loadfrequent
	jmp	mnintgnd20
	notbit	loadfrequentflag
	mov_	loadfrequent,frequentbuf2
;-----
	mov	a,buzzercnt
	b0bts0	fz
	jmp	mnintgnd20
;---
	notbit	buzzerflag
	decms	buzzercnt
	jmp	mnintgnd20
	bclr	buzzerflag
	bset	alarmendfalg
;------------------------------
mnintgnd20:
;----
	mov	a,ledfrequent
	b0bts0	fz
	jmp	mnintgnd30
	decms	ledfrequent
	jmp	mnintgnd30
	bset	ledfrequentflag
	mov_	ledfrequent,frequentbuf3
;-------------------------------
mnintgnd30:

mnintgnd90:
	ret

⌨️ 快捷键说明

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