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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Грызет канифоль
Аватара пользователя
Сообщения: 260
Зарегистрирован: Ср фев 13, 2008 14:41:32
Откуда: Украина, Николаев

Сообщение Vergilium »

Спрошу еще вот что. Таймер в AVR настроен на 1800Hz, таймер 8-бит, то прерывание по переполнению произойдет когда будет достигнуто 255 в счетном регистре, следовательно 1800 / 256 = 7,031... Это значит будет 7 прерываний в секунду, я прав? А как сделать чтоб в секунду происходило одно прерывание (нужно для таймера). Хотелось бы посмотреть как это делается на С, а то все на "асм".
Немного нервов и девайс готов
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

насчет 7 раз в сек так и будет, ну примерно.
раз в сек, можно организовать по-разному.
использовать Т1 в асинхронном режиме с кварцем 32768Гц, на Т0,Т2 считать кол-во переполнений, подобрав удобный коэф.пересчета/деления, и в нужный момент что-то делать
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн сен 07, 2009 18:49:16

Сообщение dymon »

Мне нужно подрубить MMC/SD карту к контроллеру. Контроллер питается от 5В, а карта памяти от 3,3В. Т.к. из меня электрик плохой, подскажите плиз как с 5 до 3,3 сбавить напряжение и подать на MMC/SD. Схемку подпросте если можете.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

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

Питание на карту подать через любой стабилизатор на 3.3В, для простоты м. взять интегральный маломощный; а согласование уровней - либо через резисторы (самый простой в реализации, но самый "непарламентский" способ; Ом, этак, трехсот достаточно, если я правильно помню), в некоторых случаях к резисторам добавляют стабилитроны на 3.3В; либо выбрать что-то подходящее отсюда.

Но я предпочитаю питать м/к от 3.3 - это и проще, и надежнее, и дешевле одновременно; если конечно м/к на такое способен.
Реклама
Эиком - электронные компоненты и радиодетали
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Yellow Tiger писал(а):... если конечно м/к на такое способен.
все современные AVRки способны работать, без снижения частоты, при Vcc до 2.7В, а низковольтного исполнения до 1.8В
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

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

GP1 писал(а):все современные AVRки способны ...
А он ничего про AVR'ки не говорил, или мой браузер что-то от меня скрывает...?
Реклама
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн сен 07, 2009 18:49:16

Сообщение dymon »

Питание на карту подать через любой стабилизатор на 3.3В, для простоты м. взять интегральный маломощный; а согласование уровней - либо через резисторы (самый простой в реализации, но самый "непарламентский" способ; Ом, этак, трехсот достаточно, если я правильно помню), в некоторых случаях к резисторам добавляют стабилитроны на 3.3В; либо выбрать что-то подходящее отсюда.

Но я предпочитаю питать м/к от 3.3 - это и проще, и надежнее, и дешевле одновременно; если конечно м/к на такое способен.
1) Я не могу все запитывать 3,3В, т.к. есть другие устройства которые питаются только от 5В. SD-единственное устройство в моей системе которое требует 3,3 В.
2)А просто резистор нельзя впаять?
3)А названия конкретных интегральных стабилизаторов можешь привести?
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

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

2) - если требований по надежности особых нет, то можно.

3) - ищи сразу в магазинах, например так...
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

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

Сообщение sachok »

Как можно проверить состояние конкретного бита в переменной?
Я не Сашок!!!
Контактная информация:
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

sachok писал(а):Как можно проверить состояние конкретного бита в переменной?
Логическое И с константой. Что-нибудь вроде:

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

lds   R16, var
andi  R16, 0x10
brne  куда-то, если бит установлен
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Збыл написать и пишу на Си. Щас буду пробовать с лог. "И"
Я не Сашок!!!
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

sbrc r16, 1 ;пропустить следующую команду, если бит 1 регистра r16 сброшен (Skip if Bit in Register is Cleared)
sbrs r16, 1 ;пропустить следующую команду, если бит 1 регистра r16 установлен (Skip if Bit in Register is Set)
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Проблема решена! Вот как я это сделал: (может ещё кому то пригодится)

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

if (temp_2>max_2)                
{
led_status|=0b00000010; //установка второго бита в "1" не трогая остальных битов
}
else
{
     if ( ( (led_status & 0b00000010)>>1)==1) //провкрка состояния второго бита
     {
      led_status^=0b00000010; //установка второго бита в "0" не трогая остальных
      }
}
Я не Сашок!!!
Контактная информация:
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

sachok писал(а):Вот как я это сделал: ...
а чем вас вариант сброса бита в 0 не устраивает

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

led_status &=~(0b00000010);
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

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

Сообщение sachok »

Посколько у меня это будет срабатывать только когда нужный бит "1" то инверсия мне тоже подойдет :) но за совет СПАСИБО буду знать.
Я не Сашок!!!
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн сен 07, 2009 18:49:16

Сообщение dymon »

У меня есть вопрос. По схеме сопряжения контроллера с картой памяти, которая приведена на
http://piclist.ru/S-64MMC-PIC-RUS/S-64MMC-PIC-RUS.html
видно, что используется делитель напряжения (резисторы по 3 и 1.8 кОм). Что меня настораживат - это отсутствие подтягивающих резисторов. Они что вообще не нужны??? В даташите они есть, правда у них вся схема питается от 3.3 вольт.....
Грызет канифоль
Аватара пользователя
Сообщения: 291
Зарегистрирован: Сб июл 18, 2009 23:45:11
Откуда: Мос.обл.

Сообщение Kots »

Делаю AVR910, но неоказалось резисторов на 100ом. Есть на 111, такой подойдёт?
Вложения
PROTTOSS AVR910 USB Programmer.pdf
Схема
(32.1 КБ) 397 скачиваний
Сендвич всегда падает хлебом вниз.
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Kots писал(а):Делаю AVR910, но неоказалось резисторов на 100ом. Есть на 111, такой подойдёт?
Число 111 - это Вы на корпусе SMD резистора прочитали? Если да, то это не 111 Ом, а 110. В любом случае, и 110 и 111 Ом подойдет.
Ответить

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