em78p372n_timer1_int.dt

来自「义隆EM78P372N资料」· DT 代码 · 共 52 行

DT
52
字号
;**********************************************************************
;利用Timer1定时,采用中断方式P50 输出1KHz的方波
;**********************************************************************
;MCU:EM78P372N
;Oscillator:IRC 4MHz
;Clock:2
;WDT: Disable
;编译软件:dUIDE version1.02.09.07

INCLUDE "EM78P372N.INC"
	ORG		0X00
	JMP		INITIAL  
	ORG		0X18
Timer1_int:
	BC		S_BANK
	JBS		PWM1IF			;有timer1中断标志位吗?
	JMP		INT_RET
	MOV		A,@0XF7
	AND		ISR2,A			;清中断标志位
	MOV		A,@1
	XOR		PORT5,A			;P50输出取反
INT_RET:
	RETI
	ORG		0X50
INITIAL:
	WDTC
	DISI	
	BS		S_BANK
	MOV		A,@0X7F
	MOV		SCR,A			;选择4MHz
	BC		S_BANK
	BC		IOCS
	MOV		A,@0X00
	IOW		P5CR			;设定P50为输出口,初始状态为高电压位       
	BS		S_BANK			;切换到bank 1
	MOV		A,@0B00000100
	MOV		TMRCON,A
	MOV		A,@0B00000000	;禁止PWM1功能
	MOV		PWMCON,A
	MOV		A,@124
	MOV		PRD1,A
	MOV		A,@0X08
	IOW		IMR				;使能PWM1中断
	BS 		T1EN			;定时器1定时开始
	BC		S_BANK
	BS		PORT5,0
	ENI
main:
	ENI
	NOP
	JMP		MAIN	

⌨️ 快捷键说明

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