- Вложения
-
- Сн4имок.JPG
- (91.85 КБ) 290 скачиваний
Мелкие вопросы по МК и ПЛИС.
- Сообщения: 50
- Зарегистрирован: Пн ноя 05, 2012 03:40:39
Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое, как на картинке. Вопрос, каким образом, можно по портуБ передать на ЖКИ 4 бита данных, не затрагивая остальные 4 вывода, на которых уже выставлены управляющие биты. Вариант с перенастройкой этих портов на ввод не прошел, работает некорректно. Вариант с масками пробовал, тоже не прошло или я просто неверно делал. Как еще можно сделать. Пишу на СИ, проц PIC16F84A, ЖКИ LM016L
- Реклама
1) ЧтениеReaper666 писал(а):Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое
2) Модификация
3) Запись
как вы пробовали с маской приведите код.
Ставим плюсы: )
- Сообщения: 50
- Зарегистрирован: Пн ноя 05, 2012 03:40:39
PORTB=0;ibiza11 писал(а):1) ЧтениеReaper666 писал(а):Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое
2) Модификация
3) Запись
как вы пробовали с маской приведите код.
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 выставляется, что мне вообще не нужно.
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
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;
Надо всегда помнить, что операции чтение-модификация-запись коварны. Наверное, вам еще рано об этом, но отложите себе на заметку пунктик "Атомарные операции".
С уважением,
Виктор.
Виктор.
сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Tell Me The Truth
- Реклама
- Сообщения: 50
- Зарегистрирован: Пн ноя 05, 2012 03:40:39
Понять не могу. Есть вот такая схемка. Если залить в нее одну программу, то она отлично работает, все выводит( а выводит она на индикатор числа от 1 до 9). Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку. Создал другой проект, подключил к ней сию библиотеку, скомпилировал, заливаю HEX-файл в Proteus, и на индикаторе ничего нет. Причем судя по светодиодам, все биты выкинулись, но на индикаторе ничего нет. В чем может быть проблема?
- Вложения
-
- Сним4ок.JPG
- (97.48 КБ) 291 скачивание
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
И поставьте себя на наше место.
И как оно?
С уважением,
Виктор.
Виктор.
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Неопознанное устройство в среде Windows работать не может. В любой ее версии. Повлиять это на работу не может, скорее влияет на НЕ работу.FreshMan писал(а):сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
С уважением,
Виктор.
Виктор.
- Сообщения: 50
- Зарегистрирован: Пн ноя 05, 2012 03:40:39
Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.ut1wpr писал(а):Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
И поставьте себя на наше место.
И как оно?
- Вложения
-
- Новая папка.rar
- (126.93 КБ) 135 скачиваний
Всем привет!
Кто-нибудь знает точное физическое устройство порта Тиньки (Тини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-ю вольтами - стабилитрон любой можно воткнуть.
Чё-то кроме максимальных 40 мА на порт ни слова...aam писал(а):Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Вечный двигатель?aam писал(а):напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор).
Docendo discimus
Ну 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 писал(а):Вечный двигатель?
Там нет ни слова про "может выдавать"aam писал(а):Ну 40 мА - это порт выдавать может.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Наверняка найдутся люди, которые с удовольствием почитают и программу, и в Протезус заглянут. Тут много таких помощников, развивающих леность мысли и убожество будущих программистов. Вы считаете, что метод "Я вам выложил кучу всего, что я наваял, а вы за меня в этом разберитесь" - это правильный метод?Reaper666 писал(а):ut1wpr писал(а):Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Есть анекдот про машинистку, которая устраивается на работу. На вопрос, с какой скоростью она может печатать, она ответила "2000 букв в минуту" И тихо добавила "Но при этом такая ухня получается".. Не уподобляйтесь этой машинистке. Лучше написать несколько строк, но самому их довести до состояния рабочих, чем написать огромную программу и подкинуть людям, авось разберутся.
Извините за такое отступление. И попрошу не обижаться.
С уважением,
Виктор.
Виктор.
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
А что будет питаться от этого стабилизатора? Сама Тинька?! А где она возьмет напряжение для старта? А откуда и какое напряжение на входе ШИМ-регулятора? А просто стабилизатор поставить на питание Тиньки уже не в моде? Не понимаю глубинного смысла этой эстетики. Наверное мсье знает толк в извращениях...aam писал(а):Нет, ШИМ-стабилизатор с управлением от того же проца
С уважением,
Виктор.
Виктор.
В том-то и был вопрос, запитать Тиньку через защитные диоды.ut1wpr писал(а):А где она возьмет напряжение для старта?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Дык понятно. Вопрос был, откуда напряжение запуска? От ветрогенератора, от солдат-мотора? От зарядов шерсти кота сторожихи?Gudd-Head писал(а):В том-то и был вопрос, запитать Тиньку через защитные диоды.
С уважением,
Виктор.
Виктор.
Отвратительная идея... это по глупости и незнанию...Gudd-Head писал(а):В том-то и был вопрос, запитать Тиньку через защитные диоды.ut1wpr писал(а):А где она возьмет напряжение для старта?
У АВР убого слабые защитные диоды и ненадёжные подтяжки...
"Я не даю готовых решений, я заставляю думать!"(С)
Для полноты понимания идеи предлагаю составить схему этого чуда, возможно при составлении просветление само наступит?
Если что есть неплохие стабилизаторы, вполне удачно используемые для работы с Мк
Если что есть неплохие стабилизаторы, вполне удачно используемые для работы с Мк


