📄 em78p372n_timer1_int.dt
字号:
;**********************************************************************
;利用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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -