Необычные часы на Atmega8

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

C другом хотим собрать электронные часы типа как в фильме "Чужой против хищника".С необычными цифрами(см. приложение).Индикатор(около 40*15см) будем собирать сами.Отображение ЧЧ:ММ:СС. Транзисторы в схеме-816(т.е. управление по 0). В каждом символе 9 сегментов.Кол-во светящихся сегоментов соответствует цифре.Индикаторы с общим минусом.Динамическая индикация естественно.Без дешифраторов и сдвиг.регистров.Порты выходов я обозвал латинскими буквами:a,b,c,d,e,f,g,h,i-сегменты. j,k,l,m,n,o-На общие минусы индикаторов.P-на светодиод, мигающий 1Гц. Q,r,s,t-на кнопки(другой вывод кнопки идет на плюс птания).Кварц любой(какой посоветуете).Кнопки:Ч+;М+;переключение прямой/обратный отсчет;резервная.
Проблема в реализации прошивки :(Можно взять за основу готовую и переделать под то, что есть).Как переделать прошивку под такой МК и индикатор?можно С или asm. Всем спасибо. :) [/list]
Вложения
111.GIF
(21.23 КБ) 899 скачиваний
PORTS.GIF
(9.98 КБ) 667 скачиваний
цифры.GIF
(9.84 КБ) 1073 скачивания
ПЛАТА.GIF
(19.03 КБ) 646 скачиваний
Контактная информация:
Реклама
Встал на лапы
Сообщения: 101
Зарегистрирован: Вт дек 05, 2006 23:17:02
Откуда: Краснодарский край

Сообщение diehard »

1. Кварц можно не ставить.
2. Нужно завести таймер, что бы считал по одной секунде и наращивать переменные ЧЧ.ММ.СС.
3. Вывод динамической индикацией на индикатор.
Если с программированием знаком, то проблем быть не должно.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

Знаком, но не так уж сильно...
Попробую что-нибудь поискать какуюнибудь простую прошивку(например ТУТ) и попытаться понять ее... :)
Она ведь не сильно отличаться будет от прошивки для меги8 ???
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 396
Зарегистрирован: Ср май 28, 2008 19:30:31
Откуда: Донецк

Сообщение Pippeytz »

Сами часы дело нехитрое
Прилепи к щетным выводам часовой кварц , установи коэф деленичя на 128 получиш высокочастотные часы . Таймеры при етом перепоняютсья ровно 1 раз в секунду. Щитаеш прерывания , наращиваеш переменные.
Главное зделать индикацию
Полный пипеутз.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 101
Зарегистрирован: Вт дек 05, 2006 23:17:02
Откуда: Краснодарский край

Сообщение diehard »

Индикация тоже дело не хитрое. Я делаю так: 50 Гц на обновление одного разряда индикатора. Здесь будет шесть, значит заведу на 300 Гц. Потом при входе в обработчик прерывания зажигаю первый разряд, при следующем входе его гашу и зажигаю следующий и т.д.

ЗЫ: Только что смотрел топик по таймеру и там увидел прямо для тебя часы http://my-avr.at.ua/publ/1-1-0-22. Посмотри как реализовали, если пока тебе не от чего оттолкнуться.
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 256
Зарегистрирован: Пт апр 27, 2007 14:32:48
Откуда: Украина Кривой Рог

Сообщение sheva_s »

Есть программа часов для мега8 писалась мною при необходимости можете переделать под ваш вариант правда там много лишнего там 2 будильника счет дней но это можно выкинуть, программа на Си.
А проше написать вот вылажу может что то пригодиться это моя первая программа часы работают уже полтора месяца , глюков нету.
Вот тут http://my-avr.at.ua/publ/1-1-0-22 посмотрите правда программу нужно подправить но для основы можно что то взять.
Вложения
часы мега8.rar
(4.77 КБ) 321 скачивание
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

Я досихпор не пойму: в большинстве схем используются 7-сегментники.т.е только порт B. А мне нужно,чтобы использовался 1 из PB, и 8 из PD :o как?
PS. Даже протеус установил.
Контактная информация:
Встал на лапы
Сообщения: 101
Зарегистрирован: Вт дек 05, 2006 23:17:02
Откуда: Краснодарский край

Сообщение diehard »

Вывод в любой порт осуществляется одинаково. Конкретно, что не понятно?
Опытный кот
Аватара пользователя
Сообщения: 757
Зарегистрирован: Пт мар 30, 2007 12:11:23

Сообщение kotovasiya »

1995kenny писал(а):Я досихпор не пойму: в большинстве схем используются 7-сегментники.т.е только порт B. А мне нужно,чтобы использовался 1 из PB, и 8 из PD :o как?
PS. Даже протеус установил.
Можно поинтересоватся для чего спецэфект? Если размеры не важны,то эфектней на цветном дисплее от мобильника
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

kotovasiya писал(а):Можно поинтересоватся для чего спецэфект? Если размеры не важны,то эфектней на цветном дисплее от мобильника

Вообще часы делаю для друга(вернее вместе).Висеть будут , вероятно, на стене. :)
2diehard
Как выставить Fuse-биты чтобы таймеры работали как на my-avr?
Вложения
Код.rar
Посмотрите.
Есть ли ошибки?
(1.97 КБ) 207 скачиваний
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

Кто-нибудь может помочь?
Контактная информация:
Грызет канифоль
Аватара пользователя
Сообщения: 256
Зарегистрирован: Пт апр 27, 2007 14:32:48
Откуда: Украина Кривой Рог

Сообщение sheva_s »

Что конкретно интересует по Fuse-битам, мега по умолчанию с завода работает на частоте 1 мГц какая частота тебе нужна ?
А таймеры настраиваються не фьюзами, а регистрами управления таймера.
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 89
Зарегистрирован: Ср июн 04, 2008 01:20:54
Откуда: Украина, Винница

Сообщение Тарас »

Я там фюзы выставлял на 8 МГц http://my-avr.at.ua/publ/1-1-0-6 но для часов рекомендую использовать кварц. для более мение точности. ибо выставлять фюзы не всегда практично, могут быть сдвиги по часоте, оноже влияет и на роботу таймера и т.д.
Мяу-у-у-у-у
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

Как выставить фузы и регистры таймера для норальной работы с кварцем 32768 Гц, кондеры по 33пФ?

Можете проверить, нет ли в моей программе ошибок?А то КодеВизион глючит :(
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 89
Зарегистрирован: Ср июн 04, 2008 01:20:54
Откуда: Украина, Винница

Сообщение Тарас »

Привет, вопервіх если используеш кварц так там не нужно успользовать фюзы, дальше - смотря для чего тебе таймер и что он должен делать. ну если кварц ставить то там хоть на 22 пФ хоть на 33 пФ особой роли не играет.

Давай збрасывай прошивку. проверим на оишибки :))

А та прошивка что выше, я немогу понять зачем там функцыя и два разных дела исполняет, для общего анода и катода :?
Мяу-у-у-у-у
Контактная информация:
Встал на лапы
Сообщения: 101
Зарегистрирован: Вт дек 05, 2006 23:17:02
Откуда: Краснодарский край

Сообщение diehard »

1995kenny писал(а):Как выставить фузы и регистры таймера для норальной работы с кварцем 32768 Гц, кондеры по 33пФ?

Можете проверить, нет ли в моей программе ошибок?А то КодеВизион глючит :(
Если у тебя CodeVision глючит, зачем ты его используешь :shock:
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

Тарас писал(а):Привет, вопервіх если используеш кварц так там не нужно успользовать фюзы, дальше - смотря для чего тебе таймер и что он должен делать...
Давай збрасывай прошивку. проверим на оишибки :))
А та прошивка что выше, я немогу понять зачем там функцыя и два разных дела исполняет, для общего анода и катода :?
Тоесть никаких фуз,просто поставить кварц?Отлично.
А где вы заметили, что для общего катода и анода?
Если вы об

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

void [b]Dig[/b]_init() //Массив для отображения цыфр на семисегментном индикаторе
{
  Dig[0] = 0b00000000; // Сейчас у нас схема с общим катодом
  Dig[1] = 0b00000000;
  Dig[2] = 0b10000000;
  Dig[3] = 0b10010000;
  Dig[4] = 0b11100000;
  Dig[5] = 0b11110000;
  Dig[6] = 0b11111000;
  Dig[7] = 0b11111100;
  Dig[8] = 0b11111110;
  Dig[9] = 0b11111111;
}
void [b]Digb[/b]_init() //Массив для отображения цыфр на семисегментном индикаторе
{
  Digb[0] = 0b00000000; // Сейчас у нас схема с общим катодом
  Digb[1] = 0b00000001;
  Digb[2] = 0b00000001;
  Digb[3] = 0b00000001;
  Digb[4] = 0b00000001;
  Digb[5] = 0b00000001;
  Digb[6] = 0b00000001;
  Digb[7] = 0b00000001;
  Digb[8] = 0b00000001;
  Digb[9] = 0b00000001;
}
[/size]
этом, то это я сделал только потому, что использую для порта D и B.Под каждый своё.
А насчет CVAVR - я его поэтому не использую :)
Последний раз программировал спомощью Avrdude :)
Вложения
code.rar
А вот и мой код(немного подредактирован)
(1.96 КБ) 226 скачиваний
P2090004.JPG
Фото 1
(43.34 КБ) 553 скачивания
P2090006.JPG
Фото 2
(40.87 КБ) 518 скачиваний
P2090007.JPG
Фото 3
(41.12 КБ) 556 скачиваний
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 89
Зарегистрирован: Ср июн 04, 2008 01:20:54
Откуда: Украина, Винница

Сообщение Тарас »

Вот немного подкоректировал исходник, но ето на глаз, сам еще не проверял но должно работать, и кстати там только 2 книпки будут работать! мин++ и часы ++
потом на фотке там кварц кажеться на 32****Гц а нужно поменять на 8 МГц.
Вложения
code.rar
(4.06 КБ) 202 скачивания
Мяу-у-у-у-у
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков

Сообщение 1995kenny »

Тарас писал(а):Вот немного подкоректировал исходник, но ето на глаз, сам еще не проверял но должно работать, и кстати там только 2 книпки будут работать! мин++ и часы ++
потом на фотке там кварц кажеться на 32****Гц а нужно поменять на 8 МГц.
Насчет кнопок я зная(но это временно)
А что именно подкоректировали?
Может всётаки реально переделать под 32768 Гц или на крайняк 4МГц?
Кстати токо заметил: не объявил переменная Digb[10];
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 89
Зарегистрирован: Ср июн 04, 2008 01:20:54
Откуда: Украина, Винница

Сообщение Тарас »

Просто поставь кварц на 8 МГц. А переменную ты не обявил.. да.
Мяу-у-у-у-у
Контактная информация:
Закрыто

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