Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 08.11.2013, 11:32  
zelvans
Частый гость
 
Регистрация: 11.07.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
zelvans на пути к лучшему
По умолчанию Какие команды вставить?

Задача - шутка. DEVICE ATMEGA8
Нужно покрутиться в цикле aaa, затем что-нибудь сделать, например, записать 01,02,03 в регистры r20,21,22 и навсегда уйти в цикл bbb.
Нельзя использовать команды условных переходов,*jmp, *call.
Ниже обязательные условия - остальное Ваше.

.DEVICE ATMEGA8
.CSEG
.ORG 0
rjmp init ;Reset
rjmp вектора прерываний
rjmp
...
rjmp вектора прпрерываний
......

init:
xxx ;нужно вставить 4 команды
xxx
xxx
xxx
aaa:
nop
rjmp aaa

....
dddd:
nop
rjmp dddd
bbb:
nop
rjmp bbb

....
Реклама:

Последний раз редактировалось zelvans; 09.11.2013 в 04:34.
zelvans вне форума  
Непрочитано 08.11.2013, 13:48  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,939 раз(а) в 2,369 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Какие команды вставить?

Сообщение от zelvans Посмотреть сообщение
Задача - шутка. DEVICE ATMEGA8 Нужно
50 долларов/команда
jump вне форума  
Непрочитано 08.11.2013, 15:20  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Какие команды вставить?

так?
Код:
.include "m8def.inc"

.DEVICE ATMEGA8
.CSEG
.ORG 0
	rjmp init ;Reset
	nop
	nop
init:
	ldi r16, 1  ;нужно вставить 4 команды
	out TCCR0, r16 
	out TIMSK, r16
	sei
aaa:
	nop
	rjmp aaa
	nop
	nop
	cli
bbb:
	nop
	rjmp bbb
oleg110592 вне форума  
Непрочитано 08.11.2013, 16:36  
zelvans
Частый гость
 
Регистрация: 11.07.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
zelvans на пути к лучшему
По умолчанию Re: Какие команды вставить?

Начало правильное. А как в цикл bbb зайти? Условие немного неправильно поставил одна rjmp в векторах прерываний допускается

Последний раз редактировалось zelvans; 08.11.2013 в 16:41.
zelvans вне форума  
Непрочитано 08.11.2013, 17:02  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Какие команды вставить?

Проверил в симуляторе Студии - все заходит по условиям 1 сообщения:
Миниатюры:
Нажмите на изображение для увеличения
Название: TestASM.png
Просмотров: 49
Размер:	17.8 Кб
ID:	54402  
oleg110592 вне форума  
Непрочитано 08.11.2013, 17:37  
zelvans
Частый гость
 
Регистрация: 11.07.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
zelvans на пути к лучшему
По умолчанию Re: Какие команды вставить?

Может я не вижу весь текст вижу только следующее
.include "m8def.inc"

.DEVICE ATMEGA8
.CSEG
.ORG 0
rjmp init ;Reset
nop
nop
init:
ldi r16, 1 ;нужно вставить 4 команды
out TCCR0, r16
out TIMSK, r16
sei
aaa:
nop
rjmp aaa
nop
nop
cli
bbb:
nop
rjmp bbb

после того как произошло прерывание что происходит?(не описан вектор прерывания) и давайте цикл bbb прикроем другим циклом. Предполагается, что цикл bbb закрыт текстом программы.
......
еее:
nop
rjmp eee
bbb:
nop
rjmp bbb
......
Похоже не до конца продумал этюд
zelvans вне форума  
Непрочитано 08.11.2013, 17:40  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Какие команды вставить?

все что надо на экране, в протеусе может виднее будет:
Миниатюры:
Нажмите на изображение для увеличения
Название: TestASM_Proteus.png
Просмотров: 55
Размер:	24.4 Кб
ID:	54403  
oleg110592 вне форума  
Непрочитано 08.11.2013, 17:54  
zelvans
Частый гость
 
Регистрация: 11.07.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
zelvans на пути к лучшему
По умолчанию Re: Какие команды вставить?

А если циклы задвинем на адреса 200 и 300 соответственно? и сделать что-нибудь заполнить несколько регистров например и цикл bbb прикрыт другим циклом.
zelvans вне форума  
Непрочитано 08.11.2013, 17:59  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Какие команды вставить?

ну так не честно - условия первого поста считаю выполнены
а так, конечно надо заполнить вектора прерываний и т.д.
oleg110592 вне форума  
Непрочитано 08.11.2013, 18:13  
zelvans
Частый гость
 
Регистрация: 11.07.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
zelvans на пути к лучшему
По умолчанию Re: Какие команды вставить?

Я подкорректировал стартовое сообщение, сам не ожидал,что может быть частный случай. Для общего случая все-таки есть решение, т.е. один rjmp в векторах допускается. init находится по адресу 200. Еще раз прошу прощения за то что до не продумал все до конца.

Последний раз редактировалось zelvans; 08.11.2013 в 18:18.
zelvans вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование AVR, FUSE и все что с этим связано dosikus AVR 1244 21.09.2022 12:14
Нелинейное компандирование - какие элементы можно использовать shock1 Микроконтроллеры, АЦП, память и т.д 5 29.12.2011 12:27
Какие существуют протоколы обмена rfid 125 khz ? Hron.OS Автоматика и аппаратура связи 2 03.03.2011 01:27
Помогите записать и передать команды с ПДУ 975 Электроника - это просто 15 14.12.2010 11:00
Какие команды идут к контроллеру ЧПУ? graham Производственное оборудование 15 28.04.2005 19:49


Часовой пояс GMT +4, время: 13:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot