Начинающим изучать микроконтроллеры...

INSAN
12/02/2010 01:24
----

askon
12/02/2010 12:36
Микроконтроллер - компьютер на одной микросхеме. Предназначен для управления различными электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной в микроконтроллер программой. В отличие от микропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержат встроенные дополнительные устройства. Эти устройства выполняют свои задачи под управлением микропроцессорного ядра микроконтроллера.

К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.

В отличие от микроконтроллера контроллером обычно называют плату, построенную на основе микроконтроллера, но достаточно часто при использовании понятия "микроконтроллер" применяют сокращенное название этого устройства, отбрасывая приставку "микро" для простоты. Также при упоминании микроконтроллеров можно встретить слова "чип" или "микрочип", "кристалл" (большинство микроконтроллеров изготавливают на едином кристалле кремния), сокращения МК или от английского microcontroller - MC.

Микроконтроллеры можно встретить в огромном количестве современных промышленных и бытовых приборов: станках, автомобилях, телефонах, телевизорах, холодильниках, стиральных машинах... и даже кофеварках. Среди производителей микроконтроллеров можно назвать Intel, Motorola, Hitachi, Microchip, Atmel, Philips, Texas Instruments, Infineon Technologies (бывшая Siemens Semiconductor Group) и многих других.
Для производства современных микросхем требуются сверхчистые помещения.

Основным классификационным признаком микроконтроллеров является разрядность данных, обрабатываемых арифметико-логическим устройством (АЛУ). По этому признаку они делятся на 4-, 8-, 16-, 32- и 64-разрядные. Сегодня наибольшая доля мирового рынка микроконтроллеров принадлежит восьмиразрядным устройствам (около 50 % в стоимостном выражении). За ними следуют 16-разрядные и DSP-микроконтроллеры (DSP - Digital Signal Processor - цифровой сигнальный процессор), ориентированные на использование в системах обработки сигналов (каждая из групп занимает примерно по 20 % рынка). Внутри каждой группы микроконтроллеры делятся на CISC- и RISC-устройства. Наиболее многочисленной группой являются CISC-микроконтроллеры, но в последние годы среди новых чипов наметилась явная тенденция роста доли RISC-архитектуры.

Тактовая частота, или, более точно, скорость шины, определяет, сколько вычислений может быть выполнено за единицу времени. В основном производительность микроконтроллера и потребляемая им мощность увеличиваются с повышением тактовой частоты. Производительность микроконтроллера измеряют в MIPS (Million Instruсtions per Second - миллион инструкций в секунду).

ДОБАВЛЕНО 12/02/2010 13:37

в нете скачал равнодушие вроде в тему голливудская улыбка

OleghkA
14/02/2010 21:10
INSAN, а чего отлаживать?

INSAN
14/02/2010 22:19
Справка по Ассемблеру для AVR

http://www.atmel.ru/Articles/Atmel11.htm

http://www.gaw.ru/html.cgi/txt/doc/micros/avr/asm/start.htm

(ОСТАВИТЬ)

INSAN
15/02/2010 01:03
Архитектура 8-разрядных микроконтроллеров семейства AVR

http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh/start.htm

(ОСТАВИТЬ)

OleghkA
17/02/2010 10:24
Цитата:
где бы достать схему совместимого программатора с STK500( простое решение STK500)?

схему на FT2 32RL, а проще "дудки" не придумали еще. кстати, и оболочку SinaProg уже сотворили для AVRDude
http://microstar.ir

kapral_82
20/02/2010 02:21
Платка DI HALTa?
На сегодняшний день использовать только программатор для работы с контроллерами-только один раз,для программирования отладчика,например самодельного AVR JTAG ICE...ИМХО...А если заниматься серьезно,то AVR DRAGON с поддержкой Debug Wire(программирование и отладка по линии RESET) самое милое дело при его цене.В версии AVR Studio 4.18 сняты ограничения по размеру отлаживаемого кода.

cybe
20/02/2010 15:05
INSAN, а чего в конфигурации выставлено?

cybe
20/02/2010 15:26
Здесь малость "жевали" по атмеге http://monitor.espec.ws/section46/topic134386.html

kapral_82
21/02/2010 11:32
Как говорится,опыт и импотенция приходят с годамиулыбкаУ Ди есть пару полезных статеек по поводу АВР-ов,советую внимательно почитать,если не ошибаюсь,статьи из серии "Программирование на языке СИ".

Dragon в работе.....Что на него смотреть?Включает в себя ISP программатор,JTAG,поддерживает высоковольтное программирование,и,самая вкусняшка - это Debug Wire.Суть его в экономии выводов контроллера.По линии RESET производится программирование и отладка,т.е. ISP и JTAG по одному проводу(там есть тонкости).Например,есть контроллер ATtiny2313,у него нет отладочного JTAG,по этому его нельзя отлаживать доступным для самостоятельного изготовления JTAG ICE....но есть поддержка dw,что позволяет вполне нормально проводить отладку и этого чипа,Сюда относятся контроллеры ATmega 48,88,168,ATtyni261/461/861,AT90PWMxx и др.

kapral_82
21/02/2010 16:40
Да,есть.Только вот цена у бурундуков не реальная!!!!!!!!!!!!!!!!!!!Насколько я понимаю,то они 150$ просят - это безбожно!!!!!!В Киеве средняя цена 75$

ДОБАВЛЕНО 21/02/2010 17:47

Я брал его в конторе Имрад осенью за 75$,но походу сейчас они цену выставили под 100$,по всей видимости из-за того,что очень недавно атмел снял ограничения с драгона.В Элфа электроникс он стоит 70$

Вот нашел по России
http://www.west-l.ru/catalog.html?good_id=hx144886

kapral_82
21/02/2010 18:31
Я просто сам вникаю в программирование,куча всего не познанного мной естьулыбка

kapral_82
21/02/2010 20:35
Дело не в Си,там информация о построении программ.Это самое важное,т.к. при программировании язык не столь важен,как понимание работы программы вцелом.Синтаксис это дело техники.Его изучение не вызывает проблем.

-20 dB
22/02/2010 10:39
INSAN, после "расстрелять"-то откуда обратная связь (return)?
end это end или как там оно в Си называется?

TE
22/02/2010 12:34
На мой взгляд тема слишком сумбурна, особенно для желающих освоить программирование микроконтроллеров и, котрые понятия не имеют в этом, такие как я.
Начало правильное - озакомление с устройством микроконтроллера, есть необходимые ссылки, а после этого вставлен кусок программы, который для новичков темный лес, идет разговор о фъюзах - аналогично, средствах программирования и пр.
Мне кажется надо начать с изучения написания программы, тем самым освоить язык. Предлагаю начать с Ассемблера, потом можно перейти на Си.
Давайте попробуем написать программу по приведенному алгоритму с растрелом. Это будет наглядно и облегчит понимание сути дела.
Алгоритм надо подкорректировать, после расстрела программа не может возвратиться в начало, убрать нижнюю вертикальную черточку, мертвого не воскресить.
Естественно, выполнение такого алгоритма мы не сможем проконтролировать, поэтому необходимо его дополнить.
После "отпустить для совершения преступления" мы должны узнать свободен ли он. Для этого нужно вывети информацию в какой-ли разряд какого-либо порта, зажечь, например, зеленый светодиод.
Если доказана виновность и расстрелян, то зажечь красный светодиод по другому разряду.
Программа должна быть построена следующим образом.
Начало.
Назначение портов.
Ввод подозреваемого - присвоение ему какой либо константы в регистр, например, число 1.
В другой регистр занести константу виновности, например, число 10.
Сравнить эти два регистра.
В случае равенства растрелять, загорится красный светодиод.
В случае неравенства - зеленый.
Понятно, что равенства не будет и человек выйдет на свободу.
Для этого сделаем прибавление 1 за каждый цикл к константе подозреваемого и переход программы к команде выполнения сравнения.
В конце концов мы его расстреляем.
Конец выполнения программы.
После этого можно (кто-то еще предложит) более сложный алгоритм и тоже попытаться написать.
Можно детально рассмотреть чужие программы.
После освоения программирования можно обсудить компилирование программы, средства записи программы в микроконтроллер, фьюзы и пр.
Я выссказал свою точку зрения новичка.

TE
22/02/2010 14:46
INSAN, я попробую этот расстрельный вариант, только надо слегка Ассемблер поучить. У меня может глупый вопрос, а нет ли случайно программы эмулятора AVRки под винду? У меня нет пока ничего, чтобы проверить результат.

INSAN
22/02/2010 16:06
самоучитель по протеусу (ОСТАВИТЬ)

TE
22/02/2010 17:41
Спасибо качаю. Попожжей буду знакомиться.

TE
23/02/2010 00:09
Первая попытка реализовать данный алгоритм.

.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\m8def.inc"

.cseg ;начало программного сегмента
.org 0 ;начальный адрес 0

ldi R16, 0b11111111 ;загрузка константы в регистр R16
out DDRB, R16 ;включение порта В на выход

ldi R20, 0b00001010 ;загрузка константы 10 в регистр R20

cpi R20, 0b00000001 ;сравнение регистра R20 c константой 1
ldi R16, 0b00000001 ;загрузка константы 1 в регистр R16
out PortB, R16 ;включение зеленого светодиода
Sud: subi R20, 0b00000001 ;вычитание константы 1 из содержимого регистра R20
brne sud ;переход если не равно к метке Sud

ldi R16, 0b00000000 ;при равенстве загрузка константы 0 в регистр R16
out PortB, R16 ;выключение зеленого светодиода

ldi R16, 0b00000010 ;загрузка константы 2 в регистр R16
out PortB, R16 ;включение красного светодиода

Ещё не компилировал и не пробовал, пока не знаю как.

INSAN
24/02/2010 15:37
Евстифеев А.В Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel 2008 + CD
в этом диске программы , даташиты, апноты , сама книга Евстифеева А.В ...главное есть описание даташитов на русском языке.
вот адрес, там много книг по мк http://radiojurnals.xan.su/buki/mk.htm (ОСТАВИТЬ)

INSAN
24/02/2010 16:53
как создавать Проект в AVRStudio тут.. http://radioded.ru/content/view/40/44/ (ОСТАВИТЬ)

TE
25/02/2010 11:58
Разбирался с http://radioded.ru/content/view/44/44/ После разрешения прерываний стоит переход по метке MAIN и дальше уже ничего работать не будет, т.к. после выполнения пустых команд стоит опять переход по метке MAIN.
Получается бесконечный цикл, думаю, здесь ошибка.

TE
25/02/2010 22:00
Я не до конца разобрался с программой, но после разрешения прерываний

sei; ; разрешить прерывания

rjmp MAIN ; возврат в тело пустого цикла


и попав на метку MAIN, начинается бесконечный цикл

MAIN: ; тело цикла

nop; ; команда, которая ничего не делает
nop;
nop;

rjmp MAIN ; переход на метку main

Выполняются три пустых команды и снова возарат к метке.

TE
25/02/2010 23:44
В AVRStudio запускаю компилированную программу по ALT+F5 (AutoStep) и стрелка, попав в этот цикл, уже из него не выходит.
Если после пустых команд поставить вместо перехода по метке MAIN (rjmp MAIN) переход по метке TIMO_OVF (rjmp TIMO_OVF), тогда всё нормально работает.
Думаю ошибка автора.

TE
26/02/2010 00:13
Я не прошивал, у меня нет еще микроконтроллера, я только начал изучать программирование.
Ладно буду разбираться дальше, надо с прерываниями разобраться.

INSAN
26/02/2010 02:37
не много математики! Перевод из одной системы счисления в другую и простейшие арифметические операции.
(ОСТАВИТЬ)

INSAN
26/02/2010 18:15
возможности протеуса. пишем программу на ассемблере в протеусе и там же проверяем её. (ОСТАВИТЬ))

INSAN
13/07/2010 19:52
дддддд

BOB51
15/07/2010 20:54
можно было и подешевше...
AVR studio 4.18 + ponyprog 2000 V2.07c beta + самодельный stk200m(см. там же, где и ponyprog 2000)
к этому добавить datasheetы из http://www.atmel.com и уже упомянутые книжки Ефстифеева.
для работы на ассемблере достаточно при стоимости комплектующих гривнев 30 максимум подмигивание
а дальше насколько лишних денег будет голливудская улыбка

kapral_82
16/07/2010 08:10
и развивать талант телепатии и ясновидения для отладки кристалла смех

INSAN
17/07/2010 22:46
kapral_82, хорош поясничать, у тебя наберусь ума, научишь как с матрицеё обращаться подшучивать, дразнить BOB51, согласен с тобой,но я так захотел, лишним ничего не вижу уже., нито смотреть в инете фото плат разных для мк , меня не успокаивало. улыбка

BOB51
31/07/2010 18:40
талант телепатии и ясновидения - обычная данность для тех, кто с микроконтроллерами от AVR или PICса на ассемблере работать пожелает и erratы не изучит голливудская улыбка (не вижу никаких в том проблем)
а stk200m оказался без больших проблем совместим с aec_isp.exe - тем самым еще и at89s51/52/53 добавились в коллекцию подмигивание
для mcs51 у меня есть полный набор для работы на ассемблере, ежли интересно , отошлю на e-mail подшучивать, дразнить

liveinternet.ru RadioTOP Rambler's Top100 –ейтинг@Mail.ru