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

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

Сообщение KoTbI4 »

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

Сообщение Jack_A »

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

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

Сообщение 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
Откуда: Россия, Волгоград

Сообщение GP1 »

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

Сообщение Meteor »

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

Сообщение 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
Откуда: Россия, Волгоград

Сообщение GP1 »

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

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

EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 460 words (920 bytes), 0,7% of FLASH 
Ну дык о чем и говорилось, велика еще в нашем народе сила привычки хватать камни побольше :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Родился
Аватара пользователя
Сообщения: 9
Зарегистрирован: Сб июл 17, 2010 14:16:00

Сообщение skef »

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

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

Сообщение KoTbI4 »

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

Сообщение 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 КБ) 154 скачивания
Закрыто

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