9zip.ru - технологии для людей
9zip.ru Инструкции Если не хватает выводов МК

Наткнулся я в очередной раз на типичную проблему. Надо было включить в схему несколько светодиодов, а ног нехватало. Переходить на другой процессор было неудобно, и пришлось выдумывать очередной финт (или "hint"?).

Подключение светодиодов к МК Оказалось, что можно включить светодиоды вот так.

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

Можно выдумать мультиплексный режим, при котором зажигаются одновременно по два светодиода. В таком случае общая яркость увеличится (скважность больше). К сожалению, при этом яркость каждого светодиода будет зависеть от светящейся комбинации. Хотя в большинстве случаев это несущественно.

Таким образом можно повесить шесть светодиодов на три ноги, двенадцать - на четыре и т.д. Впрочем, советую не увлекаться.

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

Ниже приведен пример программы. Он компилировался AVR-GCC 3.3 для ATmega163. Светодиоды были подключены к ногами PB.0 - PB.3. В этом примере одновременно зажигаются до двух светодиодов (скважность 1/3).

Собственно процедура регенерации выглядит примерно так:

unsigned char leds; // Bits are the leds states

void LEDs_refresh(void)
{
static unsigned char state; // Current refresh state

OFF(); // Turn all pins to High-Z

switch (state)
{
default:
CLR_0(); // Turn pin 0 low
if (leds & 1) {SET_1();} // Turn pin 1 high for led 1
if (leds & 2) {SET_2();} // Turn pin 2 high for led 2
state=1; // Next state
break;
case 1:
CLR_1(); // Turn pin 1 low
if (leds & 4) {SET_0();} // Turn pin 0 high for led 3
if (leds & 8) {SET_2();} // Turn pin 2 high for led 4
state=2; // Next state
break;
case 2:
CLR_2(); // Turn pin 2 low
if (leds & 16) {SET_0();} // Turn pin 0 high for led 5
if (leds & 32) {SET_1();} // Turn pin 1 high for led 6
state=0; // Next state
break;
}
}

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


6 нравится? 7


01.02.2015 © 9zip.ru
Авторские права охраняет Роскомнадзор

Понравилась статья?
Робот Вертер говорит:
поделись с друзьями!

Хочешь почитать ещё про инструкции? Вот что наиболее популярно на этой неделе:
Согласование усилителя с аккустической системой
Советы по доработкам усилителя Амфитон
Простой генератор звуковой частоты



Есть вопросы, комментарии? Напиши:

Имя
Комментарий
Длина текста:
число с картинки
Правила прочитал(а)

Пользовательские теги: если нехватает ножек мк [ Что это? ]

Дальше в разделе инструкции: Описание работы схемы центрифуги, электродвигатель питается от сети переменного тока напряжением 220 в частотой 50 гц. под крышкой центрифуги установлен выключатель, блокирующий включение двигателя при открытой крышке. установкой требуемой выдержки времени подготавливают цепи включения реле и нагревателя.

Главная 9zip.ru База знаний радиолюбителя Контакты
Девять кучек хлама:

Радиотехника, электроника и схемы своими руками Ремонт домашней электроники Виртуальный музей старых радиодеталей XX века Ламповый звук hi-end и ретро электроника Катушки Теслы Радиодетали и модули с Aliexpress Интернет и сети, компьютеры и программы Сотовые операторы Инструкции


Дайджест
радиосхем

Новые схемы интернета - в одном месте!

 23.3 Цифровой радиоприемник Perfeo I90
 21.3 Первичные Часы на ESP32
 21.3 Тремостат для управления мощным нагревателем

Задай вопрос радиолюбителям!


23.3 Кто может помочь мне, купил ослика hantec osd2d15. ...
21.3 Я - аквариумистка. У меня есть автоматическая ...
5
15.3 Есть прилично поработавшая люминесцентная лампа, ...
3