Страница 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!
Ну уж про индукцию, дедукцию и продукцию пусть ахтор сам рыщет :wink:

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