DS1307 кварц
|
|
demanik |
Дата: Пн, 28.01.2008, 23:38 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
У меня при снятии основного питания с платы иногда обнуляется DS1307. Какойто системы не заметил. Пробовал менять микруху, кварц, батарею ничего не помогает.
Попробуй всё и вся... может быть пол...
|
|
|
|
ADMIN |
Дата: Вт, 29.01.2008, 02:29 | Сообщение # 2 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
А программа на басике? Может посмотрим?
|
|
|
|
demanik |
Дата: Чт, 31.01.2008, 22:23 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
кусок проги: '@ device PIC16F876A, XT_osc, wdt_on, wrt_off, lvp_off, pwrt_on, protect_off SCL VAR PORTC.4 ' I2C clock pin SDA VAR PORTC.3 ' I2C data pin rtc_read CON %11010000 ' sec VAR BYTE ' seconds sec2 var byte mins VAR BYTE ' minutes mins1 var byte hr VAR BYTE ' hours hr1 VAR BYTE ' day VAR BYTE ' day date VAR BYTE ' date date1 VAR BYTE ' mon VAR BYTE ' month mon1 var byte yr VAR BYTE ' year yr1 VAR BYTE ' d_hi VAR BYTE d_lo VAR BYTE '------------------------------------------------------------ gosub read_time if sec.7 then phase0 = 10: BRANCHL br, [set_time] main:'-------------- главная программа---------------------------------- END set_time:'-----------меню установки часов-------------------------------- return'---------------------------------------------------------- read_time:'--------------------------------------------------------- I2CRead SDA, SCL, rtc_read, 0, [sec,mins,hr,day,date,mon,yr] d_hi = sec / 16: d_lo = sec // 16: sec2 =d_hi * 10 + d_lo d_hi = mins / 16: d_lo = mins // 16: mins1 =d_hi * 10 + d_lo d_hi = hr / 16: d_lo = hr // 16: hr1 =d_hi * 10 + d_lo d_hi = date / 16: d_lo = date // 16: date1 =d_hi * 10 + d_lo d_hi = mon / 16: d_lo = mon // 16: mon1 =d_hi * 10 + d_lo d_hi = yr / 16: d_lo = yr // 16: yr1 =d_hi * 10 + d_lo return'---------------------------------------------------------- но как я понял проблема не в проге у меня такойже кусок в другом устройстве работает. тут быстрее глюк железа или разводки платы. у меня при переходе на автономное питание иногда пропадает генерация на кварце.
Попробуй всё и вся... может быть пол...
|
|
|
|
terrarus |
Дата: Пт, 29.08.2008, 16:44 | Сообщение # 4 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Не могли бы Вы привести здесь, или выслать на мой емайл ( terrarus@mail.ru ) программу на PicBasic Pro получения данных из часов реального времени DS1307 и управления DS1307 . Мне как начинающему еще не понятно как это сделать, но очень хочется разобраться.
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
|
|
|
|
ADMIN |
Дата: Сб, 30.08.2008, 17:47 | Сообщение # 5 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
по току, может, не вывозит? Имею в виду DS. Кондер есть? Давно сюда не заглядывал...
|
|
|
|
ADMIN |
Дата: Сб, 30.08.2008, 17:51 | Сообщение # 6 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
terrarus, попробую найти, а вообще, по-моему в примерах (samples) есть...
|
|
|
|
terrarus |
Дата: Вс, 31.08.2008, 11:08 | Сообщение # 7 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Уважаемый basicpic. К моему сожалению в папках SAMPLES: PBP244, PicBasicPro_243, Mecanique, PicBasicProton мне не удалось обнаружить программу управления часами реального времени DS1307. Я и другие начинающие будут благодарны если Вы найдете её в другой литературе и опубликуете здесь. С уважением Анатолий Медведев.
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
|
|
|
|
demanik |
Дата: Вс, 31.08.2008, 13:14 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (terrarus) Не могли бы Вы привести здесь, или выслать на мой емайл ( terrarus@mail.ru ) программу на PicBasic Pro получения данных из часов реального времени DS1307 и управления DS1307 Привожу кусок рабочего кода а именно получение данных с часов и запись туда ваших значений: SCL VAR PORTC.3 ' ножка clock SDA VAR PORTC.4 ' ножкка data rtc_read CON %11010000 ' Адрес часов для чтения rtc_write con %11010001 ' Адрес часов для записи sec VAR BYTE ' секунды mins VAR BYTE ' минуты в формате DS1307 mins1 var byte ' минуты в десятичном формате hr VAR BYTE ' часы в формате DS1307 hr1 VAR BYTE ' часы в десятичном формате day VAR BYTE ' день недели date VAR BYTE ' дата в формате DS1307 date1 VAR BYTE ' дата в десятичном формате mon VAR BYTE ' месяц в формате DS1307 mon1 var byte ' месяц в десятичном формате yr VAR BYTE ' год в формате DS1307 yr1 VAR BYTE ' год в десятичном формате tmp var byte tmp1 var byte main: ' ваша программа end read_time:'--------------------------------------------------------- I2CRead SDA, SCL, RTC_read, 0, [sec,mins,hr,day,date,mon,yr] tmp = mins GOSUB fix_bcd_in mins1 = tmp tmp = hr GOSUB fix_bcd_in hr1 = tmp tmp = date GOSUB fix_bcd_in date1 = tmp tmp = mon GOSUB fix_bcd_in mon1 = tmp tmp = yr GOSUB fix_bcd_in yr1 = tmp return'---------------------------------------------------------- write_time:'--------------------------------------------- tmp = mins1 GOSUB fix_bcd_out mins = tmp tmp = hr1 GOSUB fix_bcd_out hr = tmp tmp = date1 GOSUB fix_bcd_out date = tmp tmp = mon1 GOSUB fix_bcd_out mon = tmp tmp = yr1 GOSUB fix_bcd_out yr = tmp sec = 0 I2CWrite SDA, SCL, RTC_write, 0, [sec,mins,hr,day,date,mon,yr] Return'---------------------------------------------------------- fix_bcd_in:'------------------------------------------------------------------------- tmp1 = tmp & 15 tmp = tmp >> 4 tmp = tmp1 + 10 * tmp RETURN fix_bcd_out:'------------------------------------------------------------------------ tmp1 = tmp / $A tmp = tmp - (tmp1 * $A) tmp = tmp + (tmp1 << 4) RETURN
Попробуй всё и вся... может быть пол...
|
|
|
|
terrarus |
Дата: Вс, 31.08.2008, 15:39 | Сообщение # 9 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Спасибо. теперь буду разбираться и пробовать в железе. Анатолий.
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
|
|
|
|
brown |
Дата: Вт, 02.09.2008, 04:01 | Сообщение # 10 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
На каком-то форуме читал, что капризная микруха. Требует качественного кварца 12,5 пФ
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
Aleks_ey |
Дата: Вт, 02.09.2008, 06:49 | Сообщение # 11 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
31
Замечания:
±
На сайте с 15.11.2007
Статус:
Offline
|
Я с этой микросхеме схем 5 собрал и кварцы не подбирал ставил какие были. Самое главное чтоб была батарейка 3V к ней подключена.
|
|
|
|
brown |
Дата: Сб, 20.09.2008, 19:06 | Сообщение # 12 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Порылся у себя и нашел проги для DS1307. Разбирайтесь сами.
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
fire_on_line |
Дата: Вт, 17.02.2009, 19:28 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
3
Замечания:
±
На сайте с 17.02.2009
Статус:
Offline
|
Quote (demanik) Привожу кусок рабочего кода а именно получение данных с часов и запись туда ваших значений: SCL VAR PORTC.3 ' ножка clock SDA VAR PORTC.4 ' ножкка data rtc_read CON %11010000 ' Адрес часов для чтения rtc_write con %11010001 ' Адрес часов для записи sec VAR BYTE ' секунды mins VAR BYTE ' минуты в формате DS1307 mins1 var byte ' минуты в десятичном формате hr VAR BYTE ' часы в формате DS1307 hr1 VAR BYTE ' часы в десятичном формате day VAR BYTE ' день недели date VAR BYTE ' дата в формате DS1307 date1 VAR BYTE ' дата в десятичном формате mon VAR BYTE ' месяц в формате DS1307 mon1 var byte ' месяц в десятичном формате yr VAR BYTE ' год в формате DS1307 yr1 VAR BYTE ' год в десятичном формате tmp var byte tmp1 var byte main: ' ваша программа end read_time:'--------------------------------------------------------- I2CRead SDA, SCL, RTC_read, 0, [sec,mins,hr,day,date,mon,yr] tmp = mins GOSUB fix_bcd_in mins1 = tmp tmp = hr GOSUB fix_bcd_in hr1 = tmp tmp = date GOSUB fix_bcd_in date1 = tmp tmp = mon GOSUB fix_bcd_in mon1 = tmp tmp = yr GOSUB fix_bcd_in yr1 = tmp return'---------------------------------------------------------- write_time:'--------------------------------------------- tmp = mins1 GOSUB fix_bcd_out mins = tmp tmp = hr1 GOSUB fix_bcd_out hr = tmp tmp = date1 GOSUB fix_bcd_out date = tmp tmp = mon1 GOSUB fix_bcd_out mon = tmp tmp = yr1 GOSUB fix_bcd_out yr = tmp sec = 0 I2CWrite SDA, SCL, RTC_write, 0, [sec,mins,hr,day,date,mon,yr] Return'---------------------------------------------------------- fix_bcd_in:'--------------------------------------------------------- ---------------- tmp1 = tmp & 15 tmp = tmp >> 4 tmp = tmp1 + 10 * tmp RETURN fix_bcd_out:'------------------------------------------------------------------------ tmp1 = tmp / $A tmp = tmp - (tmp1 * $A) tmp = tmp + (tmp1 << 4) RETURN Подскажите, данный код для PicBasicPro?
|
|
|
|
demanik |
Дата: Вт, 17.02.2009, 19:53 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Проблема решилась просто: запитал микруху через резистор 100 Ом и кандер 1 Мкф на корпус, глюки исчезли. Добавлено (17.02.2009, 7:53:19) ---------------------------------------------
Quote (fire_on_line) Подскажите, данный код для PicBasicPro? Да
Попробуй всё и вся... может быть пол...
|
|
|
|
pic_anton |
Дата: Чт, 25.03.2010, 15:07 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
58
Замечания:
±
На сайте с 18.02.2010
Статус:
Offline
|
помогите разобраться с 1307 и в обще с 12с не могу понять как он вобще работает как подавать код на рисунке показана таблица как ее понимать
Век живи, Век учись, и всего не постичь!!!
|
|
|
|