int.asm

来自「地磁炉控制程序 (带三位8字数码管显示」· 汇编 代码 · 共 83 行

ASM
83
字号
;******************************************************************
TIME_UNIT      equ   0             ;(256-0)*1 = 256us


;******************************************************************
int_init:
    mov     a, TIME_UNIT            ;set time unit
    mov     tmr , a                 ;


;setting timer retated register
;
    mov     a, 10000011b            ;Fsys/8-->Fsys=8M---> t= 1uS
    mov     tmrc, a                 ;


; setting A/D relatated register.
;
	mov		a, 00111000b			;pb3,2,1,0-->all AN use.
	mov		adcr, a					;
	mov		a, 00h      			;adc clock if fsys/2
	mov		acsr, a					;


	set     ton                     ;start counting.
 	set     eei                     ;enable external interrupt.
	set     eti                     ;enable timer interrupt.
	clr		eadi					;disable A/D interrupt.
	set     emi                     ;
    ret								;


   
;******************************************************************
;     TIMER INTERRUPT SUBROUTINE
;******************************************************************
timer_int:
	siz		timer_ms				;
	reti							;
    set     ms_f	                ;
    reti                            ;
 

;******************************************************************
;     EXTERNAL INTERRUPT SUBROUTINE
;******************************************************************
ext_int:
	clr		_SWITCH					;IGBT over voltage protection.
	clr		_PWM   					;

    set     IGBT_volt_f             ;
	clr		timer_IGBT_volt			;
    reti                            ;


;************************************
IGBT_volt_check:
	snz		ms100_f					;
	ret								;
	snz		IGBT_volt_f				;
	ret								;
	inc		timer_IGBT_volt			;

	mov		a, timer_IGBT_volt		;
	add		a, 256-TIME_IGBT_VOLT	;
	snz		c						;
	ret								;

	clr		timer_IGBT_volt			;

	snz		_IGBT_volt				;
	ret								;

	clr		IGBT_volt_f				;

	snz  	power_f  				;
	ret								;
	snz		pot_f					;
	ret								;
	set		_pwm					;
	set		_switch					;
	ret								;

⌨️ 快捷键说明

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