单片机,可以做到:60s、30s,交替输出高低电平。
继电器,需要由外接的驱动电路来进行控制。
用定时器做就可以了!
// 不精确延时,单位1毫秒,最长延时65秒
delay( unsigned int ms )
{
int i = ???; // 这个数做实验实测一下确定
while( ms -- )
{
while ( i-- )
{
_nop() ; // 这里最好插一下语句,阻止编译优化
}
}
}
// 主程序
main( void )
{
for(;;)
{
relay_off(); // 继电器断开
delay( 60000 ); // 延时60s
relay_on(); // 继电器吸合
delay( 10000 ); // 延时10s
}
}
这个程序定时不太精确,但误差不会太大,但胜在简单。
要想时间精确,最好用定时器,对晶振也有一定要求,不能用内部RC振荡器。
继电器控制程序与电路有关,具体问题具体解决。