Быстрый заказ, позвонить +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
Сообщение #1


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

Группа:
Администраторы
Сообщений: 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
10 страниц V  « < 6 7 8 9 10 >  
Start new topic
Ответов (140 - 159)
SSh
сообщение 1.5.2011, 11:50
Сообщение #141


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

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

Репутация:   263  


(IMG:style_emoticons/default/smile.gif)
Сравнивать можно с любым, или с RAW -кодом (см. даташит на DS1820) или уже с перерасчитанным.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
sanche29
сообщение 26.5.2011, 21:37
Сообщение #142


Technical maniac
*******

Группа:
Почетные ветераны
Сообщений: 1181
Регистрация: 13.7.2010
Из: Астрахань
Вне форума
Авто: Lancer IX-1.5 CVT

Репутация:   49  


Цитата(SSh @ 9.11.2009, 10:36) *
Ну как, кто-нибуть купил/получил PicKit? Что-то все молчат... (IMG:style_emoticons/default/dry.gif)


Я купил!И адаптер спаял (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Uncle_Dizel
сообщение 23.8.2011, 22:52
Сообщение #143


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 17
Регистрация: 13.1.2011
Вне форума


Репутация:   0  


как на PicBasicPro можно реализовать RGB свет?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 24.8.2011, 16:07
Сообщение #144


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

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

Репутация:   263  


3 программных ШИМ-а
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Uncle_Dizel
сообщение 25.8.2011, 15:58
Сообщение #145


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 17
Регистрация: 13.1.2011
Вне форума


Репутация:   0  


x var word
TRISIO = %110001
main:

For X = 0 to 255 step 5
pwm GPIO.1, X, 5
next
pause 1000
next x
end

это программа одного светодиода включение на pic 12 f629
просто если pic 12 f629 выполняет команду pwm он не может выполнять других действий , а как тогда быть с другими светодиодами?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 25.8.2011, 16:22
Сообщение #146


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

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

Репутация:   263  


Есть пики со встроенными (аппаратными) PWM. Напр. PIC16F737, имеет на борту 3 PWM модуля.
Запуск встроенного модуля подразумевает непрерывное выполнение программы.

Еще глянь здесь, правда не на PicBasic, но все-таки... В частности AN1074
http://www.gaw.ru/html.cgi/txt/publ/opto/led.htm
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
BoomeR
сообщение 5.9.2011, 20:40
Сообщение #147


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 36
Регистрация: 11.2.2011
Из: Шуя
Вне форума


Репутация:   0  


Здравствуйте, подскажите можно ли так делать PORTА. 1 = ( здесь имя переменной) значение у которой будет 1 или 0, будет ли так порт работать? МикроБейсик
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 5.9.2011, 20:50
Сообщение #148


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

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

Репутация:   263  


Можно, если тип переменной выбран правильно (bit)
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
BoomeR
сообщение 6.9.2011, 17:26
Сообщение #149


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 36
Регистрация: 11.2.2011
Из: Шуя
Вне форума


Репутация:   0  


SSh, Вы ни когда не делали что-то, типо бегущей строки, я думал что все просто, электронную часть сделал, а вот с программной появилис проблемки, хотелось бы понять принцип действия её, или исходники программы посмотреть. PIC 16F876, микробейсик.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 6.9.2011, 17:38
Сообщение #150


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

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

Репутация:   263  


Нет, не делал... А на чем реализуется эта строка (LED матрицы, ЖК индикаторы, etc...)?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
BoomeR
сообщение 6.9.2011, 17:45
Сообщение #151


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 36
Регистрация: 11.2.2011
Из: Шуя
Вне форума


Репутация:   0  


Светодиоды пиранья, 5х15. на транзисторах.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 6.9.2011, 18:43
Сообщение #152


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

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

Репутация:   263  


А дальше? Драйвера, сдвиговые регистры и т.д. Вообще мне часто попадались подобные устройства, просто за ненадобностью не читал...

http://www.google.com/search?hl=en&sou...591l591l5-1l1l0
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
BoomeR
сообщение 6.9.2011, 19:40
Сообщение #153


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 36
Регистрация: 11.2.2011
Из: Шуя
Вне форума


Репутация:   0  


Мне хочется как можно проще, ПИК транзисторы и светодиоды, схему сам придумывал, работает! но получается выводить только строчки по горизонтали или по вертикали. Мне не нужно слова разные выводить, клавиатуры подсоединять, пик к компу...., просто с прошивкой пару слов залить и все. Так можно?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 6.9.2011, 20:27
Сообщение #154


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

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

Репутация:   263  


Так, навскидку, в любом случае придется применить сдвиговые регистры.
Вот здесь законченные конструкции, повыкидывай ненужное или подправь...
http://begstr.narod.ru/
http://monitor.net.ru/forum/topic208883-32.html
http://radionet.com.ru/shem/shem877.html
и таких еще очень много...
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
BoomeR
сообщение 6.9.2011, 20:46
Сообщение #155


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 36
Регистрация: 11.2.2011
Из: Шуя
Вне форума


Репутация:   0  


SSh, спасибо, буду пытаться...
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Uncle_Dizel
сообщение 3.10.2011, 21:08
Сообщение #156


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 17
Регистрация: 13.1.2011
Вне форума


Репутация:   0  


еще раз про RGB я прото читал эт статью http://www.radiohlam.ru/teory/shim_3ch.htm
там код на асемблере , думаю как описать это на picbasic
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 3.10.2011, 21:22
Сообщение #157


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

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

Репутация:   263  


Один из вариантов - переключать выходные уровни по прерыванию от внутр. таймера.
Или подобрать контроллер с соответствующим кол-вом ССР модулей на борту, напр. PIC16F737 содержит 3 таких модуля, а некоторые из серий PIC24 и dsPIC - до 8-и
Для этого случая в PicBasic есть команда HPWM.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
BoomeR
сообщение 3.1.2012, 21:20
Сообщение #158


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 36
Регистрация: 11.2.2011
Из: Шуя
Вне форума


Репутация:   0  


SSh, вы ни когда не писали или не встречались с программами на микробэйсике под контроллер пик16ф873 для ключа iButton? Интересно как считывать с него код.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 3.1.2012, 21:38
Сообщение #159


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

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

Репутация:   263  


iButton работает по протоколу OneWare, MikroBasic имеет соотв. библиотеки.
Такой девайс у меня уже давно валяется - никак времени не выберу поковыряться, да в принципе не было пока необходимости.
А какой пик - не важно...
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
SSh
сообщение 3.1.2012, 21:42
Сообщение #160


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

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

Репутация:   263  


Посмотри еще здесь
http://www.mikroe.com/forum/search.php?key...author=&fid[]=142&sc=1&sf=all&sk=t&sd=d&sr=posts&st=0&ch=300&t=0&submit=Search
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post

10 страниц V  « < 6 7 8 9 10 >
Fast ReplyReply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 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 или "Ленивые поворотники"