Электронные часы на микроконтроллере
Часы от Danko http://radiokot.ru/forum/viewtopic.php?t=12805&start=40
И для tiny2313 и для Mega8. Индикаторы с ОК, но дополненная схема включается с индикаторами ОА.
Время, две температуры, управление по ИК, использованы внешние часы DS1307.
И для tiny2313 и для Mega8. Индикаторы с ОК, но дополненная схема включается с индикаторами ОА.
Время, две температуры, управление по ИК, использованы внешние часы DS1307.
- Вложения
-
- +РАЗВОДКА.rar
- Схема и разводка платы для больших индикаторов ОА
- (169.22 КБ) 430 скачиваний
- Pippeytz
- Потрогал лапой паяльник
- Сообщения: 396
- Зарегистрирован: Ср май 28, 2008 19:30:31
- Откуда: Донецк
- Контактная информация:
Ладна, тогда вот вам еще одни часы(с терометром правда)
на меге8 для полного щастья. Все работает все отлажено , щитает от часового кварца. Проц тактируеться от внутреного Рс генератора на 2МГЦ. Все что связано с термометром , можите постирать с исходника.
Написано на С
Min - установка минут
Hour - установка часов
Alam - установка будльника, тут же и вкл\выкл будульник
Time - при нажатии и удерижвании устанавливатсья время или часы (нажал и патом устанавливаеш часы\минуты кнопками)
BT66 - трех новагя музыкальная микросхема на будльник, может быть любая, любой сложности но покдлючать надо так как нарисовано.
Динамик - любой
Индикатор с общим АНОДОМ, если с катодом брать просто тарнзисторы
взять НПН, в програме ничего меня не нада.

на меге8 для полного щастья. Все работает все отлажено , щитает от часового кварца. Проц тактируеться от внутреного Рс генератора на 2МГЦ. Все что связано с термометром , можите постирать с исходника.
Написано на С
Min - установка минут
Hour - установка часов
Alam - установка будльника, тут же и вкл\выкл будульник
Time - при нажатии и удерижвании устанавливатсья время или часы (нажал и патом устанавливаеш часы\минуты кнопками)
BT66 - трех новагя музыкальная микросхема на будльник, может быть любая, любой сложности но покдлючать надо так как нарисовано.
Динамик - любой
Индикатор с общим АНОДОМ, если с катодом брать просто тарнзисторы
взять НПН, в програме ничего меня не нада.

- Вложения
-
- clock_LED.c
- (10.83 КБ) 769 скачиваний
Полный пипеутз.
- SeamaNCOS
- Встал на лапы
- Сообщения: 107
- Зарегистрирован: Ср дек 10, 2008 15:10:59
- Откуда: KPACHO9PCK
- Контактная информация:
ooogo при смене кварца нужно поменять число сравнения расчет которого 4 000 000 *0.5 / 250 = 7812.5 =1E84 а еще лучше
4 000 000 *0.5 / 64 = 31250 =7A12
ldi Temp1,0b00000011
out Tccr1b,Temp1 ;тактовый сигнал /64
ldi Temp1,0x7A
out Ocr1ah,Temp1
ldi Temp1,0x12
out Ocr1al,Temp1 ;запись числа сравнения 31250 (0.5сек. при 4мгц)
Никакого добавления не надо прерывания не зависят от программы (задержек и т.п.) они будут вызываться каждые 0.5сек.(в датыше расписано как это работает)
Протеус сам компилирует в нем встроеены компиляторы AVRASM AVRASM2. А так AVRASM(в обучалке написано).
4 000 000 *0.5 / 64 = 31250 =7A12
ldi Temp1,0b00000011
out Tccr1b,Temp1 ;тактовый сигнал /64
ldi Temp1,0x7A
out Ocr1ah,Temp1
ldi Temp1,0x12
out Ocr1al,Temp1 ;запись числа сравнения 31250 (0.5сек. при 4мгц)
Никакого добавления не надо прерывания не зависят от программы (задержек и т.п.) они будут вызываться каждые 0.5сек.(в датыше расписано как это работает)
Протеус сам компилирует в нем встроеены компиляторы AVRASM AVRASM2. А так AVRASM(в обучалке написано).
Чем больше думаеш, тем дольше уснуть не можеш...
не понял, почему 250? Предделитель ведь стоял 256?при смене кварца нужно поменять число сравнения расчет которого 4 000 000 *0.5 / 250 = 7812.5 =1E84
это понятно, хотел сделать с предделителем 256, что бы прерывание реже вызывалось!4 000 000 *0.5 / 64 = 31250 =7A12
Поставил AVR Studio, он вроде бесплатный, только не нашел поддержки программатора stk200/300Протеус сам компилирует в нем встроеены компиляторы ...
имел ввиду, задержку для отображения цифр при динамической индикации.[/quote]Никакого добавления не надо прерывания не зависят от программы (задержек и т.п.)
- SeamaNCOS
- Встал на лапы
- Сообщения: 107
- Зарегистрирован: Ср дек 10, 2008 15:10:59
- Откуда: KPACHO9PCK
- Контактная информация:
Да 256
просто при 64 целое число получаеться.
Прерывания реже вызываться небудут. Будет таимер счетчик медленнее чситать. Прерывание вызываеться при совподении таимера счетчика и числа сравнения сразуже при совподении. а таимер/счетчик работает сам посебе.... никакие задержки в программе на прерывания не влеяють.
собирал я STK200 так его и не запустил. Досихпор шью все через 5 проводков и Uniprof. Меня устраивает(если невидно разници зачем лишнее заморочки
)
Прерывания реже вызываться небудут. Будет таимер счетчик медленнее чситать. Прерывание вызываеться при совподении таимера счетчика и числа сравнения сразуже при совподении. а таимер/счетчик работает сам посебе.... никакие задержки в программе на прерывания не влеяють.
собирал я STK200 так его и не запустил. Досихпор шью все через 5 проводков и Uniprof. Меня устраивает(если невидно разници зачем лишнее заморочки
Чем больше думаеш, тем дольше уснуть не можеш...
SeamaNCOS Спасибо за подсказки, еще вопросик, не совсем понимаю математику расчета времени задержек, растолкуешь?
;***********задержка***************************************
Delay:
ldi Temp1,0
ldi Temp2,5
dll: dec Temp1
brne dll
dec Temp2
brne dll
ret
sidya скомпилил прошивку для эитих часов http://radiokot.ru/circuit/digital/home/33/ под кварц 4 МГц, если есть возможность протестируй с пристрастием!
;***********задержка***************************************
Delay:
ldi Temp1,0
ldi Temp2,5
dll: dec Temp1
brne dll
dec Temp2
brne dll
ret
sidya скомпилил прошивку для эитих часов http://radiokot.ru/circuit/digital/home/33/ под кварц 4 МГц, если есть возможность протестируй с пристрастием!
- Вложения
-
- clock2.zip
- 4 МГц
- (616 байт) 253 скачивания
- SeamaNCOS
- Встал на лапы
- Сообщения: 107
- Зарегистрирован: Ср дек 10, 2008 15:10:59
- Откуда: KPACHO9PCK
- Контактная информация:
на счет задержки http://radiokot.ru/start/mcu_fpga/avr/07/ а расчет прост каждое деиствие происходит с частотой кварца
работа задержки
temp1 -1
сравниваем с 0
и так 256 раз (тк di Temp1,0)
temp2 -1
сравниваем с 0
и опять на dll
в итоге задержка идет 256*5 и на кол во операций
надо было исходник выкладывать. а с хексом че я увижу....
работа задержки
temp1 -1
сравниваем с 0
и так 256 раз (тк di Temp1,0)
temp2 -1
сравниваем с 0
и опять на dll
в итоге задержка идет 256*5 и на кол во операций
надо было исходник выкладывать. а с хексом че я увижу....
Чем больше думаеш, тем дольше уснуть не можеш...
исходник прикрепил, с отчетом времени вроде все правильно должно быть, а вот с динамичской индикацией не уверен. Надо же что бы за 0.1с успевать отобразить 4 цифры, а там намного чаше! 
- Вложения
-
- clock2asm.zip
- (1.76 КБ) 240 скачиваний
- SeamaNCOS
- Встал на лапы
- Сообщения: 107
- Зарегистрирован: Ср дек 10, 2008 15:10:59
- Откуда: KPACHO9PCK
- Контактная информация:
разници что чаще. можно и без задержки делать.
сейчас исходник гляну
да все ок.
но предупреждаю сразу они будут работать нормально если кварц будет точно 4МГц а это врядли (погрешность есть всегда). допустим если он будет 4000001 часы будут спешить а если 3999999 будут отстовать.
сейчас исходник гляну
да все ок.
но предупреждаю сразу они будут работать нормально если кварц будет точно 4МГц а это врядли (погрешность есть всегда). допустим если он будет 4000001 часы будут спешить а если 3999999 будут отстовать.
Чем больше думаеш, тем дольше уснуть не можеш...
понимаю, этот эффект будет на любых часах с отчетом производимым мк, поэтому и думаю как сделать програмную корректировку хода. люди делают каждые 10 мин задержку на определенную величину, но не пойму, тогда впринцепе секундный интервал должен быть меньше, что бы регулировать как отстование хода часов, так и опережение?но предупреждаю сразу они будут работать нормально если кварц будет точно 4МГц а это врядли (погрешность есть всегда). допустим если он будет 4000001 часы будут спешить а если 3999999 будут отстовать.
sidya собрал еще одну прошивку, понизил частоту обновления цифр, индикаторы должны гореть чуть ярче, но возможно будет видно мерцание!
- Вложения
-
- clock2.zip
- исходник с прошивкой ATtiny2313 4МГц
- (2.39 КБ) 247 скачиваний
надо переписывать прошивку чтоб считал от часового кварца как в посте Pippeytz. будет точность хорошая.
Хорошая мысля, ведь контроллер ничего больше делать не будет, и кварц без кондюков ставиться, и потребление мк маленькое, можно будет часовые батарейки поставить!
получаеться 32768*0.5/64=256 или 32768*0.5/256=64
ooogo попробовал твою прошивку на 4 мгц (1 вариант) все работает яркости хватает.
Запущу на сутки проверю точность хода 
- Вложения
-
- IMG_0225.JPG
- (62.35 КБ) 579 скачиваний
Ах воно оно как, это я не понимаю, где почитать можно?Не тактировать МК от часового резонатора а "тактировать прерывания".
по датышу диапазон частот 0.4-0.9МГц врятли заработает с 0.03МГц
За сутки минуты можно не поймать, надо бы на неделькуЗапущу на сутки проверю точность хода
sidya Давай со схемой железки с общим анодом определимся!?
лови
http://licrym.org/index.php/%D0%9F%D1%8 ... 1%81%D1%8Bвот эти часы
ooogo собрал это http://licrym.org/index.php/%D0%9F%D1%8 ... 1%81%D1%8B зашил прошивкой что ты мне кдал,в результате горят все нули и мигает точка-все
отсчета времени нет на кнопки нереагирует
назначение выводов на печатке подправил как должно быть 
- Вложения
-
- 22.lay
- (44.33 КБ) 459 скачиваний
-
- IMG_0226.JPG
- (69.61 КБ) 527 скачиваний