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

Программирование Atmel.


usatijj

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

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

Однажды понадобилось мне на внешнее прерывание в программе отреагировать. Вопросик был простой и не мудрствуя лукаво я, подчитав литературку, начал ваять код (оговорюсь, что писал я для AT90S2313 - у меня в коробочке завалялся - самое время и приспособить его)

Все просто:

0. Определяем кой какие константы

.equ PinInt0=PinD2 (PinD2 - вход внешнего прерывания INT0, точно не помню, но это не важно)

1. Настраиваем порт D, PinD (int0) как вход.

cbi DDRD, PinInt0

2. Включаем подтягивающий резистор

sbi PORTD,PinInt0

теперь у нас вывод PinInt0 подключен к +Vcc через подтягивающий резистор и при отсутствиии подключения к источнику сигнала, на нем читается 1.

3. Настраиваем прерывания

Завтра листинг программки с пояснениями выложу. Неудобно как то набирать текст в стандартной форме. Подготовлюсь и продолжу...

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

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

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

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

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

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

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

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

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

Мне интересно. Только сколько и где я не проявляю интереса, ничем своих упругих проблем решить не могу. Написал учебный код на ассемблере и си для цифрового термометра, а ничем его откомпелировать в линуксе не могу. А ничего другого у меня нет. Покупать винд?- может когда то, но сейчас жирновато. Компилятор написать тоже не получается, прямо вручную компилируй! Не сложно, но боюсь ошибок много будет.

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

Для Линя вроде есть эмуляторы ДОС или Вин для запуска прог под них. Подтормаживать конечно будет, но для комптлятора это не существенно.

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

Мне интересно. Только сколько и где я не проявляю интереса, ничем своих упругих проблем решить не могу. Написал учебный код на ассемблере и си для цифрового термометра, а ничем его откомпелировать в линуксе не могу. А ничего другого у меня нет. Покупать винд?- может когда то, но сейчас жирновато. Компилятор написать тоже не получается, прямо вручную компилируй! Не сложно, но боюсь ошибок много будет.

Возьми Виндовс 98 или 95 - они уже бесплатные, и компилируй сколько душе угодно

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

Для Линя вроде есть эмуляторы ДОС или Вин для запуска прог под них. Подтормаживать конечно будет, но для комптлятора это не существенно.

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

Возьми Виндовс 98 или 95 - они уже бесплатные, и компилируй сколько душе угодно
Что об этом Билл Гейтс гдето объявил, откуда такая информация?
Ссылка на комментарий
Поделиться на другие сайты

Мне интересно. Только сколько и где я не проявляю интереса, ничем своих упругих проблем решить не могу. Написал учебный код на ассемблере и си для цифрового термометра, а ничем его откомпелировать в линуксе не могу. А ничего другого у меня нет. Покупать винд?- может когда то, но сейчас жирновато. Компилятор написать тоже не получается, прямо вручную компилируй! Не сложно, но боюсь ошибок много будет.

вы хотябы в гугль запрос делали? я в линуксе программировал год с лишним,всё прекрасно пашет акромя симулятора,они есть но такие какашки что на голову не натянешь.

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

вы хотябы в гугль запрос делали?
Даже пропахал
я в линуксе программировал год с лишним,всё прекрасно пашет акромя симулятора,они есть но такие какашки что на голову не натянешь.
А у меня скорее симулятор работает (по крайней мере чтото демонстрирует изначально заложенное). Имею лицензионную Мандриву2006ДискавериЛх
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

тема хороша!

я вот пытаюсь освоить программирование на ассемблере Atmega8 в AVRStudio 4!

только одна проблема возникла как при симуляции вызвать прерывание от компаратора например?

пытался выставить флаг прерывания не реагирует!на ножке еденицу выставлял то же не хочет!

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

ставишь паузу... выставляешь что тебе нада и делаешь шаг вперед.. все должно сработать ... в реальном вроемени лучше использовать протэус ... там и прерыванияподергаешь и тд ..

«Как сердцу выразить себя? … Мысль изреченная есть ложь!»

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

тема хороша!

я вот пытаюсь освоить программирование на ассемблере Atmega8 в AVRStudio 4!

только одна проблема возникла как при симуляции вызвать прерывание от компаратора например?

пытался выставить флаг прерывания не реагирует!на ножке еденицу выставлял то же не хочет!

Все работает и в AVR. От компаратора прерывание сработает при установке флага в АСО в соответствующем разряде. И главное проверить, что бы прерывания были разрешены: 1. От компаратора (уст. в том же регистре состояния компаратора). 2. Общий флаг разрешения прерываний (i) тоже должен быть установлен, (прим. если прерывание от компаратора происходит во время выполнения подпрограммы обработки другого прерывания то выполнение прерывания откладывается до завершения предыдущего. В этом случае флаг I сбрасывается аппаратно, при входе в прерывание и затем выключается по команде reti). И наконец, по соответств. адресу flash должна находится команда вызова подпрограммы, а не reti.

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

незнаю как у вас а у меня в реалтайме студия 4-я не хочет устанавливать значения битов.. ставлю паузу высталябю значения, снова запускаю тада все ок

«Как сердцу выразить себя? … Мысль изреченная есть ложь!»

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

незнаю как у вас а у меня в реалтайме студия 4-я не хочет устанавливать значения битов.. ставлю паузу высталябю значения, снова запускаю тада все ок

У меня также проверку веду в пошаговом режиме, а в реал тайме тестирую макетную схему.

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

Книга Шпака по программированию в двух частях:

_http://lord-n.narod.ru/download/books/walla/mcu/Shpak.Yu.A.Programmirovanie.na.yazyke.S.dlya.AVR.i.PIC.mikrokontrollerov.MK-Press.Kiev.2006.part1.rar

_http://lord-n.narod.ru/download/books/walla/mcu/Shpak.Yu.A.Programmirovanie.na.yazyke.S.dlya.AVR.i.PIC.mikrokontrollerov.MK-Press.Kiev.2006.part2.rar

 

 

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

тема хороша!

я вот пытаюсь освоить программирование на ассемблере Atmega8 в AVRStudio 4!

только одна проблема возникла как при симуляции вызвать прерывание от компаратора например?

пытался выставить флаг прерывания не реагирует!на ножке еденицу выставлял то же не хочет!

Все работает и в AVR. От компаратора прерывание сработает при установке флага в АСО в соответствующем разряде. И главное проверить, что бы прерывания были разрешены: 1. От компаратора (уст. в том же регистре состояния компаратора). 2. Общий флаг разрешения прерываний (i) тоже должен быть установлен, (прим. если прерывание от компаратора происходит во время выполнения подпрограммы обработки другого прерывания то выполнение прерывания откладывается до завершения предыдущего. В этом случае флаг I сбрасывается аппаратно, при входе в прерывание и затем выключается по команде reti). И наконец, по соответств. адресу flash должна находится команда вызова подпрограммы, а не reti.

спасибо за помощь!все это выполнено в программе даже на самом контроллере работает (в железе)а в симуляторе не работает!

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

Кника Шпака по программированию в двух частях:

_http://lord-n.narod.ru/download/books/walla/mcu/Shpak.Yu.A.Programmirovanie.na.yazyke.S.dlya.AVR.i.PIC.mikrokontrollerov.MK-Press.Kiev.2006.part1.rar

_http://lord-n.narod.ru/download/books/walla/mcu/Shpak.Yu.A.Programmirovanie.na.yazyke.S.dlya.AVR.i.PIC.mikrokontrollerov.MK-Press.Kiev.2006.part2.rar

Спасибо за ссылки, только part2 не скачивается, rar архив пустой!

У меня есть хорошая книга А.В.Естифеев "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel". (6Mb)

И еще книга с примерами по контроллеру AT89C2051, А.В.Белов "Конструирование устройств на микроконтроллерах". (4Mb)

Если кому понадобиться, подскажите куда можно залить, обе в формате дежавю.

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

незнаю как у вас а у меня в реалтайме студия 4-я не хочет устанавливать значения битов.. ставлю паузу высталябю значения, снова запускаю тада все ок

У меня тоже не всегда биты ставятся в реал-тайме. Но самая большая проблема была с breakpoint, которые вообще не хотели выставлятся. Спас, как всегда, метод эксперимента :)

Заменил в одном из старых файлов код на новый (cntr + C, cntr + V-методом китайских программистов :lol: ), пересохранился,загрузил и все заработало!

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

ООООООООО, авр это "тема" мне очень понравился контроллер и программирование на Си (раньше писал на асме) в CVAVR. Просто ПИЩЮ, всё быстро просто и прикольно! Рекомендую!

Да и вообще если хотите разобраться с контроллерами, сначала с полгодика попишите на асме, ну проги с 2-3кб, а потом смело переходите на Си. Асм для того чтоб разобраться именно с работой контроллера

Да и болеемение устойчив к помехам

yourdevice.net

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

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

проходит время когда русские прогеры стремились к минимальным затратам ресурсов.. при максимальной отдаче

«Как сердцу выразить себя? … Мысль изреченная есть ложь!»

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

Вообще-то скачивается, там даже где-то 3 метра инфы, но какая-то ошибка при распаковывании... .

Выкладываю всё одним файлом 9 метров - _http://slil.ru/23774684

 

 

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

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

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

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

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

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

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

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

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

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

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