Перейти к содержанию

Вопросы от начинающих по МК


Рекомендуемые сообщения

Только начал разбираться в микроконтроллерах, вооружился книгой Белова (хорошая книга, советую). Для начала хочу залить в МК простейшую программу из серии включить светодиод кнопкой. Проблема в том, что в книге примеры приводятся для tiny2313, у меня же в наличии имеется mega48, которая сильно отличается. Я предполагаю сконфигурировать порт D на вход и порт С на выход, а порт B оставить чисто для программирования. Меня смущает, что в mega48 PC6 является выводом RESET, как это отразится на работе схемы при записи в PORTC, например, 0xFF? Еще для меня осталось не совсем понятно, можно ли назначить один вывод порта на вход, а другой вывод этого же порта на выход?

У меня нет телевизора, поэтому я ем грибы и смотрю ковер.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

  • Ответов
  • Создана
  • Последний ответ

Топ авторов темы

Все можно. Некоторые выводы порта имеют специальную функцию(например как RESET) приоритет которой выше.

Если ты не отключил вывод сброса битами конфигурации контроллера при прошивке - то вывод PC6 будет работать только как сброс, программно он не будет доступен. Хотя, насчет этого я не уверен(откройте даташит и хотябы попробуйте найти описание порта С, его конструкцию и работу специальных функций порта - там должно быть четко написано насчет сброса) - он может работать как порт и если его сконфигурировать на вывод то записью соответствующего значения можно сбросить контроллер, только смысла этого действия не вижу. Всегда можно выполнить прямой переход на адрес $000 с тем же практически эффектом - за исключением того что вся периферия не сбросится в исходное состояние. Но если инициализация прописана правильно, это не должно стать проблемой.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

и с этим МК не работал

с чем работал, из его даташита привёл пример, см выше

а тут да, всё завязано на такты внешнего генератора. ЧТО ЕСТЬ очень плохо!

мда. Вот так всегда: стоит копнуть и вся веря в сверх надёжные pic начинает рушиться :)

вооружился книгой Белова (хорошая книга, советую).

поаккуратнее с его книгами!!!

лично я находил там много ошибок! например, в тексте попадалось типа "пишу на память, в железе не проверял"

Потом мне приходили письма, где новички жаловались, что код не работает, так как попутаны команды

я писал в Издательство, и редактор сказал, что "мужик он хороший, хороший электронщик. Но ему всё некогда...спешит, не проверяет. Такие сообщения он тоже получал"

(я работую с этим же издательством)

Если ты не отключил вывод сброса битами конфигурации контроллера при прошивке - то вывод PC6 будет работать только как сброс, программно он не будет доступен. Хотя, насчет этого я не уверен

в разных - по-разному

в некоторых МК (по крайней мере АВР попадались) команда "загрузить в портС 0" с установленным нулём в разряже Сброса перегружала МК. Может сейчас исправили, но я стараюсь это исключать программно :) - на всякий случай

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Меня смущает, что в mega48 PC6 является выводом RESET, как это отразится на работе схемы при записи в PORTC, например, 0xFF?

По моему опыту работы с Mega8 (там сброс такой же) - никак.

Ну даже если и западло там, ничего страшного, перепишете прогу :D .... Камень от лишнего сброса не сдохнет.

Главное, не трогать программатором Fuse бит RSTDISBL. Если вдруг установите его в 0, то эта нога превратится в обычную ногу порта, ничем не отличающуюся от других, а входа сброса не будет вообще. Для обычной работы проца это, может и не страшно, но перепрошить по SPI (схемами типа 5 проводков в LPT порт) уже не получится. Нужен будет полноценный параллельный программатор, который в разы сложнее всех этих поделок типа USBASP, Petka, uGozillа и пр., хоть они и работают от USB.

Еще для меня осталось не совсем понятно, можно ли назначить один вывод порта на вход, а другой вывод этого же порта на выход?

Можно. В любых сочетаниях/комбинациях. Выводы портов полностью независимы друг от друга.

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

Спасибо за информацию, теперь можно смело шить 5 проводами. В книге Белова хорошо описаны самые азы, но опечаток хватает, особенно в старых изданиях.

У меня нет телевизора, поэтому я ем грибы и смотрю ковер.

Ссылка на комментарий
Поделиться на другие сайты

этот простой программатор не всегда работает на современных материнках - на них вместо 0/5 вольт уровни 0/3,3вольта, и МК не хочет шиться. Тогда и сам МК запитайте от 3.3 вольта - помогает иногда

Иногда не работает и на быстрых компах (буквально недавно мне задавали такой вопрос). Но нашли старенький П3 и на нём прошилось без проблем

Ссылка на комментарий
Поделиться на другие сайты

Спасибо, достану из шкафа древнюю материнку, будет работать программатором

У меня нет телевизора, поэтому я ем грибы и смотрю ковер.

Ссылка на комментарий
Поделиться на другие сайты

Можно! Сначала нарисовать тех.задание потом его из кирпичиков Флоукода собрать.

Все можно наладить, если вертеть в руках достаточно долго!

Если ничто другое не помогает, прочтите, наконец, инструкцию!

Ссылка на комментарий
Поделиться на другие сайты

спасибо за ответ я чайник в программировании по этому прошу помоч, есть файл асм есть хекс прошивка рабочая, испытанная есть схема, хотелось бы понять как это делается в FlowCode документацию могу выложить проэкт не сложный имхо

Ссылка на комментарий
Поделиться на другие сайты

Есть вопрос!!Ребята нужна схема usb-jtag на atmega8a-pu для тюнеров там насколько я знаю используеться tck,tms,tdo,tdi,rst в инете нет ничего только с miso и т.д.Заранее скажу что буду очень благодарен, так как есть три тюнера которые можно реанимировать только так, и еще lpt нет,только нетбук, только usb или может (com)rs232 ним прошиваю тюнер без проблем

Ссылка на комментарий
Поделиться на другие сайты

@Александр Кравченко,

ни разу не встречал в практике ремонта сп.ресиверов таких устройств...

все на LPT

Изменено пользователем Гость
Ссылка на комментарий
Поделиться на другие сайты

нет

так как ПО jTAG "дергает ножками порта" напрямую, через спец. регистр чипа LPT порта

ни один из преобразователей usb-LPT такого не может,

LPT-программаторы так же используют прямое обращение к регистру? и ни один не работает с преобразователем

Ссылка на комментарий
Поделиться на другие сайты

а такой????

Собираем адаптер USB to LPT.

Данный адаптер позволяет получить на компьютере полноценный LPT порт.

Практически все «принтерные» адаптеры USB to LPT printer этого не позволяют.

Схема предельно простая, выполнена на ATmega8. На схеме нумерация выводов соответствует контроллеру в корпусе DIP-28. Из конструктивных особенностей, то, что контроллер питается пониженным напряжением около 3,8v. Снижение напряжения реализовано на двух последовательно включенных диодах 1N4007 (на каждом из них падает около 0,6v). Можно ограничиться и одним диодом, но тогда на шины данных USB надо повесить стабилитроны на 3,6v. (Лично проверял, со стабилитронами на 3,3v работает, 3,6v под рукой не было, 3,9v – комп выдает ошибку и не распознает устройство.)

Кварц обязательно на 12 мГц. (Это особенность USB)

Конденсатор С4 я не ставил.

Светодиод D3 горит при подключенном адаптере к USB и мигает при обмене данными.

Если постараться, то адаптер можно уместить в корпусе стандартного разъема DB-25

Прошивка для контроллера в файле usb2lpt5.hex

Фьюзы в PonyProg надо выставить так:

Прошиваем контроллер и вставляем его в адептер. (можно и прям в адептере прошить, подав сигналы ISP на контроллер и запитав его от 5v а не от 3,8v)

Теперь подключаем полученный девайс к USB порту.

Комп должен обнаружить новое устройство, распознать его и запросить драйвер.

Указываем расположения драйвера (папка «usb2lpt»).

Светодиод на адептере должен гореть.

Если светодиод на адаптере загорелся и погас, к комп выдал сообщение, что устройство работает не верно значит:

- Перепутаны провода D+ D-

- На Usb шину от микроконтроллера подается напряжение больше 3,3..3,6v

- Ошибки в монтаже или при прошивке контроллера.

В системе в разделе порты появится новый порт «h#s USB-zu-LPT-Umsetzer (LPT3)»

«LPT3» - Это не номер порта!!! (Во всяком случае в WinXP) Номер порта можно посмотреть и поменять в свойствах.

Все! Большинство программ сможет работать с этим портом как со встроенным!!! Но вот, что-бы PonyProg смогла с ним работать надо немного покопаться в настройках…

Там-же в свойствах следует поменять некоторые параметры (отмечены красным), для того, что-бы PoniProg увидела этот виртуальный LPT порт.

Так-же в файле «PONYPROG2000.INI» необходимо исправить строки:

.....

AutoDetectPorts=NO (По умолчанию стоит YES, и пони не видит порт.)

.....

InterfaceType=AvrISP-I/O

PortNumber=1 (1- это номер порта)

.....

COMPorts=3F8,2F8,3E8,2E8

LPTPorts=378,278,3BC

После этого запускаем PonyProg, заходим в настройки портов и нажимаем кнопку «Тест» Тест должен пройти успешно, а на адаптере несколько раз моргнет светодиод.

Теперь подключаем к этому порту адаптер «5 проводков» и прошиваем контроллеры 

Ссылка на комментарий
Поделиться на другие сайты

А ссылочку с этим адаптером можно?

Все можно наладить, если вертеть в руках достаточно долго!

Если ничто другое не помогает, прочтите, наконец, инструкцию!

Ссылка на комментарий
Поделиться на другие сайты

Александр Кравченко, допустим я заинтересовался этим :D .

А где схема, прошивки, драйверы упоминамые?

Пост напоминает копи-паст откуда-то....

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

сейчас скину

Вот, может кто быстрей попробует то напишет,если нетрудноatmega88888888.rar

Александр Кравченко, допустим я заинтересовался этим :D .

А где схема, прошивки, драйверы упоминамые?

Пост напоминает копи-паст откуда-то....

ну так и было, просто забыл что так фото не покатит

Ссылка на комментарий
Поделиться на другие сайты

Эээ.. делат ьполноценный LPT чтобы подключать к нему недопрограмматоры? Помоему проще сразу собирать программаторы работающие напрямую от USB, с соответствующим современным софтом.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Мне кажется, что JTAG программаторы есть сразу с USB, но в твоем случае с тюнером... там скорей всего какие-то выводы используются под JTAG, но не пронумерованы соответствующим образом - пронумерован только штатный интерфейс ибо нефиг неавторизованным соваться.

Вот например или лучше этот более универсальный недорогой вариант, дешевле... не знаю, смысла наверно не имеет. Не на всем стоит экономить, особенно на собственном времени! Посчитай, сколько у тебя уйдет времени на поиск схемы деталей и сборку такого программатора, и стоит ли это время каких-то 12$? Их быстрее заработать другим способом - и появится куча времени на что-то более полезное.

Изменено пользователем Alexeyslav

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

У меня вопрос по мнемонике, где можно найти расшифровку команд ассемблера? Ничего не смог нагуглить. К примеру, обозначение команды DEC - декремент, RCALL - relative call (относительный переход) и т.д. Хочется понимать сокращения всех команд. Зачем? Мне их так проще запомнить :rolleyes:

P.S. Люблю я задавать вопросы и тут же находить на них ответы :) Если кому вдруг понадобится, все есть в хелпе по студии. Почему-то озарение пришло уже после написания поста.

Изменено пользователем Bergman

У меня нет телевизора, поэтому я ем грибы и смотрю ковер.

Ссылка на комментарий
Поделиться на другие сайты

В даташите на любой контроллер есть описание каждой команды с расшифровкой. А если и нет, то всегда есть общий документ на целое семейство контроллеров с полным описанием каждой команды.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Почему в некоторых МК есть внутренний осциллятор, а в некоторых он отсутствует? Можно ли запустить МК как бы на виртуальном внутреннем осцилляторе, например, с помощью периферийного таймера?

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...