📄 em78p372n_tcc.dt
字号:
;*****************************************************************************
;范例:利用TCC溢位中断来实现在P5.1送出脉冲波形,可以接一个LED检测
;*****************************************************************************
;MCU:EM78P372N
;Oscillator:IRC 4MHz
;Clock:2
;WDT: Disable
;编译软件:eUIDE version 1.02.09.07
INCLUDE "EM78P372N.inc"
COUNTER==0X10 ;计时变量
ORG 0X00
JMP INITIAL
ORG 0X09
TCC_INT:
BC S_BANK
JBS TCIF
JMP OUT_INTERRUPT
MOV A,@0XFE
AND RF,A ;清除中断标志,否则无法出中断
MOV A,@6
MOV TCC,A
INC COUNTER
MOV A,@250 ;2MS*250=0.5S LED0.5S亮,0.5S灭
XOR A,COUNTER
JBS Z
JMP OUT_INTERRUPT
CLR COUNTER
MOV A,@2
XOR PORT5,A ;P51端口取反
OUT_INTERRUPT:
RETI
INITIAL:
WDTC ;清除看门狗计时器
DISI ;关闭全局中断
CLR COUNTER
BS S_BANK
MOV A,@0X7F
MOV SCR,A ;选择4MHz
BC IOCS
BC S_BANK
MOV A,@0X02
IOW P5CR ;P51端口连接LED
BS PORT5,1 ;LED点亮
MOV A,@0X0C
CONTW ;TCC预分频比 1:32,2MS产生中断
MOV A,@0X06
MOV TCC,A ;TCC初始值6 T=1/4*250*32=2MS
MOV A,@0X01
IOW IMR ;TCC中断使能
CLR ISR2 ;清除中断标志位
ENI ;开全局中断,以进入中断入口地址0x09
MAIN:
NOP
NOP
NOP
NOP
JMP MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -