 |
|
|
|
| Автор |
Сообщение |
tellurian Частый гость (>5)

Зарегистрирован: 15.11.2006 Сообщения: 15
|
Добавлено: 15 Ноя 2006, 10:46 Заголовок сообщения: Микроконтроллеры начинающим |
|
|
Всем доброго времени суток.
Люди помогите, кто чем может. Вот хочу научиться программировать микроконтроллеры.
Подкажите с чего начать?
Как спаять программатор?
Семейство для освоения выбрал AVR
Вот нашел пару ссылок , подойдут?
http://www.gaw.ru/html.cgi/txt/app/micros/avr/index.htm
http://www.gaw.ru/html.cgi/txt/doc/micros/avr/index.htm
http://atmel.argussoft.ru/download/russian.pdf/avr_info_rus.pdf
Если нет, подскажите где можно скачать нормальную доку.
Добавлено модератором - прочтите, пжлст.
Если вы возмущены "почему AVR" и хотите оспорить выбор автора темы, то создайте, пжлст, тему "Какое семейство лучше?" и там отвечайте. Давайте не будем превращать эту тему в сплошной флуд. а построим нормальное руководство.
Если Вы начинающий и у Вас есть вопросы по другому семейству - создайте отдельную тему "Осваиваем PIC" или "Pentiom-5 начинающим" - Вам обязательно ответят.
Друзья! Нас ведь тоже учили в свое время светодиодом моргать ... давайте поможем человеку стартануть в этом увлекательном и интересном деле
|
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 16 Ноя 2006, 9:16 Заголовок сообщения: |
|
|
Ну если АВР ...
Для старта с этим семейством обычно либо советуют AT90S2313 - на котором можно сделать много чего полезного с необходимым минимум переферии на борту... либо ATMega32 - почти монстр с 40 лапами и кучей переферии и прочими наворотами.
Предлагаем всеж взять AT90S2313 есть один весомый плюс - на него есть русская документация. Хоть этот проц и устарешвший и уже не выпускается ... но стартануть можно с ним или с его старшим братом ATTiny2313.
Начальное творчество можно устроить прямо на компе (пока до рынка дойдешь ) ... потом собрать небольшой коструктор: микроконтроллер, питание кнопки, светодиоды, пищалка и всякая другая приблуда.
О языке программирования: можно на ASM, можно С ... стоит обратить внимание, что система команд у АВР совсем не похожа на 80x86 или MCS...
Предлагаю начинать все ж с С - проще.
Инструменты
CodeVision Это компилятор С для AVR - на него многие ругаются за эффективность ... но зато с ним можно думать о задаче, а не о инструменте.
//rapidshare.de/files/20421788/cvavr_1_24_8d.zip.html
//rapidshare.de/files/20422208/1248d.zip.html
AVRStudio - отладчик и компилятор АСМа от Atmel
AVRStudio версии 3.56 весит 7,5 МБ. Есть и новее версии, но они более громоздкие. Для начала нам и этого хватит.
Proteus 6.7SP3 - можно найти в местном файлообменнике - умеет симулировать не только микроконтроллер но и много-много обвязки.
еще одна версия
AVReal - очень здОровоский программатор AVRок. Как адаптер советую собрать STK200 - он подойдет и для встроенного программатора CodeVision
Ресурсы Сети
www.atmel.ru & [url] www.atmel.com[/url] - сайт производителя - самый главный
http://telesys.ru/projects.shtml - куча проектов на микроконтроллерах - полезно посмотреть
http://lord-n.narod.ru/index.html много книг. Есть конкретно по этому семейству. Керниган и Ричи "Язык С" -очень советую прочесть.
[url]natahaus.ru[/ru] - много книг. Поиск для простых смертных отключен... воспользуйся примерно этим
http://infoseti.ru/cgi-bin/forum/YaBB.cgi?board=PO;action=display;num=1143146064 - Неплохая статья о Proteus. Неплохо объясняются принципы работы симулятора. Самое главное - доходчиво и простыми словами.
Также есть в Сети сайтик avr123.nm.ru ... много споров в сети о нем ... могу сказать так: "Относись критически к всему в Сети ... также и к этим постам "
Итоги Скачивай/доставай ПО и доку - и займемся.
Минимум, что нужно:
- даташит на на контроллер AT90S2313 от производителя - English (русский в вложении)[/url]
компилятор CodeVision
симулятор AVRStudio
пара книженций по контроллерам и языку.
| Описание: |
Русское описание AT90S2313.
Расширение ARJ ... откроет архиватор RAR |
|
 Файлообменник |
| Название файла: |
AVR2313R.ARJ.txt |
| Размер файла: |
599.03 KB |
| Скачено: |
1777 раз(а) |
Последний раз редактировалось: AndryG (09 Янв 2007, 13:09), всего редактировалось 6 раз(а) |
|
| Вернуться к началу |
|
 |
Alexx Знатный посетитель (>20)


Зарегистрирован: 25.09.2006 Сообщения: 49 Откуда: Украина, Киев
|
Добавлено: 17 Ноя 2006, 10:00 Заголовок сообщения: |
|
|
Для полноты картины хотелось бы упомянуть о таком симуляторе, как VMLab. Пользую довольно давно в связке с CodeVision.
IMHO - очень удобнвый и функциональный симулятор.
Тут Вам и светодиоды, и клавиатура, и ЖКИ, и терминал... В общем все, что надо начинающему, и не только ему
Кроме симуляции периферии (довольно точной) есть возможность подключения компиляторов третьих фирм (WinAVR)
Полнофункциональная версия - бесплатна и доступна на
http://www.amctools.com/vmlab312.zip
Единственный недостаток(как по мне) - отсутствует в списке поддерживаемых камней Тини2313. Но вариантов обойти это - море.
Итак, советую..
А здесь простенький программатор, который можно использовать в связке с CodeVision, и не только с ним.
http://www.remexpert.com/forum/viewtopic.php?t=714
|
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 20 Ноя 2006, 11:43 Заголовок сообщения: Hello, world. |
|
|
Ну .. классика! Мигаем светодиодом.
Алгоритм самый простой и тупой.
RESET
конфигурирование контроллера
в бесконечном цикле:
переключить светодиод
задержка
Всё.
Нужно разобраться:
конфигурирование выводов,
организация задержки,
управление выводами.
Почитай:
Голубцов "Микроконтроллеры AVR: От простого к сложному"
Керниган Рич "Язык С"
Пиши в CodeVision. Отлаживаем в AVRStudio или VMLab.
Стоит обратить внимание:
работа с портами ввод/вывод подтягивание вывода.
для работы с каждым портом используется три регистра - функции каждого
Попробуй сперва сам ... появятся вопросы ... вот на вопросы и будем отвечать.
_________________ AndryG |
|
| Вернуться к началу |
|
 |
Alexx Знатный посетитель (>20)


Зарегистрирован: 25.09.2006 Сообщения: 49 Откуда: Украина, Киев
|
|
| Вернуться к началу |
|
 |
Alexx Знатный посетитель (>20)


Зарегистрирован: 25.09.2006 Сообщения: 49 Откуда: Украина, Киев
|
|
| Вернуться к началу |
|
 |
tellurian Частый гость (>5)

Зарегистрирован: 15.11.2006 Сообщения: 15
|
Добавлено: 20 Ноя 2006, 14:27 Заголовок сообщения: |
|
|
Подскажите. Он правильно заморгал. Или мне это только кажется?
ANDRYG
В этом проекте пример работы с кнопками и отлвливаня их нажатия/отпускания.
|
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 20 Ноя 2006, 14:41 Заголовок сообщения: Моргаем светодиодом. |
|
|
Начало начал. Моргаем светодиодом, который подключен к PB0 через резистор на питание.
С
| Код: |
#include <90s2313.h>
#include <delay.h>
void main(void) {
DDRB = 0x01; //определяем направление
PORTB = 0x00; //загорается светодиод
while (1)
{
PORTB ^= 0x01; // переключили светодиод
delay_ms(50); // задержка (для реала нужно больше ставить)
}; //while
} //main
|
VMLab
| Код: |
.MICRO "AT90S2313"
.TOOLCHAIN "GENERIC"
.TARGET "bl_1.hex"
.COFF "bl_1.cof"
.SOURCE "bl_1__.c"
.TRACE ; Activate micro trace
; Following lines are optional; if not included
; exactly these values are taken by default
; ------------------------------------------------------------
.POWER VDD=5 VSS=0 ; Power nodes
.CLOCK 4meg ; Micro clock
.STORE 250m ; Trace (micro+signals) storage time
; Micro nodes: RESET, PB0-PB7, PD0-PD5, ACO, TIM1OVF
; Define here the hardware around the micro
; ------------------------------------------------------------
D1 VDD R1_
R1 R1_ PB0 470
|
Всё это дело в аттаче.
Советую взять этот проект за основу и на нем отрабатывать простейшие примеры... так нам достаточно будет делится двумя кусочками двух файлов.
Сразу оговариваем, что контроллер AT90S2313 c тактовой 4МГц.
| Описание: |
|
 Файлообменник |
| Название файла: |
first.rar |
| Размер файла: |
3.38 KB |
| Скачено: |
280 раз(а) |
_________________ AndryG
Последний раз редактировалось: AndryG (21 Ноя 2006, 11:41), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 20 Ноя 2006, 15:48 Заголовок сообщения: |
|
|
Следующая задачка "Экономное моргание":
В первой задачкее контроллер полностью занят морганием... морг-задержка-морг и т.д.
Получается ничего полезного мы сделать больше не можем.
Для выполнения других задач, предлагаю моргание светодиода поручить таймеру-счетчику ... при этом мы освобождаем контроллер для полезностей и "забываем" про светодиод в основном цикле.
Сразу стоит указать, что в прерываниях стоит выполнять лишь "мелкий код", который не занимает много времени... иначе у нас может возникнуть еще одно прерывание, а мы еще предыдуще обрабатываем. Посему... если при сработке прерыания необходимо выполнять большие куски кода, то в прерывании только поднимают флаг, а потом в основном цикле следят за этим флагом и выполняют необходимые действия.
Но опять же ... люди делают по и так и сяк. ... а потом друг-другу доказывают, что именно они правильно бутерброд маслом мажут.
Постановка задачи
Организовать то же моргание, но не занимая процеcсорное время... тоесть использовать таймер.
Рассмотреть варианты использования таймера и варианты "сработки": по переполнению, по совпадению. Попробовать вариант... один светодиод моргает по переполнению, второй по совпадению. Разобраться с расчетом значений для регистров таймера (счетчик/регистр совпадения).
____
P.S.
Давай попробуем сделать так: решаешь задачку .. задаешь вопросы, получаешь ответы ... после получения нормального результата более менее оформляем решение и в виде вопрос-ответ в твоем посте
и добавляем как резюме, на что стоит обратить внимание... и следующая задачка.
Идет? Может так у нас мусорка не получится.
_________________ AndryG
Последний раз редактировалось: AndryG (21 Ноя 2006, 11:40), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
tellurian Частый гость (>5)

Зарегистрирован: 15.11.2006 Сообщения: 15
|
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы можете просматривать вложения в этом форуме
|
|