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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Арвар
Встал на лапы
Сообщения: 133
Зарегистрирован: Сб мар 27, 2010 13:57:44

Re: Различные мелкие вопросы

Сообщение Арвар »

спасибо вроде всё понятно - буду с помощью switcha наверно реализовывать.
Я бы на вашем месте за докторскую диссертацию немедленно сел. - Торопиться не надо, сесть я всегда успею (с)
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Различные мелкие вопросы

Сообщение Meteor »

Арвар писал(а):надо значение ацп преобразовать в семисегментный код, т.е. нужен дешифратор.

Если нужно отображение только цифрами, то вначале необходимо преобразовать результат в двоично-десятичный код (инфы должно быть море, как это делать на асме например), а затем уже полученный код преобразовывать в семисегментный. Код создается по типу индикатора под общий анод или общий катод, а также в зависимости от того, какой уровень будет активным нуль или единица. Коды семисегментников зашиваю в EEPROM по адресам от 0 до 9(числа) или 0x0f (численно-буквенный код), откуда читаю значения.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
x_sensor
Встал на лапы
Сообщения: 105
Зарегистрирован: Ср сен 23, 2009 06:35:44
Откуда: г.Курган (У.Ф.О.)

Re: Различные мелкие вопросы

Сообщение x_sensor »

Народ, проверьте пожалуйста печатку для Altera Byte Blaster.

Будет ли работать...? Разводил первый раз...
Вложения
Программатор Altera Byte Blaster.lay
(39.51 КБ) 404 скачивания
Всё во вселенной - волны.
[img]http://s2.itrash.ru/idb/68e9de059f57aa20b262a9992f669e05/ouserbar.jpg[/img]
Арвар
Встал на лапы
Сообщения: 133
Зарегистрирован: Сб мар 27, 2010 13:57:44

Re: Различные мелкие вопросы

Сообщение Арвар »

Люди! Пните меня пож-та в нужном направлении!=)
делаю термометр на атмеге8 и семисегментном индикаторе.
сначала хотел измерять температуру с помощью резистивного моста с последующим АЦП преобразованием, но сегодня нашёл таки и купил датчик DS18b20=)
ввиду многочисленной разнообразной информации, причём местами очень непонятной, не знаю с чего начать=(
интерфейс 1-цшку изучил, пишу исключительно на С в avr-studio
/*
вот моё грубое понимание алгоритма работы проги:
1.сигнальный провод датчика можно кинуть практически на любую ногу МК
2. формируем этот вывод на выход - создаём импульс резет
3. формируем эту же ногу на вход, ждем сигнала присутствия, далее получаем информацию - сохраняем инфо о температуре в регитре - выводим этот результат на семисегментник
*/
Я бы на вашем месте за докторскую диссертацию немедленно сел. - Торопиться не надо, сесть я всегда успею (с)
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Re: Различные мелкие вопросы

Сообщение AI_Disable »

1. Шлём RESET;
2. Получаем PRESENCE;
3. Если датчик один, то отправляем 0xCC;
4. Запускаем измерение 0x44;
5. Ждём около 800 мс или ждём пока датчик "отпустит" линию от нуля;
6. Шлём RESET;
7. Получаем PRESENCE;
8. Просим у датчика считать данные 0xBE;
9. Читаем данные и CRC.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Re: Различные мелкие вопросы

Сообщение Pooher »

Позволю себе поправить.
1-5 - всё ОК.
а дальше:
6. Шлём RESET;
7. Получаем PRESENCE;
8.0xCC;
9. Просим у датчика считать данные 0xBE;
10. Читаем данные и CRC.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Арвар
Встал на лапы
Сообщения: 133
Зарегистрирован: Сб мар 27, 2010 13:57:44

Re: Различные мелкие вопросы

Сообщение Арвар »

надеюсь, что это пройдёт без проблем=)
Я бы на вашем месте за докторскую диссертацию немедленно сел. - Торопиться не надо, сесть я всегда успею (с)
Shurf
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср май 12, 2010 10:24:41
Откуда: Чувашия, Новочебоксарск
Контактная информация:

Re: Различные мелкие вопросы

Сообщение Shurf »

Добрый день.
Добрался до программатора USBbit v1.1. Уж больно его народ расхваливает - и шьет быстро, и прошивать его самого не надо и всякое прочее бла-бла. Ну я обрадовался, сделал печатку (и надо-же, дорожки 0,4 мм вышли четкими по методу Лазерного Утюга), но не тут-то было - купить микросхему FT232RL оказалось сложно - в розничной сети она порядка 300р (меня Жаба давить начала), а оптовики предлагают только опт(что неудивительно, впрочем). Но розничники предложили аналог - PL2303. Уверяли, что распиновка у них идентична. Я задумался и полез искать дадашиты. Вот что получил в итоге:
Изображение
Как видно, распиновка этих микросхем вроде как не сходится, то есть придется делать новую ПП.
Но если бы только в этом и была проблема..
Интересует функциональная взаимозаменяемость этих МС в вышеуказанном программаторе.
В частности на той же страничке программатора есть Вопрос-Ответ:
В: Можно-ли вместо микросхемы FT232RL использовать FT245BM?
О: В FT245BM НЕТУ BitBang Режима. Он есть в FT245R. Принцип работы данного программатора основан как-раз на функциях BitBang.


datasheet PL2303 на поиск по BitBang ничего не дал(

PS: пересмотрел схемы, кажется распиновка идентична, если GND3.3V и GND это одно и то же. И прочее с питанием.
Вложения
pinout.JPG
(84.76 КБ) 7446 скачиваний
Арвар
Встал на лапы
Сообщения: 133
Зарегистрирован: Сб мар 27, 2010 13:57:44

Re: Различные мелкие вопросы

Сообщение Арвар »

эх, подскажите, пож-та, как осуществить посылку 0xCC? с помощь команды сдвига?
Я бы на вашем месте за докторскую диссертацию немедленно сел. - Торопиться не надо, сесть я всегда успею (с)
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Re: Различные мелкие вопросы

Сообщение AI_Disable »

Работа с 1-wire:

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

#define DDR1W DDRB
#define PIN1W PINB
#define DQ 0

//RESET и PRESENCE
char reset()
{
DDR1W|=(1<<DQ);
_delay_us(500);
DDR1W&=~(1<<DQ);
_delay_us(65);
if(!(PIN1W&(1<<DQ))) return(1);
else return(0);
}


//передача данных
void wire_tx(unsigned char data)
   {
   for(unsigned char i=0; i<8; i++)
           {
             if(!(data&(1<<i))){DDR1W|=(1<<DQ); _delay_us(80); DDR1W&=~(1<<DQ);}
      else{DDR1W|=(1<<DQ); _delay_us(7); DDR1W&=~(1<<DQ); _delay_us(73);}
      _delay_us(10);
           }
   }


//Приём данных
char wire_rx()
   {
   unsigned char datarx=0;
   for(unsigned char i=0; i<8; i++)
           {
      DDR1W|=(1<<DQ);
      _delay_us(7);
      DDR1W&=~(1<<DQ);
      _delay_us(7);
             if(PIN1W&(1<<DQ)) datarx|=(1<<i);
      _delay_us(120);
           }
   return(datarx);
   }
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Различные мелкие вопросы

Сообщение Alexeus »

подскажите пожалуйста, поставил в схему с мк цифровой транзистор PDTC143E с встроенными резисторами 4.7к, так что при подаче на базу напряжения лог.уровня (5в) получается делитель и на базу приходит 2,5в -меня волнует вопрос правильный ли это режим, полностью ли открывается в данном случае транзистор??? (схема работает, но хочу уточнить)
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Re: Различные мелкие вопросы

Сообщение AI_Disable »

Биполярные транзисторы открываются током, а не напряжением, так что всё ок.
Арвар
Встал на лапы
Сообщения: 133
Зарегистрирован: Сб мар 27, 2010 13:57:44

Re: Различные мелкие вопросы

Сообщение Арвар »

AI_Disable благодарю=)
Я бы на вашем месте за докторскую диссертацию немедленно сел. - Торопиться не надо, сесть я всегда успею (с)
Аватара пользователя
Sam__s
Родился
Сообщения: 15
Зарегистрирован: Ср май 26, 2010 08:37:56

Re: Различные мелкие вопросы

Сообщение Sam__s »

Ребята, подскажите, а то смотрю в даташитах, и что-то не пойму. При сборке программатора ByteBlaster, схему 74HC244 можно заменить 74HC374D?
Сильно не бейте :) Заранее благодарен.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Различные мелкие вопросы

Сообщение Arlleex »

Attiny2313
Можно ли по нажатию на кнопку увеличивать значение таймера/счетчика, а когда нажали другую кнопку, просто декрементировать значение таймера/счетчика?
т.е. нажали на кнопку 1 раз, в регистр таймера записалось 00000001, затем еще раз, в регистре появится 00000010 и т.д.
А когда нажали другую кнопку, то счет пошел вниз... 00000010, 00000001, 00000000...
?
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Различные мелкие вопросы

Сообщение Meteor »

Можно. Самое простое - задействовать механизм прерываний по внешним событиям. Например настраиваем входы int0 и int1 на обработку событий по переднему фронту (переход из 0 в 1). В обработчике int0 пишем инкремент переменной, а в обработчике int1 - декремент.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Различные мелкие вопросы

Сообщение Arlleex »

ну это просто событие от кнопок.
А как сами таймеры задействовать?
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Re: Различные мелкие вопросы

Сообщение AI_Disable »

Задействовать для чего? Запуск таймера осуществляется выбором прескалера (биты CSxx регистра TCCRxB). Регистр счёта таймера – TCNTx
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Различные мелкие вопросы

Сообщение Arlleex »

для отсчета.
МНе надо декрементировать какой-либо регистр раз в 1 секунду. И результат дешифрировать на 7 сегм. индикатор.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Различные мелкие вопросы

Сообщение avreal »

Sam__s писал(а):Ребята, подскажите, а то смотрю в даташитах, и что-то не пойму. При сборке программатора ByteBlaster, схему 74HC244 можно заменить 74HC374D?
Нельзя. Если очень захотеть, можно на 74hc373 или 74hc573, пустив вторую перемычку автоопределения наличия тоже напрямую (всё равно на КМОП-сериях смысла через шинник пропускать нет, это в старой версии на 74LS244 смысл был).
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Ответить

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