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 + -
显示快捷键?