Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Reaper666
Открыл глаза
Сообщения: 50
Зарегистрирован: Пн ноя 05, 2012 03:40:39

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Reaper666 »

Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое, как на картинке. Вопрос, каким образом, можно по портуБ передать на ЖКИ 4 бита данных, не затрагивая остальные 4 вывода, на которых уже выставлены управляющие биты. Вариант с перенастройкой этих портов на ввод не прошел, работает некорректно. Вариант с масками пробовал, тоже не прошло или я просто неверно делал. Как еще можно сделать. Пишу на СИ, проц PIC16F84A, ЖКИ LM016L
Вложения
Сн4имок.JPG
(91.85 КБ) 289 скачиваний
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ibiza11 »

Reaper666 писал(а):Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое

1) Чтение
2) Модификация
3) Запись
как вы пробовали с маской приведите код.
Ставим плюсы: )
Reaper666
Открыл глаза
Сообщения: 50
Зарегистрирован: Пн ноя 05, 2012 03:40:39

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 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 выставляется, что мне вообще не нужно.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 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, но это ухудшит читаемость программы, ее понимание. А в результате компилятор все равно что-то подобное сам создаст.
Надо всегда помнить, что операции чтение-модификация-запись коварны. Наверное, вам еще рано об этом, но отложите себе на заметку пунктик "Атомарные операции".
С уважением,
Виктор.
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение FreshMan »

сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Tell Me The Truth
Reaper666
Открыл глаза
Сообщения: 50
Зарегистрирован: Пн ноя 05, 2012 03:40:39

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Reaper666 »

Понять не могу. Есть вот такая схемка. Если залить в нее одну программу, то она отлично работает, все выводит( а выводит она на индикатор числа от 1 до 9). Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку. Создал другой проект, подключил к ней сию библиотеку, скомпилировал, заливаю HEX-файл в Proteus, и на индикаторе ничего нет. Причем судя по светодиодам, все биты выкинулись, но на индикаторе ничего нет. В чем может быть проблема?
Вложения
Сним4ок.JPG
(97.48 КБ) 290 скачиваний
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?
И поставьте себя на наше место.
И как оно?
С уважением,
Виктор.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

FreshMan писал(а):сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Неопознанное устройство в среде Windows работать не может. В любой ее версии. Повлиять это на работу не может, скорее влияет на НЕ работу.
С уважением,
Виктор.
Reaper666
Открыл глаза
Сообщения: 50
Зарегистрирован: Пн ноя 05, 2012 03:40:39

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Reaper666 »

ut1wpr писал(а):
Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?
И поставьте себя на наше место.
И как оно?


Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Вложения
Новая папка.rar
(126.93 КБ) 132 скачивания
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение aam »

Всем привет!
Кто-нибудь знает точное физическое устройство порта Тиньки (Тини25)?
Вопрос вот в чем. Девайс будет устроен так, что напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор). Для ее запуска ее надо первоначально запитать. Кроме того, имеется единственная кнопка управления, которая одновременно будет подавать и питание. Поидее на ногу питания Тиньки нужно поставить сдвоенный диод с ОК - на 1 диод питание с выхода DC-DC, на другой - с порта к которому подключена кнопка. Но внутри МК, как я понимаю, порт защищен двумя диодами (1 на землю и 1 на плюс). Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток) и можно ли не ставить диод между портом и ногой питания, а использовать вместо него внутренний диод? Кстати если ставить внешний, то Шоттки не прокатит - обратный ток может создать потенциал на порте кнопки (тут еще надо думать как и чего).
Кароче, интересуют характеристики внутреннего диода их нормированность и вообще наличие и обязательность этого диода в Тиньках разных выпусков.
По идее, на порт можно подавать VCC+0,5. Но кнопка через резик будет и в итоге при запуске на порте будет 5 В, а на ноге VCC - 5В - 0,5. Основное питание в установившемся режиме будет 3,3 В. Кстати запускать можно и не 5-ю вольтами - стабилитрон любой можно воткнуть.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

aam писал(а):Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток)

Чё-то кроме максимальных 40 мА на порт ни слова...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

aam писал(а):напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор).

Вечный двигатель?
Docendo discimus
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение aam »

Ну 40 мА - это порт выдавать может. К диодам это не относится.
К диодам относится фраза Uin_max=VCC+0,5, которая говорит, что диоды не шоттки (0,5 В) и при превышении этого порога открываются. Но это ограничение ведь относится к источнику сигнала с низким внутренним сопротивлением. А у меня ведь кнопка будет подключена к источнику питания (вольт 9) через резистор и посажена на землю через стабилитрон. Поэтому при ее нажатии ток через внутренний диод будет ограничен. Кроме того, в момент запуска этот ток не может превышать потребляемого тока проца, т. е. примерно 10 - 30 мА, т. к. других источников пока нет.
Т. е. теоретически вроде все норм должно быть. А как на практике...
А практически, я как-то глядя на схему К1446ПН1, решил что если последовательно с входом ОС воткнуть резик, я повышу выходное напряжение. Итог - 2 спаленных микрухи.

pyzhman писал(а):Вечный двигатель?

Нет, ШИМ-стабилизатор с управлением от того же проца :)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

aam писал(а):Ну 40 мА - это порт выдавать может.

Там нет ни слова про "может выдавать" :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

Reaper666 писал(а):
ut1wpr писал(а):Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Наверняка найдутся люди, которые с удовольствием почитают и программу, и в Протезус заглянут. Тут много таких помощников, развивающих леность мысли и убожество будущих программистов. Вы считаете, что метод "Я вам выложил кучу всего, что я наваял, а вы за меня в этом разберитесь" - это правильный метод?
Есть анекдот про машинистку, которая устраивается на работу. На вопрос, с какой скоростью она может печатать, она ответила "2000 букв в минуту" И тихо добавила "Но при этом такая ухня получается".. Не уподобляйтесь этой машинистке. Лучше написать несколько строк, но самому их довести до состояния рабочих, чем написать огромную программу и подкинуть людям, авось разберутся.
Извините за такое отступление. И попрошу не обижаться.
С уважением,
Виктор.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

aam писал(а):Нет, ШИМ-стабилизатор с управлением от того же проца :)
А что будет питаться от этого стабилизатора? Сама Тинька?! А где она возьмет напряжение для старта? А откуда и какое напряжение на входе ШИМ-регулятора? А просто стабилизатор поставить на питание Тиньки уже не в моде? Не понимаю глубинного смысла этой эстетики. Наверное мсье знает толк в извращениях...
С уважением,
Виктор.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

ut1wpr писал(а):А где она возьмет напряжение для старта?

В том-то и был вопрос, запитать Тиньку через защитные диоды.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

Gudd-Head писал(а):В том-то и был вопрос, запитать Тиньку через защитные диоды.
Дык понятно. Вопрос был, откуда напряжение запуска? От ветрогенератора, от солдат-мотора? От зарядов шерсти кота сторожихи? :) А то я, грешным делом, подумал что мы пристутствуем на рождении очередного перпетуй-мобиля... :)
С уважением,
Виктор.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение HHIMERA »

Gudd-Head писал(а):
ut1wpr писал(а):А где она возьмет напряжение для старта?

В том-то и был вопрос, запитать Тиньку через защитные диоды.

Отвратительная идея... это по глупости и незнанию...
У АВР убого слабые защитные диоды и ненадёжные подтяжки...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Для полноты понимания идеи предлагаю составить схему этого чуда, возможно при составлении просветление само наступит?
Если что есть неплохие стабилизаторы, вполне удачно используемые для работы с Мк
Ответить

Вернуться в «Разные вопросы по МК»