Мелкие вопросы по цифровой технике.
Re: Мелкие вопросы по цифровой технике.
эти видел напряжения, но тут идет под самый их минимум, а батарейки то еще могут разряжаться и уже не 3 вольта а 2.8....2.5. Вот не ясно с этим.
А еще нашел серию 74HC где указано что минимум 2 вольта, как насчет ее использования?
А еще нашел серию 74HC где указано что минимум 2 вольта, как насчет ее использования?
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Мелкие вопросы по цифровой технике.
Как протестировать 74HC132?
Кот гуляет сам по себе, но вблизи холодильника.
- Maxim1441
- Грызет канифоль
- Сообщения: 270
- Зарегистрирован: Пт апр 09, 2010 21:16:30
- Откуда: Barnaul
- Контактная информация:
Re: Мелкие вопросы по цифровой технике.
Можно ли заменить К176ИД3 на К155ИД3?
Заранее спасибо!
Заранее спасибо!
Re: Мелкие вопросы по цифровой технике.
Однозначно - НЕТ!
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Maxim1441
- Грызет канифоль
- Сообщения: 270
- Зарегистрирован: Пт апр 09, 2010 21:16:30
- Откуда: Barnaul
- Контактная информация:
Re: Мелкие вопросы по цифровой технике.
Я так понимаю, аналогов 176-й серии зарубежных нет. А можно ли заменить К176ИД3 на какие-нибудь другие микросхемы - мне она нужна для вывода на индикатор из 4-х цифр и точки.
Re: Мелкие вопросы по цифровой технике.
Точного аналога 176ИД3 нет. Но преобразователи двоичного в семисегментный есть. например кмоп серии cd4543 (и поблизости - там их есть целая толпа).
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Re: Мелкие вопросы по цифровой технике.
подскажите как можно сделать из пропорционального канала дискретный чтобы например в радиоуправлении когда канальный импульс максимальный нагрузка включилась а минимальный выключилась и второй вариант как сделать когда увеличиваем канальный импульс до максимального значения нагрузка включилась и была включена пока не увеличим канальный импульс второй раз
Re: Мелкие вопросы по цифровой технике.
Весь день бьюсь, никак не получается в общем надо моргать светодиодом по таймеру, МК тини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);
как победить ?
Re: Мелкие вопросы по цифровой технике.
Ваше i в прерывании каждый раз объявляется при вызове прерывания. Наверное всё же надо объявить его volatile в самом начале исходника, чтобы оно сохраняло своё значение (глобальная видимость).
Re: Мелкие вопросы по цифровой технике.
hybroid писал(а):Ваше i в прерывании каждый раз объявляется при вызове прерывания. Наверное всё же надо объявить его volatile в самом начале исходника, чтобы оно сохраняло своё значение (глобальная видимость).
Нет, оно static unsigned int i;, т.е. сохраняется после выхода из прерывания проблема в if(ADC > 680) { PORTB = Red_Blue; - оно портит порт
Re: Мелкие вопросы по цифровой технике.
Да, действительно.
У вас присваивается маска с каждым диодом полностью порту, а диод явно висит только на одном пине. Этим вы "затираете" ваш пин мигающего диода ноль. Делайте логическими операциями, а не присваиванием.
У вас присваивается маска с каждым диодом полностью порту, а диод явно висит только на одном пине. Этим вы "затираете" ваш пин мигающего диода ноль. Делайте логическими операциями, а не присваиванием.
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Мелкие вопросы по цифровой технике.
Доброго времени суток!
Можно ли менять местами входы вентилей 74HC132?? Для удобства разводки платы.
Можно ли менять местами входы вентилей 74HC132?? Для удобства разводки платы.
Кот гуляет сам по себе, но вблизи холодильника.
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по цифровой технике.
Чаго?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- falkonist
- Друг Кота
- Сообщения: 4471
- Зарегистрирован: Вс мар 04, 2007 11:39:00
- Откуда: Ukraine, Kyiv
- Контактная информация:
Re: Мелкие вопросы по цифровой технике.
Лёгко. Они равноценны.
Выслушай и противную сторону, даже если она и противна
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Мелкие вопросы по цифровой технике.
falkonist, спасибо!
Я собираю вот эту схему
http://radiokot.ru/circuit/digital/measure/38/
там 74HC132 нарисована матюком.
Я собираю вот эту схему
http://radiokot.ru/circuit/digital/measure/38/
там 74HC132 нарисована матюком.
Кот гуляет сам по себе, но вблизи холодильника.
- Vicont
- Прорезались зубы
- Сообщения: 201
- Зарегистрирован: Пт июл 25, 2008 14:09:04
- Откуда: Зауралье
- Контактная информация:
Re: Мелкие вопросы по цифровой технике.
Как можно преобразовать уровни ТТЛ->КМОП (9v) не используя спец. микросхем?
Пробовал подтягивать резистор 10к к цепи питания - не помогает...
Пробовал подтягивать резистор 10к к цепи питания - не помогает...
Re: Мелкие вопросы по цифровой технике.
Транзисторными ключами обычно делают.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Котёнок.
- Мудрый кот
- Сообщения: 1713
- Зарегистрирован: Сб июл 30, 2011 08:40:10
- Откуда: Россия
- Контактная информация:
Re: Мелкие вопросы по цифровой технике.
Просто ключ.
viewtopic.php?p=428969#p428969
Или любую микросхему 155 серии с открытым коллектором. Выходной транзистор у неё выдерживает 15 вольт. Нагрузочный резистор нужно взять такой, что бы не превысить рассеиваемую мощность этого транзистора, т.е. в пределах 3 - 5 ком и питать от 9 вольт. Конечно только выходной каскад.
Также в 155 серии есть инвертора с открытым коллектором в которых выходной транзистор может работать при высоком напряжении.
Например К155ЛА11, К155ЛН2, К155ЛНЗ и К155ЛН5
viewtopic.php?p=428969#p428969
Или любую микросхему 155 серии с открытым коллектором. Выходной транзистор у неё выдерживает 15 вольт. Нагрузочный резистор нужно взять такой, что бы не превысить рассеиваемую мощность этого транзистора, т.е. в пределах 3 - 5 ком и питать от 9 вольт. Конечно только выходной каскад.
Также в 155 серии есть инвертора с открытым коллектором в которых выходной транзистор может работать при высоком напряжении.
Например К155ЛА11, К155ЛН2, К155ЛНЗ и К155ЛН5
- falkonist
- Друг Кота
- Сообщения: 4471
- Зарегистрирован: Вс мар 04, 2007 11:39:00
- Откуда: Ukraine, Kyiv
- Контактная информация:
Re: Мелкие вопросы по цифровой технике.
Не совсем любую с ОК, а именно те, что Вы отметили в конце своего поста. Но тогда непонятно, в чем будет преимущество их применения по сравнению с преобразователем уровней ТТЛ-КМОП К564ПУ6.
Выслушай и противную сторону, даже если она и противна
- Котёнок.
- Мудрый кот
- Сообщения: 1713
- Зарегистрирован: Сб июл 30, 2011 08:40:10
- Откуда: Россия
- Контактная информация:
Re: Мелкие вопросы по цифровой технике.
Да любую с открытым коллектором. Как уже говорил нужно только не превысить мощность рассеиваемую коллектором.falkonist писал(а):Не совсем любую с ОК, а именно те, что Вы отметили в конце своего поста.
Просто это недокументированные возможности на данные микросхемы, что выходной транзистор там выдерживает напряжение больше, чем 5 вольт.
9 вольт выдерживает спокойно и даже больше.
Об этом неоднократно в ж. Радио писали во времена когда микросхемы с высоковольтными транзисторами на выходе в серии 155 были огромным дефицитом. На практике проверено неоднократно. Конечно это относится только к радиолюбительским устройствам.