- UID
- 161675
- 性别
- 女
|
各位好
问题1:我的系统有几个大的接触器和继电器,在接触器和继电器开通尤其是关断的时候产生很大的电磁干扰,其实系统电压220V左右,触点电流不超过1A,我在触点和按钮上都加了RC滤波,也确实降低了干扰。但是干扰并不干扰单片机,主要影响BDM仿真器,一旦有干扰仿真器的两个灯就不亮了,电脑的USB接口识别不了仿真器便出现调试失败的现象?加了很多滤波措施还是不行啊?有其他解决的问题吗?
问题2:我的程序里面有个定时器0中断,用的是PT0口,在上升沿和下降沿均中断。下面是定时器设置和中断服务子程序。在调试的时候,我在其他地方设立断点,开始程序走到断点位置并不执行,而是转去执行中断服务子程序,执行完毕程序就飞了,复位后重新执行,或者是不复位直接继续按运行按钮出现复位的现象。怎么回事?谢谢指点。
//主定时器设定
TSCR1=0xA0; //允许主定时器正常运行
TSCR2=0x00; //禁止定时器溢出中断,自由运行
TIOS=0x00; //各个输入输出通道设定为输入捕捉
TCTL4=0x03; //A相输入捕捉上下沿均检测
//TCTL4 = 0x3f; //三相输入捕捉上下沿均检测
TIE=0x01; //A相输入捕捉通道0中断允许
void ISR_Ia(void)
{
TFLG1_C0F=1; //清除IC0通道中断标志位
AQsignal=OnAsignal; //无论何种情况都先把晶闸管控制信号送出去
if(PN0toflag==0xaa) //继电器已经切换
PN0flag=0xaa; //确认切换完毕,主要是给出一定的延时,让继电器得以充分切换
if(PNflag==0xaa) //具备短接条件
{
KB4A=0;
KB5A=0;
PNflag=0x55; //短接完毕赋原值
}
}
|
|