Например TDA7294

Форум РадиоКот • Просмотр темы - Ассемблер (ASM) для AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср окт 08, 2025 01:35:16

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7956 ]     ... , , , 73, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт фев 18, 2011 21:50:04 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
Цитата:
Можно поподробнее?
... настраиваете таймер на переполнение и в прерывании опрашиваете клавиатуру. Если переполнение, например, происходит каждые 10 мсек, то наличие "сигнала" нажатия в течении 10 прерываний подряд и есть факт нажатия.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт фев 18, 2011 21:58:41 
Первый раз сказал Мяу!

Зарегистрирован: Пт фев 18, 2011 20:37:34
Сообщений: 31
Рейтинг сообщения: 0
Предположим я опрошу кнопку и запущу процедуру, а что потом? Как обработать все кнопки? И не проще ли подправить мой код, видел много примеров на таком принципе как у меня, без таймеров, а то я в них не шарю


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт фев 18, 2011 22:04:00 
Первый раз сказал Мяу!

Зарегистрирован: Пт фев 18, 2011 20:37:34
Сообщений: 31
Рейтинг сообщения: 0
ploop писал(а):
Блин, да вы когда-нибудь научитесь вкладывать простыни кода в файлы???


Я конечно дико извиняюсь, но как уже сказал выше - файл прикрепить не удалось. Вылазит окошко Идет закачка, потом окошко закрывается, а файл так и не прикреплен((((


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт фев 18, 2011 22:14:21 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Добавьте в архив. Форум не все расширения принимает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт фев 22, 2011 13:23:03 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн мар 16, 2009 23:35:42
Сообщений: 383
Откуда: Украина Новоднестровск
Рейтинг сообщения: 0
Всем привет. К то подскожет как написать код, чтоб прочитать по порядку содержимое, сначала PIND0, затем PIND1, и так далее, PIND2,PIND3.PIND4,PIND5,PIND6,PIND7.

_________________
Всем известно что любая микросхема работает на дыме, и если волшебный дым из неё вышел то она перестает работать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт фев 22, 2011 13:25:05 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
а зачем такой изврат?

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт фев 22, 2011 13:52:53 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 235
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3863
Откуда: Москва
Рейтинг сообщения: 0
nibiluk писал(а):
Всем привет. К то подскожет как написать код, чтоб прочитать по порядку содержимое, сначала PIND0, затем PIND1, и так далее, PIND2,PIND3.PIND4,PIND5,PIND6,PIND7.


Только прочитать? А использовать полученные данные не надо?

Код:
SBIS PIND,0
RJMP P00
;что-то делаем, если PIND0=1
RJMP P1
P00:
;что-то делаем, если PNID0=0
P1:SBIS PIND,1
RJMP P10
;что-то делаем, если PIND1=1
RJMP P2
P10:
;что-то делаем, если PNID1=0
P2:; И Т. Д.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт фев 22, 2011 14:39:24 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн мар 16, 2009 23:35:42
Сообщений: 383
Откуда: Украина Новоднестровск
Рейтинг сообщения: 0
Спасибо. АСМ только начал учить, много чего не понятно.

_________________
Всем известно что любая микросхема работает на дыме, и если волшебный дым из неё вышел то она перестает работать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 23, 2011 18:53:08 
Родился

Зарегистрирован: Ср янв 19, 2011 00:34:56
Сообщений: 16
Рейтинг сообщения: 0
Skyer писал(а):
Всем привет. Такая проблема, решил в качестве примера собрать матричную клавиатуру и опрашивать ее 32ой мегой. В Proteuse схема работает как надо, а вот в железе нет, светодиоды просто друг за другом загораются.

Очередная аргумент в пользу вредности Протеуса.
Человек научился писать программы для МК, но такие, что только в Протеусе и работают.
А не было бы Протеуса, он бы давно научился писать программы, работающие в реале.

Подавление дребезга можно делать по разному.
Можно так. Опрос клавиатуры нужно осуществлять 100 раз в секунду - не чаще.
Если клава прочлась нажатой - это факт нажатия.
Если клава 10 раз подряд прочлась отжатой - факт отжатия.
Если был факт нажатия, то не может быть еще факта нажатия, пока не было факта отжатия.

Можно по другому - дело вкуса.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 09:08:36 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
Решил написать один большой проект на ассемблере,
знаю что на СИ было бы проще - но к сожалению код на СИ не умещается в мегу64.. подумал что на ассемблере код будет короче.. да и быстродействие возможно будет где то чуть больше...

На асм для меги пишу впервые

архив с написанным вкладываю
компилятор ассемблера - tavrasm

В настоящее время у меня следующие проблемы:
1. помоему где то некорректно работаю со стеком - иногда код перезагружается (на экране железки появляется мусор - с экраном работаю через буфер - возникло подозрение что стек растет и доходит до экрана)

2. постоянно в буфер экрана записываются какие то два байта (вижу на экране артифакты).. в коде вроде ничего записывающего по тем адресам нет... но артифакты есть..
думал что это глюки процедуры печати символов - но сдвинул в RAM буфер экрана - и артифакты сдвинулись на новое место на экране - то есть запись идет по фиксированным адресам ОЗУ и соответственно скорее всего процедура печати символов здесь не причем..

3. есть ли команда сохранения флагового регистра ? раньше помню всегда была команды наподобие PUSH AF / POP AF - чтобы сохранить регистр флагов в прерывании - а как это сделать в меге ? на PUSH SREG - компилятор ругнулся..

4. Какой софт отладчик может работать c выходными файлами tavrasm - ткните пож-та.. желательно с описанием настройки.. и хотелось бы чтото попроще протеуса - в принципе сейчас интересует только отладка кода (найти проблемы со стеком, посмотреть кто и что пишет в экранный буфер, посмотреть что делает прерывание с флагами..)

5. Очень был бы благодарен за указание подводных камней в написанном мною коде - лучше я перепишу сейчас... наверняка стилистических и алгоритмических ошибок в этом коде много... укажите мне на них - может быть мои проблемы от этих ошибок и возникли....


Вложения:
ACODER.ZIP [11.67 KiB]
Скачиваний: 198
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 09:19:18 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2121
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18410
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ВитГо писал(а):
Решил написать один большой проект на ассемблере,
знаю что на СИ было бы проще - но к сожалению код на СИ не умещается в мегу64.. подумал что на ассемблере код будет короче.. да и быстродействие возможно будет где то чуть больше...
а что же это за супер-проект такой, что в мегу64 может не влезть?!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 09:38:41 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
ARV писал(а):
ВитГо писал(а):
Решил написать один большой проект на ассемблере,
знаю что на СИ было бы проще - но к сожалению код на СИ не умещается в мегу64.. подумал что на ассемблере код будет короче.. да и быстродействие возможно будет где то чуть больше...
а что же это за супер-проект такой, что в мегу64 может не влезть?!


кодер передатчика радиоуправления летающими моделями..
вот ссылка на первый вариант http://forum.rcdesign.ru/blogs/50021/blog9239.html (это мой блог на профильном сайте.. там же и обсуждение прошивки, версии, документация) - написан на СИ..
оо! вот кстати ссылка на доку в формате pdf.. там все с картинками :-) vcoder.pdf
но очень многое написать в первом варианте не удалось- и алгоритм повлиял и задачу ставил попроще (чтобы не распыляться бесконечно на функционал).. да и опыта было не много..
сейчас начал второй вариант http://forum.rcdesign.ru/blogs/50021/blog9927.html - дошел достаточно далеко... но использование программной памяти уже перевалило 60%.. причем написано только процентов 40 задачи... да и интерфейс не получился тот что хотел (а то что хотел - займет еще больше места !)
вот и решил на асм перейти.. - и нашел первые грабли.. чую что из-за моего неправильного программирования все проблемы.. - вот и пришел за советом


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 09:45:22 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
ВитГо писал(а):
есть ли команда сохранения флагового регистра ?
.. конечно
Код:
       in       r31,SREG
push     r31 
...
pop     r31
out     SREG,r31 
 

ВитГо писал(а):
может быть мои проблемы от этих ошибок и возникли....
...чаще всего так и бывает :) .... израсходовать 64Кб Flashа - как то с трудом верится...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 09:53:03 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
64 кило на ассемблере? :shock:
Если там не табличные данные - вы мазохист :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 10:02:56 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
Коты!!
читайте исходные сообщения !
открывайте вложенные файлы !!

Повторю еще раз:
проект перешагнет за 64 кб - если его писать на СИ..
что за проект - можно глянуть в сообщении выше.. (есть ссылка на доку, форумы, блоги)

сейчас хочу переписать проект на асме.. и уверен что все равно займу около 40 кб флеша.. - ну просто поверьте в это и все..
в железке стоит мега64, железка покупная - соответственно что стоит то и использую

во вложенных файлах то что я уже написал.. - там всего на пару кб.. - я только начал.. и уже нашел грабли... прошу ответить на те вопросы которые я поставил в исходном сообщении..

p.s. не обсуждайте кривизну моих идей, вы их не знаете и не видели, обсуждайте лучше кривизну моих рук, ибо код этими руками написанный я вложил для обсуждения и задал конкретные вопросы которые меня интересуют


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 10:24:49 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
ВитГо писал(а):
во вложенных файлах то что я уже написал.. - там всего на пару кб.. - я только начал.. и уже нашел грабли... прошу ответить на те вопросы которые я поставил в исходном сообщении..
... и с каждым новым килобайтом проблем будет больше, хотя бы из-за размера исходника.
Если нужна помощь по написанию конкретной функции на ассемблере - постараюсь помочь (в комментах опишите, что на входе и что надо получить выходе) ... правда пишу в AVR Studio


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 10:26:47 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Да ладно, не кипятитесь. Просто 64к кода - это реально много.
С SREG разобрались? Глюки не исчезли?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 10:39:51 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
... по поводу Вашего кода
Код:
         IN   temp   ,   PORTC      ; PORTC |= 0x20;
         ORI   temp   ,   0x20
         OUT   PORTC   ,   temp
         IN   temp   ,   PORTC      ; PORTC &= 0xDF; 
         ANDI   temp   ,   0xDF
         OUT   PORTC   ,   temp
         IN   temp   ,   PORTC      ; PORTC |= 0x02;
         ORI   temp   ,   0x02
         OUT   PORTC   ,   temp
экономии при таком стиле записи точно не будет. Все можно описать так
Код:
sbi PORTC,5
cbi PORTC,5
sbi PORTC,5


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 10:44:00 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Варнингов компилятора не получали, где массив индикатора?
Код:
lcd_font.asm(1) : Warning : A .DB segment with an odd number of bytes is detected. A zero byte is added.

И таких дополнений он сделает 256. 256 байт нулей!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 24, 2011 10:50:01 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
ploop писал(а):
Варнингов компилятора не получали, где массив индикатора?
Код:
lcd_font.asm(1) : Warning : A .DB segment with an odd number of bytes is detected. A zero byte is added.

И таких дополнений он сделает 256. 256 байт нулей!


гм.. компилятор ничего не выдает... у меня tavrasm...
по поводу нулей - я это уже увидел (когда считаю адрес символа в таблице то умножаю не на 5 (размер образа символа в таблице) а на 6 как раз по этой причине)... - печать символа будет переписана (как и таблица символов) - этот вариант был оставлен как отладочный, просто чтобы была возможность выводить на экран строки


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7956 ]     ... , , , 73, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y