自己做了一块板子,遇到一个奇怪的问题,大家给我分析分析是不是硬件那里出了问题当按键启动三个继电器同时动作时,没有问题,当加上延时子程序时,见程序
if(!FGK)
{
relay1=0;
delay_100ms(100);
relay2=0;
delay_100ms(200);
relay3=0;
delay_100ms(300);
FGK=1;
}
if(FGG==1)
{
relay1=1;
relay3=1;
relay5=1;
FGG=0;
}
问题来了,第一个继电器导通,延时后,当第二个继电器导通的同时,第一个继电器断开了,当第三个继电器导通后,第二个继电器断开了,最后就剩下第三个继电器是导通的
我在MPLAB IDE运行过程中,看到WATCH窗口的数据是应该都导通的,说明程序应该没有问题,大家给我看看硬件哪里出问题了
要是感觉软件问题,我再贴出来,劳烦大家了
|