Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 19 дек 2018, 03:20

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Библиотека DS1302
СообщениеДобавлено: 31 мар 2015, 19:20 
Не в сети

Зарегистрирован: 06 дек 2012, 12:47
Сообщения: 63
Библиотека предназначена для работы с микросхемой часов реального времени DS1302. НЕ ПУТАТЬ С DS1307 !
DS1302 удобна для постановки отметок времени при контроле за изменяющимися процессами.
В тестовой программе используется просто как часы с выводом времени по запросу.
Тактовая частота микроконтроллера 8000000 Гц.
Схема для тестирования в файле Test_PCF8574.spl7.
Подпрогрфммы библиотеки:
ds1302_init - Инициализация битов портов для работы с МС DS1302
ds1302_STOP - остановка тактового генератора DS1302
ds1302_START - запуск тактового генератора DS1302
ds1302_Protection_ON - Запись бита защиты от записи в МС DS1302
ds1302_Protection_OFF - Снятие бита защиты от записи в МС DS1302
ds1302_wtite_clock_RAM (addr,byte) - запись в DS1302 фиксированного байта(byte) по адресу(addr) регистра или памяти МС
ds1302_wtite_chip_RAM (addr,reg) - запись в DS1302 содержимого регистра байта(reg) по адресу(addr) регистра или памяти DS1302
ds1302_read_clock_RAM (addr) - чтение по адресу(addr) содержимого регистра или памяти DS1302. Результат в регистре WL (r26)
ds1302_read_clock_burst - Чтение всех регистров часов (8 байт) в выделенный буфер в SRAM микроконтроллера
ds1302_write_clock_burst - запись всех регистров часов (8 байт) из выделенного буфера в SRAM микроконтроллера
ds1302_read_ram_burst - Чтение всех ячеек памяти DS1302 (31 байт) в выделенный буфер в SRAM микроконтроллера
ds1302_write_ram_burst - запись всех ячеек памяти DS1302 (31 байт) из выделенного буфера в SRAM микроконтроллера

Для работы с тестовой программой рекомендую программу RH_COM_tester, есть в архиве.
Чтение времени и даты t или T - из МС часов получим ЧЧ:МИН:СЕК ДД/МЕС/ГГ День недели.
Пакетное чтение ОЗУ DS1302 s или S - из МС DS1302 получим содержимое тестовой записи 31 байт (программа при запуске кое что туда запишет :) )
Установка года - y15Y15 (15 год)
Установка месяца - p01p01 (январь - 01... декабрь -12)
Установка календарного дня - d01d01 (диапазон - 01... 31)
Установка часа - h01h01 (диапазон - 00... 23)
Установка минут - m00m00 (диапазон - 00... 59)
Установка дня недели - w01w01 (01-воскр, 02-понед, 03-среда....07-суббота)


Вложения:
LIB_DS1302.ZIP [293.74 КБ]
Скачиваний: 492
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Библиотека DS1302
СообщениеДобавлено: 31 мар 2015, 20:23 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1910
Отлично! :OK:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Библиотека DS1302
СообщениеДобавлено: 15 апр 2015, 16:29 
добрый час!
Спасибо за библиотеку, но для полноты понимания хотелось бы уточнить:
в программе в нескольких местах используется подпрограммы
Push Pop достаточно ли сохранять SREGr16 r17 или нужно еще что-то вставить


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Библиотека DS1302
СообщениеДобавлено: 15 апр 2015, 19:24 
Не в сети

Зарегистрирован: 06 дек 2012, 12:47
Сообщения: 63
Сохранение регистров зависит от того, что делает какая либо подпрограмма в случае ее вызова при работе основной программы.
"Круто сказал"... В данном случае надо учитывать встроеные в Алгоритм Билдер макросы и такую штуку как библиотека задержек Waiting, которая может использовать r16, r17, r18 и r19. Встроеные макросы, обычно обходятся r16, r17. Сохранение
SREG важнО при использовании Waiting. Так что ничего дополнительно сохранять не надо. Если будут использоваться прерывания, то там уж не надо забывать "правила поведения" :)

_________________
Нет в мире совершенства(с)Лис


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB