|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
9.9.2009, 17:52
Сообщение
#1
|
|
|
Технический Маньяк-Гуру ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 7049 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 265
|
Ну что, начнем. Заранее заявляю, что я сам тоже новичок в этом деле, так, что если что не так с удовольствием приму и критику и замечания и дополнения.
Что такое микроконтроллер (МК)? Это микросхема которая сама по себе АБСОЛЮТНО ничего не умеет делать в отличии от даже самой примитивной логики. Для того, чтобы заставить МК выполнять какую-нибуть работу надо прошить (загрузить) в него программу. МК выпускаются многими фирмами - 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 надо опять же смотреть в соотв. даташитах. ----------------- Я честно говоря, не знаю, надо ли продолжать или нет, т.к. в сети есть куча информации по различным МК, так, что если есть желание, то изучить их работу в желаемом для себя объеме нетрудно. Если есть интерес к обсуждению этого вопроса именно здесь а не на спец. форумах, то в след. раз поговорим о самих программах и программаторах. |
|
|
SSh Микроконтроллеры 9.9.2009, 17:52
Titus Спасибо, отлично, как базовый материал
Если дейст... 10.9.2009, 0:06
TCL Конечно. Мне интересно. 10.9.2009, 2:40
Titus Тогда сразу ссылка на один из моих любимых сайтов:... 10.9.2009, 3:18
Onega ту би контьюниед..... ждем продолжения 10.9.2009, 9:14
SSh Ну что же, продолжим.
Посмотрим, из каких модулей... 10.9.2009, 13:10
SSh Поехали дальше.
Как уже отмечалось, для того, что... 12.9.2009, 8:08
Onega моск плавится. но стараюсь изучить. 23.9.2009, 9:05
SSh Если что непонятно написано - спрашивайте, я пока ... 23.9.2009, 9:28
Engineer Читается и понимается легко, в отличие от заумных ... 23.9.2009, 13:36
dmitrij_b Надо, наверное, скозать еще о том, что микроконтро... 23.9.2009, 16:25
SSh Продолжим.
В подавляющем большинстве случаев МК до... 24.9.2009, 12:45
SSh Для дальнейшего продолжения желательно собрать нес... 25.9.2009, 10:14
SSh Как и было сказано ранее - попытаемся сделать что-... 27.9.2009, 12:09
Asdwarf В поисках программатора для PIC набрел вот на таку... 23.10.2009, 21:14
SSh Очень хорошая и полезная. Позволяет писать помимо ... 23.10.2009, 21:42
SSh Что-то я не нашел на сайтах упоминания об акции. Н... 23.10.2009, 22:04
Asdwarf Я вот тут нашел: http://easyelectronics.ru/forum/m... 23.10.2009, 22:49
SSh Ну, хорошо. А то кидальщиков сейчас расплодилось..... 23.10.2009, 22:55
SSh Как уже отмечалось, с PicKit-ом удобно использоват... 25.10.2009, 12:54
jn79 Цитата(SSh @ 25.10.2009, 15:54) Как уже о... 17.12.2010, 10:43
SSh Ну как, кто-нибуть купил/получил PicKit? Что-то вс... 9.11.2009, 9:36
Asdwarf Мутно там как-то...
Позвонил, сказали вышлют счет.... 10.11.2009, 21:44
Vituha Привет! Я собрал осцилограф на 4 канала на 16м... 30.1.2010, 18:15
SSh С mega-ми никогда дела не имел, так, что - извини ... 30.1.2010, 18:29
Vituha Цитата(SSh @ 30.1.2010, 22:29) С mega-ми ... 30.1.2010, 18:52
Vituha Цитата(SSh @ 30.1.2010, 21:29) С mega-ми ... 30.1.2010, 23:20
Engender Похоже на бот.
Vituha - вам сутки на подтверждение... 30.1.2010, 18:37
Vituha Цитата(Engender @ 30.1.2010, 22:37) Похож... 30.1.2010, 18:43
Titus Цитата(Engender @ 30.1.2010, 17:37) Похож... 31.1.2010, 1:07
dmitrij_b 2 Vituha а выложи схемы осцила с прошивками и исхо... 30.1.2010, 20:14
Vituha Цитата(dmitrij_b @ 31.1.2010, 0:14) 2 Vit... 30.1.2010, 22:38
SSh ЦитатаЯ adc21 делал он неплохо работает
Случайно н... 30.1.2010, 23:44
SSh Кстати насчет синхронизации. Как правило осциллогр... 31.1.2010, 12:59
Vituha Цитата(SSh @ 31.1.2010, 16:59) Кстати нас... 1.2.2010, 10:12
SSh Опечатка просочилась... не 256 а 128 шагов, т.е. к... 1.2.2010, 10:29
SSh Кстати вот здесь есть описание 6-канального осцилл... 1.2.2010, 10:56
dmitrij_b Это похоже не осцил, а логический анализатор. Если... 1.2.2010, 11:41
SSh Да, точно - анализатор.
На этом же сайте есть пар... 1.2.2010, 12:48
Vituha Я набросал проектик в c+ 2009 давайте вместе добье... 5.2.2010, 19:35
NeWT Такой глобальный вопрос по поводу программы. Вот п... 15.9.2010, 13:41
SSh Программа обычно должна работать в цикле, в выложе... 15.9.2010, 14:36
NeWT Ага, всё, цикл нашёл, спасибо. Про быстроту выпол... 15.9.2010, 15:37
SSh Биполярные транзисторы вообще-то током управляются... 15.9.2010, 15:47
SSh MCLR в некоторых МК можно вообще переконфигурирова... 15.9.2010, 15:51
NeWT Схемку бы конкретную с конкретными моделями 15.9.2010, 16:13
SSh
Транзистор, для описанного случая подойдет КТ972... 15.9.2010, 16:44
NeWT А, ну так всё также как и с логическими элементами... 15.9.2010, 16:57
SSh У логического элемента выходит напряжение питания,... 15.9.2010, 17:16
NeWT Блин, сколько информации Подскажи что я делаю не ... 5.10.2010, 19:23
SSh С микропаскалем не знаком, хотя эти все компилятор... 5.10.2010, 19:42
SSh Скачал Manual на Паскаль посмотрел. Цикл организов... 5.10.2010, 19:57
NeWT Спасибо за подсказку, победил Надо было действите... 5.10.2010, 20:20
SSh Вот, начало положено. И совсем не сложно, так? 5.10.2010, 20:27
NeWT Угу! Просто в Паскале-то я нормально сообража... 5.10.2010, 20:32
SSh Есть хороший ресурс с доп. библоитеками для паскал... 5.10.2010, 20:38
NeWT А как заставить выдавать нашу плату звук? Допустим... 13.11.2010, 16:19
NeWT От блин, а как подавать с ножки МК скажем "-5... 13.11.2010, 16:26
SSh Все верно, надо или взять со встроенным генераторо... 13.11.2010, 17:09
NeWT Т. е. и пьезо и магнитные бывают и с генератором и... 13.11.2010, 19:57
SSh Все верно 13.11.2010, 20:29
NeWT Блин, спасибо, что ты есть!!! Слушай,... 13.11.2010, 20:39
SSh Посмотри здесь, не только схема, но и примеры кода... 13.11.2010, 21:10
NeWT Нашёл на просторах инета такую схему, пишут, что о... 15.11.2010, 12:49
SSh А черт его знает, что это за схема... Динамик вклю... 15.11.2010, 17:01
NeWT Из твоих слов понял только слово "смещение... 15.11.2010, 17:37
SSh Нет, об отрицательном напряжении речь не идет. Сме... 15.11.2010, 18:13
NeWT Ну ладно, не будем экспериментировать Тогда помог... 18.11.2010, 10:51
SSh 10uF = 10мкФ. Допускается замена "мю" на... 18.11.2010, 11:28
NeWT В схеме есть и 5В и 12В, т. е. я подключаю к тому ... 18.11.2010, 11:59
SSh Да. 18.11.2010, 12:28
NeWT А ты когда-нибудь работал по прерываниям? Допустим... 12.12.2010, 19:17
SSh С аппаратными прерываниями (по входу INT, GP2 в 12... 12.12.2010, 19:34
SSh Сегодня перечитал даташит на указанную микруху.
С... 15.12.2010, 16:44
NeWT Ну да, а вот как их использовать? Например установ... 15.12.2010, 17:01
SSh Конечно, не нужна. В MikroPascal-e (на нем пишешь ... 15.12.2010, 17:12
SSh Возвращаясь к адаптеру для PicKit2, упомянутом в с... 17.12.2010, 9:02
SSh На двух по-моему удобнее. Просто хоть один из ZIF-... 17.12.2010, 12:09
NeWT А можно ли при программировании, чтобы не запутать... 14.1.2011, 13:59
SSh В MikroBasic такая возможность есть, надо в начале... 14.1.2011, 14:53
NeWT Спасиб
А ты когда-нить паял ПИК в корпусе SSOP-20... 18.1.2011, 20:27
AlexGreat Цитата(NeWT @ 18.1.2011, 20:27) Спасиб
А... 19.1.2011, 17:21
Titus Есть еще такие штуки как паяльные фены, вот им пая... 18.1.2011, 20:38
NeWT Ну такое покупать не хочу, дорого пока для меня П... 18.1.2011, 20:58
Titus Должно
Кстати, паяльный фен - не такое уж и дорог... 18.1.2011, 21:13
NeWT Народ, ещё пару вопросиков
1) Собираюсь переходи... 19.1.2011, 12:04
SSh 1. Если речь идет только о МК, то и 0,125Вт за гла... 19.1.2011, 12:30
NeWT Вот тут где ты говоришь "Кварц" это ... 19.1.2011, 12:47
SSh Кварц и кварцевый резонатор это одно и то же
Кера... 19.1.2011, 16:16
NeWT Терь всё понял! Спасибо! 19.1.2011, 16:18
NeWT Во блин, ну лан, попробуем А то до этого я только... 19.1.2011, 17:42
AlexGreat Я 0402 руками паяю, и вроде ничего, пока не умер о... 19.1.2011, 17:44
SSh Про пайку мелких микросхем можно посмотреть здесь:... 19.1.2011, 17:46
NeWT Блин, что-то я переоценил силы... 0.3мм дорожки от... 20.1.2011, 12:30
AlexGreat Цитата(NeWT @ 20.1.2011, 12:30) Блин, что... 20.1.2011, 23:41
NeWT Ребят, никак не пойму. Допустим я выбрал кварцевый... 20.1.2011, 13:08
dmitrij_b Crystal Oscillator, в данном случае и есть кварц. ... 20.1.2011, 13:48
NeWT Ок, понял, а резюк RS нужен? 20.1.2011, 14:04
SSh Oscillator=Resonator
Резистор не нужен.
В таблице ... 20.1.2011, 16:07
SSh Где-то писал, но не помню... Про пайку мелких микр... 3.2.2011, 13:57![]() ![]() ![]() |
|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
| Текстовая версия | © 2006-2025 Форум Технических Маньяков. |
|
|