watchmaker писал(а):А если выкинуть часть режимов, которые мне не нужны? В программе разберусь... лишь бы аппаратно мега потянула столько индикаторов...
Потянет, может даже и частоту индикатора поднимать не надо будет, если все таки потребуется, то вот
Код: Выделить всё
if (lcd_time_switch>=30)/*прошло 2msek*/ уменьшайте это число
{..
С ним связана функция мигания
uint8_t light_isr, light_disp[]={29,28,26,23,20,17,14,9,2}, - яркость должа быть меньше того числа (30).
light_time_mig[]={10,9,8,8,7,5,4,4,3};//{1,3,5,10,15,20,24,27}; время задержки мигания для каждого значения яркости
Если сильно уменьшите, то возможно не будет успевать обрабатываться датчик, разнесете команды сильней. Пример
Код: Выделить всё
void izmerenie_t(void){
if ( count_com_1w == 7 ){
count_com_1w++;
readbyte(tempir_lsb);//читаем темпиратуру
readbyte(tempir_msb);
}
менять на
if ( count_com_1w == 7 ){
count_com_1w++;
readbyte(tempir_lsb);//читаем темпиратуру
}
if ( count_com_1w == 8 ){
count_com_1w++;
readbyte(tempir_msb);
}
И т. д.
Приложил файлик где немного описывал принцип программы.