Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

Програматоры , отладчики и софт для AVR

Список форумов » Программное обеспечение » Микроконтроллеры На страницу 1, 2, 3  След.
АвторСообщение
pavel-pervomaysk
Your editor
Сообщения: 7987




25-02-2008 08:44

Начинаем тему по микроконтроллерам !
Все кто имеет желание позитивно общатся в теме или делится наработками приглашаем сюда .
Начну с самого простого и необходимого для разработки и обучения .
1) Ссылка на первоисточник www.atmel.com от сюда качаем даташиты , программы , подпрограммы и все самое необходимое , есть еще ссылка , правда не обновляется давненько www.atmel.ru , на ней есть кое что интерестное на русском языке .

2) По ссылке http://www.atmel.com/dyn/general/advanced_search_results.asp?device=1& ... качаем бесплатный компилятор-отладчик Avr Studio 4.13 (для тех кто пишет на асме) .

3) На сайте www.lancos.com качаем схему переходника stk300 для LPT порта и делаем ее . (схема и печати с фото приложены в архиве ) .

Данная работа будет вступлением в изучение микроконтроллеров атмел .
По данной тропе их начинал учить я сам , и учу еще голливудская улыбка .

4) Софт для программирования АВР на все случаи жизни
http://real.kiev.ua/avreal/

  Atmel _ monitor.rar  150,76 КБ  Скачано: 2954 раз(а)

lee
Участник
Сообщения: 1099




25-02-2008 09:42

pavel-pervomaysk писал:
для тех кто пишет на асме

Это язык программирования? А где можно про него почитать?
ILYAUL
Мастер
Сообщения: 421




25-02-2008 11:17

pavel-pervomaysk, Ты про отладчик не забыл ? Хотя бы Dragon- дешево и сердито и отлично работает с AVR Studio. Оно и попроще будет. Кстати не плохо и книжек подкупить. Для начала хотя бы Джон Мортон " Микроконтроллеры AVR"

Добавлено 25-02-2008 12:30

lee,Assembler- в просторечье асм - язык для прямого общения с процессорами и не важно какими - наиболее короткий путь. В нём конечно есть свои правила , но об этом я думаю Павел ещё расскажет более подробно.
lee
Участник
Сообщения: 1099




25-02-2008 13:29

ILYAUL, так можно ведь на си в студио писать.
Алексей78
Участник
Сообщения: 213




25-02-2008 13:54

Тоже занялся данными контролерами , пробую писать на С в CodevisionAvr, понемногу получается, программатор собрал вот этот http://pinokio3000.narod.ru/my_designs/AVR910_USB_Programmer.htm
Чудесно работает,если кому нужно могу выложить печатную плату . А ещё есть отличный сайт по обучению программирования микроконтролеров AVR http://www.avr123.nm.ru/ , очень советую. А вообще хорошую тему подняли, будет очень интересно пообщаться на эту тему.
ILYAUL
Мастер
Сообщения: 421




25-02-2008 14:11

lee, Можно , конечно , но мне приятние "дедовский" способ , ну и понятливее что ли. Думал конечно о CИ, но с чего начать ? Столько литературы ..... И ещё больше мнений об авторах всяких учебников , от восхитительных -до полный ....к
Алексей78
Участник
Сообщения: 213




25-02-2008 15:15

Цитата:
Думал конечно о CИ, но с чего начать ? Столько литературы .....

Я облазил кучу форумов посвященных этой теме и все , вернее большинство, в один голос утверждают что лучше писать на С , а если только начинаешь этим заниматься ,как я, то одназначно только С , да к тому же я остановился на С ещё по той причине что на сайте, о котором я писал в предыдущем посте, все уроки именно на С.Есть хорошая книга на эту тему Шпак Ю.А. - Программирование на языке С для AVR и PIC микроконтроллеров
kumbrov
Участник
Сообщения: 339




25-02-2008 19:50

www.fastavr.com - прикольный basic to asm транслятор для AVR. сам пользуюсь - очень доволен.
pavel-pervomaysk
Your editor
Сообщения: 7987




25-02-2008 21:20

ILYAUL писал:

lee,Assembler- в просторечье асм - язык для прямого общения с процессорами и не важно какими - наиболее короткий путь. В нём конечно есть свои правила , но об этом я думаю Павел ещё расскажет более подробно.


Говорю как есть и без вые@@нов . Сам я не имею ценных и сильных знаний в асемблере , и сам очень часто на форумах задаю вопросы !
Только недавно начал учить язык , и пробую на разных примерах простых .
Тему создал для общения и деления знаниями с конференцией .
Сам читаю такие книги:
1) Применение микроконтроллеров AVR : схемы , алгоритмы , программы . Автор В. Н. Баранов

2) Микроконтроллеры AVR семейства Tiny & MEga фирмы ATMEL
Автор А. В. Евстифеев

Сам не против пообщатся со спецами насчет прерываний для начала улыбка
ILYAUL
Мастер
Сообщения: 421




25-02-2008 22:14

Я заказываю книги здесь http://www.dokabooks.ru/search.aspx?search_field=keyword&do_quicks ... по Москве , конечно быстро , но у них есть и доставка почтой.

"
Цитата:
Сам не против пообщатся со спецами насчет прерываний для начала
" о чём именно?
pavel-pervomaysk
Your editor
Сообщения: 7987




26-02-2008 08:02

О реализации прерывания для атмела на асме к примеру улыбка
Александр777tv
Новичок
Сообщения: 26




28-02-2008 17:25

Ссылки на сайты по микроконтроллерам AVR:
http://arv.radioliga.com/index.php?option=com_frontpage&Itemid=1
http://avru.cwx.ru/
http://avr.nikolaew.org/
http://www.roboforum.ru/viewforum.php?f=2&sid=bbe5e8b0ed6421dc6cd9b99e0e7f2988

Программирование AVR для начинающих + программа WINAVR:
http://www.myrobot.ru/


Книги по AVR:
http://avr.h15.ru/
http://wmate.ru/ebooks/book421.html
Александр777tv
Новичок
Сообщения: 26




28-02-2008 21:36

Цитата:
О реализации прерывания для атмела на асме к примеру


Привожу текст простейшей программы реализующую прерывание по срезу сигнала на выводе INT0 для контроллера ATtiny26.

На языке Си:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#define F_CPU 8000000UL // 8 MHz

INTERRUPT (SIG_INTERRUPT0)
{
PORTA ^= 0xff;
}

int main(void)
{
DDRA = 0xff;
GIMSK = 0x40;
MCUCR = 0x02;
sei();
while(1);
}

Фрагмент той же программы на Assembler:
00000000 <__vectors>:
0: 0b c0 rjmp .+22 ; 0x18 <__ctors_end>
2: 23 c0 rjmp .+70 ; 0x4a <__bad_interrupt>
4: 22 c0 rjmp .+68 ; 0x4a <__bad_interrupt>
6: 21 c0 rjmp .+66 ; 0x4a <__bad_interrupt>
8: 20 c0 rjmp .+64 ; 0x4a <__bad_interrupt>
a: 1f c0 rjmp .+62 ; 0x4a <__bad_interrupt>
c: 1e c0 rjmp .+60 ; 0x4a <__bad_interrupt>
e: 1d c0 rjmp .+58 ; 0x4a <__bad_interrupt>
10: 1c c0 rjmp .+56 ; 0x4a <__bad_interrupt>
12: 1b c0 rjmp .+54 ; 0x4a <__bad_interrupt>
14: 1a c0 rjmp .+52 ; 0x4a <__bad_interrupt>
16: 19 c0 rjmp .+50 ; 0x4a <__bad_interrupt>

00000018 <__ctors_end>:
18: 11 24 eor r1, r1
1a: 1f be out 0x3f, r1 ; 63
1c: cf ed ldi r28, 0xDF ; 223
1e: cd bf out 0x3d, r28 ; 61

00000020 <__do_copy_data>:
20: 10 e0 ldi r17, 0x00 ; 0
22: a0 e6 ldi r26, 0x60 ; 96
24: b0 e0 ldi r27, 0x00 ; 0
26: ec e6 ldi r30, 0x6C ; 108
28: f0 e0 ldi r31, 0x00 ; 0
2a: 03 c0 rjmp .+6 ; 0x32 <.do_copy_data_start>

0000002c <.do_copy_data_loop>:
2c: c8 95 lpm
2e: 31 96 adiw r30, 0x01 ; 1
30: 0d 92 st X+, r0

00000032 <.do_copy_data_start>:
32: a0 36 cpi r26, 0x60 ; 96
34: b1 07 cpc r27, r17
36: d1 f7 brne .-12 ; 0x2c <.do_copy_data_loop>

00000038 <__do_clear_bss>:
38: 10 e0 ldi r17, 0x00 ; 0
3a: a0 e6 ldi r26, 0x60 ; 96
3c: b0 e0 ldi r27, 0x00 ; 0
3e: 01 c0 rjmp .+2 ; 0x42 <.do_clear_bss_start>

00000040 <.do_clear_bss_loop>:
40: 1d 92 st X+, r1

00000042 <.do_clear_bss_start>:
42: a0 36 cpi r26, 0x60 ; 96
44: b1 07 cpc r27, r17
46: e1 f7 brne .-8 ; 0x40 <.do_clear_bss_loop>
48: 05 c0 rjmp .+10 ; 0x54 <main>

0000004a <__bad_interrupt>:
4a: da cf rjmp .-76 ; 0x0 <__vectors>

0000004c <INTERRUPT>:
#define F_CPU 8000000UL // 8 MHz

INTERRUPT (SIG_INTERRUPT0)
{
PORTA ^= 0xff;
4c: 8b b3 in r24, 0x1b ; 27
4e: 80 95 com r24
50: 8b bb out 0x1b, r24 ; 27
52: 08 95 ret

00000054 <main>:
}

int main(void) // начало основой программы
{

После метки <__vectors> перечисляются векторы прерываний. По адресу 0 записан вектор прерывания по срезу сигнала на выводе INT0. Все остальные возможные прерывания не используются <__bad_interrupt>.
После метки <__ctors_end> идет обнуление регистра SREG, а следовательно запрет прерывания.
Фрагмент программы начиная с адреса 18 до адреса 48 - это копирование данных в стек и восстановление из стека.
ILYAUL
Мастер
Сообщения: 421




02-03-2008 14:30

pavel-pervomaysk писал:
О реализации прерывания для атмела на асме к примеру улыбка

Давай попробуем понять о чём пойдёт речь.
1.Прерывание можно инициировать большим числом факторов.
а) Условно разделив на аппаратные ( внешние прерывания ) и программные , которые могут возникнуть в любой точке основной программмы , - при установке определённого флага в SREG + прерывание от каждого встроенного устройства в твоей модели + при арифметических операциях , в данном случае условие ты задаёшь сам и они меняются в зависимости от твоих вычислений + по опросу входов портов .
Если прерывание возникло по установке какого-то флага , то легче всего обратится к встроенной к таблице векторов прерывания для твоей модели AVR (обычно это младшие ячейки памяти прграммы куда ты можешь записать команду RJMP LABEL например RJMP INT0
Если в это прерывание разрешено и в SREG установлен флаг глобального разрешения прерывания , то при его возникновении ты автоматически " попадаешь" на метку INT0 , флаг глобального разрешения в SREG сброшен . AVR так устроен , что это он делает автоматом и пока ты в программе обработки данного прерывания - другие тебе не "страшны" , если конечно ты не инициируешь сам в этой подпрограмме разрешение - 7 bit SREG=1
Прервусь - Команда RCALL LABEL используется когда ты хочешь вызвать обработку по какому-то одному ведомому тебе условию ( например при опросе портов или арифметики) - она хоть и не явная , но всё таки команда обработки прерывания . И ей обычно всегда предшествует команда JMP LABEL, где LABEL метка напротив команды RCALL.
Сразу после перехода не забудь сохранить те регистры , которые тебе будут нужны в неизменном виде после выхода из подпрограммы
PUSH REG затолкнуть регисто в стек
................

...............

POP REG вынуть регистр из стека
RETI вернутся в MAIN установив 7bit SREG в 1

Так , какое прерывание ты хочешь использовать ? Определись.
pavel-pervomaysk
Your editor
Сообщения: 7987




02-03-2008 22:28

ILYAUL, немного понял улыбка ,
в моем варианте есть энкодер типа PEC-16 который выдает импульсы сдвинутые по фазе на 45 градусов , насколько я понял его ногу данных нужно вешать на ногу проца INT0 или другую , от которой можно брать прерывание внешнее . Далее пишем подпрограмму обслуживания энкодера и т д .
ЗЫ . Если у кого то есть готовая прога на энкодер , буду рад увидеть ее .
Murka
Профессор
Сообщения: 2746




03-03-2008 01:33

Ещё один программатор ака "avr910" но переделан под USB (не не всех нотиках есть com или lpt) собираюсь сделать
http://prottoss.com/projects/AVR910.usb.prog/AVR910_USB_Programmer.htm
А пользуюсь вот этим на LPT просто, без единой детали!
http://avr.nikolaew.org/progr.htm

А вот здесь переведённая на русский документация на некоторые процессоры и переведённые семплы
http://www.gaw.ru/html.cgi/txt/ic/Atmel/micros/avr/start.htm

Добавлено 03.03.2008 00:48

pavel-pervomaysk, а привязка к атмел обязательна? сушествуют процессоры со встроенными таймерами готовыми работать в режиме энкодера, мы (у меня на работе) использовали Renesas H8/2612 в нём два таких энкодера тестировали на 10 мгц test:OK

Добавлено 03.03.2008 00:49

да там встроенная защита от дребезга!!!

Добавлено 03.03.2008 00:51

и ещё не 45 градусов а 90!! Или я ошибаюсь бывают и такие?

Добавлено 03.03.2008 00:56

Алексей78, Си нужен для громадных проектов содержащих кучу динамических (для экономии ОЗУ) массивов, а если проект не велик то лучший выбор ассемблер!!
pavel-pervomaysk
Your editor
Сообщения: 7987




03-03-2008 11:29

http://prottoss.com/projects/AVR910.usb.prog/AVR910_USB_Programmer.htm
Эту штуку сейчас уже травлю , фото устройства скину по готовности .
Все сделал , работает ! Фотки готовняка в архиве 910 .

  AVR910USB_2.rar  16,76 КБ  Скачано: 1943 раз(а)
  910.rar  166,26 КБ  Скачано: 1930 раз(а)

Vasil_
Забанен
Забанен
Сообщения: 203




05-03-2008 17:47

По поводу:
http://prottoss.com/projects/AVR910.usb.prog/AVR910_USB_Programmer.htm
вот здоровенная ветка с участием автора:
http://electronix.ru/forum/index.php?showtopic=18676&st=630
Собирал его, но работает неустойчиво, особенно в условиях сильных помех. Благо, в ноуте есть еще СОМ, AVR910 работает на 115к без проблем.
ЗЫ
И вот, читал новости, попалась свежая ветка:
http://electronix.ru/forum/index.php?showtopic=44170&st=30
А вобще то Асм, Си, или еще что то, не так важно. Нужно приучить себя правильно составлять алгоритмы. Один из з-нов Мэрфи гласит:
компьютер( микроконтроллер) сделает только то, что вы сказали ему сделать, а не то, что бы вы хотели что б он сделал.
Вот статья из "Радио" о подходе к программированию МК в общем случае на конкретном примере. Иначе в начале получается как у Баха, а потом даже и на кан-кан не похоже недовольство, огорчение

  prog_MC.rar  149,31 КБ  Скачано: 1752 раз(а)

pavel-pervomaysk
Your editor
Сообщения: 7987




06-03-2008 10:05

Кстати протестировал AVR910.usb на CodeVision 1.24 и на AVR Studio 4.13 SP2 . AVR prog 1.40 работает с данным девайсом гараздо быстрее чем CodeVision 1.24 .
Алексей78
Участник
Сообщения: 213




07-03-2008 15:58

Цитата:
Кстати протестировал AVR910.usb на CodeVision 1.24 и на AVR Studio 4.13 SP2 . AVR prog 1.40 работает с данным девайсом гараздо быстрее чем CodeVision 1.24 .


Дело в том что AvrProg передаёт данные блоками в отличии от CodeVision, потому и быстрее. Лично я пишу и компилирую программу в CodeVision ,а контролер шъю с помощью AvrProg.

Цитата:
По поводу:
http://prottoss.com/projects/AVR910.usb.prog/AVR910_USB_Programmer.htm
вот здоровенная ветка с участием автора:
http://electronix.ru/forum/index.php?showtopic=18676&st=630
Собирал его, но работает неустойчиво, особенно в условиях сильных помех. Благо, в ноуте есть еще СОМ, AVR910 работает на 115к без проблем.
ЗЫ


Если Вы внимательно читали ветку которую упоминаете в своем посте , то наверное заметили что у большинства этот программатор работает отлично, да есть люди у которых возникли проблемы с этим программатором,но их меньшенство,лично у меня этот программатор работает отлично , да конечно медленее чем STK 200-300
, но LPT порт отмирает ,а удобство пользования этим программатором,я считаю, с лихвой компенсирует потерю в скорости программирования.Да,кстати насколько я знаю автор этого программатора пишет программу для него ,с помощью которой можно будет прошивать контролеры передавая информацию блоками ,как делает это AvrProg.
Vasil_
Забанен
Забанен
Сообщения: 203




08-03-2008 08:02

Алексей78,возможно, у меня он тоже на столе работал отлично, но когда его подносишь к промоборудованию, где туева хуча помех, например от инверторов, УСБ тут же начинает отваливаться. А если воткнуть в ноут блок питания, то девайс вообще не находится. Скорей всего это проблема длинных проводов, ведь не секрет, что на плохих и длинных(без фильтров) шнурках даже принтеры вешаются, и даже на УСБ 1.1

Добавлено 08-03-2008 08:06

ЗЫ, не нашелся бы ноут с СОМ, долбался бы дальше с УСБ, а так проблема решилась(благо, и других хватает недовольство, огорчение ) AVR910 + AVR Osp II ( By Mike Henning ) работает шустро, и не сбоит( правда, провода на ферритовые кольца все же накрутил):
http://www.qrz.ru/shareware/detail/583

Добавлено 08-03-2008 08:42

ЗЫЗЫ, для начала можно попробовать программировать и отлаживать в симуляторах, например Протеус,
Proteus VSM - программа-симулятор микропроцессорных устройств.
Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры. Более 6000 аналоговых и цифровых моделей устройств. Работает с большинством компилятором и ассемблерами.
PROTEUS VSM позволяет очень достоверно моделировать и отлаживать достаточно сложные устройства в которых может содержаться несколько МК одновременно и даже разных семейств в одном устройстве!
Программа PROTEUS VSM идеально подходит для новичков, решивших начать изучение микроконтроллеров: Массачусетский технологический университет приобрел более 340 лицензий на пакет PROTEUS - надеюсь, это убедит вас в его полезности для работы и обучения.

!Вы должны ясно понимать, что: Моделирование электронной схемы не абсолютно точно повторяет работу реального устройства!

подборка ссылок на него:
http://adsh.ukrweb.net/radiohobby/viewtopic.php?id=1450&p=6
AlexM
Участник
Сообщения: 883




08-03-2008 12:41

Алексей78 писал:

Если Вы внимательно читали ветку которую упоминаете в своем посте , то наверное заметили что у большинства этот программатор работает отлично,


Если б не было проблем, не было бы и той ветки. Работает медленно и у многих глючит. Зачем проблемы себе создавать мне не понятно. Возмите просто родной 910 и добавьте переходник USB-to-RS232 .
http://www.mikrocontroller-projekte.de/Mikrocontroller/AVR-Prog/AVR-Pr ...

Или так

http://www.avr-projekte.de/isp.htm
OleghkA
.
Сообщения: 694




14-03-2008 17:47

посоветуйте Avr с 12 разрядным AЦП. в порядке "навороченности".
Vasil_
Забанен
Забанен
Сообщения: 203




14-03-2008 21:20

Все таки АЦП,- это периферия, а не сам МК. Если уж нужна повышенная точность измерений,то лучше взять что нибудь от AD , например. А то боюсь, про ПИКи речь зайдет щас, и начнется религиозная война или что то в этом духе.

Добавлено 14-03-2008 21:26

ЗЫ, в победоносный исход которой, никто не верит.
Murka
Профессор
Сообщения: 2746




15-03-2008 01:09

ADC от AD дорогие дешевле будет от Texas Instruments Incorporated http://focus.ti.com/analog/docs/dataconvertershome.tsp?familyId=82& ... Год назад весь инет облазил так шо совет проверенный
Vasil_
Забанен
Забанен
Сообщения: 203




15-03-2008 20:56

Согласен, АД фирма не дешевая, например AD676 покупали в прошлом годе за 430грн.(~$86), но и TI тоже, -экзотика, а экзотика трошки денег стоит, и ждать приходится.
Murka
Профессор
Сообщения: 2746




16-03-2008 00:58

Не по ADC я не спец только по DAC (управление высокоточными приводами) так шо звиняйте улыбка

Добавлено 16.03.2008 00:01

мы купили за 30 грн от TI то что у AD стоит 30$
Vasil_
Забанен
Забанен
Сообщения: 203




16-03-2008 07:35

Да вобщем то АД покупали потому, что в оборудовании навернулся, а не потому, что понравился(АЦП). А у кого брали TI ?, это как бы, на заметку. Хотя в основном (и не очень часто надо) хватает и бортовых 10ти бит, это как бы, к посту OleghkA.
Murka
Профессор
Сообщения: 2746




16-03-2008 12:40

Всё в основном покупаем у VDmais и Simmetron? а вот цапы брали у кого-то в Донецке сейчас уже не помню, но если очень надо могу перерыть бумаги.
Добавлено 16.03.2008 12:28
Ушел в "магазин" http://monitor.net.ru/forum/viewtopic.php?p=1477120#1477120 ищу 74**640 и I8080
Vasil_
Забанен
Забанен
Сообщения: 203




16-03-2008 13:08

Murka, спасибо, не нужно искать.У VDmais как раз АД и покупали. Вот:
http://www.biakom.com/ , может пригодится, вроде бы нормальные пацаны.
Vitaly
Участник
Сообщения: 4053




25-03-2008 21:00

Господа, сильно не кидайте тухлыми яйцами, хочу спросить: существует ли в природе эмулятор тех же самых Атмелей, работающий програмно, без железа, т.е. рисует схему, показывает состояние на портах, состояние регистров, стека, векторов прерываний и прочую лабуду, пишет сколько тактов занимает определенная операция и работа только с асмом?
Если да, то как обзывается, где почитать о ней и, пардон за наглость, краем глаза взглянуть на нее. улыбка
Vasil_
Забанен
Забанен
Сообщения: 203




25-03-2008 21:21

Ну дык, прямиком на www.atmel.com и качаем AVR Studio(божья коровка, вроде сама по себе баг, но поедает вредных багов улыбка ) , или Протеус, см. ссылку выше, правда только вчера сказали мне друзья, что обнаружили в нем баги...Сам предпочитаю отлаживать прямо в железе.
ЗЫ, "эмулятор... работающий программно", это все же- симулятор.
ЗЫЗЫ смотрю, ты на Гарденов "подсел" подмигивание
Список форумов » Программное обеспечение » Микроконтроллеры » Програматоры , отладчики и софт для AVR На страницу 1, 2, 3  След.
Перейти:  
Текущий раздел » Программное обеспечение » Микроконтроллеры (Микроконтроллеры - AVR-ы, PIC-и и другие)


Похожая информация:
  • Програматор SeeProg/Elnec/ - софт ?
  • Ищу программатор (софт) для PIC16F505 Под железо WILLEM
  • Контроллер MELSEC F1j-32MR-ES надо: софт, кабель?







  • Электроника
    Прошивки и схемы на телевизоры, мониторы, dvd, телефоны. Schematic, Service Manual (mode), eeprom dumps Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы поиск и продажа электронных компонентов, магазины, datasheet, pdf, размещение в интернете рекламы на сайтах электронной тематики
    Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!