Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 109
Зарегистрирован: Вт янв 17, 2012 00:13:14
Откуда: Кременчуг

Сообщение pioneer1234 »

Добрый день, сегодня закончил эти часики и заработали с первого раза. Правда с кнопками перемудрил лишний резистор припаял, убрал его и всё чюдненько заработало.
Спасибо Danko за такие часики :))
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

залочил случайно мегу, подскажите плиз , как ее можно разлочить не выпаивая
заранее благодарен
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Залочил это отрубил вывод ресет ? RSTDISBL = 0

или отключил внутр.генератор ?

В первом случае нужен "высоковольтный" параллельный програматор, а во втором нужно просто подать внешний тактовый на XTAL1
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

спасибо ув. Danko :beer: , за то что не оставляеете тему без внимания и терпеливо помогаете чайникам :oops:
Danko писал(а):Залочил это отрубил вывод ресет ? RSTDISBL = 0
именно.... :(
вот нарыл решение - http://payalo.at.ua/blog/kak_razblokiro ... 0-06-11-13
оно справедливо?
только корпус у меня не диповский..... :shock:
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1122
Зарегистрирован: Чт мар 05, 2009 19:51:55
Откуда: Дырасполь

Сообщение Seal »

Пойдет, проводочками соедени, только не 1к1 ,а по назначению,смотри даташ на свою мегу , и ту что будет "программатором". соедини одноименные порты, за исключением вывода "РЕСЕТ". Подцепи светодиод с резистором к выводу что указан, будет индикатором.
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Ср янв 07, 2009 17:50:20

Сообщение Tramp »

Не раз уже помогало http://www.getchip.net/posts/059-isprav ... it-doctor/
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Чтото подобное (названию темы) доделываю, только на тиньке 26-й, как закончу свистну.
http://asis-kbr.ru/forum/viewtopic.php?f=9&t=117
Открыл глаза
Сообщения: 59
Зарегистрирован: Чт сен 22, 2011 08:04:26
Откуда: Болгария

Сообщение Simidko »

Привет всем туда.Решил собират ети" Часы-календарь-термометр" У меня несколко вопроса к те кто собирали ети часы или к атора.
1-схема и прошивка каторие можно ползват "Clock-Term-Calendar-Alarm_LED_2011-08-11.zip" на первая страница.
2-Нужно ли вставит тразисторние ключи на аноде дисплея и резитори на катоде?
3-как можно активират седмая нога ds1307,`что нужно изменит? можно ли с файла ds1307_twi.h или нет.(Неважно но любопитно)
4-Изчезла возможност восползоватся на звук из музикалная откритка вместо бузер при будилник 2(верно можно взят сигнал от индикатора)Или ошибался?
Надеюс на ответ! За раннее спасибо. :))
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 175
Зарегистрирован: Ср июл 29, 2009 23:22:36
Откуда: Беларусь

Сообщение 546vlad »

И вам привет
1 Не понятно. Схема, что на первой странице, к ней прошивка в архиве "Clock-Term-Calendar-Alarm_LED_2011-08-11.zip".
2 Зависит от типа индикатора.
3 Установив в 1 бит SQWE. Посмотрите в файле ds1307_twi.h функцию rtc_init.
4 Не понятно. Хотите открытку - подключайте к выводу 12, динамик - к выводу 11.
©Кварц обладает экстремальной поливариантностью своего генезиса.
Открыл глаза
Сообщения: 59
Зарегистрирован: Чт сен 22, 2011 08:04:26
Откуда: Болгария

Сообщение Simidko »

Спасибо за бъйстраго ответа. Изменил значеня в файл ds1307_twi.h. К сожеления с моя версия CODE VERSION AVR не могу изменит прошивка Clock-Term-Alarm_m8.hex потому що она не комерсиалная.Не знаю что делат/
Нашел транзистор. Понюхал.
Сообщения: 157
Зарегистрирован: Чт авг 27, 2009 16:19:45

Сообщение vin_07 »

Simidko писал(а):как можно активират седмая нога ds1307
по этому вопросу еще посмотрите страницу 65
Открыл глаза
Сообщения: 59
Зарегистрирован: Чт сен 22, 2011 08:04:26
Откуда: Болгария

Сообщение Simidko »

Здравствуйте ,снова я. Понял что надо заделать -как описано на форуме стр.65Опят проблем. Менял необходимого реда в файл main_mega8_88.c, копировал целое содержание потом откроил Avr Studio создал новый файл *C файл там вставил содержание Менял неоходимие настройки микроконтроллера и его частота в меню Projekt/ Configuration Options.Поробовал сделат так как описано в http://avrlab.com/node/101 но дает ошибка:make: Makefile: No such file or directory и ещо одна make: *** No rule to make target `Makefile'. Stop..В результат не генерируется hex.файл. Поможет ли кто нибудь из вас сделает так что на седмая нога DS1307ПОЛУЧИТ СИГНАЛ С ЧАСТОТА 1 Hz.
Открыл глаза
Сообщения: 46
Зарегистрирован: Вт апр 03, 2012 09:45:25

Сообщение Валерон »

Здравствуйте! Кто поскажет, как вызвать показания даты принудительно кнопкой "-", также как и показания температуры.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Я бы назвал этот вопрос немного странным.

Как ? как ?

да очень просто: редактируете сишный файл и компилите новую прошивку и все.

Simidko, Кожевижн и Студия это разные компиляторы и все что написано для CVAVR скорее всего не будет компилится в Студии и наоборот.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Открыл глаза
Сообщения: 46
Зарегистрирован: Вт апр 03, 2012 09:45:25

Сообщение Валерон »

Я практически не знаю СИ. Поэтому прошу кусок кода, если это возможно.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

файл main_mega8_88.c
строки 753 - 762

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

        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        if (indicate == IND_CLOCK){
                if (key == KEY_PLUS) {
                       alarm_OFF();
                       if (devices >= 1) { num_DS = 0; indicate = IND_TERM; }
                }

                if (key == KEY_MINUS) {
                       alarm_OFF();
                       if (devices > 1)  { num_DS = 1; indicate = IND_TERM; }
                }
Пожалуйста.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Открыл глаза
Сообщения: 46
Зарегистрирован: Вт апр 03, 2012 09:45:25

Сообщение Валерон »

Сделал так:

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (indicate == IND_CLOCK){
if (key == KEY_PLUS) {
alarm_OFF();
if (devices >= 1) { num_DS = 0; indicate = IND_TERM; }
}

if (key == KEY_MINUS) {
alarm_OFF();
// if (devices > 1) { num_DS = 1; indicate = IND_TERM; }
indicate = view_date();
}

показания даты есть, но они сбрасываются где-то через минуту, хотелось бы, чтобы они сбрасывались секунды через 2-3. как и показания температуры при принудительном включении
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

num_DS = 1; - это лишнее

indicate - это переменная которая хранит режим индикации их перечень в файле term_mega8_88.h

view_date(); - это функция вывода даты на экран.

т.е. писать indicate = view_date(); ошибочно.

для установки времени индикации нужно подправить функцию view_date();.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Simidko, лично для Вас. За Ваши старания.
Вложения
Clock-Term-Calendar-Alarm_LED_2011-08-11_1Hz.zip
(395.91 КБ) 319 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Открыл глаза
Сообщения: 46
Зарегистрирован: Вт апр 03, 2012 09:45:25

Сообщение Валерон »

Так правильней:

if (indicate == IND_CLOCK){
if (key == KEY_PLUS) {
alarm_OFF();
if (devices >= 1) { num_DS = 0; indicate = IND_TERM; }
}

if (key == KEY_MINUS) {
alarm_OFF();
view_date();delay_ms_read_time(500);
}
Ответить

Вернуться в «AVR»