两个INT 和一个定时器TRA中断,ITN0、INT1两个可以自动进入中断,并安全退出。但是TRA定时器模式中断不行,有溢出TUNDF。就是进不了程序。帮我看看,谢谢了。
//INT0(P4_5)\INT1(P1_7)同时输入中断信号
//INT0(P4_5)中断则P1_4亮;INT1(P1_7)中断则P1_5亮。
//定时器 TRA定时器模式中断?????????
/* 原型声明 ********************/
#pragma interrupt timer_ra_int
#pragma interrupt int0_int
#pragma interrupt int1_int
void int1_int(void);
void int0_int(void);
void timer_ra_int(void);
#include"sfr_r82l.h"
unsigned int i,j,k;
unsigned char a,a0,a1;
void int0_int(void) /* */
{
p1_4=1;
p1_5=0;
}
void int1_int(void) /* */
{
p1_4=0;
p1_5=1;
}
void timer_ra_int(void)
{
tundf_tracr = 0;
p2_6 =!p2_6;
}
void main(void)
{
prcr = 0x03;
pm0 = 0x00;
pm1 = 0x00;
cm0 = 0x08;
cm1 = 0x20;
asm("FCLR I");
pd2 = 0x7f;
pd1_4 = 1;
pd1_5 = 1;
int0ic = 0x02; //INT0中断控制寄存器下降、优先级2级
int1ic = 0x03; //INT1中断控制寄存器下降、优先级3级
inten = 0x05; //外部输入允许寄存器
intf = 0x0a; //输入滤波器选择寄存器
tramr = 0x00; //计数源供给 f1 定时器模式
trapre = 20-1; //定时器预定标器寄存器
tra = 25-1; //定时器RA寄存器
tracr = 0x00; //定时器RA控制寄存器
traic = 0x01; //中断控制寄存器 优先级1级
tstart_tracr = 1; //计数
asm("FSET I");
i=0;
while(1);
}