Там вроде не принципиально, можно оставить и по умолчанию заводские установки новой меги 1 МГц. А сама прошивка скопилирована в проекте который настроен на тактовую частоту 4 МГц. МК тактируется от внутреннего RS осциллятора. Для PonyProg, и CodeVisionAVR выглядят так:
... контроллер загорается светодиод с 19 вывода контроллера, при нажатии на какую либо из кнопок загорается соответствующий светодиод, когда отпускаю кнопку - соответствующий кнопке светодиод гаснет, а светодиод с 19 ноги горит постоянно (вне зависимости нажата другая кнопка или нет).
Проверяйте потенциал не 4 выводе, он должен быть +5В, если меньше 2,5 вольт то так и будет работать, мк видит что кнопка нажата.
C@at писал(а):
Там вроде не принципиально, можно оставить и по умолчанию заводские установки новой меги 1 МГц.
У Атмеги2313 вроде заводской 8МГц с делителем на 8.
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
у меня примерно такая же задача, но входов-выходов поболее(( подскажите как реализовать такое: 1кнопка-реле10,11 2кнопка-реле5,7 3кнопка-реле4,9 4кнопка-реле9 5кнопка-реле2,12 6кнопка-реле9,10,11 7кнопка-реле1,7 8кнопка-реле1,6 9кнопка-реле1,2 10кнопка-реле1,3 11кнопка-реле1,2,3,4,6,7
так же как и в случае выше нужно управление кнопками без фиксации. есть еще один нюанс-при включении устройства все реле должны быть выключены,то есть не задействован ни один канал....помогите кто сможет..заранее спасибо!
у меня примерно такая же задача, но входов-выходов поболее(( подскажите как реализовать такое:
Реализовать такое , у вас два варианта. 1) Самостоятельно (НО .... при этом вам придется потратится на мегу 16, иметь на компьютере компилятор CodeVisionAVR, и протеус)
2) Просить кого либо тут, пока он не проникнется вашей проблемой и поможет вам от начала и до конца (при этом все обойдется тини2313, и пара сдвиговых регистров НС595).
Так вот для первого варианта, исходник который находится в этой ветке форума Спойлер
Код:
#include <mega8.h> #include <delay.h>
flash unsigned char led[11]={ 0b10000000, 0b00000110, 0b01011011, 0b01001111, 0b01100110, 0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111, 0b00111111}; // Массив "led" во flash-памяти, flash unsigned char pind[11]={ 0b10000000, 0b00000010, 0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b00001010, 0b00010010, 0b00010100, 0b00000000, 0b00000000}; // Массив "pind" во flash-памяти, unsigned char i=0; // переменная void main(void) { PORTB=0b11111111; // Port B initialization DDRB=0b00000000; PORTC=0b01000000; // Port C initialization DDRC=0b00111111; PORTD=0b00000000; // Port D initialization DDRD=0b011111111;
while (1) { PORTD=led[i]; PORTC= pind[i]; if (PINB.0==0) i=1; if (PINB.1==0) i=2; if (PINB.2==0) i=3; if (PINB.3==0) i=4; if (PINB.4==0) i=5; if (PINB.5==0) i=6; if (PINB.6==0) i=7; if (PINB.7==0) i=8; delay_ms(50); }; }
Это очень простой вариант, можно сказать примитив, возможно вы быстро и сами разберетесь сами в этом исходнике (в помощь вам CodeVisionAVR, и протеус). Если нет, то здесь найдется сотня котов которые вам помогут поправить его, или предложат свой вариант , для Atmega16 это все будет примитив....
Второй вариант просить все с нуля, тут тоже десяток людей найдется которые вам помогут, но это уже будет наверное не все так быстро.
У меня например есть подобное в арсенале. Но к сожалению пока не имею времени сочинить еще что-то подобное...
СпойлерУправление выходами в любом порядке .
С клавиатуры набираем нужный нам номер управляемого выхода, нажимаем кнопку ввод , выход включается.
При повторном наборе этого номера, нажимаем кнопку *ввод , выход выключается.
Состояние выходов (вкл. - выкл.) сохраняется в энергонезависимой памяти МК.
Возможен вариант , сброса всех выходов в состояние "выключено" для этого набираем с клавиатуры "33" и кнопку *ввод ......
Принцип работы такой: управляем поочередным включением 32 выходов с помощью клавиатуры, например для включения выхода 13 , нужно набрать на клавиатуре число 13, оно должно отобразиться на индикаторах, после чего, нажав на ввод сработал выход №13 и удерживался до набора следующего номера. То есть в данный момент времени включен только один выбранный выход.
у меня примерно такая же задача, но входов-выходов поболее(( подскажите как реализовать такое: ...... так же как и в случае выше нужно управление кнопками без фиксации. есть еще один нюанс-при включении устройства все реле должны быть выключены,то есть не задействован ни один канал...
А как Вам такой вариант? В архиве проект в Proteus и прошивка. Добавил для симметрии еще одну кнопку - Сброс, можно не ставить.
у меня примерно такая же задача, но входов-выходов поболее(( подскажите как реализовать такое: ...... так же как и в случае выше нужно управление кнопками без фиксации. есть еще один нюанс-при включении устройства все реле должны быть выключены,то есть не задействован ни один канал...
А как Вам такой вариант? В архиве проект в Proteus и прошивка. Добавил для симметрии еще одну кнопку - Сброс, можно не ставить.
Огромное спасибо!!!! в протеусе все работает так как надо,правда сброс не срабатывает...но в принципе он мне не нужен..буду проверять в железе..о результатах на днях отпишусь...ещё раз спасибо!
Я допустил ошибку в Proteus, пересоедините заново кнопку SW12.
slava_tuit писал(а):
...буду проверять в железе...
Тогда несколько советов. 1. В железе уделите внимание подбору резисторов. Собственно, пределы срабатывания кнопок довольно демократичны, но лучше подобрать ближе к указанным в проекте. Если установить виртуальный вольтметр, то можно посмотреть напряжения срабатывания кнопок. 2. На входе в МК желательно установить небольшие (0,01 - 0,1 мкФ) конденсаторы. По крайней мере предусмотрите под них место. В прошивке реализована программная защита от воздействия помех и дребезга, но при срабатывании реле все может быть. Большая емкость наоборот, может привести к неправильному определению кнопки. 3. Ну и конденсаторы по питанию... Тут маслом каши не испортишь...
да.сброс начал сбрасывать))) на выход нужны будут ключики какие-нибудь...думаю улн2003 справится с этой задачей..по крайней мере по току ее хватит еще раз благодарю
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения