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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Vergilium
Грызет канифоль
Сообщения: 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 считать кол-во переполнений, подобрав удобный коэф.пересчета/деления, и в нужный момент что-то делать
Чем дальше, тем больше становлюсь занудой...
Изображение
dymon
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн сен 07, 2009 18:49:16

Сообщение dymon »

Мне нужно подрубить MMC/SD карту к контроллеру. Контроллер питается от 5В, а карта памяти от 3,3В. Т.к. из меня электрик плохой, подскажите плиз как с 5 до 3,3 сбавить напряжение и подать на MMC/SD. Схемку подпросте если можете.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 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В
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

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

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

Сообщение dymon »

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

Но я предпочитаю питать м/к от 3.3 - это и проще, и надежнее, и дешевле одновременно; если конечно м/к на такое способен.


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

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

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

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

Сообщение GP1 »

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

Сообщение sachok »

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

Сообщение SII »

sachok писал(а):Как можно проверить состояние конкретного бита в переменной?


Логическое И с константой. Что-нибудь вроде:

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

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

Сообщение sachok »

Збыл написать и пишу на Си. Щас буду пробовать с лог. "И"
Я не Сашок!!!
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 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)
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
sachok
Опытный кот
Сообщения: 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" не трогая остальных
      }
}
Я не Сашок!!!
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

sachok писал(а):Вот как я это сделал: ...

а чем вас вариант сброса бита в 0 не устраивает

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

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

Сообщение ARV »

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

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

Сообщение sachok »

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

Сообщение dymon »

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

Сообщение Kots »

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

Сообщение smac »

Kots писал(а):Делаю AVR910, но неоказалось резисторов на 100ом. Есть на 111, такой подойдёт?

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

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