Страница 380 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн ноя 12, 2012 23:14:03
Reaper666
Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое, как на картинке. Вопрос, каким образом, можно по портуБ передать на ЖКИ 4 бита данных, не затрагивая остальные 4 вывода, на которых уже выставлены управляющие биты. Вариант с перенастройкой этих портов на ввод не прошел, работает некорректно. Вариант с масками пробовал, тоже не прошло или я просто неверно делал. Как еще можно сделать. Пишу на СИ, проц PIC16F84A, ЖКИ LM016L
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 00:45:42
ibiza11
Reaper666 писал(а):Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое
1) Чтение
2) Модификация
3) Запись
как вы пробовали с маской приведите код.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 07:35:03
Reaper666
ibiza11 писал(а):Reaper666 писал(а):Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое
1) Чтение
2) Модификация
3) Запись
как вы пробовали с маской приведите код.
PORTB=0;
E=1; // разрешаем запись
out=0xC1; // Установка второй строки
out = (out << 4) | (out >> 4); // меняем тетрады местами
out1 = out | PORTB; // устанавливаем единицы там, где они должны быть
PORTB=out1; // выплевываем значнием на вывод
E=0; // отрубаем запись
PORTB=0; // вычищаем портб
_delay(2);
E=1; // снова врубаем запись
out = (out << 4) | (out >> 4); // меняем тетрады местами
out1 = out | PORTB; // и вот тут получается чехарда, потому что out=11000001 и при логическом ИЛИ переменной и портаБ на выходе окажется значение 11100001. Оно бы хорошо, но таким образом бит RS и RW выставляется, что мне вообще не нужно.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 08:26:45
ut1wpr
Reaper666 писал(а):
PORTB=0;
E=1; // разрешаем запись
out=0xC1; // Установка второй строки
out = (out << 4) | (out >> 4); // меняем тетрады местами
out1 = out | PORTB; // устанавливаем единицы там, где они должны быть
PORTB=out1; // выплевываем значнием на вывод
E=0; // отрубаем запись
PORTB=0; // вычищаем портб
_delay(2);
E=1; // снова врубаем запись
out = (out << 4) | (out >> 4); // меняем тетрады местами
out1 = out | PORTB; // и вот тут получается чехарда, потому что out=11000001 и при логическом ИЛИ переменной и портаБ на выходе окажется значение 11100001. Оно бы хорошо, но таким образом бит RS и RW выставляется, что мне вообще не нужно.
Код: Выделить всё
data = 0xС1;
out = (data >> 4) & 0x0F;
PORTB = (PORTB & 0xF0) | out;
out = data & 0x0F;
PORTB = (PORTB & 0xF0) | out;
Компилятор сам создаст дополнительную переменную, в которую будет считывать значение порта, модифицировать эту переменную и снова выводить в порт. Маска данных с порта нужна для того, чтобы оставлять нетронутыми биты управления, а младший ниббл обнулять, перед сложением с данными. Можно при записи программы вообще обходится без переменной out, но это ухудшит читаемость программы, ее понимание. А в результате компилятор все равно что-то подобное сам создаст.
Надо всегда помнить, что операции чтение-модификация-запись коварны. Наверное, вам еще рано об этом, но отложите себе на заметку пунктик "Атомарные операции".
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 14:03:24
FreshMan
сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 20:36:04
Reaper666
Понять не могу. Есть вот такая схемка. Если залить в нее одну программу, то она отлично работает, все выводит( а выводит она на индикатор числа от 1 до 9). Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку. Создал другой проект, подключил к ней сию библиотеку, скомпилировал, заливаю HEX-файл в Proteus, и на индикаторе ничего нет. Причем судя по светодиодам, все биты выкинулись, но на индикаторе ничего нет. В чем может быть проблема?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 20:43:30
ut1wpr
Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?
И поставьте себя на наше место.
И как оно?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 20:46:29
ut1wpr
FreshMan писал(а):сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Неопознанное устройство в среде Windows работать не может. В любой ее версии. Повлиять это на работу не может, скорее влияет на НЕ работу.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 13, 2012 20:59:21
Reaper666
ut1wpr писал(а):Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?
И поставьте себя на наше место.
И как оно?
Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 08:41:34
aam
Всем привет!
Кто-нибудь знает точное физическое устройство порта Тиньки (Тини25)?
Вопрос вот в чем. Девайс будет устроен так, что напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор). Для ее запуска ее надо первоначально запитать. Кроме того, имеется единственная кнопка управления, которая одновременно будет подавать и питание. Поидее на ногу питания Тиньки нужно поставить сдвоенный диод с ОК - на 1 диод питание с выхода DC-DC, на другой - с порта к которому подключена кнопка. Но внутри МК, как я понимаю, порт защищен двумя диодами (1 на землю и 1 на плюс). Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток) и можно ли не ставить диод между портом и ногой питания, а использовать вместо него внутренний диод? Кстати если ставить внешний, то Шоттки не прокатит - обратный ток может создать потенциал на порте кнопки (тут еще надо думать как и чего).
Кароче, интересуют характеристики внутреннего диода их нормированность и вообще наличие и обязательность этого диода в Тиньках разных выпусков.
По идее, на порт можно подавать VCC+0,5. Но кнопка через резик будет и в итоге при запуске на порте будет 5 В, а на ноге VCC - 5В - 0,5. Основное питание в установившемся режиме будет 3,3 В. Кстати запускать можно и не 5-ю вольтами - стабилитрон любой можно воткнуть.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 09:05:58
Gudd-Head
aam писал(а):Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток)
Чё-то кроме максимальных 40 мА на порт ни слова...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 09:34:42
pyzhman
aam писал(а):напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор).
Вечный двигатель?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 09:38:50
aam
Ну 40 мА - это порт выдавать может. К диодам это не относится.
К диодам относится фраза Uin_max=VCC+0,5, которая говорит, что диоды не шоттки (0,5 В) и при превышении этого порога открываются. Но это ограничение ведь относится к источнику сигнала с низким внутренним сопротивлением. А у меня ведь кнопка будет подключена к источнику питания (вольт 9) через резистор и посажена на землю через стабилитрон. Поэтому при ее нажатии ток через внутренний диод будет ограничен. Кроме того, в момент запуска этот ток не может превышать потребляемого тока проца, т. е. примерно 10 - 30 мА, т. к. других источников пока нет.
Т. е. теоретически вроде все норм должно быть. А как на практике...
А практически, я как-то глядя на схему К1446ПН1, решил что если последовательно с входом ОС воткнуть резик, я повышу выходное напряжение. Итог - 2 спаленных микрухи.
pyzhman писал(а):Вечный двигатель?
Нет, ШИМ-стабилизатор с управлением от того же проца

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 10:11:14
Gudd-Head
aam писал(а):Ну 40 мА - это порт выдавать может.
Там нет ни слова про "может выдавать"

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 12:58:50
ut1wpr
Reaper666 писал(а):ut1wpr писал(а):Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Наверняка найдутся люди, которые с удовольствием почитают и программу, и в Протезус заглянут. Тут много таких помощников, развивающих леность мысли и убожество будущих программистов. Вы считаете, что метод "Я вам выложил кучу всего, что я наваял, а вы за меня в этом разберитесь" - это правильный метод?
Есть анекдот про машинистку, которая устраивается на работу. На вопрос, с какой скоростью она может печатать, она ответила "2000 букв в минуту" И тихо добавила "Но при этом такая ухня получается".. Не уподобляйтесь этой машинистке. Лучше написать несколько строк, но самому их довести до состояния рабочих, чем написать огромную программу и подкинуть людям, авось разберутся.
Извините за такое отступление. И попрошу не обижаться.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 13:03:20
ut1wpr
aam писал(а):Нет, ШИМ-стабилизатор с управлением от того же проца

А что будет питаться от этого стабилизатора? Сама Тинька?! А где она возьмет напряжение для старта? А откуда и какое напряжение на входе ШИМ-регулятора? А просто стабилизатор поставить на питание Тиньки уже не в моде? Не понимаю глубинного смысла этой эстетики. Наверное мсье знает толк в извращениях...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 13:31:06
Gudd-Head
ut1wpr писал(а):А где она возьмет напряжение для старта?
В том-то и был вопрос, запитать Тиньку через защитные диоды.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 13:45:08
ut1wpr
Gudd-Head писал(а):В том-то и был вопрос, запитать Тиньку через защитные диоды.
Дык понятно. Вопрос был, откуда напряжение запуска? От ветрогенератора, от солдат-мотора? От зарядов шерсти кота сторожихи?

А то я, грешным делом, подумал что мы пристутствуем на рождении очередного перпетуй-мобиля...

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 16:18:05
HHIMERA
Gudd-Head писал(а):ut1wpr писал(а):А где она возьмет напряжение для старта?
В том-то и был вопрос, запитать Тиньку через защитные диоды.
Отвратительная идея... это по глупости и незнанию...
У АВР убого слабые защитные диоды и ненадёжные подтяжки...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт ноя 15, 2012 17:40:49
vitalik_1984
Для полноты понимания идеи предлагаю составить схему этого чуда, возможно при составлении просветление само наступит?
Если что есть
неплохие стабилизаторы, вполне удачно используемые для работы с Мк