Attiny2313+DS1307+DS18B20
Re: Attiny2313+DS1307+DS18B20
Кто собирал часы на Attiny2313 расскажите, у кого какая точность хода?
Re: Attiny2313+DS1307+DS18B20
Если специально пытаться, то большинством программаторов не отключить. Понькой точно. А про нее и речь. Если случайно - то случайно чего угодно может произойти.vitalik_1984 писал(а):неправда.последовательным можно отключить
А если в данном случае инверсно поставить фьюзы на внутренние 4 мГц, то получается как раз внешний кварц 3-8мГц.

Adusik Точность хода зависит в основном от примененного кварца.
Re: Attiny2313+DS1307+DS18B20
Ну кварц я понял в схеме один, на 32768? Или ещё на МК надо вешать какой нить?
Re: Attiny2313+DS1307+DS18B20
На тиньку вешать на 4,5 ноги или в программаторе должен быть, или внешнее тактирование подавать.
Re: Attiny2313+DS1307+DS18B20
Вы немого меня не поняли, как залить прошивку я понимаю, в готовом устройстве на МК должен быть кварц или нет? И кде взять схему полную с ОА и фотками фузов в коне или CVavr? В протеусе то всё красиво работает. И ещё хочу прояснить по этому месту:
static flash unsigned char digits[] = {
0xD7, // 0
0x14, // 1
0xCD, // 2
0x5D, // 3
0x1E, // 4
0x5B, // 5
0xDB, // 6
0x15, // 7
0xDF, // 8
0x5F, // 9
0x08, // 10 - знак минус
0x0F, // 11 - символ градус цельсия
0x00, // 12 - пусто
0x8B, // 13 - F
0x98, // 14 - n
0xFC, // 15 - d.
0xCB, // 16 - E
0x88, // 17 - r
0xA8 // 18 - r.
};
Например цифра 7 это 0x15 hex переводим в бинарное получаем 00010101 интересует где здесь abcdefgh?
static flash unsigned char digits[] = {
0xD7, // 0
0x14, // 1
0xCD, // 2
0x5D, // 3
0x1E, // 4
0x5B, // 5
0xDB, // 6
0x15, // 7
0xDF, // 8
0x5F, // 9
0x08, // 10 - знак минус
0x0F, // 11 - символ градус цельсия
0x00, // 12 - пусто
0x8B, // 13 - F
0x98, // 14 - n
0xFC, // 15 - d.
0xCB, // 16 - E
0x88, // 17 - r
0xA8 // 18 - r.
};
Например цифра 7 это 0x15 hex переводим в бинарное получаем 00010101 интересует где здесь abcdefgh?
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
Это по порядку, но можно как захотите (в пределах порта) подключить могу кинуть пример если интересно.
Подглядел у какого то чувака.Очень удобно изменять для удобства разводки и подключения различных ОА или ОК индикаторов.
Подглядел у какого то чувака.Очень удобно изменять для удобства разводки и подключения различных ОА или ОК индикаторов.
В поисках истины человек развивается.
Re: Attiny2313+DS1307+DS18B20
Если было по порядку то 7ка выглядела бы 00000111 по моему, вроде как.
Re: Attiny2313+DS1307+DS18B20
Adusik Кварц не нужен тине в часах, фьюзы вот только что считанные. Схема многократно мелькала, там резисторы в сегменты нужно и, возможно повторители в аноды индикатора, если он не яркий.
Re: Attiny2313+DS1307+DS18B20
У меня яркий индикатор, думаю обойтись без резисторов и ключей, за скрин фузов спасибо!
Re: Attiny2313+DS1307+DS18B20
Adusik писал(а):у кого какая точность хода?
за неделю - 2 минуты
Re: Attiny2313+DS1307+DS18B20
Adusik Без резисторов не нужно обходиться, это совсем не лишние элементы, ни для тиньки, ни для индикатора!!! Особенно если смд, то и места много не займут.
А у меня за 3 месяца лежания без питания , но с батарейкой никуда не убежали, и не отстали
kret_a_v писал(а):за неделю - 2 минуты
А у меня за 3 месяца лежания без питания , но с батарейкой никуда не убежали, и не отстали
Re: Attiny2313+DS1307+DS18B20
Эззззз, так непойдёт, у меня на стене висят 6 лет уже на 16F628A точность 30 сек в год. Только там функция есть нехорошая, переход на зимнее / летнее время, вот и хочу себе без этой фишки.
Главное в часах точность хода, а все остальные прибабахи типа термометр и всё остальное вторично.
Главное в часах точность хода, а все остальные прибабахи типа термометр и всё остальное вторично.
Последний раз редактировалось Adusik Пн май 21, 2012 21:25:53, всего редактировалось 2 раза.
Re: Attiny2313+DS1307+DS18B20
Ну не знаю, это от кварца зависит, у меня именно в этих часах с матери комповой кварц, и все четко идет.
- Вложения
-
- Фото-0424.jpg
- Часы для встраивания в устройство, поэтому деталей больше, чем на схеме и плата под габарит передней панели этого устройства.
- (167.24 КБ) 957 скачиваний
-
- Фото-0398.jpg
- (172.71 КБ) 797 скачиваний
Re: Attiny2313+DS1307+DS18B20
Чего, чего, а материнок у меня хватает, значит с них и надёргаем.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
Можно там же, наверно и часы реального времени тюзнуть.
Вот определение для разных ног на индикаторы.
если нужно обратной полярности(это для ОК) для ОА то можно из 255 отнять эти константы или перед ними написать "!" то есть инверсию
Вот определение для разных ног на индикаторы.
Спойлер
Код: Выделить всё
#define _BV(x) (1<<(x))
#define LED_PORT_SEG PORTB //Порт сегментов
//Определение привязки к ногам контроллера
#define Seg_A 0
#define Seg_B 1
#define Seg_C 2
#define Seg_D 3
#define Seg_E 4
#define Seg_F 5
#define Seg_G 6
#define Seg_DP 7
//Определение констант цифр
#define N0 (_BV(Seg_A)+_BV(Seg_B)+_BV(Seg_C)+_BV(Seg_D)+_BV(Seg_E)+_BV(Seg_F))
#define N1 (_BV(Seg_B)+_BV(Seg_C))
#define N2 (_BV(Seg_A)+_BV(Seg_B)+_BV(Seg_G)+_BV(Seg_E)+_BV(Seg_D))
#define N3 (_BV(Seg_A)+_BV(Seg_B)+_BV(Seg_C)+_BV(Seg_G)+_BV(Seg_D))
#define N4 (_BV(Seg_B)+_BV(Seg_C)+_BV(Seg_F)+_BV(Seg_G))
#define N5 (_BV(Seg_A)+_BV(Seg_C)+_BV(Seg_D)+_BV(Seg_F)+_BV(Seg_G))
#define N6 (_BV(Seg_A)+_BV(Seg_C)+_BV(Seg_D)+_BV(Seg_E)+_BV(Seg_F)+_BV(Seg_G))
#define N7 (_BV(Seg_A)+_BV(Seg_B)+_BV(Seg_C))
#define N8 (_BV(Seg_A)+_BV(Seg_B)+_BV(Seg_C)+_BV(Seg_D)+_BV(Seg_E)+_BV(Seg_F)+_BV(Seg_G))
#define N9 (_BV(Seg_A)+_BV(Seg_B)+_BV(Seg_C)+_BV(Seg_D)+_BV(Seg_F)+_BV(Seg_G))
#define E (_BV(Seg_A)+_BV(Seg_D)+_BV(Seg_E)+_BV(Seg_F)+_BV(Seg_G))
#define r (_BV(Seg_E)+_BV(Seg_G))
static flash unsigned char digits[] = {
N0, // 0
N1, // 1
N2, // 2
N3, // 3
N4, // 4
N5, // 5
N6, // 6
N7, // 7
N8, // 8
N9, // 9
_BV(SEG_H), // 10 - знак минус
0xff, // 11 - символ градус цельсия(тут не заполнял)
0x00, // 12 - пусто
0xff, // 13 - F (тут не заполнял)
0xff, // 14 - n (тут не заполнял)
0xff, // 15 - d. (тут не заполнял)
E, // 16 - E
R, // 17 - r
R|(_BV(SEG_DP) // 18 - r.
};
если нужно обратной полярности(это для ОК) для ОА то можно из 255 отнять эти константы или перед ними написать "!" то есть инверсию
В поисках истины человек развивается.
Re: Attiny2313+DS1307+DS18B20
#define Seg_A 0 // PB0
#define Seg_B 1 // PB1
#define Seg_C 2 // PB2
#define Seg_D 3 // PB3
#define Seg_E 4 // PB4
#define Seg_F 5 // PB5
#define Seg_G 6 // PB6
#define Seg_DP 7 // PB7
я правильно понял?
#define Seg_B 1 // PB1
#define Seg_C 2 // PB2
#define Seg_D 3 // PB3
#define Seg_E 4 // PB4
#define Seg_F 5 // PB5
#define Seg_G 6 // PB6
#define Seg_DP 7 // PB7
я правильно понял?
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
правильно, только порядок бит может быть такой как вам удобно на плате разместить.
и соответственно порт можно любой из удобных.
если на несколько портов раскидывать то будет много лишних операций умножения и т.п. в интерактиве. А так все на этапе сборки считается и ок
и соответственно порт можно любой из удобных.
если на несколько портов раскидывать то будет много лишних операций умножения и т.п. в интерактиве. А так все на этапе сборки считается и ок
В поисках истины человек развивается.
Re: Attiny2313+DS1307+DS18B20
vitalik_1984: пробовал ваш кусок в компиль вставлять, при компиляции ошибку выдаёт, и можно примерчик куда "!" вставлять для инверсии? Вобще то вещь удобная для разводки под разные индикаторы, разобраться бы. И ещё, если мы инвертируем выходы на сегменты, то и аноды/катоды необходимо инвертировать тоже соответственно. Я в АВРах практически "0", но хочется хоть немного разобраться.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
Adusik писал(а):vitalik_1984: пробовал ваш кусок в компиль вставлять, при компиляции ошибку выдаёт,
какую ошибку то?
Adusik писал(а):и можно примерчик куда "!" вставлять для инверсии?
Код: Выделить всё
static flash unsigned char digits[] = {
!N0, // 0
!N1, // 1
!N2, // 2
!N3, // 3
//и так далее.
вроде так должно быть.
Adusik писал(а):И ещё, если мы инвертируем выходы на сегменты, то и аноды/катоды необходимо инвертировать тоже соответственно.
ну это понятно.
с общими точками тоже можно так же сделать как и с сегментами-использовать для них любые удобные ноги одного порта.
В поисках истины человек развивается.
Re: Attiny2313+DS1307+DS18B20
Ошибка: