Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое, как на картинке. Вопрос, каким образом, можно по портуБ передать на ЖКИ 4 бита данных, не затрагивая остальные 4 вывода, на которых уже выставлены управляющие биты. Вариант с перенастройкой этих портов на ввод не прошел, работает некорректно. Вариант с масками пробовал, тоже не прошло или я просто неверно делал. Как еще можно сделать. Пишу на СИ, проц PIC16F84A, ЖКИ LM016L
- Вложения
-
- Сн4имок.JPG
- (91.85 КБ) 289 скачиваний
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Reaper666 писал(а):Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое
1) Чтение
2) Модификация
3) Запись
как вы пробовали с маской приведите код.
Ставим плюсы: )
Re: Мелкие вопросы по МК и ПЛИС.
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: Мелкие вопросы по МК и ПЛИС.
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;
Надо всегда помнить, что операции чтение-модификация-запись коварны. Наверное, вам еще рано об этом, но отложите себе на заметку пунктик "Атомарные операции".
С уважением,
Виктор.
Виктор.
Re: Мелкие вопросы по МК и ПЛИС.
сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Tell Me The Truth
Re: Мелкие вопросы по МК и ПЛИС.
Понять не могу. Есть вот такая схемка. Если залить в нее одну программу, то она отлично работает, все выводит( а выводит она на индикатор числа от 1 до 9). Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку. Создал другой проект, подключил к ней сию библиотеку, скомпилировал, заливаю HEX-файл в Proteus, и на индикаторе ничего нет. Причем судя по светодиодам, все биты выкинулись, но на индикаторе ничего нет. В чем может быть проблема?
- Вложения
-
- Сним4ок.JPG
- (97.48 КБ) 290 скачиваний
Re: Мелкие вопросы по МК и ПЛИС.
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
И поставьте себя на наше место.
И как оно?
С уважением,
Виктор.
Виктор.
Re: Мелкие вопросы по МК и ПЛИС.
Неопознанное устройство в среде Windows работать не может. В любой ее версии. Повлиять это на работу не может, скорее влияет на НЕ работу.FreshMan писал(а):сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
С уважением,
Виктор.
Виктор.
Re: Мелкие вопросы по МК и ПЛИС.
ut1wpr писал(а):Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
И поставьте себя на наше место.
И как оно?
Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
- Вложения
-
- Новая папка.rar
- (126.93 КБ) 132 скачивания
Re: Мелкие вопросы по МК и ПЛИС.
Всем привет!
Кто-нибудь знает точное физическое устройство порта Тиньки (Тини25)?
Вопрос вот в чем. Девайс будет устроен так, что напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор). Для ее запуска ее надо первоначально запитать. Кроме того, имеется единственная кнопка управления, которая одновременно будет подавать и питание. Поидее на ногу питания Тиньки нужно поставить сдвоенный диод с ОК - на 1 диод питание с выхода DC-DC, на другой - с порта к которому подключена кнопка. Но внутри МК, как я понимаю, порт защищен двумя диодами (1 на землю и 1 на плюс). Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток) и можно ли не ставить диод между портом и ногой питания, а использовать вместо него внутренний диод? Кстати если ставить внешний, то Шоттки не прокатит - обратный ток может создать потенциал на порте кнопки (тут еще надо думать как и чего).
Кароче, интересуют характеристики внутреннего диода их нормированность и вообще наличие и обязательность этого диода в Тиньках разных выпусков.
По идее, на порт можно подавать VCC+0,5. Но кнопка через резик будет и в итоге при запуске на порте будет 5 В, а на ноге VCC - 5В - 0,5. Основное питание в установившемся режиме будет 3,3 В. Кстати запускать можно и не 5-ю вольтами - стабилитрон любой можно воткнуть.
Кто-нибудь знает точное физическое устройство порта Тиньки (Тини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: Мелкие вопросы по МК и ПЛИС.
aam писал(а):Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток)
Чё-то кроме максимальных 40 мА на порт ни слова...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
aam писал(а):напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор).
Вечный двигатель?
Docendo discimus
Re: Мелкие вопросы по МК и ПЛИС.
Ну 40 мА - это порт выдавать может. К диодам это не относится.
К диодам относится фраза Uin_max=VCC+0,5, которая говорит, что диоды не шоттки (0,5 В) и при превышении этого порога открываются. Но это ограничение ведь относится к источнику сигнала с низким внутренним сопротивлением. А у меня ведь кнопка будет подключена к источнику питания (вольт 9) через резистор и посажена на землю через стабилитрон. Поэтому при ее нажатии ток через внутренний диод будет ограничен. Кроме того, в момент запуска этот ток не может превышать потребляемого тока проца, т. е. примерно 10 - 30 мА, т. к. других источников пока нет.
Т. е. теоретически вроде все норм должно быть. А как на практике...
А практически, я как-то глядя на схему К1446ПН1, решил что если последовательно с входом ОС воткнуть резик, я повышу выходное напряжение. Итог - 2 спаленных микрухи.
Нет, ШИМ-стабилизатор с управлением от того же проца
К диодам относится фраза Uin_max=VCC+0,5, которая говорит, что диоды не шоттки (0,5 В) и при превышении этого порога открываются. Но это ограничение ведь относится к источнику сигнала с низким внутренним сопротивлением. А у меня ведь кнопка будет подключена к источнику питания (вольт 9) через резистор и посажена на землю через стабилитрон. Поэтому при ее нажатии ток через внутренний диод будет ограничен. Кроме того, в момент запуска этот ток не может превышать потребляемого тока проца, т. е. примерно 10 - 30 мА, т. к. других источников пока нет.
Т. е. теоретически вроде все норм должно быть. А как на практике...
А практически, я как-то глядя на схему К1446ПН1, решил что если последовательно с входом ОС воткнуть резик, я повышу выходное напряжение. Итог - 2 спаленных микрухи.
pyzhman писал(а):Вечный двигатель?
Нет, ШИМ-стабилизатор с управлением от того же проца
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
aam писал(а):Ну 40 мА - это порт выдавать может.
Там нет ни слова про "может выдавать"
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
Наверняка найдутся люди, которые с удовольствием почитают и программу, и в Протезус заглянут. Тут много таких помощников, развивающих леность мысли и убожество будущих программистов. Вы считаете, что метод "Я вам выложил кучу всего, что я наваял, а вы за меня в этом разберитесь" - это правильный метод?Reaper666 писал(а):ut1wpr писал(а):Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Есть анекдот про машинистку, которая устраивается на работу. На вопрос, с какой скоростью она может печатать, она ответила "2000 букв в минуту" И тихо добавила "Но при этом такая ухня получается".. Не уподобляйтесь этой машинистке. Лучше написать несколько строк, но самому их довести до состояния рабочих, чем написать огромную программу и подкинуть людям, авось разберутся.
Извините за такое отступление. И попрошу не обижаться.
С уважением,
Виктор.
Виктор.
Re: Мелкие вопросы по МК и ПЛИС.
А что будет питаться от этого стабилизатора? Сама Тинька?! А где она возьмет напряжение для старта? А откуда и какое напряжение на входе ШИМ-регулятора? А просто стабилизатор поставить на питание Тиньки уже не в моде? Не понимаю глубинного смысла этой эстетики. Наверное мсье знает толк в извращениях...aam писал(а):Нет, ШИМ-стабилизатор с управлением от того же проца
С уважением,
Виктор.
Виктор.
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
ut1wpr писал(а):А где она возьмет напряжение для старта?
В том-то и был вопрос, запитать Тиньку через защитные диоды.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
Дык понятно. Вопрос был, откуда напряжение запуска? От ветрогенератора, от солдат-мотора? От зарядов шерсти кота сторожихи?Gudd-Head писал(а):В том-то и был вопрос, запитать Тиньку через защитные диоды.
С уважением,
Виктор.
Виктор.
Re: Мелкие вопросы по МК и ПЛИС.
Gudd-Head писал(а):ut1wpr писал(а):А где она возьмет напряжение для старта?
В том-то и был вопрос, запитать Тиньку через защитные диоды.
Отвратительная идея... это по глупости и незнанию...
У АВР убого слабые защитные диоды и ненадёжные подтяжки...
"Я не даю готовых решений, я заставляю думать!"(С)
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Для полноты понимания идеи предлагаю составить схему этого чуда, возможно при составлении просветление само наступит?
Если что есть неплохие стабилизаторы, вполне удачно используемые для работы с Мк
Если что есть неплохие стабилизаторы, вполне удачно используемые для работы с Мк