Перейти к содержанию

Включение И Отключение При Нажатии


cargo29

Рекомендуемые сообщения

смысл устройства такой 3 выхода, 3 входа тини13. 1 кнопка это один светодиод, при нажатии она отключает светодиод, если еще раз нажать ее она включает светодиод. набросок кода пока для одного порта


#include <avr/io.h>
#include <avr/eeprom.h>
#include <avr/delay.h>
char k_1 = 1;
int main(void)
{
DDRB = 0b00000111;
//PORTB = 0b00000111;

while(1)
{

if ((PINB & _BV(PB4))!=0){
//PORTB = 0b00000011;
if (k_1==1)
{
k_1 = 0;
PORTB = 0b00000001;
while((PINB & _BV(PB4))!=0);
}
else
{
k_1 = 1;
PORTB = 0b00000000;
while((PINB & _BV(PB4))!=0);
}

}

}
}

Один раз нажимаешь срабатывает когда нажимаешь еще раз то уже не работает.

еще вопросик

(PINB & _BV(PB4))==0 что этот символ дает в данном коде?

Схема что бы было понятнее как подключено

638386363328638358386.jpg

Изменено пользователем cargo29
Ссылка на комментарий
Поделиться на другие сайты

А как ты пишешь код если не знаешь как это делать? Этот символ обозначает взятие адреса. То есть ты считываешь, что находится по указанному адресу. В общем-схема полная лажа, код никудышный. Учи Си потом садись писать, а не наоборот. Должно быть как-то так.

bool trg_=true;

int main (void)

{

DDRB=0b11111000;

PORTB=0b00000111;

while(1)

{

if((PINB&(1<<PB0))==0)

{

trg_^=true;

if(trg_==true)PORTB&=~_BV(PB4);

else PORTB|=_BV(PB4);

while((PINB&(1<<PB0))==0);

};

};

};

- А совесть в курсе? - А совесть в доле! :-D

Эксперт — это человек, который совершил все возможные ошибки в некотором узком поле.

Все грамматические ошибки являются авторским стилем изложения материала.

Ссылка на комментарий
Поделиться на другие сайты

Если так хочется сэкономить резисторы, то нужно включить внутреннюю подтяжку (pull-up) на управляющих входах, а кнопки на землю. А сейчас на входах непонятно что.

Никогда не спорьте с дураком - люди могут не заметить между вами разницы

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Схема "шлак". Зачем светодиоды подключать через транзистор? Достаточно одного резистора будет. Можно подключить светодиод анодом к минусу(будет меньшая нагрузка на МК).Если надо могу набросать кодик для Codevision(потом можно переделать под другую среду, главное понять смысл).

Минин Андрей. Обращайтесь за помощью.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

ааааааааааааааааааааааааааааааааа, светодиоды это для наглядности там будет другая нагрузка более мощная которая требует включение через транзисторы или даже реле. самое главное код, и должно на выход быть поры, 3 кнопки и каждая управляет своим портом, одну кнопку не получится.

Rhime мне интересно как ты учился? книжечки читал или тоже на форумах зависал? полюбому скажет прочитал много статей умных книг. Все учения идут от опыта, пробуешь пишешь ошибки находишь вот учение а не книжки зубрить со школы должен был знать

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

анодом к минусу
Да неужели?

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

да совсем забыл, как кнопки лучше расположить на управление? прерывание на - не получится остальные так же сработают

при такой схеме включении будут срабатывать все кнопки http://forum.cxem.net/index.php?showtopic=124786&st=20

Ссылка на комментарий
Поделиться на другие сайты

Rhime мне интересно как ты учился? книжечки читал или тоже на форумах зависал? полюбому скажет прочитал много статей умных книг. Все учения идут от опыта, пробуешь пишешь ошибки находишь вот учение а не книжки зубрить со школы должен был знать

Вы из-за каждой неверно поставленной точки на форум обращаетесь, вместо того, чтобы мозгами пораскинуть или хотя бы одну книжку или статью на соответствующую тему прочитать. Поддерживаю Rhime. По фразе "полюбому скажет прочитал много статей умных книг" , делаю вывод, что для Вас это подвиг, и Вы других пытаетесь под себя равнять. Вы сами то подумайте, откуда ещё взять информацию, кроме как не из книги или статьи? Те кто Вам на вопросы отвечают, получили инфу именно таким образом по большей части.

*И что в книжечке то плохого? Она содержит сразу всю необходимую информацию. И слова против не скажет, если её мусолить постоянно. И скорость развития намного быстрее, чем по три часа на форуме ждать, пока скажут куда точку передвинуть.

**вот после такого "учения от опыта" получается соответствующий сорт кода.

Изменено пользователем tcoder
Ссылка на комментарий
Поделиться на другие сайты

Вопрос не по теме, кто нибудь заказывал детали с ebay? за какое время доходили?
http://forum.cxem.net/index.php?showtopic=119900

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

Вот такой кодик набросал для одного светодиода. Рабочий 100%. Я бы взял мк с бОльшим кол-вом ножек,например тини2313,потому что тут придется настраивать каждый порт отдельно.

#include <tiny13.h>
#include <delay.h>
void main(void){
unsigned char i=1; // вводим переменную для счета
PORTB.0=0x00;//Пин в 0
DDRB.0=0xFF; // Пин на выход
DDRB.3=0x00;// Пин на ввод
PORTB.3 = 0xFF ;//Пин в 1

while (1) {
if (PINB.3==0){
i=i+1;
delay_ms(50);//антидребезг
}
switch(i) {
case 1: {
PORTB.0=0;
break;
}
case 2:{
PORTB.0=1;
break;
}	
default:
i=1;

}
}
	 }

По первому нажатию кнопки светодиод горит, по второму-тухнет.(По этому коду: кнопка на PORTB.3, светодиод на PORTB.0)

Изменено пользователем Radiotehnika S-90

Минин Андрей. Обращайтесь за помощью.

Ссылка на комментарий
Поделиться на другие сайты

Radiotehnika S-90 спасибо за код, уточню немного кнопка как работает, на прерывание на минус? на счет мк с большим количеством портов думал, дело в том что у меня их трудно достать заказ идет тини13 и то с китая (не знаю дойдет или нет) суть будет такая, мне нужно будет отключать и включать парные каналы УФМЗ но раз он мощный поэтому буду делать через транзистор. (в виде ключа, в обрыв питания). tcoder я с тобой не соглашусь, у меня книги по делфи валяются (библия делфи и много других) в них все одно и тоже написано, только объясняют по разному, ничего нового в другой книге я и не узнал то, что уже знал со статей в интернете, а их как известно, очень много по делфи, так же и учил остальные языки программирования, форумы статьи, сидел и разбирался в коде а не книжки читал потому, что знал что в книгах для общего пользования написано, что есть в статьях, которых мало по написанию кода на мк

я надеюсь не такая схема включения кнопки (в конце статьи )http://forum.cxem.net/index.php?showtopic=124786&st=20

Ссылка на комментарий
Поделиться на другие сайты

А зачем покупать или скачивать кучу книг про одно и то же? :) Вы купите/скачайте одну книгу непосредственно по той среде, в которой сейчас работаете. Чтобы не было вопросов типа "а что этот символ обозначает" :) И причём тут делфи вообще, Вы сейчас не на делфи же пишете? "дЭлфийские" знания тут не помогут... А поскольку ещё имеются проблемы с алгоритмизацией, то вероятно и чтение сишной книги не сразу поможет :yes:

Ссылка на комментарий
Поделиться на другие сайты

tcoder я скачивал и покупал, даже стоял пролистывал быстренько в книжном, пишут одно и тоже. Вот даже взять делфи там нету описания компонентов всех, все описание базовое. я и так читаю статейки и сижу на форумах, что бы быстрее осмыслить. и то что я не знаю или не понимаю код я считаю нормально все через это проходили

Radiotehnika S-90 вот в этом и проблема с такой схемой включения я писал в другой теме, а тут будет 3 кнопки и нужно сделать их независимые друг от друга. :unsure: а при такой схеме одну нажмешь все сработают, я уже чувствую что легче взять мк с 3 разными портами тогда можно осуществить, все равно спасибо за помощь и код. Не по теме, реально ли осуществить регулятор ВЧ НЧ ? хватит ли скорости обработки ?

Ссылка на комментарий
Поделиться на другие сайты

cargo29, а в чем проблема? Ну горят одновременно, а уловить суть и чуток подправить код трудно? Подключайте кнопки как у меня на схеме. Вот подправил код. дальше думаю понятно будет. Просто вводим еще одну переменную и дальше все аналогично. Хотел сказать еще, что у вас вывод ресет задействовать не получится, придется выставлять дополнительный фьюз.

#include <tiny13.h>
#include <delay.h>
void main(void){
unsigned char i=1;
unsigned char c=1; // вводим переменную для счета
PORTB.0=0x00;//Пин в 0
DDRB.0=0xFF; // Пин на выход
DDRB.3=0x00;// Пин на ввод
PORTB.3 = 0xFF ;//Пин в 1
PORTB.1=0x00;//Пин в 0
DDRB.1=0xFF; // Пин на выход
DDRB.4=0x00;// Пин на ввод
PORTB.4 = 0xFF ;//Пин в 1


while (1) {
if (PINB.3==0){
i=i+1;
delay_ms(50);//антидребезг
}
switch(i) {
case 1: {
PORTB.0=0;
break;
}
case 2:{
PORTB.0=1;
break;
}
default:
i=1;

}
if (PINB.4==0){
c=c+1;
delay_ms(50);//антидребезг
}
switch© {
case 1: {
PORTB.1=0;
break;
}
case 2:{
PORTB.1=1;
break;
}
default:
c=1;

}
}

}

В протеусе все работает замечательно.

Минин Андрей. Обращайтесь за помощью.

Ссылка на комментарий
Поделиться на другие сайты

Подскажи еще в твоем коде

PORTB.0=0x00;//Пин в 0. вход
DDRB.0=0xFF; // Пин на выход. иницилиализация порта на выход
DDRB.3=0x00;// Пин на ввод. иницилиализация порта на вход
PORTB.3 = 0xFF ;//Пин в 1 . выход

почему в таком порядке или без разницы это?

Ссылка на комментарий
Поделиться на другие сайты

cargo29,

ты бы хоть одну мигалку с нуля сам написал

Ты ведь по и-нету какие-то обрывки собираешь и у тебя всё в голове перемешалось.

в репу каждому, кто отсылает в гугл !!

Ссылка на комментарий
Поделиться на другие сайты

Radiotehnika S-90 Пробовал вставить код ошибки почти на все. #include <tiny13.h> этот файл не может найти и на все DDRB.3 типа таких где используется через точку указания вывода походит на язык С++

Ссылка на комментарий
Поделиться на другие сайты

cargo29, Вы точно обрывки собираете, как 8244 сказал.

Никаким C++ тут и не пахнет. Radiotehnika S-90 дал Вам код для CvAVR, там всё верно. У Вас AvrStudio (как я понял). Там синтаксис языка немного отличается.

Вам надо просто убрать этот include , а взамен

DDRB.3=0x00;// Пин на ввод

написать DDRB &= 0xF7;

Откуда взялось эта команда и волшебное число 0xF7, я не скажу из принципа. Сами подумайте. Иначе никогда ничего не поймёте.

Ссылка на комментарий
Поделиться на другие сайты

Если надо могу набросать кодик для Codevision(потом можно переделать под другую среду, главное понять смысл).

cargo29, сообщения вообще не читаем?Вас интересует только огрызок кода, а то что люди пишут нет?

Каждая среда разработки имеет свой синтаксис написания кода.

Минин Андрей. Обращайтесь за помощью.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • 350 стоит по умолчанию, вшито . Я так понял. Я включил . У меня сразу лым пошёл и само жало чуть по чернело но ещё рабочее ... Я научился пользоваться термопарой , измеряю, смотрю по таблице - разница очень большая . Кручу ратио - показания меняются, это гуд. Я думал что 100% - это предел. Но они пошли и дальше ..... Отсюда вопрос может кто знает как меняется температура в какую сторону при прокрутке туда или обратно? Хотя бы примерно?
    • Была у меня книжка (что-то типа помощь сельскому радиолюбителю) и в разделе самодельные источники питания был "рецепт" батарейки: две пластины меди и цинк(алюминий, не могу точно утверждать) между ними помещалась промокашка, предварительно замоченная в солевом растворе и присыпанная с одной стороны толченым углем. Элемент позиционировался как походный и потому промокашку сушили и вкладывали между пластин, а при необходимости ее мочили и элемент начинал работать. Точно не помню технологию и могу где-то ошибаться. Так вот вопрос к сторожилам, может кто  помнит данный "рецепт" или книгу в которой он был описан?
    • Попробуйте магнитолу отремонтировать. Говорят помогает. Иногда спасает поиск профильных специалистов по месту.
    • Офигенный заход... Отлично, не смеем отговаривать, хоть это будет дорого или очень дорого и больно. ШТА? При чем тут 220В? что в вашем понимании "нормальная"? Ну так а в чем проблема? Удивительно, учитывая что это основная задача частотного преобразователя. Куда подходит? Зачем он вообще идет? Параметры это агрегата за вас искать надо? Или удосужитесь дать побольше информации? З.Ы. А нафига реактивному дигателю вообще частотник? https://ru.wikipedia.org/wiki/РД-9
    • А что там анализировать? 1) Монтируется успешно. 2) Запрашивается в функции чтения данные с сектором 0, и перед каждым не успешно найденным файлом. 3) если выкинуть отладку, то один файл находит, но чтение буфера 0 и сам буфер пустой. Где-то косяк с конфигами... Кто работал пожалуйста подскажите, чтобы меньше потратить времени... Можно конечно. Какая разница как название указывать? Через массив символов либо явно указав массив символов в виде строки.
    • Ясно. Каких-то конкретных расчетов-рекомендаций нет. Ну, попробую тогда сваять матрицу. Отпишусь тут, если хватит 4х ватов на такое дело. 
    • Вот и я про лень. Самому не хочется собирать такие схемы, проще купить.   Только я другие покупал , но еще на длительное время не включал. А так , работают нормально.
×
×
  • Создать...