Страница 115 из 400
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс янв 15, 2012 16:32:09
Мастер Ломастер
ciph писал(а):хм, допустим инициализируем ацп, выставляем биты на 1-й канал. Вызывается прерывание, данные с 1-го канала очучаются в ADCL, ADCH и выводятся на индикатор. Как быть со вторым каналом, что бы данные попали уже на другой индикатор? делаю вольтамперметр, вот и заморачиваюсь
я фигею... найдите 3 отличия со сказанным вами же:
ciph писал(а):инициализируем ацп, выставляем биты на 2-й канал. Вызывается прерывание, данные с 2-го канала очучаются в ADCL, ADCH и выводятся на 2-й индикатор.

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 10:49:53
atac13
Приветствую всех КОТОВ1
Прошу помощи у опытных И ЗАМАТЕРЕЛЫХ КОТОВ!
Я только начал изучать программирование и АВР СТУДИО,делаю первые шаги,учусь писать простенькие проги ,юзаю примеры,так что не смейтесь над моими детскими вопросами!
теперь собственно и вопрос.
написал простенькую прогу -мигалку для меги8А,и когда компелирую ,-такая ошибка
G:\AVR PROECT\migalka\2\2.asm(1): error: Cannot find include file: ATmega8Adef.inc
Посмотрите как я написал и подскажите где я накасячил???
1.asm
заодно ещё ,пожалуйста скинте ссылку где найти курс обучалки как писать проги на ассемблере ,с примерами,описаниями команд ,регистров,ну в общем то по ЧЁМ ВЫ САМИ УЧИЛИСЬ!
Спасибо всем кто поможет начинающему котёнку

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 10:59:15
ploop
Замените
.include "ATmega8aAdef.inc" на
.include "ATmega8def.inc"
8А это новая модификация восьмой меги, по коду полностью совместимы, поэтому файлы те же, что и для восьмой.
Курс:
http://easyelectronics.ru/category/avr-uchebnyj-kurs
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 11:01:25
Gudd-Head
atac13 писал(а):G:\AVR PROECT\migalka\2\2.asm(1): error: Cannot find include file: ATmega8Adef.inc
Вместо
Напишите
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 11:03:58
pyzhman
Стек инициализируйте. Иначе работать не будет.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 11:42:28
atac13
Gudd-Head писал(а):atac13 писал(а):G:\AVR PROECT\migalka\2\2.asm(1): error: Cannot find include file: ATmega8Adef.inc
Вместо
Напишите
НАПИСАЛ КАК ВЫ ПОСОВЕТОВАЛИ И ВОТ ЧТО!????
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 11:46:28
Gudd-Head
atac13 писал(а):НАПИСАЛ КАК ВЫ ПОСОВЕТОВАЛИ И ВОТ ЧТО!????
Snap_2012.01.18_11h41m32s_002.png
Спокойнее, спокойнее. Я ж не знаю что у вас в "...\AVR Tools\AvrAssembler\Appnotes".
UPD: К тому же, дело не в этом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 11:47:38
ploop
Команда LDI работает со старшими регистрами - R16-R32. А у вас R1-R3 используется. Исправьте.
И стек инициализируйте, т.к. используются подпрограммы.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 11:52:32
Gudd-Head
ploop писал(а):Команда LDI работает со старшими регистрами - R16-R32. А у вас R1-R3 используется. Исправьте.
И стек инициализируйте, т.к. используются подпрограммы.
Да,
atac13, и почитайте
"Микроконтроллеры AVR семейства Tiny Mega фирмы Atmel" А.В.Евстифеев про команды если ещё не скачали.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 11:56:18
Мастер Ломастер
ploop писал(а):Команда LDI работает со старшими регистрами - R16-R32.
можно даже уточнить так: любая команда, мнемоника которой оканчивается на
i, работает со старшей половиной регистров, т.е. R16-R32.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:02:22
atac13
не ребята я спокоен!просто такая простая прога а не компелируеться
я исправил посмотрите ,правильно или нет???
1.asm
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:02:41
Gudd-Head
Мастер Ломастер писал(а):можно даже уточнить так: любая команда, мнемоника которой оканчивается на i, работает со старшей половиной регистров, т.е. R16-R32.
reti, brmi, cbi, cli, sbi, sei,
atac13 писал(а):я исправил посмотрите ,правильно или нет???
Дык, компилируется или нет???
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:06:25
Мастер Ломастер
Gudd-Head писал(а):Мастер Ломастер писал(а):можно даже уточнить так: любая команда, мнемоника которой оканчивается на i, работает со старшей половиной регистров, т.е. R16-R32.
ret
i 
а где у этой команды операнды?

но согласен, мое определение следует дополнить: "любая команда с операндами"
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:07:13
ploop
Вот пример инициализации стека
Код: Выделить всё
ldi r16, high(RAMEND)
out SPH,r16
ldi r16, low(RAMEND)
out SPL,r16
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:08:37
GP1
инициалирован только SPL а как же SPH? а у м8 ramend - 2х байтовая константа вот и не компилится
как всегда... опередили

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:09:45
Gudd-Head
Мастер Ломастер писал(а):а где у этой команды операнды?

но согласен, мое определение следует дополнить: "любая команда с операндами"
cbi и sbi сбрасывают/устанавливают биты регистров 0...32, а не только старших

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:13:45
Мастер Ломастер
Gudd-Head писал(а):Мастер Ломастер писал(а):а где у этой команды операнды?

но согласен, мое определение следует дополнить: "любая команда с операндами"
cbi и sbi сбрасывают/устанавливают биты регистров 0...32, а не только старших

эти команды работают с РЕГИСТРАМИ ВВОДА-ВЫВОДА, а не регистрами ОБЩЕГО НАЗНАЧЕНИЯ, дотошный вы какой

очередное уточнение?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:18:04
Engineer_Keen
Ну хорошо хоть BRMI сюда не вписали
А, все-таки вписали на предыдущей станице

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:20:42
atac13
ВСЁ РЕБЯТА Я ПОПЛЫЛ!мозги задымились!
я же начинающий,и не успеваю за ВАМИ !
ПОЖАЛУЙСТА!просто исправте в программе что надо, и выложите как ВЫ бы составили! НА АССЕМБЛЕРЕ!
а я уже потом буду вдумчиво разбираться!
СПАСИБО ВСЕМ ЗА ПОМОЩЬ!

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср янв 18, 2012 12:27:00
ploop
Задержку тоже поправил
Код: Выделить всё
.include "m8def.inc"
.def x1=r16
.def x2=r17
.def x3=r18
.def temp=r19
ldi x1, high(RAMEND)
out SPH,x1
ldi x1, low(RAMEND)
out SPL,x1
ldi temp,0b00000011 ; настройка порта PB0,PB1 -на вывод
out ddrb,temp
blink: cbi portb,1 ;VD2 гаснет
sbi portb,0 ;VD1 загорается
rcall del_500 ;задержка 0.5 сек
sbi portb,1 ;VD2 загорается
cbi portb,0 ;VD1 гаснет
rcall del_500 ;задержка 0.5 сек
rjmp blink ;зацикливаем моргание светодиодами
del_500:
ldi x3,179
ldi x2,30
ldi x1,30
lp1:
dec x1
brne lp1
dec x2
brne lp1
dec x3
brne lp1
ret