Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Сообщение бгкот »

Микросхема 74HC245.
Аватара пользователя
Виталик
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вс ноя 18, 2007 12:29:40
Откуда: Одесса
Контактная информация:

Сообщение Виталик »

Слышал, что входы МС нельзя оставлять неподключенными, а выходы можно. Т.е. согласно вышепривенной схеме и цоколевки 74HC245N я должен обьеденить ножки 6-9 и присоеденить их к 10 (земля) или через токоограничительный резистор на 20 (+), а ножки 11-14 оставить?
Вложения
TEMP.GIF
74HC245N
(7.61 КБ) 398 скачиваний
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Сообщение бгкот »

Ничего не надо никуда присоединять, там буффера двунаправленные,
что вход, что выход - одно и то же, направление определяется
сигналом на выводе 1, а все буффера отключаются (переводятся в
высокоимпедансное состояние) сигналом на выводе 19.
a.a.ryzhov
Родился
Сообщения: 2
Зарегистрирован: Чт апр 16, 2009 17:48:53

Сообщение a.a.ryzhov »

Использую ATMEGA88
Какая наиболее удобная форма кода подходит для программного опроса окончания АЦ преобразования? Насколько я понял в ATmege напрямую "пощупать" флаг ADIF в регистре ADCSRA нельзя, т.к. он находится за пределами действия команды sbic.
Предполагаю, что сначала регистр ADCSRA нужно поместить в temp, а затем определить состояние 4-го бита, затем снова считать в temp, затем опять проверить 4й бит и до тех пор пока не станет 1. Поправьте, если я ошибаюсь.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

a.a.ryzhov писал(а):Использую ATMEGA88
Какая наиболее удобная форма кода подходит для программного опроса окончания АЦ преобразования? Насколько я понял в ATmege напрямую "пощупать" флаг ADIF в регистре ADCSRA нельзя, т.к. он находится за пределами действия команды sbic.
Предполагаю, что сначала регистр ADCSRA нужно поместить в temp, а затем определить состояние 4-го бита, затем снова считать в temp, затем опять проверить 4й бит и до тех пор пока не станет 1. Поправьте, если я ошибаюсь.
для "ощупывания" конца цикла АЦП обычно используют бит ADSC: как только упал - аллес, все готово. а в остальном все верно.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
a.a.ryzhov
Родился
Сообщения: 2
Зарегистрирован: Чт апр 16, 2009 17:48:53

Сообщение a.a.ryzhov »

ARV

Ясно, опрашивать будем ADSC, но получается что только через промежуточный регистр, неудобно конечно. Спасибо.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Есть вентилятор(Кулер) с датчиком оборотов(холлом), подскажите как с него можно считать информацию. Пока интересует алгоритм считывания.
Параметры вентилятора(колера):
Рабочие напряжение - 12V
Потребность тока - 0.11A
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Сообщение бгкот »

А параметры датчика какие?
©"Good indian is dead one!"
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

бгкот писал(а):А параметры датчика какие?

К сожалению не знаю!=(
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

какие там параметры... там идет прямоугольные импульсы - иногда просто открытый коллектор (т.е. надо резистор на питание, чтобы импульсы увидеть). на 1 оборот 1 или 2 (может и больше - не уверен) импульса. надо просто мерить частоту этих импульсов, она будет пропорциональна частоте вращения.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

отлично! но как можно померить частоту импульсов без осциллографа?
У меня есть одна мысль но не знаю насколько она бредовая, может как-то использовать прерывание?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Sounds писал(а):отлично! но как можно померить частоту импульсов без осциллографа?
У меня есть одна мысль но не знаю насколько она бредовая, может как-то использовать прерывание?
поищите на форуме - была не одна тема про измерение частоты и периода...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

если честно то не чего не нашёл, только не ругайте!
может я плохо искал, и не потому слову?!
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

У меня небольшой впрос по Си. Такая ситуация:

Код: Выделить всё

if (a==0 | b==0 | c==0 | d==0 | e==0 | f==0 )
{
[група операторов];
}

Я так понял что если любая переменная из этих шести равна "0" то будет виполнятся

Код: Выделить всё

[група операторов];
, а если все не равны "0" то ничего выполнятся не будет. Правильно?
Я не Сашок!!!
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Будет правильно,.. если побитовые ИЛИ заменить на логические.
Или так:

Код: Выделить всё

if ( !(a && b && c && d && e && f) )
{
    ... ;
}
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Тоесть мне нужно так сделать:

Код: Выделить всё

if ( (a && b && c && d && e && f)=0) 
{
[група операторов];
}

Если любая из переменных равна "0" то что то делаем
?
Я не Сашок!!!
Аватара пользователя
Тихоня
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пт мар 23, 2007 19:51:45
Откуда: Иркутск

Сообщение Тихоня »

У меня тоже вопрос, по внешним прерываниям.
Разбирал пример из книжки, где с помощью таймера борются с дребезгом контактов. Там обработчик INT'а сразу же запрещает INT от кнопки, делает свои дела, потом включает таймер и на этом всё (reti).
Снова разрешает прерывания от кнопки уже обработчик таймера, после выдержки антидребезговой паузы.
Вопрос следующий: надо ли в обработчике таймера перед разрешением INT'ов от кнопки предварительно сбрасывать флаг этого прерывания?
Ведь, несмотря на то, что дребезг к этому времени уже кончился, он мог "запомниться" в флаге... Или нет?
В книжке ничего не сбрасывают.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Тихоня писал(а):Вопрос следующий: надо ли в обработчике таймера перед разрешением INT'ов от кнопки предварительно сбрасывать флаг этого прерывания?
мыслите верно - флаг сбрасывать нужно

а вам, sachok, я, как и обычно, порекомендую почитать книжки про язык Си, чтобы запомнить разницу между оператором = и ==

Код: Выделить всё

if ((a && b && c && d && e && f) == 0) 
{
[група операторов];
}
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Разницу знаю:) Читал. Просто спешил и пропустил один "=". Спасибо за помощ!!!
Я не Сашок!!!
Ответить

Вернуться в «Разные вопросы по МК»