Attiny2313+DS1307+DS18B20

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

Кто собирал часы на Attiny2313 расскажите, у кого какая точность хода?
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20160
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Attiny2313+DS1307+DS18B20

Сообщение Martin76 »

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

Adusik Точность хода зависит в основном от примененного кварца.
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

Ну кварц я понял в схеме один, на 32768? Или ещё на МК надо вешать какой нить?
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20160
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Attiny2313+DS1307+DS18B20

Сообщение Martin76 »

На тиньку вешать на 4,5 ноги или в программаторе должен быть, или внешнее тактирование подавать.
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

Вы немого меня не поняли, как залить прошивку я понимаю, в готовом устройстве на МК должен быть кварц или нет? И кде взять схему полную с ОА и фотками фузов в коне или 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?
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Attiny2313+DS1307+DS18B20

Сообщение vitalik_1984 »

Это по порядку, но можно как захотите (в пределах порта) подключить могу кинуть пример если интересно.
Подглядел у какого то чувака.Очень удобно изменять для удобства разводки и подключения различных ОА или ОК индикаторов.
В поисках истины человек развивается.
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

Если было по порядку то 7ка выглядела бы 00000111 по моему, вроде как.
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20160
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Attiny2313+DS1307+DS18B20

Сообщение Martin76 »

Adusik Кварц не нужен тине в часах, фьюзы вот
fuse2313.JPG
(50.01 КБ) 828 скачиваний
только что считанные. Схема многократно мелькала, там резисторы в сегменты нужно и, возможно повторители в аноды индикатора, если он не яркий.
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

У меня яркий индикатор, думаю обойтись без резисторов и ключей, за скрин фузов спасибо!
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Re: Attiny2313+DS1307+DS18B20

Сообщение kret_a_v »

Adusik писал(а):у кого какая точность хода?

за неделю - 2 минуты
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20160
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Attiny2313+DS1307+DS18B20

Сообщение Martin76 »

Adusik Без резисторов не нужно обходиться, это совсем не лишние элементы, ни для тиньки, ни для индикатора!!! Особенно если смд, то и места много не займут.

kret_a_v писал(а):за неделю - 2 минуты

А у меня за 3 месяца лежания без питания , но с батарейкой никуда не убежали, и не отстали :)
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

Эззззз, так непойдёт, у меня на стене висят 6 лет уже на 16F628A точность 30 сек в год. Только там функция есть нехорошая, переход на зимнее / летнее время, вот и хочу себе без этой фишки.
Главное в часах точность хода, а все остальные прибабахи типа термометр и всё остальное вторично.
Последний раз редактировалось Adusik Пн май 21, 2012 21:25:53, всего редактировалось 2 раза.
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20160
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Attiny2313+DS1307+DS18B20

Сообщение Martin76 »

Ну не знаю, это от кварца зависит, у меня именно в этих часах с матери комповой кварц, и все четко идет.
Вложения
Фото-0424.jpg
Часы для встраивания в устройство, поэтому деталей больше, чем на схеме и плата под габарит передней панели этого устройства.
(167.24 КБ) 957 скачиваний
Фото-0398.jpg
(172.71 КБ) 797 скачиваний
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

Чего, чего, а материнок у меня хватает, значит с них и надёргаем.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Attiny2313+DS1307+DS18B20

Сообщение vitalik_1984 »

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

Код: Выделить всё

  
#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 отнять эти константы или перед ними написать "!" то есть инверсию
В поисках истины человек развивается.
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

#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

я правильно понял?
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Attiny2313+DS1307+DS18B20

Сообщение vitalik_1984 »

правильно, только порядок бит может быть такой как вам удобно на плате разместить.
и соответственно порт можно любой из удобных.
если на несколько портов раскидывать то будет много лишних операций умножения и т.п. в интерактиве. А так все на этапе сборки считается и ок
В поисках истины человек развивается.
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

vitalik_1984: пробовал ваш кусок в компиль вставлять, при компиляции ошибку выдаёт, и можно примерчик куда "!" вставлять для инверсии? Вобще то вещь удобная для разводки под разные индикаторы, разобраться бы. И ещё, если мы инвертируем выходы на сегменты, то и аноды/катоды необходимо инвертировать тоже соответственно. Я в АВРах практически "0", но хочется хоть немного разобраться.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Attiny2313+DS1307+DS18B20

Сообщение vitalik_1984 »

Adusik писал(а):vitalik_1984: пробовал ваш кусок в компиль вставлять, при компиляции ошибку выдаёт,

какую ошибку то?
Adusik писал(а):и можно примерчик куда "!" вставлять для инверсии?

Код: Выделить всё

static flash unsigned char digits[] = {
!
N0, // 0
!N1, // 1
!N2, // 2
!N3, // 3
//и так далее.
 

вроде так должно быть.
Adusik писал(а):И ещё, если мы инвертируем выходы на сегменты, то и аноды/катоды необходимо инвертировать тоже соответственно.

ну это понятно.
с общими точками тоже можно так же сделать как и с сегментами-использовать для них любые удобные ноги одного порта.
В поисках истины человек развивается.
Аватара пользователя
Adusik
Поставщик валерьянки для Кота
Сообщения: 2198
Зарегистрирован: Ср мар 14, 2007 01:50:10

Re: Attiny2313+DS1307+DS18B20

Сообщение Adusik »

Ошибка:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»