Страница 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

Прошу помощи у опытных И ЗАМАТЕРЕЛЫХ КОТОВ!
Я только начал изучать программирование и АВР СТУДИО,делаю первые шаги,учусь писать простенькие проги ,юзаю примеры,так что не смейтесь над моими детскими вопросами! :shock:

теперь собственно и вопрос.
написал простенькую прогу -мигалку для меги8А,и когда компелирую ,-такая ошибка

G:\AVR PROECT\migalka\2\2.asm(1): error: Cannot find include file: ATmega8Adef.inc

Посмотрите как я написал и подскажите где я накасячил??? :dont_know:
1.asm
заодно ещё ,пожалуйста скинте ссылку где найти курс обучалки как писать проги на ассемблере ,с примерами,описаниями команд ,регистров,ну в общем то по ЧЁМ ВЫ САМИ УЧИЛИСЬ!

Спасибо всем кто поможет начинающему котёнку :beer:

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
Вместо

Код: Выделить всё

.include "ATmega8aAdef.inc"
Напишите

Код: Выделить всё

.include "m8def.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
Вместо

Код: Выделить всё

.include "ATmega8aAdef.inc"
Напишите

Код: Выделить всё

.include "m8def.inc"
НАПИСАЛ КАК ВЫ ПОСОВЕТОВАЛИ И ВОТ ЧТО!????
Snap_2012.01.18_11h41m32s_002.png
(38.06 КБ) 468 скачиваний

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
не ребята я спокоен!просто такая простая прога а не компелируеться :oops:

я исправил посмотрите ,правильно или нет??? :dont_know:
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.
reti :)
а где у этой команды операнды? ;) но согласен, мое определение следует дополнить: "любая команда с операндами"

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х байтовая константа вот и не компилится :tea:

как всегда... опередили :write:

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 сюда не вписали :)))

А, все-таки вписали на предыдущей станице :facepalm:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Ср янв 18, 2012 12:20:42
atac13
ВСЁ РЕБЯТА Я ПОПЛЫЛ!мозги задымились! :oops: :dont_know:

я же начинающий,и не успеваю за ВАМИ !

ПОЖАЛУЙСТА!просто исправте в программе что надо, и выложите как ВЫ бы составили! НА АССЕМБЛЕРЕ!
а я уже потом буду вдумчиво разбираться!
СПАСИБО ВСЕМ ЗА ПОМОЩЬ! :beer:

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