Свежие обсуждения
Микроконтроллеры

AVR начинающим - вопросы и ответы

1 9 68

Сделай так: перед строкой

 switch (razrad[r]) { 

поставь
 digit1=0;
 digit2=0;
 digit3=0;
 digit4=0;

а потом в самом свиче только включай нужный разряд.

Суть в том, чтобы сначала погасить все цифры, потом выдать код, и уже потом - зажечь нужную.

 

Попробуйте перед swith (razrad[r]) вставить digit1 = digit2 = digit3 = digit4 = 0; а в case-ах оставьте только те digit... которые устанавливаете в единицу. Вместо резисторов 100 ом я, честно говоря, попробовал бы поставить диоды - случались прецеденты
ЗЫ. АНТОХА опередил

 

chav1961: попробовал бы поставить диоды - случались прецеденты
Прецеденты случаются в случае использования порта одновременно на ввод
и вывод информации. В данном случае такого не наблюдается.
Номинал резисторов рассчитывается в зависимости от тока через светодиод
( сегмент индикатора ). Так как применяется динамическая индикация, то
расчетное значение для нормального свечения можно / 2.

 

Эх, не помогло такое программное решение...

 

Тогда диоды поставьте

 

Подскажите! GND-это земля --на микроконтроллерах ATmega?

 

А где-то есть по-другому?

 

magistr: GND-это земля

Да, это сокращение от английского GROUND

 

При запуске программы в AVRstudio мне выдает сообщение FATAL ERROR: Cannot open output file D:\startovaya.hex: No such file or directory. Подскажите, как создать HEX файл?

 

Splav56 :- Спасибо.