Например: на часах 18:55, будильник 5:20
М _тек = 18 * 60 + 55 = 1135
М_буд = 5 * 60 + 20 = 320
Будет выглядеть примерно так верно?
Ht=bcd2bin(myhour);
Mt=bcd2bin(mymin);
St=Ht*60+Mt;
HAl1=bcd2bin(al1_h);
MAl1=bcd2bin(al1_m);
SAl1=HAl1*60+MAl1;
Вам не пример, нужен, а принцип. Постановка задачи. ТЗ. Представить как это может делаться. Очевидно, что нужно периодически что то делать, чтобы получить световой эффект. Возьмите за основу автомат световых эффектов. Бегущие огни, бегущая тень. Настраивается таймер, к примеру на 200 мс. И каждые 200 мс сдвигать массив. Возьмём эффект, когда гаснут сегменты. Нужен массив с маской всех сегментов. И пропускаем через эту маску сегменты которые выводим на дисплей. Скажем, нужно гасить сегмент А, значит сбрасываем бит сегмента А в маске, накладываем по И массив сегментов и полученный результат выводим на дисплей.Serzh2000 писал(а):...
Код: Выделить всё
//----------------------- распознавание микросхемы RTC -------------------------------
tmp = rtc_read(62); // ячейка в которой хранится тип распознанной микросхемы
switch (tmp) {
// если ранее микросхема была определена как DS1307
case 0x0F:
type_RTC = DS1307;
break;
// если ранее микросхема была определена как M41T56
case 0xF0:
type_RTC = M41T56;
break;
// если микросхема ранее не была распознана
default:
save_set_reg = rtc_read(0x07); // прочесть (сохранить) значение регистра управления
rtc_write(0x07, 0b01000000); // установить бит 6 (в M41T56 это бит "FT", а в DS1307 пусто)
tmp = rtc_read(0x07); // прочесть
if (tmp) { type_RTC = M41T56; rtc_write(62, 0xF0); } // если бит 6 установлен
else { type_RTC = DS1307; rtc_write(62, 0x0F); } // у DS1307 бит 6 читается как 0
rtc_write(0x07, save_set_reg); // восстановить содержимое регистра управления
}
//------------------------------------------------------------------------------------
потому как раним утром приоткрыв глаз охото увидеть время и перевернувшись на другой бок еще поспать.....И в первую очередь для функции запрещающей в ночное время смену показаний. Оставить индикацию только времени.