простые интересные РАДИОСХЕМЫ сделанные своими руками

» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизируйтесь!





» ДАТАШИТЫ
Например: TDA1562

» СХЕМЫ


Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

Страница 2 из 2«12
Модератор форума: Электродыч, Витинари, Sam 
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Бинарные часы - проверка заряда батарейки. (бинарные часы, вопрос, заряд батареи.)
Бинарные часы - проверка заряда батарейки.
Чт, 28.09.2017, 07:35 | Сообщение # 11        
nolpofaze
аватар
  Постов: 186  Offline
Цитата S77 ()
когда батарейку надо будет менять(а это надо еще как-то понять)

ну есть же АЦП, пускай он и меряет.
Пт, 29.09.2017, 01:34 | Сообщение # 12        
S77
аватар
  Постов: 19  Offline
Короче за время курения даташитов и прочих раздумий набежало опять несколько вопросов.
Чтобы мне установить CKSEL = 1001 нужно сделать так?
CKSEL3 галочку
CKSEL2 пусто
CKSEL1 пусто
CKSEL0 галочку
Подразумевая что галочка 0, а ее отсутствие 1.
И тогда я опираясь на разделы 13.2.3(стр.53) и 13.5(стр.56) ставлю кварц на 32,762кГц и подключаю к ноге XTAIL1 и XTAIL2 кондеры по 6pF? Я просто не понял, что такое System Osc и Timer Osc. Да и смотря на другие схемы в интернете многие ставят в пределах 12-22pF.

Теперь про сон.
Мне нужно, чтобы мк просыпался по нажатию кнопки. Т.е. я вставил батарейку мк начал считать время, диоды при этом не горят. Нажал кнопку, светодиоды загорелись, прогорели 5 секунд и отключились. Мк опять ушел в сон. Я так понял, во время сна время считает асинхронный таймер(Timer2). Непонятно только на что он опирается.


Исходя из этой схемы я не совсем понял разницу между двумя зелеными прямоугольниками. Отличие Crystal Oscillator от Low-Frequency Crystal Oscillator в том, что второй специально сделан по 32,768кГц, а на первый можно вешать все, что душе угодно?
Пробудить мк из спячки можно только(стр.65):
Переполнением второго таймера, т.е. мк просыпается через определенные промежутки времени, что мне не подходит.
Есть какая-то страшная вещь PCINT. Она как я понял во время сна и смотрит не изменилось ли состояние на ногах. И если изменилось то надо просыпаться. Портов с этим PCINT - 23. Т.е. с помощью каждого из них я могу проверять прерывания?
Цитата с хабра:
Цитата
Действительно щас залез в даташиты… PCINT у 48/88 на все ножки) и прерываний на них всех не одно, а 4 =)

Или все же могу только 4? И как этот товарищ понял, что именно 4? Куда глядеть в даташите? В пункте 16.1(стр.84) только 3 PCINT'а указанно.
INT вроде подходят потому что смотрят изменения уровня с 1 на 0 или наоборот. Но их всего два.
WDT тоже не подходит ввиду того, что это тоже таймер. Не тот, что Timer2, но все же.
TWI Adress Match это вообще не понятно что.

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


Отредактировал S77 - Пт, 29.09.2017, 01:37
Пт, 29.09.2017, 07:49 | Сообщение # 13        
nolpofaze
аватар
  Постов: 186  Offline
S77,
В ASSR пишешь AS2 (асинхронная работа timer2)
Цитата S77 ()
кондеры по 6pF
как бы вроде и не надо, кварц на
Цитата S77 ()
XTAIL1 и XTAIL2
, корпус кварца заземлить.
Контроллер работает на частоте по умолчанию, но все основное время спит, втихаря щёлкая таймером 2, изредка выходя из комы чтоб добавить 1 секунду или показать время.
1)на инт вешаешь кнопку, по которой будут загораться/тухнуть светодиоды, в прерывании по INT0,INT1 обрабатываешь тык на кнопку;
2)в прерывании по переполнению таймера 2 (раз в секунду, переполнение происходит на 256 тик, предделитель таймера2 ставим 128) выполняешь счет времени.
Можно как-то так, только надо следить, чтобы контроллер успевал прожевывать счет времени, между пробуждением и спячкой асинхронный таймер должен отработать несколько своих тактов и выполнить все свои дела.


Отредактировал nolpofaze - Пт, 29.09.2017, 07:51
Вс, 01.10.2017, 16:58 | Сообщение # 14        
S77
аватар
  Постов: 19  Offline
т.е. алгоритм выглядит так
подаю питание
спим
просыпаемся каждую секунду по прерыванию таймера2 но с небольшой задержкой
заснули
если нажали кнопку проснулись с целью включить диоды, но на ход таймера это не влияет
Просто если он просыпается по прерыванию вторго таймера, то разве не будут диоды мигать каждую секунду?

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


Отредактировал S77 - Вс, 01.10.2017, 20:31
Пн, 02.10.2017, 08:50 | Сообщение # 15        
nolpofaze
аватар
  Постов: 186  Offline
S77, 1) почитай про прерывания; 2) подпрограммы (функции) на каждое прерывание свои.
В подпрограмме (функции) где считается время, наверное, нету смысла зажигать светодиоды. Проснулся прибавил единицу, протупил 3-4 такта, уснул.
По инту, проснулся, зажег светодиоды, выждал время (1-2-3-4-5... секунд), уснул.
Это если все обрабатывать в прерываниях. Да и на такое простое устройство, нет смысла городить, что-то сложное.
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Бинарные часы - проверка заряда батарейки. (бинарные часы, вопрос, заряд батареи.)
Страница 2 из 2«12
Поиск:
Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Пользователи
Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта