Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.07.2011, 13:15
|
#1
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
7-ми сегментный индикатор, atmega и динамическая индикация
Просьба сильно не бить ногами начинающего. Вернее на старости лет решившего побаловаться с микроконтроллерами, захотелось вспомнить молодость.
В общем есть atmega, есть индикатор. Набросал небольшую программку в arduino, которая бы по нажатию кнопки прибавляла единицу к младшему разряду. По таймеру происходит отрисовка цифр на индикаторе. Вроде все работает, но на некоторых цифрах загораются "лишние" сегменты. Например 4 отображается как "H". При "6" (кажется) вообще во всех разрядах загорается "-" и все нули превращаются в "8".
Вроде проверил все, а багу так и не нашел. Думаю я чего-то недоглядел или не правильно понимаю как с таймером работать. Просьба умных людей ткнуть носом в мою ошибку.
Хотел подсмотреть у кого-нибудь, но либо нет исходых кодов, только прошивки, либо схема сделана уже по нормальному, например через контроллеры индикаторов, соответственно помочь начинающему как я не может.
Сам по себе проект сделан исключительно для "разобраться как это делается" и практического применения сам по себе не имеет.
|
|
|
Сказали "Спасибо" ollycat
|
|
|
08.07.2011, 14:18
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,002
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,373 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
а исходник в асм, С есть - чевой-то не вижу, а шпротеусов не держим
|
|
|
Эти 2 пользователя(ей) сказали Спасибо jump за это сообщение:
|
|
|
08.07.2011, 14:46
|
#3
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
Так до асм мне далеко еще. Когда-то в институте лет 20 назад писал на нем, но до написания под МК на нем еще не добрался. В ардуине нкаропал, в архиве pde лежит. Могу в принципе дезассемблировать если это поможет...
А протеус поставил - так как надо было что-то для симуляции, вот и взял, что первое нашел. Вроде нормально эмулирует те мелочи, что я пробую собрать.
|
|
|
Сказали "Спасибо" ollycat
|
|
|
08.07.2011, 14:52
|
#4
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,034
Сказал спасибо: 60
Сказали Спасибо 3,947 раз(а) в 2,303 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
Перед началом вывода следующей цифры гасить предыдущую - то есть писать туда единицы или нули, сразу после этого переключать новый разряд, и после этого загружать сегменты
|
|
|
Эти 2 пользователя(ей) сказали Спасибо niXto за это сообщение:
|
|
|
08.07.2011, 15:20
|
#5
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
Попробовал сейчас переделать программу. Гашу сначала разряд, потом устанавливаю сегменты и включаю анод. Так же фигня: все равно на цифрах 2, 4, 6 - горит лишний сегмент.
|
|
|
Сказали "Спасибо" ollycat
|
|
|
08.07.2011, 16:10
|
#6
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,034
Сказал спасибо: 60
Сказали Спасибо 3,947 раз(а) в 2,303 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
Попробуйте выводить одинаковые цифры. 2222 например. Или 2422
|
|
|
|
08.07.2011, 16:14
|
#7
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,833
Сказал спасибо: 919
Сказали Спасибо 4,303 раз(а) в 2,572 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
да не, там косяк в программе, которой никто не видел. Выключите деление частоты на 8, симмуляция пойдет красивее.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
|
|
|
08.07.2011, 16:38
|
#8
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
Увы, тут проблема не в симуляции. Я тоже подумал сначала, что косяк в протеусе. Собрал на макетке, подключил, залил - реально такая фигня! То есть где-то косяк у меня в программе (но по логике вроде все нормально), или я чего-то не учел в особенностях атмеги.
|
|
|
Сказали "Спасибо" ollycat
|
|
|
08.07.2011, 17:03
|
#9
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
Попробовал одинаковые повыводить. На цифрах 2 и 4 - косяк. На 2 горит лишний сегмент "C", на 4 - сегмент "E". В битовых масках в программе нормально все стоит, эти биты не должны гореть, сейчас еще раз проверил.
|
|
|
Сказали "Спасибо" ollycat
|
|
|
08.07.2011, 17:08
|
#10
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: 7-ми сегментный индикатор, atmega и динамическая индикация
Сообщение от Easyrider83
|
да не, там косяк в программе, которой никто не видел. Выключите деление частоты на 8, симмуляция пойдет красивее.
|
А вы имеете в виду, что мою программу ни кто не видел? Так я ж вложил ее в архив, led7_plus.pde. Это скетч ардуиновский, но по сути сишная прога, разве что без инклюдов. Но я в ней ни каких "родных" ардуиновских библиотек не использовал, так что это не важно. По сути отличие от чистого C, что там вместо main есть две функции: setup, в которой началная инициализация идет и loop - бесконечный цикл. Вот и все.
Текст скетча я прокомментировал чуть ли не каждую строку, там все тривиально в общем то...
|
|
|
Сказали "Спасибо" ollycat
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Еще динамическая индикация
|
Kabron |
Микроконтроллеры, АЦП, память и т.д |
22 |
29.09.2010 16:12 |
Динамическая индикация
|
mironov |
Микроконтроллеры, АЦП, память и т.д |
4 |
02.07.2010 17:37 |
Динамическая индикация ПОМОГИТЕ
|
7Fantomas7 |
Микроконтроллеры, АЦП, память и т.д |
2 |
27.03.2008 23:53 |
Динамическая индикация
|
dosikus |
Микроконтроллеры, АЦП, память и т.д |
3 |
16.02.2008 19:09 |
Сегментный ЖК индикатор MT10T71. К каким пинам AVR присоед.
|
retcom |
Микроконтроллеры, АЦП, память и т.д |
10 |
07.11.2007 19:42 |
Часовой пояс GMT +4, время: 05:48.
|
|