Зарегистрирован: Вт май 01, 2012 18:20:37 Сообщений: 5
Рейтинг сообщения:0
Народ, помогите кто чем сможет. Поставили мне задачу: "Создать схему на основе одного из микроконтроллеров семейства PIC, AVR, ARM, MSC-51, запрограммировать микроконтроллер, а потом заменить уже используемый нами микроконтроллер на какой-нибудь другой, изменить код так, чтобы его основа осталась и всё должно заработать". Тематика схемы абсолютно любая. Реально ли переписать код без катастрофических изменений? Или смысл кода будет таким же, но содержание абсолютно другим? И самый главный вопрос: "Если ли у кого-нибудь одинаковые схемы с использованием разных микроконтроллеров?"
Карма: 33
Рейтинг сообщений: 50
Зарегистрирован: Вт мар 09, 2010 09:29:27 Сообщений: 6165 Откуда: Свердловская область, г. Ирбит
Рейтинг сообщения:0
Я наверно стану великим предсказателем, сказав что твоя тема в мусорке окажется,понабрав сначала кучу флуда.
_________________ "У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
На ум приходит только 2 контроллера, которые безболезненно заменяются без переделки схемы и платы - AT89C2051 (MCS51) и ATTiny2313/AT90S2313 (AVR). Причем сначала сделать на C2051, а потом переделать на 2313.
Тематика схемы абсолютно любая. Реально ли переписать код без катастрофических изменений?
Реально, если под кодом подразумевается исходники (на Си, например), а задача несложная и не выжимаются из контроллера все возможности и не используется специфика аппартной части МК. В свое время переходили с 51 на AVR, в исходниках заменили только вектора прерываний, имена и "распиновку" портов, библиотеки EEPROM, остальное трогать не пришлось т.к. особенности 51 не сильно использовали, да и AVR 8515 по ресурсам своим не уступал 51-му.
niXon-nos писал(а):
Народ, помогите кто чем сможет. "Если ли у кого-нибудь одинаковые схемы с использованием разных микроконтроллеров?"
Проблема то в чем? Берешь любую схему на 51 которая занимается "ногодрыганьем" и заменяешь в ней проц. на AVR. Желательно на такой же корпус с примерно такими же характеристиками. Pin-to-pin конечно обычно не получится, т.к. питание практически по любому на других ногах будет, но в целом сложного ничего нет.
P.S. только смысл то в чем ? научить студентов как не нужно проектировать железо? - хватаешь первый попавшийся контроллер, ваяешь на нем девайс, а потом, когда после написания программы (через месяц-другой) будет понятно, что камень не тот и его ресурсов не хватает срочно искать ему замену и воткнуть в схему что нибудь другое (и обязательно на другом ядре!) и бысто-быстро переносить исходники? или научиться писать переносимые исходники для тривиальных задач?
Если тематика схемы действительно любая, почему-бы не собрать мигалку светодиода, скажем, на PIC и мигалку на AVR. Мигалка - одна из первых программ на МК, найдете их в любой книге или обучалке. Но внутренний голос мне говорит, что препод это не одобрит. Есть-ли ограничения на сложность схемы?
Что в Вашем случае сложная схема? Совет тот-же. Посмотрите книги по тем-же PIC и AVR, каких больше всего из микроконтроллеров. Как правило примеры в них если не одинаковые то однотипные. Если писать на С, сам алгоритм, конечно, портируется от одного типа МК к другому. Однако, библиотеки стандартных функций и настройка ргистров будет разная. Больше всего, пожалуй, схем термометров и часов на PIC и AVR. Гугль в зубы и вперед. А еще лучше разберитесь по книгам как писать программы и сделайте сами. Так хоть чему-то научитесь.
... под каждую задачу есть свой оптимальный кристалл - обусловлено разводкой корпуса, внутренней начинкой и особенностями ядра семейства совместимые по корпусам : at89c2051(4051) и attiny2313 (dip20) at89c51/c52/s51/s52/c55wd и atmega8515/atmega162(dip40) только вот внутренняя организация ... mcs51 почти копируется лишь pic18nnn - но разводка выводов совершенно отличается atmel (mega&tiny)- вариант Z80 с дополнительно подключенной периферией, что и обуславливает особенности построения программ семейство pic10/12/16 стоит несколько "особнячком" - это МК для узкоспециализированных задач в виде разумных периферийных "добавок" средней степени сложности взамен "рассыпухе" но там, где такая замена разумна ну и конечно у каждого "своя" система команд так что если говорить о задании - прийдется за основу брать какое-то устройство, но... на каждый тип МК нужно не только свою программу писать, но и свою схемку рисовать... я довольно часто использую особенности вышеуказанной "корпусной совместимости", особенно в автоматике световых эффектов и простейших усторйствах Кстати, один из вариантов - стандартный автомат световых эффектов ( а не просто "помигалка" ) на базе AT89C2051 - ATTINY2313 - PIC16F628A - PIC18F1320 с небольшой разницей в печатном монтаже позволит провести сравнительный анализ особенностей всех 4-х разновидностей МК ( очень показательно, если на ассемблере программки писать ) похоже топикстартер или определился с дипломом или " злякався"...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения