К тому же у меня M41T56
Государство - это я!
Код: Выделить всё
#define A 1
#define B 4
#define C 16
#define D 64
#define E 128
#define F 2
#define G 8
Код: Выделить всё
if (led_s) { PORTB.5=1; }
else { PORTB.5=0; }
Код: Выделить всё
if (led_r) { PORTD |= (1<<cur_dig); } // засветить нужный разряд (бит знакоместа - on)
else { PORTD &= ~(1<<cur_dig); }
Код: Выделить всё
switch (cur_dig) {
case 0:
PORTD.0 = 1; break;
case 1:
PORTD.1 = 1; break;
case 2:
PORTD.2 = 1; break;
case 3:
PORTD.3 = 1; break;
}
Избавиться соответственно можно, убрав ненужные резисторы из цепей анодов индикатора, возможно придется подобрать резисторы в сегментах, т к яркость заметно возрастет.Nusik1975 писал(а):Посоветуйте, как избавиться от такого дефекта. Спасибо.
Ряд настроек доступ к которым осуществляется удержанием одной из кнопок при включении питания:
Выбор типа индикатора делается удержанием одной из четырех кнопок ("+", "-", "сек", "уст").
Если быть более точным то не выбор индикатора, а выбор активного 0 или 1 для зажигания сегмента и выбор активного 0 или 1 для зажигания разряда.
"+" - сегмент "0", разряд "0"
"-" - сегмент "0", разряд "1"
"сек" - сегмент "1", разряд "0"
"уст" - сегмент "1", разряд "1"
-------------------------------
Код: Выделить всё
/*******************************************************************************************
CodeVisionAVR V2.05.0 Professional
У меня так работает датчик DS1820 (тот, который длинный). Т.е. он типа определился, но вместо температуры - дата. Поставьте другой датчик.kret_a_v писал(а): перепрошивка не помогла - датчики определяются. но вместо температуры показывает датупо ходу мега глючная
попробуйте так сделать , я долго мучился с питанием больших на ОАNusik1975 писал(а):Прошу помощи автора часов.
Посоветуйте, как избавиться от такого дефекта. Спасибо.
P.S. Питание для индикатора наверняка нужно было взять ДО стабилизатора. Но часы будут стоять в машине, а там бортовое напряжение непостоянно, поэтому и запитал после 7805.
Думаю поставить после стабилизатора конденсатор побольше емкости, может, хоть это поможет...
Если не превышать ток через 1 выход порта AVR 20-25мА, весь порт 200мА, то ничего страшного не будет, даже заметно нагреваться она не будет. AVR - не древние микроконтроллеры, как КР580 с нагрузочной способностью 1 ТТЛ вход и вполне рассчитаны на нагрузку, такую как светодиодный индикатор.Nusik1975 писал(а):Ну вроде привык в схемах максимально разгружать процессор.
У практически всех не суперярких светодиодов красного, желтого и зеленого цвета падение напряжения составляет 1,8 -2,2В, синие - около 3, белые 3-3,7В. А далее исходя из закона Ома все считается. I=(Uпит - UledxN)/ R , где N - кол-во светодиодов в сегменте, средний для n разрядов еще в n раз меньше. Например: (5-2x1)/100=0,03/4=0,0075, т е 7,5мА. Реальный ток будет меньше из за падения напряжения на ключах. Большинство современных индикаторов при таком токе будут светиться ярко или очень ярко.Nusik1975 писал(а):Хорошо, когда знаешь токи через сегменты. А если индикатор китайский и, слава богу, хоть схему подключения нашел на просторах интернета?