/*************************************/
下面是我的初始化程序,请教高手帮忙分析一下,如果没问题还可以把外部中断服务程序发上来,急求,谢谢
/*************************************/
sbit IRIN = P3^2; //红外接收器数据线
sbit BEEP = P2^0; //嗡鸣器
void system_init() //系统初始化,
{
TMOD = 0x01;//定时器1工作方式1
TH0 = (65536-100)/256;
TL0 = (65536-100)%256;
ET0 = 1;
TR0 = 1;
PT0 = 1;
PX0 = 0;
EA = 1;//定时器主要是定时,扫描读其他数据
}
void IR_init()
{
IRIN=1; //P3^2,I/O口初始化
BEEP=1;
EX0=1; //允许总中断中断,使能 INT0 外部中断
IT0 = 1; //触发方式为脉冲负边沿触发
}
void main()
{
system_init();
delay_ms(20);
IR_init();
while(1)
{ temp_shi=temp/100;
temp_ge=temp%100/10;
display(temp_shi,temp_ge);//显示温度
bell=0;//用来测试能否返回主程序,经测试不能
}
} //经测试在没有外部中断情况下,显示温度,响铃都正常。一旦进入外部中断,就不能显示温度和响铃了。 |