Отсюда и далее че-то не сходится дебет с кредитом, или AVR 16-ричные стали, или об ARM речь идет.Vadim.S писал(а):записать в три РОН три шестнадцатеричных числа, произвести суммирование данных РОН и записать результат суммирования в четвертый РОН без переноса.
AVR studio в вопросах и ответах
Re: Задачи с использованием программы AVRstudio Помогите реш
- Реклама
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Задачи с использованием программы AVRstudio Помогите реш
Не путайте шестнадцатеричные (это форма записи числа) с шестнадцатиразрядными (это разрядность ядра).ks0 писал(а):Отсюда и далее че-то не сходится дебет с кредитом, или AVR 16-ричные стали, или об ARM речь идет.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Задачи с использованием программы AVRstudio Помогите реш
Абсолютно исключено! РОНы могут хранить только двоичные числа и никакие другие в них не записать.Vadim.S писал(а):1.Ассемблер-программа должна записать в три РОН три шестнадцатеричных числа, ...
Re: AVR studio в вопросах и ответах
Код: Выделить всё
LDI R22,$FF
LDI R22,0xFF
LDI R22,0b11111111
LDI R22,255
LDI R22,-1Re: Задачи с использованием программы AVRstudio Помогите реш
Я попросил помочь поскольку эти задачи к моей профессии не какого отношения не имеют.Если вы не хотели помогать даже писать ничего не нужно.На пример когда у вас допустим идёт судебное разберательство вы приходите к юристу он же вам не даёт ссылки И не говорит:,,На вот тебе информация сам разберайся и защищай себя сам"Щас конешно же какой то умник напишет что я плачу ему за это деньги,но тут речь не об этом,а о взаимовыручке, я догадываюсь что эти задания для вас как семечки!Так почему же не помочь безвозмездно,и так общество катится в пропасть.Не какой взаимовыручки,а одни упрёки.Если у вас не было желания помочь так зачем тогда вообще коментировать запись?Ради увелечения количества сообщений указанных в вашем профиле!?Engineer_Keen писал(а):Правильная тема вот. В чем разница? Помогают это когда человек пытается что-то сделать, но у него не все получается, а когда просто вываливают задачу - это именно "сделайте за меня"Vadim.S писал(а):Здравствуйте уважаемые форумчане!Нужна помощь с решением заданий с помощью программы AVRStudio.Если у вас есть время удилите 10 вашего драгоценного времени)
найти в документации на ассемблер AVR 3 нужные команды из сотни и скомбинировать из них последовательность в 7 строчек...Vadim.S писал(а): 1.Ассемблер-программа должна записать в три РОН три шестнадцатеричных числа, произвести суммирование данных РОН и записать результат суммирования в четвертый РОН без переноса.
Смотрите ТУТ.Вообще-то источник тактирования задается фьюзами... Программно можно только поменять делитель, да и то не везде.Vadim.S писал(а): 2.Ассемблер-программа должна инициализировать микроконтроллер, задав внутренний источник тактового сигнала (RC-генератор) частотой 1,0 МГц. Для работы периферийных устройств задать коэффициент
Смотреть ТУТНе особо отличается от предыдущего, только надо еще смотреть как устроены порты в AVRVadim.S писал(а): 3.Ассемблер-программа должна сконфигурировать разряды 8-разрядного порта как входы и при приеме сигнала отличного от нуля, записать значение в РОН (R16)$ = (PINx)$+(R16)$Такая же фигня, правда написано как-то коряво... Сгенерировать прерывание где? В симуляторе чтоли? Тогда ладно. Частота тактового сигнала АЦП двукратная по отношению к тактовой МК это шИдевр! Учитывая что вся периферия тактируется от тактовой МК. Ну предположим что это корявая опечатка, вот в 2 раза меньше можно...Vadim.S писал(а): 4.Ассемблер-программа должна сконфигурировать аналоговый компаратор (включить компаратор, разрешить прерывание от компаратора), сгенерировать прерывание по изменению состояния выхода компаратора с «1» на «0», записать результат сравнения в ячейку памяти по адресу 0001$
5.Ассемблер-программа должна сконфигурировать АЦП (включить АЦП, разрешить прерывание от АЦП, режим работы – одиночное преобразование, частота тактового сигнала АЦП – двукратная по отношению к тактовому сигналу МК), запустить АЦП в режиме ADC Noise Reduction, сгенерировать прерывание от АЦП, записать результат преобразования в ячейку памяти, адрес которой указан в указателе стека SPH:SPLУчусь на механизатора, но препод по анатомии зачем-то требует знать сколько у человека костей в организмеVadim.S писал(а): Учусь на экономиста а преподаватель озадачил по Информатике.Выручайте![]()
Вот извините, но что-то не верится, серьезно... Почему почти все кто попадает в ту тему говорят примерно одно и то же? Сейчас что, во всех учебных заведениях на уроках информатики проходят 8-битные микроконтроллеры, да еще и ассемблер? Вот везет же людям!
- Реклама
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Задачи с использованием программы AVRstudio Помогите реш
Мне и моим одногруппникам в институте пришлось изучить экономику, менеджмент, маркетинг, психологию, социологию, философию, основы права и еще х.з. что, при том что учились мы на инженеров, жизнь несправедлива, ага.Vadim.S писал(а):Я попросил помочь поскольку эти задачи к моей профессии не какого отношения не имеют.
Так может общество и катится в пропасть из-за недоучек?Vadim.S писал(а):Так почему же не помочь безвозмездно,и так общество катится в пропасть.
Да, а еще поглумиться и поиздеватьсяVadim.S писал(а):Если у вас не было желания помочь так зачем тогда вообще коментировать запись?Ради увелечения количества сообщений указанных в вашем профиле!?
Вот вам 5-е, т.к. самое сложное. Все за вас никто делать не будет, ну разве что очень добрые люди, которым делать нечего. Попробуете сделать 1-е и покажете тут что (не)получилось, тогда остальное посмотрим
Спойлер
Код: Выделить всё
.include "m8def.inc" ;т.к. модель вы один фиг не сказали, будем работать на Mega8
.cseg
.org 0
RJMP START
.org ADCCaddr
RJMP READ_ADC
START:
LDI R16,Low(Ramend)
OUT SPL,R16
LDI R16,High(Ramend)
OUT SPH,R16
LDI R16,(1<<ADEN)|(1<<ADIE) ;включить АЦП, разрешить прерывание от АЦП, режим работы – одиночное преобразование, частота тактового сигнала АЦП 1/2 Fclk
OUT ADCSRA,R16
SEI
LDI R16,(1<<SE)|(1<<SM0) ;режим ADC Noise Reduction
SBI ADCSRA,ADSC ;запустить АЦП
SLEEP
LOOP:
RJMP LOOP
READ_ADC:
IN R16,ADCL
IN R17,ADCH
PUSH R16 ;записать результат преобразования в ячейку памяти, адрес которой указан в указателе стека SPH:SPL
PUSH R17
RETI
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Re: Задачи с использованием программы AVRstudio Помогите реш
вообще с програмированием сталкивался только в школеEngineer_Keen писал(а):Мне и моим одногруппникам в институте пришлось изучить экономику, менеджмент, маркетинг, психологию, социологию, философию, основы права и еще х.з. что, при том что учились мы на инженеров, жизнь несправедлива, ага.Vadim.S писал(а):Я попросил помочь поскольку эти задачи к моей профессии не какого отношения не имеют.Так может общество и катится в пропасть из-за недоучек?Vadim.S писал(а):Так почему же не помочь безвозмездно,и так общество катится в пропасть.Да, а еще поглумиться и поиздеватьсяVadim.S писал(а):Если у вас не было желания помочь так зачем тогда вообще коментировать запись?Ради увелечения количества сообщений указанных в вашем профиле!?![]()
![]()
Вот вам 5-е, т.к. самое сложное. Все за вас никто делать не будет, ну разве что очень добрые люди, которым делать нечего. Попробуете сделать 1-е и покажете тут что (не)получилось, тогда остальное посмотрим![]()
Спойлер
Код: Выделить всё
.include "m8def.inc" ;т.к. модель вы один фиг не сказали, будем работать на Mega8 .cseg .org 0 RJMP START .org ADCCaddr RJMP READ_ADC START: LDI R16,Low(Ramend) OUT SPL,R16 LDI R16,High(Ramend) OUT SPH,R16 LDI R16,(1<<ADEN)|(1<<ADIE) ;включить АЦП, разрешить прерывание от АЦП, режим работы – одиночное преобразование, частота тактового сигнала АЦП 1/2 Fclk OUT ADCSRA,R16 SEI LDI R16,(1<<SE)|(1<<SM0) ;режим ADC Noise Reduction SBI ADCSRA,ADSC ;запустить АЦП SLEEP LOOP: RJMP LOOP READ_ADC: IN R16,ADCL IN R17,ADCH PUSH R16 ;записать результат преобразования в ячейку памяти, адрес которой указан в указателе стека SPH:SPL PUSH R17 RETI
add r1,r2,r3
mov r4,r1
вот что удалось сделать прочитав про команды этой программы сложение рон и перенос все сложенных в одну и то я думаю что фигня какая то получилось.Понял что не моё это.Причём понял ещё в школе когда программировали на паскале
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Задачи с использованием программы AVRstudio Помогите реш
Ну не фигня, логика есть, понятно что нет знаний по ассемблеру конкретно AVR.Vadim.S писал(а): вообще с програмированием сталкивался только в школе
add r1,r2,r3
mov r4,r1
вот что удалось сделать прочитав про команды этой программы сложение рон и перенос все сложенных в одну и то я думаю что фигня какая то получилось.Понял что не моё это.Причём понял ещё в школе когда программировали на паскале
Во первых числа же загрузить надо:
LDI R16,0x01 ;загружаем 3 произвольных шестнадцатеричных числа
LDI R17,0x0A ;в R16,R17,R18 потому как загружать константы можно только в старшие 16 регистров
LDI R18,0x0F
А складывать можно только по 2 числа или регистра:
ADD R16,R17
ADD R16,R18
Ну а последнее сделано правильно, только с учетом вышеизложенного:
MOV R4,R16
Подскажу насчет второго. Источник тактирования выбирается фьюзами, т.е. непосредственно при программировании. Единственное что тут можно сделать, это использовать делитель тактовой, который настраивается через регистр CLKPR. Он есть далеко не во всех AVR. Что же касается коэффициентов периферии, то опять же, какой периферии? У АЦП за него отвечают биты ADPS регистра ADCSRA, у UART регистры UBRRH:UBRRL, у SPI и TWI тоже свои делители.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Ааайй.... и куда мы улетим при выполнении команды RETI? она же из стека вытянет адрес возврата... а там, эта фигня лежит! Получится переход по принципу "куда бог пошлёт".PUSH R16 ;записать результат преобразования в ячейку памяти, адрес которой указан в указателе стека SPH:SPL
PUSH R17
RETI
Как уже говорили, не указана модель контроллера а в некоторых заданиях это принципиально либо надо менять задание. Может, это и есть ошибки на внимательность и вникание в тему, по заданным вопросам преподаватель поймет пытался ли разобраться в теме студент или нет.
Одно могу еще сказать - изучать экономику гораздо сложнее чем микроконтроллеры. Документация к AVR-контроллерам на удивление максимально полна и логична, надо только английский знать(а для экономики этого не нужно?) и уметь читать.
Вобщем-то понятно зачем ЭТО изучать экономисту - задания вобщем-то очень простые чтобы разобраться с ними в ограниченные сроки, а с другой стороны они раскрывают тайну больших шайтан-машин которые экономисты называют процессорами, и на которых вся эта экономика считается в числах.
И чтобы знать как эти шайтан-машины работают изучают такие простейшие их представители как микроконтроллеры.
Скажи спасибо, что вас не заставляют осваивать умножение/деление на МК...
Кстати, можно ан русском языке скачать описание системы команд контроллера, немного поработав с таким документом приходит понимание как их применять начиная с 1-й задачи и продвигаясь далее.
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: AVR studio в вопросах и ответах
Да там все задачки один фиг абстрактные, сказали в стек положить, я и положил, без заморочек, все равно никто в железе проверять не будет. Ну да, в итоге будет переход в произвольное место и с вероятностью 99% (т.к. почти весь флешь свободен) - сброс по причине Invalid Opcode.Alexeyslav писал(а):Ааайй.... и куда мы улетим при выполнении команды RETI? она же из стека вытянет адрес возврата... а там, эта фигня лежит! Получится переход по принципу "куда бог пошлёт".
Да, я как раз в первом посте ссылку на gaw дал, там перевод описания команд в том числе.Alexeyslav писал(а): Кстати, можно ан русском языке скачать описание системы команд контроллера, немного поработав с таким документом приходит понимание как их применять начиная с 1-й задачи и продвигаясь далее.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Re: Задачи с использованием программы AVRstudio Помогите реш
Я попросил помочь поскольку эти задачи к моей профессии не какого отношения не имеют.Если вы не хотели помогать даже писать ничего не нужно.На пример когда у вас допустим идёт судебное разберательство вы приходите к юристу он же вам не даёт ссылки И не говорит:,,На вот тебе информация сам разберайся и защищай себя сам"Щас конешно же какой то умник напишет что я плачу ему за это деньги,но тут речь не об этом,а о взаимовыручке, я догадываюсь что эти задания для вас как семечки!Так почему же не помочь безвозмездно,и так общество катится в пропасть.Не какой взаимовыручки,а одни упрёки.Если у вас не было желания помочь так зачем тогда вообще коментировать запись?Ради увелечения количества сообщений указанных в вашем профиле!?[/quote]
Сдаётся мне, что Вы лукавите молодой человек. С трудом верится, что будующего экономиста вынуждают изучать алгоритмы работы машинно-ориентированных команд, рассчитанных на применение конректного микроконтроллера. Информатика это не тот предмет где ставятся подобные задачи. Присоединяюсь к ответу:
Vadim.S писал(а):
Учусь на экономиста а преподаватель озадачил по Информатике.Выручайте
Учусь на механизатора, но препод по анатомии зачем-то требует знать сколько у человека костей в организме
Вот извините, но что-то не верится, серьезно... Почему почти все кто попадает в ту тему говорят примерно одно и то же? Сейчас что, во всех учебных заведениях на уроках информатики проходят 8-битные микроконтроллеры, да еще и ассемблер? Вот везет же людям!
Сдаётся мне, что Вы лукавите молодой человек. С трудом верится, что будующего экономиста вынуждают изучать алгоритмы работы машинно-ориентированных команд, рассчитанных на применение конректного микроконтроллера. Информатика это не тот предмет где ставятся подобные задачи. Присоединяюсь к ответу:
Vadim.S писал(а):
Учусь на экономиста а преподаватель озадачил по Информатике.Выручайте
Учусь на механизатора, но препод по анатомии зачем-то требует знать сколько у человека костей в организме
Вот извините, но что-то не верится, серьезно... Почему почти все кто попадает в ту тему говорят примерно одно и то же? Сейчас что, во всех учебных заведениях на уроках информатики проходят 8-битные микроконтроллеры, да еще и ассемблер? Вот везет же людям!
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Да всё норм, у нас экономисты по информатике тоже проходили команды КР580ВМ80. Конечно, они прошли по принципу сегодня выучили - завтра забыли, но это необходимо потому что экономика сейчас неразделима с вычислениями, а все вычисления происходят на машинах. Нужно знать как работает эта шайтан-машина чтобы не наступать ан одни и те же грабли пытаясь составлять вычислительные алгоритмы. Как еще дальше надо будет объяснять экономистам, что компьютер имеет принципиальное ограничение по точности операций с числами, из-за чего на сложных вычислениях накапливается приличная ошибка?
Это нужно пройти самостоятельно. Благо задачи не сложные и полная документация доступна.
Это нужно пройти самостоятельно. Благо задачи не сложные и полная документация доступна.
- prinv
- Вымогатель припоя
- Сообщения: 677
- Зарегистрирован: Чт янв 20, 2011 09:07:08
- Откуда: Пермь
- Контактная информация:
Re: AVR studio в вопросах и ответах
Поставил себе Atmel Studio 7 - некоторые дефайны (типа F_CPU) и функции (например, atoi()) стали писаться курсивом. Почему?
Никакая контра не уйдёт от нас
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: AVR studio в вопросах и ответах
Наверно в настройках редактора так задано. А что значит "некоторые"? По идее одинаковые категории слов должны и выделяться одинаково...
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
- prinv
- Вымогатель припоя
- Сообщения: 677
- Зарегистрирован: Чт янв 20, 2011 09:07:08
- Откуда: Пермь
- Контактная информация:
Re: AVR studio в вопросах и ответах
Вот как это выглядит
- Вложения
-
- Скриншот 2015-10-02 14.28.00.png
- (3.48 КБ) 450 скачиваний
-
- Скриншот 2015-10-02 14.27.00.png
- (2.92 КБ) 391 скачивание
-
- Скриншот 2015-10-02 14.26.02.png
- (2.36 КБ) 460 скачиваний
Никакая контра не уйдёт от нас
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: AVR studio в вопросах и ответах
А есть все таки какие-нибудь настройки у редактора? Типа выделять стандартные функции и переменные или что-то вроде того... Может там ответ.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Re: AVR studio в вопросах и ответах
A какая версия Windows на компьютере установлена?prinv писал(а):Поставил себе Atmel Studio 7 - некоторые дефайны (типа F_CPU) и функции (например, atoi()) стали писаться курсивом. Почему?
- prinv
- Вымогатель припоя
- Сообщения: 677
- Зарегистрирован: Чт янв 20, 2011 09:07:08
- Откуда: Пермь
- Контактная информация:
Re: AVR studio в вопросах и ответах
Не думаю, что это важно, но Win 10 x64Akula писал(а):A какая версия Windows на компьютере установлена?
Ничего подобного в настройках не нашёлEngineer_Keen писал(а):А есть все таки какие-нибудь настройки у редактора? Типа выделять стандартные функции и переменные или что-то вроде того... Может там ответ.
Никакая контра не уйдёт от нас
Re: AVR studio в вопросах и ответах
Не думаю, что это важно, но Win 10 x64prinv писал(а):Akula писал(а):A какая версия Windows на компьютере установлена?
У меня на 10-ку "криво" встаёт, с ошибками. Вот и хотел уточнить.
Re: Задачи с использованием программы AVRstudio Помогите реш
Спасибо огромное что откликнулся!Одну задачу уже сдал!!и отдельное спасибо за пояснительные коментарии к командам!!!!Engineer_Keen писал(а):Ну не фигня, логика есть, понятно что нет знаний по ассемблеру конкретно AVR.Vadim.S писал(а): вообще с програмированием сталкивался только в школе
add r1,r2,r3
mov r4,r1
вот что удалось сделать прочитав про команды этой программы сложение рон и перенос все сложенных в одну и то я думаю что фигня какая то получилось.Понял что не моё это.Причём понял ещё в школе когда программировали на паскале
Во первых числа же загрузить надо:
LDI R16,0x01 ;загружаем 3 произвольных шестнадцатеричных числа
LDI R17,0x0A ;в R16,R17,R18 потому как загружать константы можно только в старшие 16 регистров
LDI R18,0x0F
А складывать можно только по 2 числа или регистра:
ADD R16,R17
ADD R16,R18
Ну а последнее сделано правильно, только с учетом вышеизложенного:
MOV R4,R16
Подскажу насчет второго. Источник тактирования выбирается фьюзами, т.е. непосредственно при программировании. Единственное что тут можно сделать, это использовать делитель тактовой, который настраивается через регистр CLKPR. Он есть далеко не во всех AVR. Что же касается коэффициентов периферии, то опять же, какой периферии? У АЦП за него отвечают биты ADPS регистра ADCSRA, у UART регистры UBRRH:UBRRL, у SPI и TWI тоже свои делители.


