pakanpak

ATmega16. Проблема с простейшей программой

4 posts in this topic

pakanpak    0

Добрый день, уважаемые форумчане!

Столкнулся с тривиальной проблемой, которую не могу решить. Достав из закромов USBASP, решил поставить дрова на комп и протестировать его на своей Atmega16 - зашить простую мигалку. То есть на нулевой пин порта "А" повесил светодиод и заставил в цикле подавать 1 - задержка  - 0. Проще программы не бывает наверное. Код ниже (ассемблер):

.include "m16def.inc"
.def temp = r16

.org 0
rjmp reset

Reset:				// порт на вывод
	
	ldi temp,255
	out ddra,temp
	out porta,temp

start:				//цикл мигалки
	clr temp
	out porta,temp
	rcall del

	ser temp
	out porta,temp
	rcall del
rjmp start

del:				//стандартная задержка
	ldi r17,255
	ldi r18,255
	ldi r19,10
	del2:
		dec r17
		brne del2
		dec r18
		brne del2
		dec r19
		brne del2
ret

Очевидно, что в коде ошибки нет. Протестировано в протеусе)

Но после прошивки МК, на нужной ноге не происходит смена состояний. То есть светодиод загорается и не мигает - просто горит. Поменял порты - тоже самое. С фьюзами вроде тоже все нормально - скрины прилагаю. Шил и хазамой, и дудкой. Использовал USBASP. Сигнатура читается , фьюзы меняются - все хорошо. Менял чип на аналогичный - все тоже самое. Схема соединения - думаю не стоит выкладывать)) Короче, я в тупике. Настолько дурацкая проблема, что я даже не знаю что думать. Может проблема в том, что в я не отсоединяю МК от USBASP ( MOSI, MISO, SCK, RESET) ? 

 

скрин1.png

скрин2.png

Share this post


Link to post
Share on other sites
dm37    54

для использования команды rcall необходимо в начале программы инициализировать стек:

LDI	R16, low(RAMEND)
OUT	SPL, R16
LDI	R16, high(RAMEND)
OUT	SPH, R16

Share this post


Link to post
Share on other sites
KomSoft    425

Возможно, у меня такая проблема была с APU-2, он не отпускает reset. Нужно перекомпилировать дудку. Но c usbasp не наблюдадось. А просто снять ресет и проверить, не?

Share this post


Link to post
Share on other sites

Опорное решение: компоненты для защиты RS-485

Компания Bourns анонсировала новую (4-ю) версию демонстрационной платы для тестирования защиты низковольтных слаботочных цепей от токовых перегрузок и импульсных перенапряжений, в частности, для защиты интерфейса RS-485. Мы собрали для вас всю самую интересную информацию по данной теме на одной странице.

Подробнее...

pakanpak    0
11 минуту назад, dm37 сказал:

для использования команды rcall необходимо в начале программы инициализировать стек:


LDI	R16, low(RAMEND)
OUT	SPL, R16
LDI	R16, high(RAMEND)
OUT	SPH, R16

Вот я затупил... Спасибо большой за тычок пальцем. Тот момент когда смотришь в упор и не видишь нихрена)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Similar Content

    • By LegionKC
      Добрый день.
      Экспериментирую с платой TP4056 и MK ATmega8, конкретнее - пытаюсь собрать простенькое зарядное устройство с выводом параметров при зарядке/разрядке на АЦП МК. Для измерения тока нашел ACS712. Думаю, что получится выводить ток при зарядке (т.е. когда идет питание на TP4056 и нагрузка отключена) и при разрядке (питание выключено, нагрузка подключена). Нагрузка - резистор. Возникла проблема с измерением напряжения на АКБ. Вернее, проблема с отсутствием идей как это сделать. Может какую-нибудь схему делителя напряжения нужно сделать? Прошу помочь советом. Схему из пэинта прилагаю.
      Спасибо.
       

    • By karinenish
      Необходимо провести анализ схемы мигалки на одном диоде. Но для анализа нужен источник импульсных сигналов. Я не знаю куда его прикрепить.Заменил ист напряжения на ист импульсных. В режиме Dynamic DC диод и 2 транзистора в состоянии OFF.Помогите пожалуйста
      схемки.rar
    • By Cheshire Cat
      Здравствуйте, только начинаю изучать программирование мк. Я уже задавал этот вопрос в моих прошлых схемах мне отвечали что-то типа "любой стабилизрованый источник постоянного напряжения", или кидали схему такого источника. Можно назвать мне конкретное устройство? В общем то что я смогу забить в гугл и приписать купить. 

      Я уже больше двух месяцев жду пока мне придут с aliexpress детали для маленького лабараторного блока, но этот вариант может разбиться о кривизну моих рук.  Хочу просто купить такой источник и наконец заняться непосредственно МК. 
    • By Cheshire Cat
      Здравствуйте, только начал изучать программирование микроконтроллеров. В учебнике есть схема, но она не учитывает питание и землю. Скажите правильно ли я её дополнил.
      И еще дополнительный вопрос. Что можно использовать как источник постоянного питания на 5В? Из не дорогого и того, что можно купить в Казани. Знаю, что лучший вариант - лабораторный БП, но они дорогие.

    • By went
      Здравствуйте!
      Сразу скажу что мои познания в схемотехнике стремятся к нулю, так что прошу отнестись с пониманием. Увлекся как то я всякими штуками на ардуино и это привело к тому, что я захотел сделать машинку на радиоуправлении. Почитал/посмотрел в интернете и составил свою схему (см. фото). Казалось бы что могло пойти не так, но при питании от 12в при вращении двигателя сервопривод начинает отклоняться на определенный угол. Ставил керамику на двигатель, заземлял корпус и ничего не помогло. Как то после попыток справить все способами из интернета сидел, размышлял и чисто по приколу поставил диод 1N4007 между выходом шим с МК и землей. Не знаю как оно работает, но дергаться сервопривод стал меньше и дергается теперь только под средней нагрузкой. На этом мои знания и идеи заканчиваются, прошу помощи разобраться в чем проблема. Немного о схеме. Мозг - AtMega328P, питается от стабилизатора L7805ABV (5В 1,5А), от него же питается серва. Передатчик NRF24L01+ запитан от LD1117AL-3,3, драйвер двигателя TB6612FNG. Двигатель пока что работает не от шим, а от 5в. Запускал без пульта программно на газ + поворот и глюки оставались, так что с передатчиком проблема не связана.
      Всем заранее спасибо.