Программирование микроконтроллеров

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
niXon-nos
Родился
Сообщения: 5
Зарегистрирован: Вт май 01, 2012 18:20:37

Программирование микроконтроллеров

Сообщение niXon-nos »

Народ, помогите кто чем сможет.
Поставили мне задачу: "Создать схему на основе одного из микроконтроллеров семейства PIC, AVR, ARM, MSC-51, запрограммировать микроконтроллер, а потом заменить уже используемый нами микроконтроллер на какой-нибудь другой, изменить код так, чтобы его основа осталась и всё должно заработать". Тематика схемы абсолютно любая.
Реально ли переписать код без катастрофических изменений?
Или смысл кода будет таким же, но содержание абсолютно другим?
И самый главный вопрос: "Если ли у кого-нибудь одинаковые схемы с использованием разных микроконтроллеров?"
Реклама
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: Программирование микроконтроллеров

Сообщение atmicandr »

:))) Я наверно стану великим предсказателем, сказав что твоя тема в мусорке окажется,понабрав сначала кучу флуда. :tea:
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
Реклама
niXon-nos
Родился
Сообщения: 5
Зарегистрирован: Вт май 01, 2012 18:20:37

Re: Программирование микроконтроллеров

Сообщение niXon-nos »

Ну хоть попытаюсь, может найдутся добрые люди
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Программирование микроконтроллеров

Сообщение Engineer_Keen »

На ум приходит только 2 контроллера, которые безболезненно заменяются без переделки схемы и платы - AT89C2051 (MCS51) и ATTiny2313/AT90S2313 (AVR). Причем сначала сделать на C2051, а потом переделать на 2313.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: Программирование микроконтроллеров

Сообщение _dark »

niXon-nos писал(а):Тематика схемы абсолютно любая.
Реально ли переписать код без катастрофических изменений?
Реально, если под кодом подразумевается исходники (на Си, например), а задача несложная и не выжимаются из контроллера все возможности и не используется специфика аппартной части МК.
В свое время переходили с 51 на AVR, в исходниках заменили только вектора прерываний, имена и "распиновку" портов, библиотеки EEPROM, остальное трогать не пришлось т.к. особенности 51 не сильно использовали, да и AVR 8515 по ресурсам своим не уступал 51-му.
niXon-nos писал(а):Народ, помогите кто чем сможет.
"Если ли у кого-нибудь одинаковые схемы с использованием разных микроконтроллеров?"
Проблема то в чем? Берешь любую схему на 51 которая занимается "ногодрыганьем" и заменяешь в ней проц. на AVR.
Желательно на такой же корпус с примерно такими же характеристиками. Pin-to-pin конечно обычно не получится, т.к. питание практически по любому на других ногах будет, но в целом сложного ничего нет.

P.S.
только смысл то в чем ?
научить студентов как не нужно проектировать железо?
- хватаешь первый попавшийся контроллер, ваяешь на нем девайс, а потом, когда после написания программы (через месяц-другой) будет понятно, что камень не тот и его ресурсов не хватает срочно искать ему замену и воткнуть в схему что нибудь другое (и обязательно на другом ядре!) и бысто-быстро переносить исходники? :)))
или научиться писать переносимые исходники для тривиальных задач?
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Программирование микроконтроллеров

Сообщение Engineer_Keen »

_dark писал(а):Pin-to-pin конечно обычно не получится, т.к. питание практически по любому на других ногах будет, но в целом сложного ничего нет.
Получится для контроллеров, про которые я писал выше, только если у AVR ресет отключить, а то там наоборот по сравнению с 51-м...
Реклама
niXon-nos
Родился
Сообщения: 5
Зарегистрирован: Вт май 01, 2012 18:20:37

Re: Программирование микроконтроллеров

Сообщение niXon-nos »

_dark, вы точно подметили про написание переносимых исходников для тривиальных задач. Это мне и нужно.
Как это реализовать?
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Программирование микроконтроллеров

Сообщение Ser60 »

Если тематика схемы действительно любая, почему-бы не собрать мигалку светодиода, скажем, на PIC и мигалку на AVR. Мигалка - одна из первых программ на МК, найдете их в любой книге или обучалке. Но внутренний голос мне говорит, что препод это не одобрит. Есть-ли ограничения на сложность схемы?
niXon-nos
Родился
Сообщения: 5
Зарегистрирован: Вт май 01, 2012 18:20:37

Re: Программирование микроконтроллеров

Сообщение niXon-nos »

Желательно несколько схем от самых простых до сложных.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Программирование микроконтроллеров

Сообщение Ser60 »

Что в Вашем случае сложная схема? Совет тот-же. Посмотрите книги по тем-же PIC и AVR, каких больше всего из микроконтроллеров. Как правило примеры в них если не одинаковые то однотипные. Если писать на С, сам алгоритм, конечно, портируется от одного типа МК к другому. Однако, библиотеки стандартных функций и настройка ргистров будет разная. Больше всего, пожалуй, схем термометров и часов на PIC и AVR. Гугль в зубы и вперед. А еще лучше разберитесь по книгам как писать программы и сделайте сами. Так хоть чему-то научитесь.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15570
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Программирование микроконтроллеров

Сообщение BOB51 »

...
под каждую задачу есть свой оптимальный кристалл - обусловлено разводкой корпуса, внутренней начинкой и особенностями ядра семейства
совместимые по корпусам :
at89c2051(4051) и attiny2313 (dip20)
at89c51/c52/s51/s52/c55wd и atmega8515/atmega162(dip40)
только вот внутренняя организация ...
mcs51 почти копируется лишь pic18nnn - но разводка выводов совершенно отличается
atmel (mega&tiny)- вариант Z80 с дополнительно подключенной периферией, что и обуславливает особенности построения программ
семейство pic10/12/16 стоит несколько "особнячком" - это МК для узкоспециализированных задач в виде разумных периферийных "добавок" средней степени сложности взамен "рассыпухе" но там, где такая замена разумна
ну и конечно у каждого "своя" система команд
так что если говорить о задании - прийдется за основу брать какое-то устройство, но... на каждый тип МК нужно не только свою программу писать, но и свою схемку рисовать... :tea:
я довольно часто использую особенности вышеуказанной "корпусной совместимости", особенно в автоматике световых эффектов и простейших усторйствах :beer:
Кстати, один из вариантов - стандартный автомат световых эффектов ( а не просто "помигалка" ) на базе AT89C2051 - ATTINY2313 - PIC16F628A - PIC18F1320 с небольшой разницей в печатном монтаже позволит провести сравнительный анализ особенностей всех 4-х разновидностей МК ( очень показательно, если на ассемблере программки писать ) :write:
похоже топикстартер или определился с дипломом или " злякався"... :cry:
Закрыто

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