Всем привет! Есть две идеи, нужна помощь в написании скетча. 1. Имеется микруха CD4026BE (4шт), Attiny 2313a, большие 7и сегментные индикаторы (4шт), кварц еще скоро прибудет на 32768Гц. Задача такова, сделать счетчик дней из 4х сегментов. В CD4026BE уже есть функция переключения цифр на+1 автоматически при подаче на нее сигнала. Собирал уже на борде такое из двух сегментов через Attiny2313a все работает отлично, только внутренний генератор у Attiny2313a очень не точный на долгие задержки. Ставил чтобы он через сутки выдал сигнал, так погрешность была 15-20 минут В описании кварца написано погрешность 1 секунда в сутки. Так вот что нужно сделать, подключить кварц к Attiny2313a и заставить его выдавать сигнал раз в 24 часа и больше ничего. Желательно конечно подстройку чисел сделать кнопочкой +-1. 2. Нашел газоразрядные индикаторы ИН-8-2 и загорелся собрать на них декоративные часики (в подарок). Имеется всё также Attiny2313a, кварц 32768Гц, Max 7219eng. Находил различные примеры для решения данной задачи в интернете, но они почти все написаны на ассемблере, а у меня имеется тока арудино уно в роли программатора и соответственно его среда разработки. Тот же пред делитель частоты от подключеного кварца не представляю как сделать
Обычный счетчик дней, который прибавляет +1 к значению на цифрах при подаче на него сигнала. Ну жен для стенда на работе, чтобы отсчитывать количество дней прошедших без травматизма http://wiki.amperka.ru/дисплеи-и-индикаторы:7-сегментный-индикатор Вот схема.
Эти модули подключаются только через ардуино, а может можно обойтись только тини и например ds3231 at24c32 iic?
Зачем так сложно?Ставьте кварц 1Мгц программируйте таймер на 1 секунду (можно даже 1 минуту) и далее считаем минуты далее часы или даже дни-это уже в тексте программы.Часовой кварц не факт что будет работать (у меня так и не заработал ни один из 5)часы реального времени-тоже вариант но зачем намеренно усложнять устройство?У 2313 и так всё есть на Борту это маленькая Мега8
Я ставил на внутреннем кварце чтобы он выдавал сигнал раз в сутки, погрешность была минут в 15-20. Поэтому и хочу подключить внешний
"Внутреннего кварца" там нет есть RC генератор. Погрешность 5-10 сек в сутки проверено лично.Это если температура комнатная и не меняется.15-20 минут много-ищите ошибки в коде.Я писал на асме.Внешний кварц-да!Но не часовой а оптимально 1 Мгц http://tinyurl.com/ob3klbf Ниже может не запуститься выше геморой в коде при программировании таймера. но в пределах 1-8 мгц реально.А почему ретро индикаторы ИН8?Они же от 220 вольт работают?Может стукнуть
Ретро потому что красиво, ну а на 220в почти все в квартире работает не стукнуло еще ниразу Насчет правильности написания кода, тут все очень просто. Писал в среде ардуиноид, прошивал тини через ардуино уно. А весь програмный когда заключался в одной команде delay "количество секунд в сутках". Т.к. я тока начал осваивать всю эту облась асемблера я не знаю, да и прошивать нечем кроме ардуино уно.
Понятно.Да Ретро это красиво у меня тоже где-то ИНки валяются может когда то что нить сделаю на них))))) А ошибки во времени потому что Вы используете готовые библиотеки типа Delay.h Кто их писал и что там одному Богу известно.На Асме Вы сами пишете код так как Вам надо именно Вам а не Компилятору.Можно тупо зарядить таймер и пусть он делит 1000000 колебаний в секунду на заданный Вами коэфициэнт. Можно тупо выполнять 1000000 каких нибудь действий в секунду например декременировать (вычитать) из заданного числа.И тут уж Вы сами смотрите если часы "бегут" то добавляете число операций а если отстают то наоборот.Здесь можно достигнуть очень большой точности теоретически нулевой погрешности
Хех!А оптимизация кода?Всё равно сделает как ему (компилятору)удобней-потом баг не выловить))))))).А в Асме фигушки!Там я могу процесс запустить как мне надо и никак иначе
Если оптимизатор работает правильно, то никаких багов не будет. И его всегда можно отключить. Реальная необходимость писать на ассемблере возникает крайне редко.
Зато необходимость упомянуть об его использовании возникает крайне часто. Я писал на асме еще под советские РК-86, потом под первые Intel до 286, знаю, что код действительно эффективен. Но трудозатраты по написанию одного и того же кода на асме и с++ несопоставимы на более-менее объемной программе. Что дороже машинное время или ваше собственное? В большинстве случаев разница не заметна не только на глаз, но и на самом деле. С++ это не Бейсик.