Страница 1 из 1
Преобразователь кодов на AVR
Добавлено: Чт окт 21, 2010 21:58:08
KoTbI4
Всем кто читает Привет.Суть вопроса состоит вот в чем,мне нужно сделать преобразователь кода из 20-ати разрядного двоичного кода в десятичный с выводом на 7-ми сегментный индикатор.Тема кажется очень простой но меня она завела в ступор. Не могу написать программу ,и подобрать подходящий контроллер ...Думаю ATmega128 должен подойти... Помогите написать программу.Я еще только учусь ,а надо позарез.
З.Ы. Схема должна выглядеть примерно так. 20-тью переключателями задается 2-ичный код ,а на выходе на индикаторах 10-сятичный.
Re: Преобразователь кодов на AVR
Добавлено: Чт окт 21, 2010 22:11:37
Jack_A
KoTbI4 писал(а):З.Ы. Схема должна выглядеть примерно так. 20-тью переключателями задается 2-ичный код ,а на выходе на индикаторах 10-сятичный.
Опять стьюденты : дяденьки, сделайте за меня курсач.
128 Мега тут как двигун от Боинга для мопеда. Хотя если бездумно в лоб, напрямую, то и в 128-й ног не хватит : 69 выводов, это же осьминог Пауль, а не микроконтроллер.
Если использовать мультиплексирование на входе и регистры на выходе или динамическую индикацию, то и простой Меги48 достаточно.
Надо только вникнуть в смысл заклинаний "мультиплексирование" и "динамическая индикация".
Re: Преобразователь кодов на AVR
Добавлено: Чт окт 21, 2010 22:17:35
Meteor
20 бит на входе это почти 1 млн, т.е 6 знаков.
Делайте цикл 1 в котором вычитаете по 100000, до тех пор пока не перейдете 0, число вычитаний храните в новом регистре. Как перейдете - прибавите 100000 и отнимете 1 в выходном регистре, затем начнете цикл 2 с вычитанием 10000. Далее по индукции
Re: Преобразователь кодов на AVR
Добавлено: Чт окт 21, 2010 22:38:49
GP1
Мяу,
Meteor!
Meteor писал(а): Далее по индукции
ты забыл, для начала объяснить, что такое индукция и с чем её едят

Re: Преобразователь кодов на AVR
Добавлено: Чт окт 21, 2010 22:47:34
Meteor
Мяу,
GP1!
Ну уж про индукцию, дедукцию и продукцию пусть ахтор сам рыщет

Re: Преобразователь кодов на AVR
Добавлено: Пт окт 22, 2010 00:15:10
Danko
Я не люблю кроссвордов, а вот задачки всякие люблю и решил по сему немножко побыть в шкуре студента.
Немного поколдовал с Протеусом и Кодевижином и вот, что получилось.
bin2dec_mega128.zip
Дабы не делать медвежью услугу исходный код не выкладываю только hex.
Самое прикольное в программе вот это:
Код: Выделить всё
EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 460 words (920 bytes), 0,7% of FLASH
Re: Преобразователь кодов на AVR
Добавлено: Пт окт 22, 2010 07:38:26
GP1
Danko писал(а):Самое прикольное в программе вот это:
Код: Выделить всё
EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 460 words (920 bytes), 0,7% of FLASH
Ну дык о чем и говорилось, велика еще в нашем народе сила привычки хватать камни побольше

Re: Преобразователь кодов на AVR
Добавлено: Пт окт 22, 2010 10:04:52
skef
Дабы не делать медвежью услугу исходный код не выкладываю только hex.
ДА ПРОСТЯТ МЕНЯ МОДЕРАТОРЫ...
ГОТОВ СДЕЛАТЬ МЕДВЕЖЬЮ УСЛУГУ. НЕБЕЗВОЗМЕЗДНО!
Re: Преобразователь кодов на AVR
Добавлено: Пт окт 22, 2010 11:41:26
KoTbI4
Всем большое спасибо .Очень благодарен. Особенно Danko.
Re: Преобразователь кодов на AVR
Добавлено: Пт окт 22, 2010 15:59:46
a_skr
Danko писал(а):Я не люблю кроссвордов, а вот задачки всякие люблю и решил по сему немножко побыть в шкуре студента.
Самое прикольное в программе вот это:
Код: Выделить всё
EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 460 words (920 bytes), 0,7% of FLASH
я тоже люблю задачки:
Код: Выделить всё
AVR Memory Usage
----------
Device: atmega128
Program: 920 bytes (0.7% Full)
(.text + .data + .bootloader)
Data: 27 bytes (0.7% Full)
(.data + .bss + .noinit)
меньше не получилось пока.

ассемблер не предлагать.
кстати, 20 бит - больше миллиона: 1 048 575