Форум по разработке и ремонту электронной техники Киевский форум радиолюбителей и электронщиков. Форумы по разработке и ремонту электронной техники
    Схемы электрические принципиальныеГлавная    ФорумФорум    ПоискПоиск по форуму    Личные сообщенияФайлообменник    Личные сообщенияРадиотехнический каталог   

Фотогалерея   <b>Профиль</b>Ваш профиль    Личные сообщенияЛичные сообщения    ГруппыГруппы   

FAQFAQ    РегистрацияРегистрация    ВходВход

Уважаемые посетители! Это старая версия форума. Новая версия находится по адресу: http://www.remexpert.com
Микроконтроллеры начинающим
На страницу 1, 2, 3 ... 12, 13, 14  След.
 
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС...
 
Автор Сообщение
tellurian
Частый гость (>5)
Частый гость (>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
пара книженций по контроллерам и языку.



AVR2313R.ARJ.txt
 Описание:
Русское описание AT90S2313.
Расширение ARJ ... откроет архиватор RAR

Файлообменник
 Название файла:  AVR2313R.ARJ.txt
 Размер файла:  599.03 KB
 Скачено:  1778 раз(а)



Последний раз редактировалось: AndryG (09 Янв 2007, 13:09), всего редактировалось 6 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alexx
Знатный посетитель (>20)
Знатный посетитель (>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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alexx
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 25.09.2006
Сообщения: 49
Откуда: Украина, Киев

СообщениеДобавлено: 20 Ноя 2006, 12:38    Заголовок сообщения: Ответить с цитатой

tellurian писал(а):
После компиляции в CodeVision получилась куча файлов. В VMLAB открываю *.hex, либо prj файл. А дальше ничегошеньки не получается Грусть


И не получится так слету. Вам прежде надо создать проект в VMLab.
К примеру, после компиляции у Вас в числе прочих были созданы файлы:
1) mss_main__.c - файл, содержащий ВЕСЬ текст программы (если программа раскидана по нескольким файлам, их содержимое скидывется в этот файл)
2) mss_main.hex - это понятно
3) mss_main.cof - файл, содержащий информацию для отладки

Теперь идете в VMLab и тыцаете Project->New project.
Заполняете необходимые поля так, как показано на прилагаемом рисунке.
Обращаю внимание, что имя проекта для миуляции не должно совпадать с именем проекта, созданного CodeVisionon (должно быть 2 файла с расширением prj)

Жмете ОК.

Проект создан! Эта операция выполняется один раз и в дальнейшем при изменении файлов они будут перегружаться в VMLab.



NewPro.JPG
 Описание:
 Размер файла:  55.35 KB
 Просмотрено:  7090 раз(а)

NewPro.JPG


Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alexx
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 25.09.2006
Сообщения: 49
Откуда: Украина, Киев

СообщениеДобавлено: 20 Ноя 2006, 12:50    Заголовок сообщения: Ответить с цитатой

И еще..
Там довольно подробный Хелп Хитрый



Help.JPG
 Описание:
 Размер файла:  80.14 KB
 Просмотрено:  7081 раз(а)

Help.JPG


Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tellurian
Частый гость (>5)
Частый гость (>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
 Описание:

Файлообменник
 Название файла:  first.rar
 Размер файла:  3.38 KB
 Скачено:  280 раз(а)


_________________
AndryG


Последний раз редактировалось: AndryG (21 Ноя 2006, 11:41), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
AndryG
Модератор


Зарегистрирован: 24.07.2006
Сообщения: 411
Откуда: Helios-3

СообщениеДобавлено: 20 Ноя 2006, 15:48    Заголовок сообщения: Ответить с цитатой

Следующая задачка "Экономное моргание":
В первой задачкее контроллер полностью занят морганием... морг-задержка-морг и т.д.
Получается ничего полезного мы сделать больше не можем.
Для выполнения других задач, предлагаю моргание светодиода поручить таймеру-счетчику ... при этом мы освобождаем контроллер для полезностей и "забываем" про светодиод в основном цикле.
Сразу стоит указать, что в прерываниях стоит выполнять лишь "мелкий код", который не занимает много времени... иначе у нас может возникнуть еще одно прерывание, а мы еще предыдуще обрабатываем. Посему... если при сработке прерыания необходимо выполнять большие куски кода, то в прерывании только поднимают флаг, а потом в основном цикле следят за этим флагом и выполняют необходимые действия.
Но опять же ... люди делают по и так и сяк. ... а потом друг-другу доказывают, что именно они правильно бутерброд маслом мажут. Радостный
Постановка задачи
Организовать то же моргание, но не занимая процеcсорное время... тоесть использовать таймер.
Рассмотреть варианты использования таймера и варианты "сработки": по переполнению, по совпадению. Попробовать вариант... один светодиод моргает по переполнению, второй по совпадению. Разобраться с расчетом значений для регистров таймера (счетчик/регистр совпадения).
____
P.S.
Давай попробуем сделать так: решаешь задачку .. задаешь вопросы, получаешь ответы ... после получения нормального результата более менее оформляем решение и в виде вопрос-ответ в твоем посте
и добавляем как резюме, на что стоит обратить внимание... и следующая задачка.
Идет? Может так у нас мусорка не получится.

_________________
AndryG


Последний раз редактировалось: AndryG (21 Ноя 2006, 11:40), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
tellurian
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 15.11.2006
Сообщения: 15

СообщениеДобавлено: 21 Ноя 2006, 9:48    Заголовок сообщения: Ответить с цитатой

Здраво-о-о!!!
Вот что у меня получилось в результате Смущение
Код:

#include <90s2313.h>
#include <delay.h>

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
 TCNT1H =  0xFF;//0xb3;
 TCNT1L = 0xb5;
 
 if (PORTB == 1) PORTB=0; else PORTB = 1;
}             

void main(void) {
 DDRB  = 0xFF;
 PORTB = 0x00;
 TCCR1A = 0x00;
 TCCR1B = 0x05;
 TCNT1H = 0xFF;// 0xb3;
 TCNT1L = 0xb5;
 OCR1H  = 0x00;
 OCR1L  = 0x00;
 TIMSK  = 0xB0;
 PORTB  = 0x01;
 while (1)
 {
 }
} //main

Только там получается такая штука. Переключается один раз за весь цыкл. Не знаю в чем проблема Слезы



Second.rar
 Описание:
Проверял, вроде что-то работает, а вот правильно ли, не знаю :-?

Файлообменник
 Название файла:  Second.rar
 Размер файла:  15.01 KB
 Скачено:  266 раз(а)

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС... Часовой пояс: GMT + 2
На страницу 1, 2, 3 ... 12, 13, 14  След.
Страница 1 из 14

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


Rambler's Top100 PageRank Яндекс цитирования
Сайты наших друзей: Гири, все о гирях, Автоматизация магазинов, супермаркетов, ресторанов, кинотеатров,
Весы электронные, Сканеры штрих-кода, Принтеры штрих-кода

Powered by phpBB © 2001, 2005 phpBB Group

Время генерации страницы: 0.8015s (PHP: 92% - SQL: 8%) - SQL запросов: 15 - GZIP enabled - Debug on