你沒有日期要求比較簡單 用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光耦 挺簡單的
進一步 可以把你要設定的時分秒寫成參數 用串口通訊隨時可以改 也可以弄個顯示屏和按鍵去改 那都是擴展了
上班呢 沒太仔細想 大概就是這意思了 供參考
|