Преобразователь кодов на AVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
KoTbI4
Родился
Сообщения: 7
Зарегистрирован: Чт окт 21, 2010 21:54:06
Откуда: Минск
Контактная информация:

Преобразователь кодов на AVR

Сообщение KoTbI4 »

Всем кто читает Привет.Суть вопроса состоит вот в чем,мне нужно сделать преобразователь кода из 20-ати разрядного двоичного кода в десятичный с выводом на 7-ми сегментный индикатор.Тема кажется очень простой но меня она завела в ступор. Не могу написать программу ,и подобрать подходящий контроллер ...Думаю ATmega128 должен подойти... Помогите написать программу.Я еще только учусь ,а надо позарез.
З.Ы. Схема должна выглядеть примерно так. 20-тью переключателями задается 2-ичный код ,а на выходе на индикаторах 10-сятичный.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Преобразователь кодов на AVR

Сообщение Jack_A »

KoTbI4 писал(а):З.Ы. Схема должна выглядеть примерно так. 20-тью переключателями задается 2-ичный код ,а на выходе на индикаторах 10-сятичный.


Опять стьюденты : дяденьки, сделайте за меня курсач.

128 Мега тут как двигун от Боинга для мопеда. Хотя если бездумно в лоб, напрямую, то и в 128-й ног не хватит : 69 выводов, это же осьминог Пауль, а не микроконтроллер.
Если использовать мультиплексирование на входе и регистры на выходе или динамическую индикацию, то и простой Меги48 достаточно.
Надо только вникнуть в смысл заклинаний "мультиплексирование" и "динамическая индикация".
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Преобразователь кодов на AVR

Сообщение Meteor »

20 бит на входе это почти 1 млн, т.е 6 знаков.
Делайте цикл 1 в котором вычитаете по 100000, до тех пор пока не перейдете 0, число вычитаний храните в новом регистре. Как перейдете - прибавите 100000 и отнимете 1 в выходном регистре, затем начнете цикл 2 с вычитанием 10000. Далее по индукции
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Преобразователь кодов на AVR

Сообщение GP1 »

Мяу, Meteor!
Meteor писал(а): Далее по индукции

ты забыл, для начала объяснить, что такое индукция и с чем её едят :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Преобразователь кодов на AVR

Сообщение Meteor »

Мяу, GP1!
Ну уж про индукцию, дедукцию и продукцию пусть ахтор сам рыщет :wink:
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Преобразователь кодов на AVR

Сообщение Danko »

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

Немного поколдовал с Протеусом и Кодевижином и вот, что получилось.
bin2dec_mega128.zip


Дабы не делать медвежью услугу исходный код не выкладываю только hex.

Самое прикольное в программе вот это:

Код: Выделить всё

EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 460 words (920 bytes), 0,7% of FLASH
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Преобразователь кодов на AVR

Сообщение GP1 »

Danko писал(а):
Самое прикольное в программе вот это:

Код: Выделить всё

EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 460 words (920 bytes), 0,7% of FLASH

Ну дык о чем и говорилось, велика еще в нашем народе сила привычки хватать камни побольше :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
skef
Родился
Сообщения: 9
Зарегистрирован: Сб июл 17, 2010 14:16:00

Re: Преобразователь кодов на AVR

Сообщение skef »

Дабы не делать медвежью услугу исходный код не выкладываю только hex.

ДА ПРОСТЯТ МЕНЯ МОДЕРАТОРЫ...
ГОТОВ СДЕЛАТЬ МЕДВЕЖЬЮ УСЛУГУ. НЕБЕЗВОЗМЕЗДНО!
на любой элемент найдется мощность, которая его сожжет.
KoTbI4
Родился
Сообщения: 7
Зарегистрирован: Чт окт 21, 2010 21:54:06
Откуда: Минск
Контактная информация:

Re: Преобразователь кодов на AVR

Сообщение KoTbI4 »

Всем большое спасибо .Очень благодарен. Особенно Danko.
a_skr
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Re: Преобразователь кодов на AVR

Сообщение 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
Вложения
bin2dec.zip
(1.02 КБ) 152 скачивания
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»