Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Спасибо Danko и всем за помощь!
Разобрался с адаптацией часового индикатора. Вопрос закрыт.
Разобрался с адаптацией часового индикатора. Вопрос закрыт.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Всем доброго здравия!
это типа так?
else { if (dubldot) zpt_4 = 0b00001100; //МОРГАЕМ ДВУМЯ ТОЧКАМИ в 2-3 разряде
else zpt_4 = 0b00000100; } // ОДНА ТОЧКА в 2 разряде
или я все еще не понял?
это типа так?
else { if (dubldot) zpt_4 = 0b00001100; //МОРГАЕМ ДВУМЯ ТОЧКАМИ в 2-3 разряде
else zpt_4 = 0b00000100; } // ОДНА ТОЧКА в 2 разряде
или я все еще не понял?
- Ant-RG
- Вымогатель припоя
- Сообщения: 541
- Зарегистрирован: Ср май 05, 2010 20:47:56
- Откуда: Украина
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Я думаю что так
но возможно я тоже чего то недопонимаю
Код: Выделить всё
else { if (dubldot) zpt_4 = 0b00001000; // засветить точку в 3 разряде
else zpt_4 = 0b00000100; } // в 2 разрядено возможно я тоже чего то недопонимаю
I'am a Rock N' Roll-Aholic
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
yurijI & Ant-RG!
Не совсем так. (Да простит меня Danko !)
else { if (dubldot) zpt_4 = 0b00001100; //МОРГАЕМ ДВУМЯ ТОЧКАМИ в 2-3 разрядах
else zpt_4 = 0b00000001; } // засветить точку в 0 разряде
Далее примерно строка 1185 (примерно, потому что имеется некоторое разхождение с нумерацией Danko, почему то)
if(des)zpt_4=0b00001000; // засветить точку в третьем разряде (это нижняя точка в разделителе между часами и минутами)
Не совсем так. (Да простит меня Danko !)
else { if (dubldot) zpt_4 = 0b00001100; //МОРГАЕМ ДВУМЯ ТОЧКАМИ в 2-3 разрядах
else zpt_4 = 0b00000001; } // засветить точку в 0 разряде
Далее примерно строка 1185 (примерно, потому что имеется некоторое разхождение с нумерацией Danko, почему то)
if(des)zpt_4=0b00001000; // засветить точку в третьем разряде (это нижняя точка в разделителе между часами и минутами)
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
чем более гибкая программа тем более больше заморочек в ней.
Итак:
означает, что если неактивна функция ДвухТочекРазделителей то засветить точку в 1 разряде и напротив если эта функция активна, то засветить точку в 0 разряде к которой подпаяны светодиоды-разделители часов и минут
Все это предполагалось для часов у которых светодиоды-разделители часов и минут не привязаны к какому-либо разряду и их можно подпаять вместо точек любого разряда т.е. просто два светодиода. У Вас же светодиоды-разделители жестко привязаны к 2 и 3 разрядам (нумерация с 0), а в программе точки 2 и 3 разрядов это светодиоды горизонтальной и вертикальной черты знака плюс (так называемый пятый разряд).
В итоге: путаница возникла по одной причине я точки распланировал так, а Вы их желаете использовать по другому. Но все это решаемо путем потри некоторой гибкости т.е. просто проект затачивается под определенный индикатор.
Еще раз перечитаете на первой странице как распределены точки разрядов и для каких функций и еще загляните в файл term_mega8_88.hэто переменные ("флаги") которые участвуют в условиях активизации определенных функций, да и нужно учесть, что по умолчанию и по тому что чистая память EEPROM МК заполнена "1" (0xFF) то активизация функции происходит записью "0".
Еще раз разъяснил для тех кого удивляет установка фузов в МК AVR.
Приношу извинения если я кого то еще больше запутал.
Итак:
Код: Выделить всё
else { if (dubldot) zpt_4 = 0b00000010; // засветить точку в 1 разряде
else zpt_4 = 0b00000001; } // в 0 разряде
Все это предполагалось для часов у которых светодиоды-разделители часов и минут не привязаны к какому-либо разряду и их можно подпаять вместо точек любого разряда т.е. просто два светодиода. У Вас же светодиоды-разделители жестко привязаны к 2 и 3 разрядам (нумерация с 0), а в программе точки 2 и 3 разрядов это светодиоды горизонтальной и вертикальной черты знака плюс (так называемый пятый разряд).
В итоге: путаница возникла по одной причине я точки распланировал так, а Вы их желаете использовать по другому. Но все это решаемо путем потри некоторой гибкости т.е. просто проект затачивается под определенный индикатор.
Еще раз перечитаете на первой странице как распределены точки разрядов и для каких функций и еще загляните в файл term_mega8_88.h
Код: Выделить всё
led_s, led_r, // выбор активных уровней на индикаторе
hour0, // флаг индикации незначащего нуля в десятках часов
des, // флаг точности индикации температуры (отбросить десятые градуса)
rushechki, // "рюшечки" (плавная смена показаний индикации)
fotorez, // регулеровка яркости с помощью фоторезистора
dubldot, // если в часах кроме запятых есть еще точки-разделители часов и минут
plusminus, // "пятый" разряд плюс/минус (два сегмента: горизонтальный и вертикальный)
maxfotorez, // максимальный уровень яркости устанавливаемый пользователем (от 40 до 200)
Еще раз разъяснил для тех кого удивляет установка фузов в МК AVR.
Приношу извинения если я кого то еще больше запутал.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Danko писал(а):Приношу извинения если я кого то еще больше запутал.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Уважаемый Danko. Я в начале декабря писал вам по поводу часов на 8mega_static. Ответил O-LED, по его совету загрузить прошивки от 28-03 и 29-04 2010г часы не оживили, так же и показывали информацию на индикаторах в инверсном режиме. Частично проблемму удалось решить, лишь загрузив программу 8mega_e. Все вроде бы работает за исключением запятой, которая горит постоянно на всех режимах, а в режиме "часы" - мигает. Оно и понятно, программа написана вами для динамической индикации. Я конечно извиняюсь (подобные мне "чайники" вам изрядно надоели), но что в этой ситуации посоветуете?
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Здоровья вам уважаемые!
Вот кажись и у меня кое что вышло…
В первом архиве поправленные исходники.
Во втором описание менюшек с индикатором CA56-21GWA
p/s видео работы часиков
http://video.yandex.ru/users/yurgin777/view/22/

Вот кажись и у меня кое что вышло…
В первом архиве поправленные исходники.
Во втором описание менюшек с индикатором CA56-21GWA
p/s видео работы часиков
http://video.yandex.ru/users/yurgin777/view/22/
- Вложения
-
- Небольшие пояснения c CA56-21GWA.rar
- менюшки с индикатором CA56-21GWA
- (61.48 КБ) 396 скачиваний
-
- mega8_CA56-21GWA.rar
- поправленные исходники для CA56-21GWA
- (29.6 КБ) 336 скачиваний
-
- Снимок1.png
- поправки для CA56-21GWA
- (51.27 КБ) 860 скачиваний
Последний раз редактировалось yurijI Пн дек 13, 2010 20:38:00, всего редактировалось 1 раз.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Уважаемый DANKO подскажите, пожалуйста,
а за что вот эта функция отвечает :
//----------
void dot_ON(void) {
if (dubldot) zpt_4 = 0b00000010; // засветить точку в 1 разряде
else zpt_4 = 0b00000001; // в 0 разряде
}//----------

а за что вот эта функция отвечает :
//----------
void dot_ON(void) {
if (dubldot) zpt_4 = 0b00000010; // засветить точку в 1 разряде
else zpt_4 = 0b00000001; // в 0 разряде
}//----------
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
А можно ли организовать коррекцию часов от ПК по rs232 или от gps?
- Seal
- Сверлит текстолит когтями
- Сообщения: 1122
- Зарегистрирован: Чт мар 05, 2009 19:51:55
- Откуда: Дырасполь
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
foxit , я еще давно предлагал куда проще организовать коррекцию внешним источником.Но пока никаких наметок не видно .Думаю ,если Данко соберется, это может будет в следующем проекте, на другом контроллере.
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
yurijI писал(а):Уважаемый DANKO подскажите, пожалуйста,
а за что вот эта функция отвечает :
//----------
void dot_ON(void) {
if (dubldot) zpt_4 = 0b00000010; // засветить точку в 1 разряде
else zpt_4 = 0b00000001; // в 0 разряде
}//----------
Эта функция вызывается при переходе в режим индикации времени и необходима на зажигания точки (точек). т.е. если в Ваших часах две точки как разделитель часов и минут и они подключены вместо светодиода точки 0 разряда.
в данных часах нет.foxit писал(а):А можно ли организовать коррекцию часов от ПК по rs232 или от gps?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Danko писал(а):в данных часах нет.foxit писал(а):А можно ли организовать коррекцию часов от ПК по rs232 или от gps?
По-моему что-то подобное было.
Может остались материалы и ссылки?
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
наверное стоит немного углубится в понятие коррекции времени.
1 вариант: МК через последовательный порт (или I2C, SPI, 1wire и пр.) обменивается с большим братом (ПК) информацией т.е. часы минуты и секунды устанавливаются с ПК.
2 вариант: тоже самое только обмен с GPS-модулем.
3 вариант: на вход МК внешнее устройство подает сигнал точного времени по которому на часах секунды сбрасываются в 00. Внешним устройством может быть другой МК который в свою очередь получает информацию от ПК, GPS или по 6-му сигналу радиостанции "Маяк".
Возможно еще есть варианты. Но в Данных часах первые два варианта неприменимы.
1 вариант: МК через последовательный порт (или I2C, SPI, 1wire и пр.) обменивается с большим братом (ПК) информацией т.е. часы минуты и секунды устанавливаются с ПК.
2 вариант: тоже самое только обмен с GPS-модулем.
3 вариант: на вход МК внешнее устройство подает сигнал точного времени по которому на часах секунды сбрасываются в 00. Внешним устройством может быть другой МК который в свою очередь получает информацию от ПК, GPS или по 6-му сигналу радиостанции "Маяк".
Возможно еще есть варианты. Но в Данных часах первые два варианта неприменимы.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Еще есть варианты!
Отказаться от кнопок на входе АЦП и поставить приемник ИК-сигнала от пульта RC5,
на котором кнопок намного больше. Китайцы делают дешевые мини-игрушки для детей с такими пультами.
Это упрощает саму конструкцию и повышает надежность - меньше трогаешь=меньше ломается!.
Отказаться от кнопок на входе АЦП и поставить приемник ИК-сигнала от пульта RC5,
на котором кнопок намного больше. Китайцы делают дешевые мини-игрушки для детей с такими пультами.
Это упрощает саму конструкцию и повышает надежность - меньше трогаешь=меньше ломается!.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Danko писал(а):наверное стоит немного углубится в понятие коррекции времени.
1 вариант: МК через последовательный порт (или I2C, SPI, 1wire и пр.) обменивается с большим братом (ПК) информацией т.е. часы минуты и секунды устанавливаются с ПК.
или по 6-му сигналу радиостанции "Маяк".
Большой брат (ПК) сам точен и требует такого же ( ряд скоростей обмена по СОМ портам ) от всех . USB - не исключение .Нужны кварцы 3.68 ,7.35 ( не помню точно , но типа этого ) на UART , и 12 Мгц для USB . Будет проблема с ногами .
Применение I2C , 1Ware для обмена с компом потребует резидентного ПО , а это ,похоже , -тема для отдельного форума .
А "Маяк" в Одессе давно не слышно - забит шумами .
Последний раз редактировалось odesasha Пт дек 17, 2010 09:21:31, всего редактировалось 1 раз.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Доброго времени суток, уважаемые Коты, Кошки и Котята !
Всех с наступающим праздником !
Уважаемый автор ! Спасибо за ваш проект - вчера попробовал на макетке - все супер ! Как раз искал что-то подобное. Сегодня буду плату рисовать.
К сожалению не обойтись без вопросов:
1.Что означают понятия "статика" и "динамика" ? Прошивка "статика" показывает на экране непонятные символы, одинаковые на всех знакоместах. "Динамика" заработала сразу и без проблем.
2.Будет ли нормально работать Mega8L ? Есть в TQFP-корпусе...
Спасибо заранее за ответы !
Всех с наступающим праздником !
Уважаемый автор ! Спасибо за ваш проект - вчера попробовал на макетке - все супер ! Как раз искал что-то подобное. Сегодня буду плату рисовать.
К сожалению не обойтись без вопросов:
1.Что означают понятия "статика" и "динамика" ? Прошивка "статика" показывает на экране непонятные символы, одинаковые на всех знакоместах. "Динамика" заработала сразу и без проблем.
2.Будет ли нормально работать Mega8L ? Есть в TQFP-корпусе...
Спасибо заранее за ответы !
С уважением,
Алексей.
Алексей.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Статическая индикация и динамическая индикация. Каждая прошивка предназначена для определенной схемы. "Динамика" - для схемы с динамической индикацией, ну и "статика" - соответственно для статической индикации.Gordon Shumway писал(а):1.Что означают понятия "статика" и "динамика"
ДА. Сам собирал именно на таком камне.Gordon Shumway писал(а):2.Будет ли нормально работать Mega8L ? Есть в TQFP-корпусе...
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Доброго времени суток !
Назрел еще один вопрос:
немного не понятно - точки ведь в динамической индикации запараллелены, а переключение делается разрядами... то есть получается оба сегмента включаются всегда вместе, у них же один разряд. Или я чего-то не понимаю ?
Спасибо заранее за ответ.
Назрел еще один вопрос:
* пятый разряд (знак температуры), расположенный слева от первого - это два сегмента
горизонтальный и вертикальный которые образуют знак "минус" и знак "плюс".
Вместо точки 3-го разряда подключается горизонтальный сегмент, а вместо точки 4-го - вертикальный.
немного не понятно - точки ведь в динамической индикации запараллелены, а переключение делается разрядами... то есть получается оба сегмента включаются всегда вместе, у них же один разряд. Или я чего-то не понимаю ?
Спасибо заранее за ответ.
С уважением,
Алексей.
Алексей.
- ВНН
- Потрогал лапой паяльник
- Сообщения: 347
- Зарегистрирован: Сб дек 13, 2008 09:03:43
- Откуда: г.Советская Гавань
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Имеется 4 точки 2 используются как раздемитель ( : и , ) отаются свободными еще 2 тобиш вертикальная и горизонтальная черта в знаке температуры - или +
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
С уважением ВНН.