Микроконтроллеры |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Микроконтроллеры |
15.9.2010, 14:36
Сообщение
#41
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Программа обычно должна работать в цикле, в выложенном примере цикл образуется командами while-wend
while true .... .... .... wend А можно и метками main: .... .... .... goto main В принципе да, любая программа если нет ветвлений выполняется построчно, т.е. грубо говоря если распознавание нажатия кнопки идет на 5-й строке, то сначала выполняются первые 4, потом только проверка нажатия. Но это происходит так быстро, что паузу не почувствуешь... |
|
|
15.9.2010, 15:37
Сообщение
#42
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
Ага, всё, цикл нашёл, спасибо. (IMG:style_emoticons/default/smile.gif) Про быстроту выполнения программы я тоже понял. Кстати установил себе МикроПаскаль взломанный, класс! Теперь привычный язык! (IMG:style_emoticons/default/smile.gif) ) Ещё вопросик. Как запустить микроконтроллером что-нибудь тяжёлое? Например моторчик 12В 500мА. Ведь если на транзистор NPN подать на базу с МК 5В то ведь он не полностью "откроется" если на коллекторе 12В?
Ещё вопрос по старту. Старт он всегда начинается сам когда на МК подаётся питание? Или нужно обязательно MCLR через 10кОм на + подавать? А если скажем программа без цикла, то тогда МК в конце встанет просто? И на старт его можно сбросом через MCLR? Какая тут вообще логика? (IMG:style_emoticons/default/smile.gif) |
|
|
15.9.2010, 15:47
Сообщение
#43
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Биполярные транзисторы вообще-то током управляются (IMG:style_emoticons/default/smile.gif) , т.е. если на коллекторе 500 мА и макс. выходной ток порта МК 10 мА, то надо ставить транзистор с соотв. допустимым током коллектора (лучше больше (IMG:style_emoticons/default/wink.gif) ) и коэффициэнтом усиления не менее 50.
Вот другое дело - полевики, есть же серия IRL - специально предназначенная для управления логическими уровнями до 5В. |
|
|
15.9.2010, 15:51
Сообщение
#44
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
MCLR в некоторых МК можно вообще переконфигурировать под обычный порт. А так, на него сажают через 5,6...10кОм напряжение питания.
Все остальное что ты написал - верно (IMG:style_emoticons/default/smile.gif) Насчет логики - кто его знает, мали ли что кому на ум взбредет. У меня все программы зациклены в бесконечный цикл. |
|
|
15.9.2010, 16:13
Сообщение
#45
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
Схемку бы конкретную с конкретными моделями (IMG:style_emoticons/default/blush.gif) (IMG:style_emoticons/default/blush.gif) (IMG:style_emoticons/default/blush.gif) (IMG:style_emoticons/default/happy.gif)
|
|
|
15.9.2010, 16:44
Сообщение
#46
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Транзистор, для описанного случая подойдет КТ972 и т.д. |
|
|
15.9.2010, 16:57
Сообщение
#47
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
А, ну так всё также как и с логическими элементами было. Просто меня смутило, что с лог элемента у нас +12В выходило, а тут будет только +5. Или это не страшно?
|
|
|
15.9.2010, 17:16
Сообщение
#48
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
У логического элемента выходит напряжение питания, если запитать его от 5В - столько же и выйдет (IMG:style_emoticons/default/smile.gif)
Но я же уже писал - биполярные транзисторы управляются током а не напряжением. Напряжение может быть очень маленьким - лишь бы пробить p-n переход, обычно надо 0,6...0,7В, а у германиевых транзисторов и того меньше... Посмотри что выдал мне собранный вчера приборчик: http://forum.amadeus-project.com/index.php...ost&p=42663 Uf=775m, это означает, что при 0,775В транзистор уже начинает открываться. Вот, другое дело - полевики, они как-раз управляются напряжением, и для открывания нужно 10...12В для популярной серии IRF. Но есть еще серия IRL которая и предназначена для работы с логич. уровнями. |
|
|
5.10.2010, 19:23
Сообщение
#49
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
Блин, сколько информации (IMG:style_emoticons/default/smile.gif) Подскажи что я делаю не так? mikroPascal Pro for PIC. По задумке должны мигать диоды с порта B, а если нажать на кнопку А0 (подать на неё 5В), то они должны замигать по другому в процессе держания кнопки. На деле же просто мигает первым вариантом и на кнопку не реагирует. +5В на пин точно по кнопке подаётся. МК PIC16F627. Демоплата.
Код program LED_Blinking;
begin TRISB:= %00000000; // set direction to be output TRISA:= %00001111; // set direction to be input While TRUE do begin PORTB:= %00101010; // Turn OFF diodes on PORTB Delay_ms(100); // 1 second delay PORTB:= %00010101; // Turn ON diodes on PORTB Delay_ms(100); // 1 second delay while PORTA.RA0 do begin PORTB:= %00000000; // Turn OFF diodes on PORTB Delay_ms(100); // 1 second delay PORTB:= %00111111; // Turn ON diodes on PORTB Delay_ms(100); // 1 second delay end; end; // Endless loop end. |
|
|
5.10.2010, 19:42
Сообщение
#50
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
С микропаскалем не знаком, хотя эти все компиляторы и похожи, но некоторые команды записываются по другому. Напр.заметил - while не ограничивается wend-oм. И еще PORTA.RA0 ? В паскале такая запись принята? В других компилляторах обозначается так PORTA.0
Далее - посмотри даташит на пик, не сидят ли на порту АЦП или компараторы? Если да - отключи. Притянут ли порт на землю? А осцилляторы выставлены правильно? |
|
|
5.10.2010, 19:57
Сообщение
#51
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Скачал Manual на Паскаль посмотрел. Цикл организован правильно, а вот обращение к порту надо PORTA.0
|
|
|
5.10.2010, 20:20
Сообщение
#52
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
Спасибо за подсказку, победил (IMG:style_emoticons/default/smile.gif) Надо было действительно выключить компаратор:
Код CMCON:= %00000111;
|
|
|
5.10.2010, 20:27
Сообщение
#53
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
(IMG:style_emoticons/default/smile.gif) Вот, начало положено. И совсем не сложно, так?
|
|
|
5.10.2010, 20:32
Сообщение
#54
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
Угу! (IMG:style_emoticons/default/smile.gif) Просто в Паскале-то я нормально соображаю - хорошо на Делфях пишу, да тут от Паскаля только язык, а по сути всё равно нужно знать что для чего... Но начало положено (IMG:style_emoticons/default/smile.gif)
|
|
|
5.10.2010, 20:38
Сообщение
#55
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Есть хороший ресурс с доп. библоитеками для паскаля, найду ссылку - выложу. А пока в принципе можешь поиграться с примерами из help-а, он хорошо продукоментирован.
И в разделе проектов на сайте есть много интересного... |
|
|
13.11.2010, 16:19
Сообщение
#56
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
А как заставить выдавать нашу плату звук? Допустим есть излучатели звука - http://lib.chipdip.ru/054/DOC000054699.pdf Я так понял, что одни представляют из себя чисто динамик (отдельно нужно подавать на него колеблюющееся напряжение), а другие динамик вместе с генератором волны (и усилителем?)? Мне нужно, чтобы просто пищало (для начала). Что лучше выбрать - с генератором или просто излучатель - без? И какие варианты подключения? Наверное пока для меня самый интересный вариант, чтобы использовать "play_sound(freq, time)" процедуру в МикроПаскале, т. е. беру излучатель без генератора, смотрю, сколько А макс он ест (80мА вижу) и также через транзисторный ключ подключаю? А на вывод МК посылаю "play_sound" - меандр с заданной частотой? Или всё сложнее?
|
|
|
13.11.2010, 16:26
Сообщение
#57
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
От блин, а как подавать с ножки МК скажем "-5В"? (IMG:style_emoticons/default/smile.gif) Это т. е. надо вторую ножку задействовать и подавать поочерёдно +5В? А одной ножкой можно обойтись? (IMG:style_emoticons/default/smile.gif) Можно как-нить типа "DC Offset" сделать? (IMG:style_emoticons/default/smile.gif) Или можно забить и колебать динамик только в одну сторону?
Чем отличаются пьезо от электромагнитных? (IMG:style_emoticons/default/smile.gif) |
|
|
13.11.2010, 17:09
Сообщение
#58
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Все верно, надо или взять со встроенным генератором и включать-выключать его подавая на него логич. уровень с вывода МК или чисто излучатель и подать на него однополярную (без -5В, только +) импульсную последовательность или тот же самый play_sound. 440 (880 и т.д.) Гц даст тебе ноту "Ля" (IMG:style_emoticons/default/smile.gif)
Пьезо от эл. магнитного этим самым и отличается, первый на пьезокристале, второй - с эл. магнитом, пьезо имеют большое входное сопротивление и потребляют незначительный ток. В связи с этим пьезо можно непосредственно, и без всяких развязывающих конденсаторов сажать на ноги МК. |
|
|
13.11.2010, 19:57
Сообщение
#59
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
Т. е. и пьезо и магнитные бывают и с генератором и без? А электромагнитный излучатель без генератора - по сути просто маленький динамик, как во всех колонках-наушниках?
|
|
|
13.11.2010, 20:29
Сообщение
#60
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Все верно (IMG:style_emoticons/default/smile.gif)
|
|
|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2024 Форум Технических Маньяков. |
|