|
定義一個(gè)全局變量,定時(shí)器10mS中斷,在中斷中執(zhí)行 time_sys++;
這個(gè)time_sys就是基準(zhǔn)時(shí)間,根據(jù)這個(gè)基準(zhǔn)時(shí)間來(lái)讀取DS1302,閃燈操作,這樣的話,整體閃燈和秒時(shí)間有10mS的誤差,但這種影響可以忽略不計(jì)的例如
void read_time(void)
{
static u8 ren = 0;
if(ren == time_sys) return;
ren = time_sys;
讀取一次DS1302秒時(shí)間,這個(gè)秒時(shí)間可以是返回值,也可以是全局變量
}
閃燈程序
void led_mode(void)
{
static u8 ren = 0;
if(ren != time_sys)
{
ren = time_sys;
flash_crc = (flash_crc + 1) % 100;
if(flash_crc < 50)
{
亮燈;
}
eles
{
滅燈;
}
}
}
你自己再寫(xiě)一個(gè)flash_crc 根據(jù)秒來(lái)進(jìn)行歸零的代碼,思考一下
|
|