你没有日期要求比较简单 用51〔片子的计数器就可以
首先写几个变量 分别是 小时 分钟 秒钟
uchar miao;
uchar fen;
uchar xiaoshi;
再分别做几个标记
bit flag_xiaoshi;bit flag_fen;
bit flag_miao;
初始化定时器 每1s产生1个中断
然后 在定时器中断服务中 除了重装初值外 还要写这些
uchar temp1,temp2;
miao++;
temp1++;
if(temp1==60)
{
temp1=0;
fen++;
temp2++;
}
if(temp2==60)
{
temp2=0;
xiaoshi++;
}
假如 你要求1小时10分30秒重复一次 在主循环里写
if(xiaoshi==1)
{
flag_xiaoshi=1;
}
if(fen==10)
{
flag_fen=1;
}
if(miao==30)
{
flag_miao=1;
}
if(flag_xiaoshi&flag_fen&flag_miao==1)
{
jk=!jk;//继电器状态取反 等于执行一次动作 不是开就是关
flag_xiaoshi=0;
flag_fen=0;
flag_miao=0; //条件符合就把标记都清零 以便重新计数
xiaoshi=0;
fen=0;
miao=0; //所有计数器变量清零 以便重新计时
}
电源驱动用继电器就行 不过那东西工作起来噼里啪啦的 怕吵用双向可控硅+MOC光耦 挺简单的
进一步 可以把你要设定的时分秒写成参数 用串口通讯随时可以改 也可以弄个显示屏和按键去改 那都是扩展了
上班呢 没太仔细想 大概就是这意思了 供参考
|