Статистика
Время:
Зарегистрированных: 88373
Последним зарегистрирован: SmartBones
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 929
 Гостей: 929
 Анонимных: 0
 Пользователей: 0
 Зарегистрированные:
Страницы: (174) [1] 2 3 4 5 6 7 8 9 10 11 ... Последняя » ( Перейти к первому непрочитанному сообщению ) Ответить Новая тема Новый опрос

> Algorithm Builder for AVR, Начинаем
Kotjara
Сообщение: # 39324   Apr 9 2006, 10:44 PM
Quote Post


Unregistered










Качаем и устанавливаем программу Algorithm Builder fo AVR.

Внимательно читаем - Manual.pdf

Изучите примеры к программе в папке типа:
C:\Program Files\Algorithm Builder\V540\EXAMPLES

=============

Устройство микроконтроллера AVR на русском языке.

Аналог от IAR - пакет визуального алгоритмического программирования
"IAR visualSTATE".

Скриншот - пример: программа плеера
image
======= < добавил avr123.nm.ru >


Будем программировать микроконтроллер ATmega8 ATmega8 описание на русском и скачать даташит ОБЯЗАТЕЛЬНО !

Далее набираем алгоритм как на рисунке.

ПОМИГАЕМ КА СВЕТОДИОДОМ???

Теперь попорядку:

RESET(жирным) - отсюда идёт начало программы

Блок SP - инициализация стека

#b00000001->DDRD - настраиваем порт PD0 на выход

1->LED - записываем в PORTD единицу, т.е. устанавливаем на
выводе МК 1(вывод 2 для ATMega8)

Paus - вызываем подпрограмму

0->LED - записываем в PORTD ноль, т.е. устанавливаем на
выводе МК 0(вывод 2 для ATMega8)

Paus - опять вызываем подпрограмму

-> - далее стрелкой зацикливаем подпрограмму

Paus - имя подпрограммы

300000->Vremya - записываем в регистры с именем Vremya число 300000

Vremya-- - декремент(т.е. вычитаем из Vremya единицу)

-= - этот блок означает: если Vremya не равно 0, то переходим по стрелке, иначе вниз

RET - выход из подпрограммы

Это сообщение отредактировал avr123 - Mar 9 2009, 01:57 PM

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
Top
Kotjara
Сообщение: # 39325   Apr 9 2006, 10:45 PM
Quote Post


Unregistered










Переключаем с алгоритма на таблицу(или наоборот):
Жмём F12(или соответствующие пункты, или значки на панеле)
Заполняем поля как на рисунке:

Vremya - присваиваем имя регистру(ам)

2 - номер регистра

Int24 - занимаем 3-и регистра под имя Vremya(т.е. будем работать с 3-я регистрами как с одним -> СУПЕР)

Led PORTD.0 - присваиваем имя LED регистру ввода/вывода PORTD.0(т.е. порту PD0)

Далее жмём:
Опции -> Опции проекта, в появившемся окне выбираем кристал ATMega8 и ставим частоту 4000000Гц -> Применить

Программы-> Компилировать. Теперь в папке проекта появится файл с расширением .hex, которым можно прошить микроконтроллер

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
Top
Kotjara
Сообщение: # 39326   Apr 9 2006, 10:47 PM
Quote Post


Unregistered










Отлаживаем:
Жмём F9(или соответствующие пункты, или значки на панеле)

Открываем окна:
Открыть -> Working registers -> Table - это окно будет показывать, что происходит в каждом
регистре(вообще изначално во всех 0)

Открыть -> Process time -> #0 - это окно будет показывать время выполнения программы

Открыть -> I/O Registers -> PortD - это окно будет показывать, что происходит на выходе PD0

Отлаживаем

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
Top
Kotjara
Сообщение: # 39327   Apr 9 2006, 10:48 PM
Quote Post


Unregistered










Симулируем в Proteus:
Собираем схемку..
Мигаем светодиодом

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
Top
Kotjara
Сообщение: # 39328   Apr 9 2006, 10:49 PM
Quote Post


Unregistered










Вот это я и расписал!!

Вопросы, предложения, пожелания??

Здесь все вышеописанные файлы..


Присоединённый файл ( Кол-во скачиваний: 3845 )
Присоединённый файл  Lesson1.rar
Top
efremkos
Сообщение: # 39405   Apr 10 2006, 06:41 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



Respect Kotjara 1000001I.gif ! Спасибо,попробую. ужжe хотел сам фак написать в процессе обучения,можно про него забыть,вон он ниже.
reading_help.gif Начнёмс! artist00.gif
drinks_cheers.gifСдесь преодолеваем трудности возникшие с прогой
Algorithm Builder for AVR -> учимся с ней работать-> програмируем микрухи,паяем дельные устройства.
=====================================================================
poster_offtopic.gif
Пишу,как говоритца дуб дубу,на данный момент я ничё не смыслю в AVR/.
Всё нетак сложно как я думал.Для начала скачайте версию которая весит поменьше ASTUDIO3.EXE[7Mb] - для тренировки.
  1. !Установите прогу.
  2. Покавыряйтесь,понажимайте кнопки,хрень какаято не правдали..(далее можно забить на всё это,пойти на улицу попить пива,сказать приятелям что решил занятся AVR или ещё чёта там(объяснить в кратце)-на што покрутят у виска и забудут ,но ты обязательно вернись к компу и продолжи.)
  3. Нажмите в проге клавишу F1,ознакомтесь со справочником.- он на русском языке.
  4. Откройте ? -> Manual.doc !и попорядку делайте так как там написано,вникайте.
  5. Не забираясь вперёд,наберите всё как на странице 6 фака,//коментарии,те што справа необязательно,но парочку напишите.
  • НЕ ПУТАЙТЕ длинный элемент "V" - вершина блока с коротким "L" - метка ,я напутал.
  • На строчке 12 "//безусловный переход к началу" я застрял,сообрази быстро,решение такое - пару раз нажми возврат,и сначала начни следующую строчку,потом веди стрелку перехода!
    На этом этапе возникли вопросы к профи:
  • 1 Есть ли разница с какой стороны идет стрелка от безусловного перехода?
  • 2 Если перед //ставить пробелы - эт не смертельно? (Коментарии получаются не так как в примере.)


Это сообщение отредактировал Magnus - Apr 10 2006, 06:42 PM

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
aka Magnus русёная описаловка дисплея S65.
приму в дар статую свободы, можно щебенкой.
PMICQ
Top
Kotjara
Сообщение: # 39416   Apr 10 2006, 07:38 PM
Quote Post


Unregistered










QUOTE (Magnus @ Apr 10 2006, 06:41 PM)
1 Есть ли разница с какой стороны идет стрелка от безусловного перехода?
2 Если перед //ставить пробелы - эт не смертельно? (Коментарии получаются не так как в примере.)

1). Можешь ставить слева, можешь справа, как тебе удобней.

2). Пробелов можешь ставить сколько угодно. Не смертельно.
Top
efremkos
  Сообщение: # 39493   Apr 11 2006, 10:32 AM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



3 не компилится пример Lesson1.rar.,файл Мигалка.alp-ошибка наверное,Я сам написал-выбрал тим микрухи ATmega8-проставил регистры Vremy-тоже не компилится, у мея точно ошибка в самом начале(Как написать Reset жирным шрифтом,и что это). huh.gif
4
QUOTE
#b00000001->DDRD - настраиваем порт PD0 на выход
где узнать название портов ?

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
aka Magnus русёная описаловка дисплея S65.
приму в дар статую свободы, можно щебенкой.
PMICQ
Top
Dart
Сообщение: # 39502   Apr 11 2006, 12:24 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 15657
Пользователь №: 2613
Регистрация: 17-November 05




Если не возражаете тему прилеплю, т.к. полезна и наглядна. Может все подобные темы из начинающих в "микропроцессоры" перенести?


--------------------
Si vis pacem, para bellum!
PMEmail Poster
Top
efremkos
Сообщение: # 39568   Apr 11 2006, 10:08 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



QUOTE (Dart @ Apr 11 2006, 12:24 PM)
Если не возражаете тему прилеплю, т.к. полезна и наглядна. Может все подобные темы из начинающих в "микропроцессоры" перенести?

дак уже перенёс smile.gif
ооО "Algorithm Builder fo AVR shades.gif
Начинаем" в Важных темах.
1000005W.gif
"Микроконтроллеры? Это же просто."А. В. Фрунзе - в обычных книжных обыскался.
PMICQ
Top
Kotjara
Сообщение: # 39569   Apr 11 2006, 10:12 PM
Quote Post


Unregistered










QUOTE (Dart @ Apr 11 2006, 12:24 PM)
Если не возражаете тему прилеплю, т.к. полезна и наглядна. Может все подобные темы из начинающих в "микропроцессоры" перенести?

Если так будет удобней, то без проблем.
Top
Kotjara
Сообщение: # 39575   Apr 11 2006, 10:49 PM
Quote Post


Unregistered










QUOTE (Magnus @ Apr 11 2006, 10:32 AM)
3 не компилится пример Lesson1.rar.,файл Мигалка.alp-ошибка наверное,Я сам написал-выбрал тим микрухи ATmega8-проставил регистры Vremy-тоже не компилится, у мея точно ошибка в самом начале(Как написать Reset жирным шрифтом,и что это). huh.gif
4
QUOTE
#b00000001->DDRD - настраиваем порт PD0 на выход
где узнать название портов ?

3). Скачиваю, компелю. У меня нормально.(бывают иногда глюки. редко, но бывают)

Если в программе есть ошибка то она подсвечивается красным цветом и
в низу окна пишется причина ошибки.

Выделяешь RESET, потом жмёшь: Элементы -> Жирный(или просто F2)
Жирным должны выделяться все прерывания(их можно найти
здесь: Элементы -> Прерывания)
У каждого прерывания есть своё имя, т. е. при происхождении прерывания программа начинает работать с этой метки.
RESET - это метка с которой начинается выполнение программы после подачи напряжения питания на микроконтроллер.

4). Если знаешь англ. яз., то скачиваешь даташит и читаешь.
А ещё есть такая замечательная книга: А.В. Евстифеев "Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL"
Top
efremkos
Сообщение: # 39581   Apr 11 2006, 11:12 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



Ага,спасибо!!
Я всё сделал жирным,и заработало smile.gif smile.gif smile.gif

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
aka Magnus русёная описаловка дисплея S65.
приму в дар статую свободы, можно щебенкой.
PMICQ
Top
Kotjara
Сообщение: # 39582   Apr 11 2006, 11:19 PM
Quote Post


Unregistered










QUOTE (Magnus @ Apr 11 2006, 11:12 PM)
Ага,спасибо!!
Я всё сделал жирным,и заработало smile.gif smile.gif smile.gif

Жирным можешь зделать только RESET.
Top
efremkos
Сообщение: # 39584   Apr 11 2006, 11:29 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



QUOTE (Kotjara @ Apr 11 2006, 11:19 PM)
Жирным можешь зделать только RESET.

пока жирным сюда не упрусь-не компилится. huh.gif

Это сообщение отредактировал Magnus - Apr 11 2006, 11:35 PM

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
aka Magnus русёная описаловка дисплея S65.
приму в дар статую свободы, можно щебенкой.
PMICQ
Top
Dart
Сообщение: # 39587   Apr 11 2006, 11:54 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 15657
Пользователь №: 2613
Регистрация: 17-November 05




Я понял, Магнус рухнул, и лежит на левом боку smile.gif .


--------------------
Si vis pacem, para bellum!
PMEmail Poster
Top
Kotjara
Сообщение: # 39660   Apr 12 2006, 04:16 PM
Quote Post


Unregistered










QUOTE (Magnus @ Apr 11 2006, 11:29 PM)
пока жирным сюда не упрусь-не компилится. huh.gif

А какую пишет причину внизу окна?
Top
visp
Сообщение: # 39662   Apr 12 2006, 04:42 PM
Quote Post


Unregistered










Привет, господа! Жирным нужно выделять только
макрокомманды, т.е. те, которые нельзя выполнить
напрямую в одно действие.
Top
efremkos
Сообщение: # 39670   Apr 12 2006, 07:14 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



QUOTE (Kotjara @ Apr 12 2006, 05:16 PM)
QUOTE (Magnus @ Apr 11 2006, 11:29 PM)
пока жирным сюда не упрусь-не компилится. huh.gif

А какую пишет причину внизу окна?

Пишет шаблон операции не найден\Template not found.
=================================================
6 В чём выражается единица времени,милиСекунды?

7 А исходники написаные на Си сюда вставлять можно?Если да то главная цель щяс научится их связывать и привязывать к регистрам\портам.Писать исходники самому и отладка алгаритма постигнется в процессе.
-------------------------------------------------------
punk0000.gif У меня определённый прогресс,после прочтения справочников и факов,добавил в алгоритм Kotjarы второй светодиод smile.gif


Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
aka Magnus русёная описаловка дисплея S65.
приму в дар статую свободы, можно щебенкой.
PMICQ
Top
Kotjara
Сообщение: # 39724   Apr 13 2006, 02:13 AM
Quote Post


Unregistered










QUOTE (Magnus @ Apr 12 2006, 08:34 PM)
QUOTE (Kotjara @ Apr 12 2006, 05:16 PM)
QUOTE (Magnus @ Apr 11 2006, 11:29 PM)
пока жирным сюда не упрусь-не компилится. huh.gif

А какую пишет причину внизу окна?

Пишет шаблон операции не найден\Template not found.
=================================================
6 В чём выражается единица времени,милиСекунды?

7 А исходники написаные на Си сюда вставлять можно?Если да то главная цель щяс научится их связывать и привязывать к регистрам\портам.Писать исходники самому и отладка алгаритма постигнется в процессе.
-------------------------------------------------------
punk0000.gif У меня определённый прогресс,после прочтения справочников и факов,добавил в алгоритм Kotjarы второй светодиод smile.gif

6). Микросекунды. Делишь единицу на частоту кварца и получаешь время одного такта.

7). Не Си не вставится.

Второй светодиод - это круто. 1000000Z.gif

Какой пример зделать для Таймера/Счетчика, на изучение прерывания?
Top
Kotjara
Сообщение: # 39768   Apr 13 2006, 05:11 PM
Quote Post


Unregistered










QUOTE (Magnus @ Apr 12 2006, 08:34 PM)
punk0000.gif У меня определённый прогресс,после прочтения справочников и факов,добавил в алгоритм Kotjarы второй светодиод smile.gif

Только порт нужно настроить на выход:
#b00000011->DDRD
Top
efremkos
Сообщение: # 39774   Apr 13 2006, 07:13 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



QUOTE (Kotjara @ Apr 13 2006, 06:31 PM)
QUOTE (Magnus @ Apr 12 2006, 08:34 PM)
punk0000.gif У меня определённый прогресс,после прочтения справочников и факов,добавил в алгоритм Kotjarы второй светодиод smile.gif

Только порт нужно настроить на выход:
#b00000011->DDRD

Щяс настрил.Даже без настройки работал в симуляторе,после копаия в I\0 регистрахB.

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
aka Magnus русёная описаловка дисплея S65.
приму в дар статую свободы, можно щебенкой.
PMICQ
Top
Kotjara
Сообщение: # 39812   Apr 13 2006, 11:36 PM
Quote Post


Unregistered










Можешь оставить только одну строчку:
#b00000011->DDRD
Top
efremkos
Сообщение: # 39825   Apr 14 2006, 06:37 AM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



QUOTE (Kotjara @ Apr 14 2006, 12:56 AM)
Можешь оставить только одну строчку:
#b00000011->DDRD

#b00000001->DDRD
#b00000011->DDRD
Я думал эт отодельные имена(длинной в байт) портов .


--------------------
aka Magnus русёная описаловка дисплея S65.
приму в дар статую свободы, можно щебенкой.
PMICQ
Top
visp
Сообщение: # 39831   Apr 14 2006, 07:36 AM
Quote Post


Unregistered










Что значит выражение "отодельные имена(длинной в байт) портов"?
Строка #b00000001->DDRD означает сделать PORT D0 выходом
с током до 10 мА, остальные PORT D1..D7, сделать пинами с высоким входным сопротивлением (по-моему около 100 Мег).
Следующей строкой #b00000011->DDRD ты отменяешь действие предыдущей, делая сделать PORT D0 и PORT D1 выходом... smile.gif
Top
djelektronik
Сообщение: # 39850   Apr 14 2006, 11:14 AM
Quote Post


Unregistered










в PROTEUS резисторы для светодиодов не нужны.

а если используете подтягивающие резисторы
то их надо брать из примитивов а не реальные
так меньше нагрузка на процесор

avr123 > Можно брать любой резистор, щелкнуть по нему мышкой и установить - ЦИФРОВОЙ.

Это сообщение отредактировал avr123 - Mar 9 2009, 11:40 AM
Top
Kotjara
Сообщение: # 39866   Apr 14 2006, 01:59 PM
Quote Post


Unregistered










книга: А.В. Евстифеев "Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL"

моя оценка книги-КЛАСС. В ней примеры и на С.

Если нет проблем с янгл.яз. то даташиты рулят.
Даташит на каждый микроконтроллер занимает 200-300стр.,

а здесь Tiny и Mega 550стр. и всё на РУС.ЯЗ.
(Это лично моё мнение. Всегда рад полезным советам.)

Это сообщение отредактировал avr123 - Mar 9 2009, 11:42 AM
Top
efremkos
Сообщение: # 39908   Apr 14 2006, 10:38 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1407
Пользователь №: 2002
Регистрация: 20-October 05
Место жительства: Ярославль.



QUOTE (visp @ Apr 14 2006, 08:56 AM)
Что значит выражение "отодельные имена(длинной в байт) портов"?
Строка #b00000001->DDRD означает сделать PORT D0 выходом
с током до 10 мА, остальные PORT D1..D7, сделать пинами с высоким входным сопротивлением (по-моему около 100 Мег).
Следующей строкой #b00000011->DDRD ты отменяешь действие предыдущей, делая сделать PORT D0 и PORT D1 выходом... smile.gif

я думал что
#b00000001 имя порта Д0
#b00000011 имя порта Д1
и так далее...
Значит если написать #b00001111 -> DDRD то PORT D0 - PORT D3 будут выходами? sclerosis.gif
=======================================================
Продолжим управление LED?
а как составить алгоритм плавного включения\затухания светодиодов? rolleyes.gif
PMICQ
Top
djelektronik
Сообщение: # 39912   Apr 15 2006, 12:42 AM
Quote Post


Unregistered










Magnus выходами будут
а плавное включение ето уже ШИМ или PWM

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

Это сообщение отредактировал avr123 - Mar 9 2009, 11:44 AM
Top
Kotjara
Сообщение: # 39933   Apr 15 2006, 11:47 AM
Quote Post


Unregistered










QUOTE (Magnus @ Apr 14 2006, 11:58 PM)
Значит если написать #b00001111 -> DDRD то PORT D0 - PORT D3 будут выходами?

Продолжим управление LED?

Да, PORT D0 - PORT D3 будут выходами.

На досуге, напишу чё-нибудь для индикаторов с динамической индикацией.
Top

Настройки темыСтраницы: (174) [1] 2 3 4 5 6 7 8 9 10 11 ... Последняя » Ответить Шустрый ответ Новая тема Новый опрос


 




  banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X