witia03 писал(а):да я и на транзисторах это могу собрать но нужно именно на мк
Не сможете. Это не обсуждаемо.
Кстати, если не вам, то кому это нужно? Преподавателю? Так ублажите его купюрами. Ради Бога, избавьте нас еще от одного менеджера-программиста...
witia03 писал(а):да я и на транзисторах это могу собрать но нужно именно на мк
Не сможете. Это не обсуждаемо.
Кстати, если не вам, то кому это нужно? Преподавателю? Так ублажите его купюрами. Ради Бога, избавьте нас еще от одного менеджера-программиста...
бред не несите. это нужно именно мне. если не знаете или не хотите помочь просто пройдите мимо
durasel0 писал(а):МК AtMega 8. Реклама такая: при запуске видает http://c2.at.ua. Просто я http в качестве примера сказал.
просто как мне расшифровать єтот hex файл?
Это не совсем реклама. Это эквивалент копирайта автора. На модификацию подобных программ в порядочных обществах нужно спрашивать разрешения автора. Но если вы решили воровством заняться, надо хотя бы слегка в теме быть.
Гугл в помощь. Программы HEX2BIN.EXE и BIN2HEX.EXE. Дополнительно WINHEX.EXE. И не пытайтесь расшифровать незашифрованное. Все на поверхности. Я вам помог. Не прошел мимо.
За "бред" отдельное спасибо. Ваша вежливость произвела впечатление не только на меня.
Есть такая проблема. У преподавателя на макетной плате подключение ЖКИ такое, как на картинке. Вопрос, каким образом, можно по портуБ передать на ЖКИ 4 бита данных, не затрагивая остальные 4 вывода, на которых уже выставлены управляющие биты. Вариант с перенастройкой этих портов на ввод не прошел, работает некорректно. Вариант с масками пробовал, тоже не прошло или я просто неверно делал. Как еще можно сделать. Пишу на СИ, проц PIC16F84A, ЖКИ LM016L
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 выставляется, что мне вообще не нужно.
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, но это ухудшит читаемость программы, ее понимание. А в результате компилятор все равно что-то подобное сам создаст.
Надо всегда помнить, что операции чтение-модификация-запись коварны. Наверное, вам еще рано об этом, но отложите себе на заметку пунктик "Атомарные операции".
сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Понять не могу. Есть вот такая схемка. Если залить в нее одну программу, то она отлично работает, все выводит( а выводит она на индикатор числа от 1 до 9). Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку. Создал другой проект, подключил к ней сию библиотеку, скомпилировал, заливаю HEX-файл в Proteus, и на индикаторе ничего нет. Причем судя по светодиодам, все биты выкинулись, но на индикаторе ничего нет. В чем может быть проблема?
Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?
И поставьте себя на наше место.
И как оно?
FreshMan писал(а):сваял AVR910
при подключении его к компу Windows 7 выдает сообщение что устройство не опознано
может ли это влиять на роботу программатора ?
это можно устранить ?
Неопознанное устройство в среде Windows работать не может. В любой ее версии. Повлиять это на работу не может, скорее влияет на НЕ работу.
Reaper666 писал(а):Потом я эту программу взял, выпилил все лишнее и сделал из нее библиотеку.
Не могу придумать ответа иного, чем "криво выпилил". А теперь послушайте себя со стороны: "Я сначала написал программу, но вам ее не покажу и не расскажу, что она там делает. Она в Протезе работала. А потом я в ней кое-что поменял (но снова вам не расскажу, что именно), и она в том же Протезе перестала работать. Скажите пожалуйста, что я не так поменял?
И поставьте себя на наше место.
И как оно?
Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Всем привет!
Кто-нибудь знает точное физическое устройство порта Тиньки (Тини25)?
Вопрос вот в чем. Девайс будет устроен так, что напряжение питание тинька вырабатывает сама себе (она фигачит DC-DC конвертор). Для ее запуска ее надо первоначально запитать. Кроме того, имеется единственная кнопка управления, которая одновременно будет подавать и питание. Поидее на ногу питания Тиньки нужно поставить сдвоенный диод с ОК - на 1 диод питание с выхода DC-DC, на другой - с порта к которому подключена кнопка. Но внутри МК, как я понимаю, порт защищен двумя диодами (1 на землю и 1 на плюс). Вот какие характеристики этих диодов (в плане максимально допустимый прямой ток) и можно ли не ставить диод между портом и ногой питания, а использовать вместо него внутренний диод? Кстати если ставить внешний, то Шоттки не прокатит - обратный ток может создать потенциал на порте кнопки (тут еще надо думать как и чего).
Кароче, интересуют характеристики внутреннего диода их нормированность и вообще наличие и обязательность этого диода в Тиньках разных выпусков.
По идее, на порт можно подавать VCC+0,5. Но кнопка через резик будет и в итоге при запуске на порте будет 5 В, а на ноге VCC - 5В - 0,5. Основное питание в установившемся режиме будет 3,3 В. Кстати запускать можно и не 5-ю вольтами - стабилитрон любой можно воткнуть.
Ну 40 мА - это порт выдавать может. К диодам это не относится.
К диодам относится фраза Uin_max=VCC+0,5, которая говорит, что диоды не шоттки (0,5 В) и при превышении этого порога открываются. Но это ограничение ведь относится к источнику сигнала с низким внутренним сопротивлением. А у меня ведь кнопка будет подключена к источнику питания (вольт 9) через резистор и посажена на землю через стабилитрон. Поэтому при ее нажатии ток через внутренний диод будет ограничен. Кроме того, в момент запуска этот ток не может превышать потребляемого тока проца, т. е. примерно 10 - 30 мА, т. к. других источников пока нет.
Т. е. теоретически вроде все норм должно быть. А как на практике...
А практически, я как-то глядя на схему К1446ПН1, решил что если последовательно с входом ОС воткнуть резик, я повышу выходное напряжение. Итог - 2 спаленных микрухи.
pyzhman писал(а):Вечный двигатель?
Нет, ШИМ-стабилизатор с управлением от того же проца
ut1wpr писал(а):Ну вот, собственно, архив в котором лежит сама оригинальная программа, и лежит программа с библиотекой. По сути, я там из самой программы только вырезал #include и саму главную функцию и все и биты конфигурации. Там лежит и схема в протеусе, прошивки в папках же лежат.
Наверняка найдутся люди, которые с удовольствием почитают и программу, и в Протезус заглянут. Тут много таких помощников, развивающих леность мысли и убожество будущих программистов. Вы считаете, что метод "Я вам выложил кучу всего, что я наваял, а вы за меня в этом разберитесь" - это правильный метод?
Есть анекдот про машинистку, которая устраивается на работу. На вопрос, с какой скоростью она может печатать, она ответила "2000 букв в минуту" И тихо добавила "Но при этом такая ухня получается".. Не уподобляйтесь этой машинистке. Лучше написать несколько строк, но самому их довести до состояния рабочих, чем написать огромную программу и подкинуть людям, авось разберутся.
Извините за такое отступление. И попрошу не обижаться.
aam писал(а):Нет, ШИМ-стабилизатор с управлением от того же проца
А что будет питаться от этого стабилизатора? Сама Тинька?! А где она возьмет напряжение для старта? А откуда и какое напряжение на входе ШИМ-регулятора? А просто стабилизатор поставить на питание Тиньки уже не в моде? Не понимаю глубинного смысла этой эстетики. Наверное мсье знает толк в извращениях...