Микроконтроллеры |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Микроконтроллеры |
3.1.2012, 21:47
Сообщение
#161
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 36 Регистрация: 11.2.2011 Из: Шуя Вне форума Репутация: 0 |
А готовую прогу не знаете где глянуть? Я не пойму как считать и сравнить с кодом, мне нужно самое простое, что бы только один ключ был, мне не нужно как в основном везде мастер ключ, и кнопка для записи доп. ключей, мне как бы сразу код ключа в прогу вбить и что бы сравнивал. а в библиотеке я ни как не разберусь, как пользоваться этой функцией
|
|
|
5.1.2012, 22:36
Сообщение
#162
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Готовая прога, правда на Паскале, но легко адаптировать для MikroBasic
http://www.mikroe.com/forum/viewtopic.php?p=17700#p17700 А вот для старой версии MB http://www.mikroe.com/forum/viewtopic.php?t=107 |
|
|
14.2.2012, 9:47
Сообщение
#163
|
|
Супер Технический Маньяк Группа: Администраторы Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: 57 |
Сергей (Ssh) привет!
Я нашел схемку LC-1 http://forum.amadeus-project.com/index.php...&start=1880 чип atmega64 что можешь сказать по деталькам и чипу ?? Чем его шить ? что за что отвечает? |
|
|
14.2.2012, 10:40
Сообщение
#164
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 1802 Регистрация: 21.2.2009 Из: Екатеринбург Вне форума Авто: Lancer IX 1.6MT (105HP) Репутация: 108 |
AVR-ки (в том числе меги) шьются хоть даже пятью проводами в LPT порт. Или, как недавно выяснилось, PicKit-ом вторым.
|
|
|
14.2.2012, 11:40
Сообщение
#165
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Если надо прошить всего раз, то как уже Дима сказал - 5 проводков+LPT порт. - http://www.getchip.net/posts/delaem-lpt-pr...rokontrollerov/
Проверить как работает PicKit к сожалению так и не удалось... Еще, можно модифицированным программатором - http://forum.amadeus-project.com/index.php...ost&p=27523, который позволяет помимо программирования также реанимировать атмеги со случайно сброшенным внутренним осциллятором. Если-же хочется иметь что-то более фундаментальное, именно для прошивки AVR, то существуют множество схем USB программаторов, один из которых я и использую - http://forum.amadeus-project.com/index.php...ost&p=26472 . Последний, кстати, тоже имеет средства для восстановления сброшенных фьюзов. |
|
|
12.4.2013, 14:02
Сообщение
#166
|
|
Технический Маньяк-Гуру Группа: Технический Маньяк Сообщений: 1724 Регистрация: 15.10.2009 Из: Москва, п. Монино Вне форума Репутация: 8 |
Собираюсь на МК сделать это - http://forum.amadeus-project.com/index.php?showtopic=7777
Посоветуйте, как включать мощное реле (которое надо ещё найти) через МК (IMG:style_emoticons/default/smile.gif) |
|
|
29.11.2013, 21:50
Сообщение
#167
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 32 Регистрация: 6.4.2012 Вне форума Авто: subaru Репутация: 0 |
всем привет
начал тему в другой ветке http://forum.amadeus-project.com/index.php?showtopic=9283 но SSh послал меня сюда (IMG:style_emoticons/default/biggrin.gif) за что ему огромное спасибо. немного почитав ветку, написал программку в микробейсике. Это моя первая проба пера, поэтому прошу взглянуть на допущенные ошибки. места в которых я сомневаюсь выделил красным. program cruise dim btn as byte 'ONOFF > GPIO.0 'SETCOAST > GPIO.1 'RESACC > GPIO.2 'BUTTONS > GPIO.4 AN3 'CALL > GPIO.5 main:' Main program TRISIO = %010000 ' GP4 вход, остальное выход CMCON = %00000111' компоратор выключить ADCON0 = %00001101 ' левое выравнивание, опорное напряжение vdd, AN3, преобразование не выполняется, включить АЦП ANSEL = %01011000 ' Fosc/16 понятия не имею зачем, AN3 аналоговый, GPIO = 0 CLEAR while (TRUE) btn = ADC_Read (0) ' считать заначение АЦП AN3 возможно ошибся с адресом в скобках if btn <= 45 then GPIO.0 = %1 'если нажата кнопка ON/OFF (АЦП 0-45) то на выходе GPIO.0 установить лог. 1 end if if btn > 45 then if btn <= 148 then if GPIO.0 = %1 then 'если нажата кнопка CANCEL (АЦП 46-148) то проверяем состяние GPIO.0 GPIO.0 = 0 'если на выходе 1 то сбрасываем на 0 Delay_ms(200) 'ждем немного GPIO.0 = %1 'и возвращаем 1 на место end if end if end if if btn > 148 then 'если нажата кнопка RES/ACC (АЦП 148-256) if btn <= 256 then 'то на выходе GPIO.2 установить лог. 1 GPIO.2 = %1 end if end if if btn > 256 then 'если нажата кнопка RES/ACC (АЦП 256-377) if btn <= 377 then 'то на выходе GPIO.5 установить лог. 1 GPIO.5 = %1 end if end if if btn > 377 then 'если нажата кнопка RES/ACC (АЦП 377-589) if btn <= 589 then 'то на выходе GPIO.1 установить лог. 1 GPIO.1 = %1 end if end if if btn > 589 then ' если ничего не нажато GPIO.1 = 0 ' то сбрасываем на 0 все выходы GPIO.2 = 0 ' кроме GPIO.0 GPIO.5 = 0 end if wend end. |
|
|
30.11.2013, 7:15
Сообщение
#168
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Так, на первый взгляд...
1. Переменная btn не может быть byte, т.к. принимает значения больше 255, тип должен быть word 2. Число в скобках функции АЦП означает номер канала, для AN3 должно быть ADC_Read(3) 3. Для установки порта знак процента не нужен, т.е. пишем так GPIO.0 = 1 |
|
|
30.11.2013, 9:24
Сообщение
#169
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 32 Регистрация: 6.4.2012 Вне форума Авто: subaru Репутация: 0 |
Так, на первый взгляд... 1. Переменная btn не может быть byte, т.к. принимает значения больше 255, тип должен быть word 2. Число в скобках функции АЦП означает номер канала, для AN3 должно быть ADC_Read(3) 3. Для установки порта знак процента не нужен, т.е. пишем так GPIO.0 = 1 Спасибо. тогда еще вопросы (IMG:style_emoticons/default/smile.gif) 1)можно ли со значением word производить математические операции? в данном случае сравнение? 2) как загрубить значение с АЦП с 10 до 8 бит? 3) по команде GPIO.0 = 1, вывод GPIO.0 переходит в лог. 1 и остается в таком состоянии до тех пор пока не будет соответствующей команды, все верно? |
|
|
30.11.2013, 14:25
Сообщение
#170
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
1. Конечно можно
2. Честно говоря не знаю, позволяют-ли это pic12-e. Надо будет попробовать в PicBasic-e, там разрядность выбирается одним оператором DEFINE. 3. Да, пока не сбросишь остаются в установленном состоянии. |
|
|
3.12.2013, 9:39
Сообщение
#171
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 32 Регистрация: 6.4.2012 Вне форума Авто: subaru Репутация: 0 |
1. Конечно можно 2. Честно говоря не знаю, позволяют-ли это pic12-e. Надо будет попробовать в PicBasic-e, там разрядность выбирается одним оператором DEFINE. 3. Да, пока не сбросишь остаются в установленном состоянии. Получилась вот такая программа (во вложении). создаю проект, генерируется файл заливаю его в PIC. И ничего не происходит (IMG:style_emoticons/default/sad.gif) попробовал совсем простенькие прошивки, с текстом GPIO=1, чтобы просто зажечь светодиоды. но ничего не происходит. есть ли какие-нибудь нюансы компиляции в HEX ? Использую программатор autoprog и его встроенный софт (раньше всегда использовал WinPic800 и JDM программатор). автопроговский софт почему-то не читает последние два байта (там где хранится калибровочное значение), но зато есть параметр (забыл как наз-ся, что-то типа конфигурация МК) состоящий почему-то из 14 бит, есть подозрение, что я нечаянно его затер, когда я разбирался с софтом. Самое интересное, что когда я его правлю и записываю в МК, то записываетя непонятно какое значение, а не то что что я написал. Вообще пик со стертым/неправильным калибровочным значением может работать без внешнего тактового генератора? PS сегодня вытащу из машины рабочую микросхемку и продолжу на ней эксперименты. Cruise.txt ( 2,11 килобайт ) Кол-во скачиваний: 541 |
|
|
3.12.2013, 10:56
Сообщение
#172
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Если выберу время проверю на макетнице, но быстро не обещаю, хотя и не исключаю (IMG:style_emoticons/default/wink.gif)
Со стертой OSCCAL константой внутренний генератор работать будет |
|
|
4.12.2013, 10:24
Сообщение
#173
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 32 Регистрация: 6.4.2012 Вне форума Авто: subaru Репутация: 0 |
Если выберу время проверю на макетнице, но быстро не обещаю, хотя и не исключаю (IMG:style_emoticons/default/wink.gif) Со стертой OSCCAL константой внутренний генератор работать будет Разобрался я что за слово конфигурации PIC в автопроговском софте - это биты конфигурации, которые в winpic800 заполнялись чекбоксами. Самое интерсное, что при ститирании МК софтина стирает и биты конфигурации, для того чтобы это понять надо считать биты конфигурации заново убедится что они стерты и заново записать. Причем в даташите на пик написно что есть три неиспользуемых бита и они должны считываться как единицы, а они считываются как нули. а вот последние два байта, где храниться калибровка я по прежнему не нашел способа как считать (IMG:style_emoticons/default/smile.gif) А еще софт програматора не понимал hex, поэтому хексовые прошики он воспринимал как бинарники и что попало записывал. надо экспортом подготавливать файлик, тогда все ок. пока итог такой: собрал тестовую схемку с одним светодиодом. загрузил готовую програмку из инета. работает - светодиод моргает а вот мои программы работать не хотят (IMG:style_emoticons/default/sad.gif) написал простенькую программу типа GPIO = 1 задержка, GPIO = 0 . но ничего не работает (IMG:style_emoticons/default/sad.gif) можешь выложить, если есть под рукой, тестовую програмку (моргание диодом) исходник микробайсиковый и хекс. может у меня на стадии компиляции что-то не так или может я пишу плохо (IMG:style_emoticons/default/smile.gif) |
|
|
4.12.2013, 14:23
Сообщение
#174
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
На MikroBasic ничего подходящего (готового) нет под рукой, есть мигалка на PicBasic Pro, здесь светодиоды подключены через транзисторные ключи, можно сажать и непосредственно на порты, если ограничить ток на уровне допустимого.
FlashLight.rar ( 23,21 килобайт ) Кол-во скачиваний: 220 Видео работы где-то выкладывал, чтоб не искать... https://www.youtube.com/watch?v=LxnY1Fkf9tE Константу OSCCAL не затирают фирменные программаторы от Microchip, напр. PicKit (на видео виден кусочек (IMG:style_emoticons/default/smile.gif) ) Ну и считывают естественно. Помимо этого PicKit имеет средства восстановления указанной константы, правда не знаю насколько верно она восстанавливается, хотя могу и проверить (IMG:style_emoticons/default/wink.gif) |
|
|
4.12.2013, 21:58
Сообщение
#175
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 32 Регистрация: 6.4.2012 Вне форума Авто: subaru Репутация: 0 |
На MikroBasic ничего подходящего (готового) нет под рукой, есть мигалка на PicBasic Pro, здесь светодиоды подключены через транзисторные ключи, можно сажать и непосредственно на порты, если ограничить ток на уровне допустимого. FlashLight.rar ( 23,21 килобайт ) Кол-во скачиваний: 220 Видео работы где-то выкладывал, чтоб не искать... https://www.youtube.com/watch?v=LxnY1Fkf9tE Константу OSCCAL не затирают фирменные программаторы от Microchip, напр. PicKit (на видео виден кусочек (IMG:style_emoticons/default/smile.gif) ) Ну и считывают естественно. Помимо этого PicKit имеет средства восстановления указанной константы, правда не знаю насколько верно она восстанавливается, хотя могу и проверить (IMG:style_emoticons/default/wink.gif) заработало. проблема была связана с особенностями программатора. Теперь вопрос как побороть дребезг кнопок? |
|
|
4.12.2013, 22:15
Сообщение
#176
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
Аппаратно - шунтированием кнопок небольшими емкостями или программно - введением задержек.
В PicBasic есть даже отдельная команда, учитывающая дребезг - BUTTON. Или см. одноименную комаанду в MikroBasic. |
|
|
4.12.2013, 22:27
Сообщение
#177
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 32 Регистрация: 6.4.2012 Вне форума Авто: subaru Репутация: 0 |
Аппаратно - шунтированием кнопок небольшими емкостями или программно - введением задержек. В PicBasic есть даже отдельная команда, учитывающая дребезг - BUTTON. Или см. одноименную комаанду в MikroBasic. Button ведь работает только с логической кнопкой? а не АЦП как в моем случае? и похоже дело не в дребезге, а в том, что в моей программе нет проверки какая клавиша была нажата, если нажать клавишу on\off, то выход преключится на 1 пройдет цикл переключится на 0 и так до бесконечности пока не отпущу кнопку, а надо чтобы "залипало" |
|
|
4.12.2013, 22:42
Сообщение
#178
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
А, ну если для аналогового входа, то тогда дребезг подавлять, конечно, не надо.
Для того, чтобы состояние порта "залипало" можно ввести доп. переменную, которая устанавливается нажатием кнопки on-off, и сбрасывается только при отпускании этой кнопки. И устанавливать GPIO.0 только если переменная сброшена. |
|
|
4.12.2013, 23:10
Сообщение
#179
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 32 Регистрация: 6.4.2012 Вне форума Авто: subaru Репутация: 0 |
А, ну если для аналогового входа, то тогда дребезг подавлять, конечно, не надо. Для того, чтобы состояние порта "залипало" можно ввести доп. переменную, которая устанавливается нажатием кнопки on-off, и сбрасывается только при отпускании этой кнопки. И устанавливать GPIO.0 только если переменная сброшена. ага, примерно так и сделал, и еще одну сделаю потом на кнопку cancel. нравится мне это начинает (IMG:style_emoticons/default/smile.gif) столько задумок в голове появилось несколько раз начинал читать книжки по пикам и бросал. слишком много вводной информации. а тут другое дело (IMG:style_emoticons/default/smile.gif) все довольно непринужденно, легкий толчок к дальнейшему изучению. в общем, спасибо тебе (IMG:style_emoticons/default/good.gif) |
|
|
5.12.2013, 6:17
Сообщение
#180
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения На форуме Авто: Lancer IX, AT Репутация: 263 |
(IMG:style_emoticons/default/drinks.gif) (IMG:style_emoticons/default/smile.gif)
А еще глянь на PicBAsic Pro. Все выложенные здесь на форуме проекты на нем. Имеет одно неоспоримое достоинство - команду определения длительности импульса - Pulsin, которая отсутствует в MikroBasic-e. Точность и диапазон измерений, конечно, невелики, но для кое-каких авто-устройств - самое то (IMG:style_emoticons/default/smile.gif) |
|
|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2024 Форум Технических Маньяков. |
|