Быстрый заказ, позвонить +7-978-708-85-73
Дроссель Amadeus Productions. Быстрый заказ по телефону.
(Viber, WhatsApp, Telegram)
Amadeus Productions Дроссельный узел на Lancer IX 1.6 (4G18), 2.0 (4G63) и другие моторы
Ремкомплект РХХ на Mitsubishi Lancer IX, 1.6 (4G18), MD619857, 1450A116
Облегченный маховик на 1.6 (4G18) и другие моторы
Облегченные шкивы на 1.6 (4G18) и другие моторы
One-touch или "Ленивые поворотники"

> Микроконтроллеры
SSh
сообщение 9.9.2009, 17:52
Сообщение #101


Технический Маньяк-Гуру
*******

Группа:
Администраторы
Сообщений: 7044
Регистрация: 3.6.2009
Из: Армения
На форуме
Авто: Lancer IX, AT

Репутация:   263  


Ну что, начнем. Заранее заявляю, что я сам тоже новичок в этом деле, так, что если что не так с удовольствием приму и критику и замечания и дополнения.
Что такое микроконтроллер (МК)? Это микросхема которая сама по себе АБСОЛЮТНО ничего не умеет делать в отличии от даже самой примитивной логики. Для того, чтобы заставить МК выполнять какую-нибуть работу надо прошить (загрузить) в него программу. МК выпускаются многими фирмами - Mikrochip, Atmel, Motorolla, etc. Здесь будут рассматриваться только МК фирмы Mikrochip, так называемые pic-контроллеры.
Их легко различить по маркировке от других, название начинается с префикса PIC или (в современных сигнальных процессорах) dsPIC, например, PIC18F2520, PIC16F877 и т.д. Наиболее употребимые в любительской практике - 8-разрядные контроллеры среднего и высшего семейств, PIC16 и PIC18.
Буква "F" в маркировке МК означает, что он может многократно перезаписываться, т.е. если по каким-либо причинам надо поменять программу (прошивку), то это легко можно осуществить при помощи программатора (об этом попозже). Есть МК и с буквой "С" - это однократно программируемые.
Питание МК - +5В, хотя многие из них могут работать и при пониженном напряжении, от +2,5В.
Потребляемый ими ток насколько мал, что о нем и говорить неудобно (IMG:style_emoticons/default/dry.gif)
Так что-же все таки представляет собй МК? Это микросхема с определенным количеством выводов (8, 14, 16, 18, 20, 28, 40 и т.д), как минимум двое из которых предназначены для подачи питания, а почти все остальные представляют собой линии ввода-вывода. Почти - потому-что есть МК, которые обязательно должны тактироваться внешним кварцем (еще 2 вывода) и/или имеют отдельный вывод сброса. А есть и такие, что могут работать как от внешнего так и от внутреннего генераторов, в этом случае освободившиеся выводы тоже можно использовать для дела. Конкретно количество выводов данных можно посмотреть в даташите на конкретный МК.
Т.к. МК 8-и битные, то и выводы организованы в шины той-же разрядности, или, как их называют - порты.
В зависимости от кол-ва ножек могут быть порты A, B, C, D, E, которые на изображении МК обозначаются след. образом: буква R, затем наименование порта, затем номер разряда порта, напр. RA0, RC2, RB7...
В МК совсем необязательно наличие всех разрядов какого-либо порта, например, могут быть RC3...RC7, a RC0, RC1 и RC2 - отсутствовать. В принципе, это не имеет значения, т.к. любой порт можно запрограммировать на выполнение практически любой задачи (исключая некоторые специфические, такие, как обмен данными по USB или Ethernet), так, что без разницы - подключен, например, светодиод, сигнализирующий о превышении температуры к порту RB5 или RE0.
Исключение составляют выводы порта А, которые можно сконфигурировать так, чтоб они работали в аналоговом режиме (все остальные только цифровые). Естественно, порт А также может работать в цифровом режиме, что он и делает по умолчанию. Аналоговый режим используется для задействования встроенных АЦП - аналого-цифровых преобразователей, с их помощью измеряются аналоговые сигналы, например, напряжение, показания термодатчиков и т.д.
С распространением различных протоколов на определенные выводы могут также возлагаться дополнительные функции. Это не значит, что с другими выводами нельзя добиться результата, просто, если на вывод подключена какая-либо доп. функция, то результат достигается более легкими программными способами.
Для примера приведу обозначения выводов МК PIC16F876

1 MCLR/VPP/RE3
2 RA0/AN0
3 RA1/AN1
4 RA2/AN2/VREF-/CVREF
5 RA3/AN3/VREF+
6 RA4/T0CKI/C1OUT
7 RA5/AN5/SS/HLVDIN/C2OUT
8 VSS
9 OSC1/CLK1
10 OSC2/CLK0
11 RC0/T1OSO/T13CKI
12 RC1/T1OSI/CCP2
13 RC2/CCP1
14 RC3/SCK/SCL
15 RC4/SDI/SDA
16 RC5/SDO
17 RC6/TX/CK
18 RC7/RX/DT
19 VSS
20 VDD
21 RB0/INT
22 RB1
23 RB2
26 RB3/PGM
25 RB4
26 RB5
27 RB6/PGC
28 RB7/PGD

Смотрим, что мы тут имеем. МК имеет 2 вывода для соединения с общим проводом (8 и 19 - Vss), вывод питания - 20 - Vdd, отдельные выводы для подачи тактовых импульсов или подключения кварца - 9 - OSC1/CLK1 и 10 - OSC2/CLK0. Вывод сброса по желанию можно переконфигурировать для обработки данных - 1 - MCLR/VPP/RE3, т.е. он превращается в RE3. Все остальные - данные.
Дальше, некоторые выводы не имеют никаких специальных функций, например, RB1...RB7. Здесь PGM, PGC, PGD, а также Vpp на выводе 1 - сигналы с программатора, после прошивки МК они (имеются в виду сигналы а не выводы) не используются. Порты А, как видно, могут переконфигурироваться и работать как AN0...AN5 - аналоговые входы.
Некоторые сигналы (вернее протоколы) могут нам никогда и не понадобиться, так, что не стоит сейчас акцентировать на них внимание, просто опять же для примера упомянем
17 - RC6/TX/CK
18 - RC7/RX/DT, т.е. если надо, чтоб МК взаимодействовал с компьютером по последовательному интерфейсу (СОМ порт), то для этой цели лучше выбрать выводы 17 и 18, т.к. на них посажены также режимы RX и TX.

-----------------
Естественно, т.к. МК работают под управлением программы, то в них должна быть предусмотрена память для этих самых программ. В зависимости от МК объем памяти может колебаться от сотен байт до десятков килобайт. Память, как уже отмечалось, обычно многократно перезаписываемая.
Помимо программной МК может также иметь RAM память (ОЗУ) - для временного хранения данных/переменных во время работы программы, а также EEPROM - постоянная память для хранения данных при выключенном питании контроллера. Скажем, если на контроллере построен борткомпьютер, то, например, пройденный путь или израсходованный бензин надо писать именно в EEPROM, иначе данные потеряются после выключения зажигания. Данные же о мгновенном расходе пишутся в RAM. Конкретно объем программной памяти и наличие/отсутствие и объем RAM и EEPROM надо опять же смотреть в соотв. даташитах.
-----------------
Я честно говоря, не знаю, надо ли продолжать или нет, т.к. в сети есть куча информации по различным МК, так, что если есть желание, то изучить их работу в желаемом для себя объеме нетрудно.
Если есть интерес к обсуждению этого вопроса именно здесь а не на спец. форумах, то в след. раз поговорим о самих программах и программаторах.









Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post

Сообщений в этой теме
- SSh   Микроконтроллеры   9.9.2009, 17:52
- - BoomeR   Здравствуйте! Прочитав вашу статью про МК, поя...   11.2.2011, 17:13
- - Titus   BoomeR, велкам на форум, заполняй профиль плз   11.2.2011, 18:08
- - SSh   В компилляторах микро... нет команд подсчитывающих...   11.2.2011, 18:53
- - BoomeR   Я по задумке хотел бы сделать типо бортового компь...   11.2.2011, 18:59
- - SSh   Нет, пик не зависнет по большому счету, просто вып...   11.2.2011, 20:14
- - BoomeR   Ну да, это я и имел в виду... а можно по подробнее...   11.2.2011, 21:21
- - SSh   PulseIn Demo Код'(* ' * Project name...   11.2.2011, 22:13
|- - BoomeR   SSh спасибо большое. Жаль что с английским не друж...   11.2.2011, 23:01
- - BoomeR   Если конечно что то не реальное говорю, вы меня по...   11.2.2011, 23:22
- - SSh   Нет, не так. МК будет ждать импульсы до победного ...   11.2.2011, 23:31
- - BoomeR   Что то я совсем ни чего не понял все таки мне нав...   11.2.2011, 23:41
- - SSh   Там все просто while - ждать выполнения какого-либ...   11.2.2011, 23:55
- - BoomeR   SSh насчет программы немного начинаю понимать, буд...   12.2.2011, 0:51
- - SSh   Так я же не говорю "бери и используй". К...   12.2.2011, 1:13
- - BoomeR   SSh, куда ставить я еще не придумал а насчет того...   12.2.2011, 12:13
- - SSh   Можно... Но в PicBasic-е все проще намного   12.2.2011, 12:16
- - BoomeR   SSh спасибо! Теперь у меня есть надежды, что х...   12.2.2011, 12:53
- - SSh   Как тебе удобнее, конечно, так и делай В любом сл...   12.2.2011, 13:19
- - NeWT   Странная проблемка вылезла PIC12F675. Подключения...   27.2.2011, 21:23
- - SSh   Похожий случай был у Димы с AVR-ом. МК потребляют...   27.2.2011, 21:48
- - NeWT   Но что с этим делать!? Я не хочу, чтобы он про...   27.2.2011, 22:09
- - SSh   Попробуй подать сигнал на вход, по которому идет п...   27.2.2011, 22:19
- - NeWT   Да у меня там итак сначала 14В потом где-то 3кОм и...   27.2.2011, 22:28
- - SSh   Нет, программно ничего не сделаешь... А вот насчет...   27.2.2011, 22:32
- - NeWT   Эммм... Я просто сделал, как ты учил, параметричес...   27.2.2011, 22:55
- - SSh   Неправильно Это будет параметрическим стабилизато...   27.2.2011, 23:08
- - NeWT   Вот блин Доделаю )))   27.2.2011, 23:13
- - ЯВА   Пробую писать в микрос. Вроде получается НО. Решил...   10.3.2011, 21:14
- - SSh   Если компилирует нормально - значит с точки зрения...   11.3.2011, 7:25
- - ЯВА   Да нет . Когда заменяю структуру на ряд переменных...   11.3.2011, 20:08
- - BoomeR   SSh здравствуйте! Хотел вас спросить, вы выкла...   28.4.2011, 21:13
- - SSh   Есть на PicBasic в теме про индикатор расхода топл...   28.4.2011, 21:35
- - BoomeR   Спасибо. Щя попробуем я из хелпа брал готовую п...   28.4.2011, 21:45
- - Titus   BoomeR, хе, Шуя У вас 30 апреля будет гонка ...   28.4.2011, 21:58
- - BoomeR   Titus, про гонку не слышал, если узнаю где состоит...   28.4.2011, 22:17
- - Titus   А вот: http://www.freedrive.ru/ru/news/17-news/45....   28.4.2011, 22:19
- - BoomeR   Что то я совсем ни че не понимаю. от Невеля до шуи...   28.4.2011, 22:36
- - SSh   Ради интереса тоже взял из help-а - все скомпиллир...   29.4.2011, 6:21
- - SSh   Вдогонку... Не вытерперл, подправил порты (вместо ...   29.4.2011, 6:33
- - BoomeR   SSh, спасибо большое, все получилось! Я делал ...   1.5.2011, 11:07
- - SSh   Сравнивать можно с любым, или с RAW -кодом (см. да...   1.5.2011, 11:50
- - Uncle_Dizel   как на PicBasicPro можно реализовать RGB свет?   23.8.2011, 22:52
- - SSh   3 программных ШИМ-а   24.8.2011, 16:07
- - Uncle_Dizel   x var word TRISIO = %110001 main: For X = 0 to 2...   25.8.2011, 15:58
- - SSh   Есть пики со встроенными (аппаратными) PWM. Напр. ...   25.8.2011, 16:22
- - BoomeR   Здравствуйте, подскажите можно ли так делать PORTА...   5.9.2011, 20:40
- - SSh   Можно, если тип переменной выбран правильно (bit)   5.9.2011, 20:50
- - BoomeR   SSh, Вы ни когда не делали что-то, типо бегущей с...   6.9.2011, 17:26
- - SSh   Нет, не делал... А на чем реализуется эта строка (...   6.9.2011, 17:38
- - BoomeR   Светодиоды пиранья, 5х15. на транзисторах.   6.9.2011, 17:45
- - SSh   А дальше? Драйвера, сдвиговые регистры и т.д. Вооб...   6.9.2011, 18:43
- - BoomeR   Мне хочется как можно проще, ПИК транзисторы и све...   6.9.2011, 19:40
- - SSh   Так, навскидку, в любом случае придется применить ...   6.9.2011, 20:27
- - BoomeR   SSh, спасибо, буду пытаться...   6.9.2011, 20:46
- - Uncle_Dizel   еще раз про RGB я прото читал эт статью http://www...   3.10.2011, 21:08
- - SSh   Один из вариантов - переключать выходные уровни по...   3.10.2011, 21:22
- - BoomeR   SSh, вы ни когда не писали или не встречались с пр...   3.1.2012, 21:20
- - SSh   iButton работает по протоколу OneWare, MikroBasic ...   3.1.2012, 21:38
|- - BoomeR   А готовую прогу не знаете где глянуть? Я не пойму ...   3.1.2012, 21:47
- - SSh   Посмотри еще здесь http://www.mikroe.com/forum/sea...   3.1.2012, 21:42
- - SSh   Готовая прога, правда на Паскале, но легко адаптир...   5.1.2012, 22:36
- - Artem NN   Сергей (Ssh) привет! Я нашел схемку LC-1 h...   14.2.2012, 9:47
- - dmitrij_b   AVR-ки (в том числе меги) шьются хоть даже пятью п...   14.2.2012, 10:40
- - SSh   Если надо прошить всего раз, то как уже Дима сказа...   14.2.2012, 11:40
- - NeWT   Собираюсь на МК сделать это - http://forum.amadeus...   12.4.2013, 14:02
- - aLife   всем привет начал тему в другой ветке http://for...   29.11.2013, 21:50
- - SSh   Так, на первый взгляд... 1. Переменная btn не може...   30.11.2013, 7:15
|- - aLife   Цитата(SSh @ 30.11.2013, 10:15) Так, на п...   30.11.2013, 9:24
- - SSh   1. Конечно можно 2. Честно говоря не знаю, позволя...   30.11.2013, 14:25
|- - aLife   Цитата(SSh @ 30.11.2013, 17:25) 1. Конечн...   3.12.2013, 9:39
- - SSh   Если выберу время проверю на макетнице, но быстро ...   3.12.2013, 10:56
|- - aLife   Цитата(SSh @ 3.12.2013, 13:56) Если выбер...   4.12.2013, 10:24
- - SSh   На MikroBasic ничего подходящего (готового) нет по...   4.12.2013, 14:23
|- - aLife   Цитата(SSh @ 4.12.2013, 17:23) На MikroBa...   4.12.2013, 21:58
- - SSh   Аппаратно - шунтированием кнопок небольшими емкост...   4.12.2013, 22:15
|- - aLife   Цитата(SSh @ 5.12.2013, 1:15) Аппаратно -...   4.12.2013, 22:27
- - SSh   А, ну если для аналогового входа, то тогда дребезг...   4.12.2013, 22:42
|- - aLife   Цитата(SSh @ 5.12.2013, 1:42) А, ну если ...   4.12.2013, 23:10
- - SSh   А еще глянь на PicBAsic Pro. Все выложенные здесь ...   5.12.2013, 6:17
- - SSh   Кстати, если собираешься продолжать изучение или и...   5.12.2013, 6:55
|- - aLife   Цитата(SSh @ 5.12.2013, 10:55) Кстати, ес...   16.12.2013, 10:43
- - SSh   Конечно, замыкание проводков приводит к гораздо бо...   16.12.2013, 11:47
|- - aLife   Цитата(SSh @ 16.12.2013, 15:47) Конечно, ...   16.12.2013, 13:51
- - Rcus   А не проще использовать проверку установившегося с...   16.12.2013, 12:22
- - SSh   В условиях помех в автомобиле состояние может нико...   16.12.2013, 12:30
- - SSh   Считываются 13 значений (насколько я помню, именно...   16.12.2013, 15:38
|- - aLife   Цитата(SSh @ 16.12.2013, 19:38) Считывают...   16.12.2013, 16:43
|- - Rcus   Цитата(SSh @ 16.12.2013, 18:38) Далее, сч...   16.12.2013, 18:46
- - SSh   Будет зависеть от дребезга, плюс у тебя ведь кнопк...   16.12.2013, 17:09
|- - aLife   Цитата(SSh @ 16.12.2013, 21:09) Будет зав...   17.12.2013, 10:19
- - aLife   to SSh Привет, если не сложно - подскажи, пожалуй...   19.1.2014, 15:47
- - SSh   Можно по UART-линии, используя соотв. библиотеку: ...   19.1.2014, 16:09
|- - aLife   Цитата(SSh @ 19.1.2014, 20:09) Можно по U...   19.1.2014, 17:42
- - SSh   Еще как вариант - организовать массив из 12 элемен...   19.1.2014, 18:11
|- - aLife   доброго дня! а как на микробэйсике отправить к...   7.3.2014, 15:36
- - SSh   Такая команда есть в PicBasic, но пробуждение не п...   7.3.2014, 15:53
2 страниц V  < 1 2


Fast ReplyReply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Быстрый заказ, позвонить +7-978-708-85-73
Дроссель Amadeus Productions. Быстрый заказ по телефону.
(Viber, WhatsApp, Telegram)
Amadeus Productions Дроссельный узел на Lancer IX 1.6 (4G18), 2.0 (4G63) и другие моторы
Ремкомплект РХХ на Mitsubishi Lancer IX, 1.6 (4G18), MD619857, 1450A116
Облегченный маховик на 1.6 (4G18) и другие моторы
Облегченные шкивы на 1.6 (4G18) и другие моторы
One-touch или "Ленивые поворотники"