Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 08.07.2011, 13:15   #1
ollycat
Частый гость
 
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ollycat на пути к лучшему
По умолчанию 7-ми сегментный индикатор, atmega и динамическая индикация

Просьба сильно не бить ногами начинающего. Вернее на старости лет решившего побаловаться с микроконтроллерами, захотелось вспомнить молодость.

В общем есть atmega, есть индикатор. Набросал небольшую программку в arduino, которая бы по нажатию кнопки прибавляла единицу к младшему разряду. По таймеру происходит отрисовка цифр на индикаторе. Вроде все работает, но на некоторых цифрах загораются "лишние" сегменты. Например 4 отображается как "H". При "6" (кажется) вообще во всех разрядах загорается "-" и все нули превращаются в "8".

Вроде проверил все, а багу так и не нашел. Думаю я чего-то недоглядел или не правильно понимаю как с таймером работать. Просьба умных людей ткнуть носом в мою ошибку.

Хотел подсмотреть у кого-нибудь, но либо нет исходых кодов, только прошивки, либо схема сделана уже по нормальному, например через контроллеры индикаторов, соответственно помочь начинающему как я не может.

Сам по себе проект сделан исключительно для "разобраться как это делается" и практического применения сам по себе не имеет.
Вложения:
Тип файла: rar led7.rar (54.9 Кб, 316 просмотров)
Реклама:
ollycat вне форума  
Сказали "Спасибо" ollycat
warel (28.06.2019)
Непрочитано 08.07.2011, 14:18   #2
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,002
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,373 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

а исходник в асм, С есть - чевой-то не вижу, а шпротеусов не держим
jump вне форума  
Эти 2 пользователя(ей) сказали Спасибо jump за это сообщение:
ollycat (09.07.2011), warel (28.06.2019)
Непрочитано 08.07.2011, 14:46   #3
ollycat
Частый гость
 
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ollycat на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

Так до асм мне далеко еще. Когда-то в институте лет 20 назад писал на нем, но до написания под МК на нем еще не добрался. В ардуине нкаропал, в архиве pde лежит. Могу в принципе дезассемблировать если это поможет...

А протеус поставил - так как надо было что-то для симуляции, вот и взял, что первое нашел. Вроде нормально эмулирует те мелочи, что я пробую собрать.
ollycat вне форума  
Сказали "Спасибо" ollycat
warel (28.06.2019)
Непрочитано 08.07.2011, 14:52   #4
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,034
Сказал спасибо: 60
Сказали Спасибо 3,947 раз(а) в 2,303 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

Перед началом вывода следующей цифры гасить предыдущую - то есть писать туда единицы или нули, сразу после этого переключать новый разряд, и после этого загружать сегменты
niXto вне форума  
Эти 2 пользователя(ей) сказали Спасибо niXto за это сообщение:
ollycat (09.07.2011), warel (28.06.2019)
Непрочитано 08.07.2011, 15:20   #5
ollycat
Частый гость
 
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ollycat на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

Попробовал сейчас переделать программу. Гашу сначала разряд, потом устанавливаю сегменты и включаю анод. Так же фигня: все равно на цифрах 2, 4, 6 - горит лишний сегмент.
ollycat вне форума  
Сказали "Спасибо" ollycat
warel (28.06.2019)
Непрочитано 08.07.2011, 16:10   #6
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,034
Сказал спасибо: 60
Сказали Спасибо 3,947 раз(а) в 2,303 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

Попробуйте выводить одинаковые цифры. 2222 например. Или 2422
niXto вне форума  
Сказали "Спасибо" niXto
warel (28.06.2019)
Непрочитано 08.07.2011, 16:14   #7
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,833
Сказал спасибо: 919
Сказали Спасибо 4,303 раз(а) в 2,572 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

да не, там косяк в программе, которой никто не видел. Выключите деление частоты на 8, симмуляция пойдет красивее.
Easyrider83 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
ollycat (09.07.2011), warel (28.06.2019)
Непрочитано 08.07.2011, 16:38   #8
ollycat
Частый гость
 
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ollycat на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

Увы, тут проблема не в симуляции. Я тоже подумал сначала, что косяк в протеусе. Собрал на макетке, подключил, залил - реально такая фигня! То есть где-то косяк у меня в программе (но по логике вроде все нормально), или я чего-то не учел в особенностях атмеги.
ollycat вне форума  
Сказали "Спасибо" ollycat
warel (28.06.2019)
Непрочитано 08.07.2011, 17:03   #9
ollycat
Частый гость
 
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ollycat на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

Попробовал одинаковые повыводить. На цифрах 2 и 4 - косяк. На 2 горит лишний сегмент "C", на 4 - сегмент "E". В битовых масках в программе нормально все стоит, эти биты не должны гореть, сейчас еще раз проверил.
ollycat вне форума  
Сказали "Спасибо" ollycat
warel (28.06.2019)
Непрочитано 08.07.2011, 17:08   #10
ollycat
Частый гость
 
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ollycat на пути к лучшему
По умолчанию Re: 7-ми сегментный индикатор, atmega и динамическая индикация

Сообщение от Easyrider83 Посмотреть сообщение
да не, там косяк в программе, которой никто не видел. Выключите деление частоты на 8, симмуляция пойдет красивее.
А вы имеете в виду, что мою программу ни кто не видел? Так я ж вложил ее в архив, led7_plus.pde. Это скетч ардуиновский, но по сути сишная прога, разве что без инклюдов. Но я в ней ни каких "родных" ардуиновских библиотек не использовал, так что это не важно. По сути отличие от чистого C, что там вместо main есть две функции: setup, в которой началная инициализация идет и loop - бесконечный цикл. Вот и все.
Текст скетча я прокомментировал чуть ли не каждую строку, там все тривиально в общем то...
ollycat вне форума  
Сказали "Спасибо" ollycat
warel (28.06.2019)
Закрытая тема

Закладки

Метки
atmega32, вопросы чайника, начинающий, помогите


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
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.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot