А еще нашел серию 74HC где указано что минимум 2 вольта, как насчет ее использования?
Мелкие вопросы по цифровой технике.
- Сообщения: 179
- Зарегистрирован: Пт ноя 19, 2010 16:06:40
эти видел напряжения, но тут идет под самый их минимум, а батарейки то еще могут разряжаться и уже не 3 вольта а 2.8....2.5. Вот не ясно с этим.
А еще нашел серию 74HC где указано что минимум 2 вольта, как насчет ее использования?
А еще нашел серию 74HC где указано что минимум 2 вольта, как насчет ее использования?
- Реклама
Как протестировать 74HC132?
Кот гуляет сам по себе, но вблизи холодильника.
Можно ли заменить К176ИД3 на К155ИД3?
Заранее спасибо!
Заранее спасибо!
Однозначно - НЕТ!
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Я так понимаю, аналогов 176-й серии зарубежных нет. А можно ли заменить К176ИД3 на какие-нибудь другие микросхемы - мне она нужна для вывода на индикатор из 4-х цифр и точки.
- Реклама
Точного аналога 176ИД3 нет. Но преобразователи двоичного в семисегментный есть. например кмоп серии cd4543 (и поблизости - там их есть целая толпа).
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Сообщения: 123
- Зарегистрирован: Вс июл 18, 2010 09:03:01
подскажите как можно сделать из пропорционального канала дискретный чтобы например в радиоуправлении когда канальный импульс максимальный нагрузка включилась а минимальный выключилась и второй вариант как сделать когда увеличиваем канальный импульс до максимального значения нагрузка включилась и была включена пока не увеличим канальный импульс второй раз
Весь день бьюсь, никак не получается в общем надо моргать светодиодом по таймеру, МК тини13, в общем основная программа в бесконечном цикле в зависимости от значения на АЦП включает разные светодиоды, а один светодиод надо чтобы не просто включался а мигал примерно 0,3...1гц короче просто мигалка без проблем:
ISR(TIM0_OVF_vect){
static unsigned int i;
if (i>2){
PORTB = PORTB ^ _BV(PB1);
i =0;}
else {i = i + 1;}
}
где через i просто задаём частоту и инвертируем ногу, в протеусе всё пучком осцил показывает меадр, но с программой нихрена не работает на выходе как будто ШИМ с КЗ менее 2%, отладчик (авр студио) показывает что после инвертирования ноги она снова инвертируется отсюда и проблема.
программа вот такая у мене получилась примерно:
int main(void){
PORTB = All_Off; // ãàñèì ñâåòîäèîäû
DDRB = (1<<DDB0)|(1<<DDB1)|(1<<DDB2)|(1<<DDB4)|(0<<DDB3); // ÐÂ0-ÐÂ4 âûõîäû, ÐÂ3 (ADC3) âõîä
ADMUX = (1<<REFS0) | (1<<MUX1) | (1<<MUX0); // âûáèðàåì âíóòðåííèé ÈÎÍ 1,1â è âõîä ADC2
ADCSRA = (1<<ADEN) | (1<<ADPS2) | (0<<ADPS1) | (1<<ADPS0); // âêë ÀÖÏ, äåëèòåëü îò òàêòîâîé 1:32
TCCR0B = _BV(CS00) ; // äåëèòåëü òàéìåðà íà /1
TIMSK0 = _BV(TOIE0); // âêëþ÷àåì ïðåðûâàíèÿ ïî òàéìåðó
sei();
while(1)
{
ADCSRA |= (1<<ADSC); // Çàïóñêàåì ÀÖÏ
_delay_us(100); // æä¸ì 200 ìêñåê íà âñÿê ñëó÷àé îæèäàÿ îêîí÷àíèÿ ÀÖÏ
if(ADC > 680) { PORTB = Red_Blue; // ýòî êðàñíàÿ ïîäñâåòêà + ìèãàíèå ñèíåé ñíåæèíêè (íèçêàÿ òåìïåðàòóðà äâèãàòåëÿ)
}
else if (ADC > 435) PORTB = Red_Yellow; // Êðàñíàÿ + Ƹëòàÿ ïîäñâåòêà
else if (ADC > 350) PORTB = Yellow; // Ƹëòàÿ ïîäñâåòêà
else if (ADC > 282) PORTB = Green_Yellow; // Çåë¸íàÿ + Ƹëòàÿ ïîäñâåòêà
else if (ADC > 227) PORTB = Green; // Çåë¸íàÿ ïîäñâåòêà (òåìïåðàòóðà äâèãàòåëÿ â íîðìå)
else if (ADC > 212) PORTB = Green_Yellow; // Êðàñíàÿ + Ƹëòàÿ ïîäñâåòêà
else if (ADC > 200) PORTB = Yellow; // òåìïåðàòóðà äâèãàòåëÿ çà ïðåäåëàìè íîðìàëüíîé
else if (ADC > 198) PORTB = Red_Yellow; // Êðàñíàÿ + Ƹëòàÿ ïîäñâåòêà
else PORTB = Red; // Êðñíàÿ ïîäñâåòêà (äâèãàòåëü ïåðåãðåò)
}
}
ISR(TIM0_OVF_vect){
static unsigned int i;
if (i>2){
PORTB = PORTB ^ _BV(PB1);
i =0;}
else {i = i + 1;}
}
Собственно при выполнении строчки - if(ADC > 680) { PORTB = Red_Blue;
портится установленный бит PB1 (можно DDR1 не важно) установленный прерыванием PORTB = PORTB ^ _BV(PB1);
как победить ?
ISR(TIM0_OVF_vect){
static unsigned int i;
if (i>2){
PORTB = PORTB ^ _BV(PB1);
i =0;}
else {i = i + 1;}
}
где через i просто задаём частоту и инвертируем ногу, в протеусе всё пучком осцил показывает меадр, но с программой нихрена не работает на выходе как будто ШИМ с КЗ менее 2%, отладчик (авр студио) показывает что после инвертирования ноги она снова инвертируется отсюда и проблема.
программа вот такая у мене получилась примерно:
int main(void){
PORTB = All_Off; // ãàñèì ñâåòîäèîäû
DDRB = (1<<DDB0)|(1<<DDB1)|(1<<DDB2)|(1<<DDB4)|(0<<DDB3); // ÐÂ0-ÐÂ4 âûõîäû, ÐÂ3 (ADC3) âõîä
ADMUX = (1<<REFS0) | (1<<MUX1) | (1<<MUX0); // âûáèðàåì âíóòðåííèé ÈÎÍ 1,1â è âõîä ADC2
ADCSRA = (1<<ADEN) | (1<<ADPS2) | (0<<ADPS1) | (1<<ADPS0); // âêë ÀÖÏ, äåëèòåëü îò òàêòîâîé 1:32
TCCR0B = _BV(CS00) ; // äåëèòåëü òàéìåðà íà /1
TIMSK0 = _BV(TOIE0); // âêëþ÷àåì ïðåðûâàíèÿ ïî òàéìåðó
sei();
while(1)
{
ADCSRA |= (1<<ADSC); // Çàïóñêàåì ÀÖÏ
_delay_us(100); // æä¸ì 200 ìêñåê íà âñÿê ñëó÷àé îæèäàÿ îêîí÷àíèÿ ÀÖÏ
if(ADC > 680) { PORTB = Red_Blue; // ýòî êðàñíàÿ ïîäñâåòêà + ìèãàíèå ñèíåé ñíåæèíêè (íèçêàÿ òåìïåðàòóðà äâèãàòåëÿ)
}
else if (ADC > 435) PORTB = Red_Yellow; // Êðàñíàÿ + Ƹëòàÿ ïîäñâåòêà
else if (ADC > 350) PORTB = Yellow; // Ƹëòàÿ ïîäñâåòêà
else if (ADC > 282) PORTB = Green_Yellow; // Çåë¸íàÿ + Ƹëòàÿ ïîäñâåòêà
else if (ADC > 227) PORTB = Green; // Çåë¸íàÿ ïîäñâåòêà (òåìïåðàòóðà äâèãàòåëÿ â íîðìå)
else if (ADC > 212) PORTB = Green_Yellow; // Êðàñíàÿ + Ƹëòàÿ ïîäñâåòêà
else if (ADC > 200) PORTB = Yellow; // òåìïåðàòóðà äâèãàòåëÿ çà ïðåäåëàìè íîðìàëüíîé
else if (ADC > 198) PORTB = Red_Yellow; // Êðàñíàÿ + Ƹëòàÿ ïîäñâåòêà
else PORTB = Red; // Êðñíàÿ ïîäñâåòêà (äâèãàòåëü ïåðåãðåò)
}
}
ISR(TIM0_OVF_vect){
static unsigned int i;
if (i>2){
PORTB = PORTB ^ _BV(PB1);
i =0;}
else {i = i + 1;}
}
Собственно при выполнении строчки - if(ADC > 680) { PORTB = Red_Blue;
портится установленный бит PB1 (можно DDR1 не важно) установленный прерыванием PORTB = PORTB ^ _BV(PB1);
как победить ?
Ваше i в прерывании каждый раз объявляется при вызове прерывания. Наверное всё же надо объявить его volatile в самом начале исходника, чтобы оно сохраняло своё значение (глобальная видимость).
Нет, оно static unsigned int i;, т.е. сохраняется после выхода из прерывания проблема в if(ADC > 680) { PORTB = Red_Blue; - оно портит портhybroid писал(а):Ваше i в прерывании каждый раз объявляется при вызове прерывания. Наверное всё же надо объявить его volatile в самом начале исходника, чтобы оно сохраняло своё значение (глобальная видимость).
Да, действительно.
У вас присваивается маска с каждым диодом полностью порту, а диод явно висит только на одном пине. Этим вы "затираете" ваш пин мигающего диода ноль. Делайте логическими операциями, а не присваиванием.
У вас присваивается маска с каждым диодом полностью порту, а диод явно висит только на одном пине. Этим вы "затираете" ваш пин мигающего диода ноль. Делайте логическими операциями, а не присваиванием.
Доброго времени суток!
Можно ли менять местами входы вентилей 74HC132?? Для удобства разводки платы.
Можно ли менять местами входы вентилей 74HC132?? Для удобства разводки платы.
Кот гуляет сам по себе, но вблизи холодильника.
Чаго?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Лёгко. Они равноценны.
Выслушай и противную сторону, даже если она и противна
falkonist, спасибо!
Я собираю вот эту схему
http://radiokot.ru/circuit/digital/measure/38/
там 74HC132 нарисована матюком.
Я собираю вот эту схему
http://radiokot.ru/circuit/digital/measure/38/
там 74HC132 нарисована матюком.
Кот гуляет сам по себе, но вблизи холодильника.
Как можно преобразовать уровни ТТЛ->КМОП (9v) не используя спец. микросхем?
Пробовал подтягивать резистор 10к к цепи питания - не помогает...
Пробовал подтягивать резистор 10к к цепи питания - не помогает...
Транзисторными ключами обычно делают.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Просто ключ.
http://radiokot.ru/forum/viewtopic.php?p=428969#p428969
Или любую микросхему 155 серии с открытым коллектором. Выходной транзистор у неё выдерживает 15 вольт. Нагрузочный резистор нужно взять такой, что бы не превысить рассеиваемую мощность этого транзистора, т.е. в пределах 3 - 5 ком и питать от 9 вольт. Конечно только выходной каскад.
Также в 155 серии есть инвертора с открытым коллектором в которых выходной транзистор может работать при высоком напряжении.
Например К155ЛА11, К155ЛН2, К155ЛНЗ и К155ЛН5
http://radiokot.ru/forum/viewtopic.php?p=428969#p428969
Или любую микросхему 155 серии с открытым коллектором. Выходной транзистор у неё выдерживает 15 вольт. Нагрузочный резистор нужно взять такой, что бы не превысить рассеиваемую мощность этого транзистора, т.е. в пределах 3 - 5 ком и питать от 9 вольт. Конечно только выходной каскад.
Также в 155 серии есть инвертора с открытым коллектором в которых выходной транзистор может работать при высоком напряжении.
Например К155ЛА11, К155ЛН2, К155ЛНЗ и К155ЛН5
Не совсем любую с ОК, а именно те, что Вы отметили в конце своего поста. Но тогда непонятно, в чем будет преимущество их применения по сравнению с преобразователем уровней ТТЛ-КМОП К564ПУ6.
Выслушай и противную сторону, даже если она и противна
Да любую с открытым коллектором. Как уже говорил нужно только не превысить мощность рассеиваемую коллектором.falkonist писал(а):Не совсем любую с ОК, а именно те, что Вы отметили в конце своего поста.
Просто это недокументированные возможности на данные микросхемы, что выходной транзистор там выдерживает напряжение больше, чем 5 вольт.
9 вольт выдерживает спокойно и даже больше.
Об этом неоднократно в ж. Радио писали во времена когда микросхемы с высоковольтными транзисторами на выходе в серии 155 были огромным дефицитом. На практике проверено неоднократно. Конечно это относится только к радиолюбительским устройствам.


