Перейти к содержанию

Транзисторы Для Управления Сегментами


Рекомендуемые сообщения

Наверное, перепутали с квалификатором const ?

Ну так и я про то же. Спецификатор static может относиться только к переменной. А flash это по любому константа. Перепутал не я, а ТС.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Спецификатор static может относиться только к переменной.
Кто же Вам такое сказал ?

Квалификатор static никак не относится ни к типу переменной/объекта, ни к его константности, ни к его расположению. Он, всего-лишь, делает время жизни глобальным.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Согласен, такая конструкция имеет место быть. Например в С++ в хедере объявляется массив static const int, а затем определяются его значения, как для константы члена класса. Но здесь то какой в этом смысл?

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Вот нашёл такой код с индикацией в обработчике прерываний. Мне нужно задействовать Timer1, но я не пойму где для этого таймера вписывать код обработчика прерываний ...?

#include <mega8.h>
#include <delay.h>
unsigned char number[] =
{
 0x3f, //0
 0x06, //1
 0x5b, //2
 0x4f, //3  
 0x66, //4
 0x6d, //5
 0x7d, //6
 0x07, //7  
 0x7f, //8
 0x6f  //9   
};
#define PORT_IND PORTB
#define DDR_IND DDRB
#define PORT_K PORTD
#define DDR_K DDRD
#define KAT1 0
#define KAT2 1
volatile unsigned char data[2];
void IND_Init(void)
{
 //порт, к которому подкл. сегменты
 PORT_IND = 0xff;
 DDR_IND = 0xff;

 //порт, к которому подкл. катод
 PORT_K &= ~((1<<KAT2)|(1<<KAT1));
 DDR_K |= (1<<KAT2)|(1<<KAT1);
  data[0] = 0;
  data[1] = 0;
}
void IND_Conv(unsigned char value)
{
 unsigned char tmp;
 tmp = value % 10;
 data[0] =  number[tmp];
 tmp = value/10;
 data[1] =  number[tmp];
}

void IND_Update(void)
{
  static unsigned char count = 0;
  PORT_K &= ~((1<<KAT2)|(1<<KAT1));
  PORT_IND = data[count];  

  if (count == 0) PORT_K |= (1<<KAT1);
  if (count == 1) PORT_K |= (1<<KAT2);

   count++;
   if (count == 2) count = 0;
}

//программный счетчик секунд
unsigned char counterProg = 0;
void main( void )
{
 IND_Init();

 //инициализация таймера Т0
 //частота прерываний 100Гц при частоте кварца 8МГц
 TIMSK = (1<<TOIE0);
 TCCR0 = (1<<CS02)|(0<<CS01)|(1<<CS00);
 TCNT0 =  0xb2;

 #asm("sei");
 while(1){
   //программный счетчик секунд
   counterProg++;
   if (counterProg == 100) counterProg = 0;
   IND_Conv(counterProg);
   delay_ms(1000);   
 } 
}
//прерывания таймера Т0 - вывод на индикатор
interrupt [TIM0_OVF] void Timer0Ovf(void)
{
 TCNT0 = 0xb2;
 IND_Update();
}

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Всё, разобрался. Огромное спасибо!

И еще такой вопрос... Мне нужно в вышеупомянутый код добавить вывод еще на четыре разряда, хватит ли частоты прерывания таймера TO для работы с уже 6 разрядами. Сейчас частота 100 гц?

Ссылка на комментарий
Поделиться на другие сайты

Решил сделать часы с использованием микросхемы ds1307+atmega8+семисегментник, набросал код и наткнулся на такую проблемку, что при моделировании в Proteus время идет, но очень медленно.

Проект прилагаю.....

ds1307.rar

Ссылка на комментарий
Поделиться на другие сайты

И еще такой вопрос. Как можно организовать отображение с интервалом в 5 секунд по очереди значений температуры и допустим времени на том же семисегментнике и atmege?

Ссылка на комментарий
Поделиться на другие сайты

Пробивал реализовать, в принципе получилось - задача выполняется, но можно ли так это реализовывать?

Не ругайте за кривость кода, я только начинающий....

ds1307.rar

Ссылка на комментарий
Поделиться на другие сайты

А зачем Вы повторяете один и тот же кусок :

data1 = 11;
delay_ms(50);
data1 = 12;
delay_ms(50);
data1 = 13;
delay_ms(50);
data1 = 10;
delay_ms(50);

8 раз ?

В чём таинственный смысл сих действий ?

Ссылка на комментарий
Поделиться на другие сайты

Это как-бы, при смене показаний времени на температуру происходит эффект стирания цифры (то есть в каждом разряде загорается поочерёдно сегмент А , сегмент G, сегмент D ). Смотрится довольно интересно...... Я просто не знаю как это реализовать иначе...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Актуальная потребность) Тоже развлекался подобным способом, только с немного другим ибп. Хотел перевести его на железофосфат, но он до конца не заряжал батарею. Блок зарядки у него не калибровался, и по моему с микроконтроллером. В итоге оставил свинец. Когда то он тянул серверную на 4х батарейках по 200а/ч. Серверную он вытянул за ночь, а вот из за отсутствия охлаждегия все пошло в разнос. В итоге все закончилось полной заменой силовой комплектухи и устранением лишних отверстий в плате. Но картошку хватило сварить и даже немного поработать, зимой на железофосфате 4 часа отапливал тепловентилятором балкон)). Дешевле чем из розетки днем)) А для ленивых( ну или если в лом или нет достойного донора) можно взять инвертор от SVC он довольно не дорогой и мощный, при этом может работать с авто батарейками, зарядный ток до 10А. Я на нем гоняю насосы котла и кондиционер в шкафу, иногда еще станок.  
    • @Александр2, это у тебя в голове что-то с чем-то вступает в противоречие.  Я знаю, что ты ярый поклонник Ланзара. Поэтому пояснение для тебя того, почему симметричная на бумаге/на экране монитора схема, и спаянная на реальной плате с реальными комплектующими в отличии от неё за редким исключением вместо 0 на выходе зачастую имеет сдвиг напряжения величиной в +/- километр, думается мне излишняя трата времени.    
    • Верно подмечено. Вот их-то, КТ602ВМ и BD139 в ТО-126 в 1969-ом как раз-таки и не было. Не только у J. L. Hood-а, их вообще ещё не существовало. К тому же КТ602БМ  в корпусе КТ-27-2 (как и BD139 в TO-126) и КТ602А в корпусе КТЮ-3-9 - это совсем не близнецы-братья. Технология изготовления совершенно разная, а она при работе транзисторов динамическом режиме, как в случае с JLH-69, играет далеко не последнюю роль. Просто юноша в силу своего быстрого и раннего развития об этом ничего не знает. 
    • Садится разбираться в алгоритме работы и на микроконтроллере делать замену.  Попробуйте прогреть микросхему на зажигалке, когда-то читал о таком способе восстановления процессора от телевизора. Шансов мало, но вам нечего терять, а потом в панельку.
    • Я хочу попробовать разные способы победить эти шумы. Для начала собрать фильтр для блока питания. Корпус с блютуз антенной я пробовал убрать, ничего не изменилось, если фильтр для блока питания тоже не поможет, значит дело в самом усилителе. В Aiyima A3001, который выдает шум гораздо тише, на выходе стоят электролитические конденсаторы и фильтры, можно попробовать сделать также и на Aiyima A09, может таким образом удастся снизить шумы. Если нет, то буду искать еще варианты. Кроме шумов еще надо разобраться с щелчками в колонки при включении и выключении Brzhifi. Aiyima A09 выдает щелчок только при выключении сетевого фильтра, и слабый. А вот Brzhifi щелкает так, что аж диффузоры в колонках двигаются. Схема питания у них отличается, Brzhifi остается в режиме ожидания и питание не отключается, я хочу переделать его так, чтобы оно отключалось, как на Aiyima A09. Может там что сдохло. а может он так спроектирован. Либо что то делать с контроллером питания, либо найти в схеме где можно врезать выключатель и впихнуть его.
    • @CrazyDog34RU Понять, что изначально были неправы, и питание в вашей проблеме не виновато, например?
    • Неожиданный вопрос... При измерениях в любой точке вот этой части схемы "масса" осциллографа вот тут: При измерениях вот в этой части схемы - вот тут: У этой части схемы - вот в этой точке: Подключать "массу" к одной части схемы, а смотреть точки в другой - нельзя. Все эти три "общие" точки - совершенно разные точки. Между ними может быть вполне ощутимое напряжение. Вот тут это хорошо видно:
×
×
  • Создать...