Начинающим изучать микроконтроллеры... | |||
---|---|---|---|
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 |
схему на 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 |