помочь с часами реального времени

S

shaneelal

Guest
Я не знаю много о реальном времени clocks.I 'м, используя его в проект, наряду с PIC18f452.Устройство будет постоянно смысле измерение и оно хранится, в реальном времени часы необходимо отправить прервать с ПОС каждые 2 секунды.Когда происходит прерывание, ПОС должно передать измерений с использованием RS232.
Что такое simplist образом, чтобы это прерывание происходит.I "M использовании mc18 compilier. Я также не уверены в том, как передать, когда происходит прерывание. Любая помощь будет признателен.

 
Для этого приложения ПИК может генерировать 2 секундным интервалом самостоятельно, используя внутренний таймер, но если вы хотите использовать внешние RTC можно использовать DS1307/1377 от Максим.
(Http://pdfserv.maxim-ic.com/en/ds/DS1307.pdf)
Данное устройство может генерировать прерывания каждый второй Вам необходимо рассчитывать на 2 на 2 секунды прервать.
На прервать вам придется принимать данные из ОСТО memeory и отправить его через RS-232 драйвер ..

 
Привет,

RTC DS1302 от MAXIM / Даллас слишком хорош и Philips I2C PCF8583.

 
Philips PCF8593 лучше.
еще один способ использования микроконтроллер с кристально 32768
Вы можете использовать PIC16F84A или 89C2051.
За более подробной информацией Перейти:
http://chaokhun.kmitl.ac.th/ ~ kswichit /

 
Не могли бы Вы рассказать мне подробно, как ПИК может прервать сам каждые 2 секунды.Другие вещи должны быть continiously идти до прерывания происходит.Если прерывание происходит, рис передаст последний хранить ценности, которые желают быть передан.Я использую timer0 и Timer1 для выполнения операций в моем коде.

 
Использование таймера / противодействию реестр ПОС и будет прерывать каждые переполнения.

 
привет,
для получения 1 сек прерывать ..для ур 18F452 (операционная частота является 40Mhz обряд?)
если это дело ..Timer1 помощью которых составляет 16 бит, переполнения примут 6.5ms с prescalar 1.этого вы можете использовать реестр продолжить цикл для ARD 153 раз ..Каждый переполнение будет CUZ один прервать ..Поэтому, когда она насчитывает до 153 раз ..Затем будет делать вещи у хочу.если у хотим 2 сек прерывать, петля на 2 * 153 раз.

1 / (2 ^ 16 * 100n) = 153

HPE помогаетДобавлено через 2 минуты:Ах да,
не забудьте сохранить ур прервать службу обычных как можно короче ..
предпочтительно, в ISR только четкое ур прервать флаг N декремента подсчета ..

 
привет,

У можете использовать Даллас DS3107 RTC.Он может быть сконфигурирован для outputing 1hz кв волны на одном из ее булавками.Она работает по протоколу I2C.U может дать этот saure волны 2 или по таймеру или любое прерывание Сцепляющий на рис.В ISR вы можете проверить в течение 2 секунд с помощью простой переменной.Если две секунды R ОВР тогда вы можете начать последовательный перевод.

Если ур использованием RTC только для того, чтобы получить 1Sec прерывать и не имеет других функций, и, если Timer1 ОАО штырям Ура PIC18F452 R U free.then можно подключить 32.678Khz кристалла на Timer1 ОАО Пен (так же, мы используем для кристалла мастер OSC., Но 20PF с цоколем).
и погрузки Timer1 с 0x8000 даст U прервать на каждом 1sec.Это U мая elliminate РТК также ур.

Настройка таймера 1 для ОАО внешнего источника.
С уважением.

 
Привет ..У меня есть проблемы с DS1307 ..Я построил один час, и я писать программное обеспечение для чтения с DS1307 примерно каждый второй ...Я обнаружил, что время не является правильным, когда действуют примерно один день ..Время будет медленнее примерно на 1 минуту ..Думаю, потому, что я читаю с DS1307 каждый второй ..ЕСЛИ Я читаю его каждый час он работает лучше ..Но мне нужна для отображения часов каждый второй ..Любое sugest для algorithym или каким-либо образом сделать его более точным

 
надеюсь у сделал дизайн не со многими резисторе или высокой ценности, за власть saving.second точки по времени.
если ее так можно необходимые трюк будет работать?

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Подмигнуть" border="0" />
 
Цитата:

Привет ..
У меня есть проблемы с DS1307 ..
Я построил один час, и я писать программное обеспечение для чтения с DS1307 примерно каждый второй ...
Я обнаружил, что время не является правильным, когда действуют примерно один день ..
Время будет медленнее примерно на 1 минуту ..
Думаю, потому, что я читаю с DS1307 каждый второй ..
ЕСЛИ Я читаю его каждый час он работает лучше ..
Но мне нужна для отображения часов каждый второй ..
Любое sugest для algorithym или каким-либо образом сделать его более точным
 
Я строительства устройство, которое измеряет wirespeed.I 'M используя мощность вала кодировщик качестве входных импульсов для PIC.I' M, используя timer0 времени 100 импульсов.Timer1 будет подсчет pulses.The скорость будет calculated.I
ч. передать эту скорость каждые 2 seconds.The wirespeed измерения должна быть постоянной только остановить передать wirespeed.Я не знаю, как я могу использовать другой таймер для создания прерывать каждые 2 секунды и продолжает держать timming 100 импульсов и вычисления скорости.

I "M использованием M41ST85Y часы реального времени. Я просто хочу получать от этого прерывания часов каждые 2 секунды. Я" М, много проблем с пониманием кода для этого task.I 'M mplab C18 помощью компилятора.
Все, что я до сих пор это

Код:

/ / настроить I2C

OpenI2C (MASTER, SLEW_OFF);

SSPADD = 9; / / 400kHz Бод часы (9) @ 16MHz

/ / 100kHz Бод часы (39) @ 16MHz
 
Привет,

ОК, Попробую и Оферу некоторую помощь, но не знаете 18f, и я не знаете C!

В RTC чипа вы используете кажется немного ОТТ для Вашего пользования.Но в принципе, после того, как вы мощности на РТС,
то следует начать подсчет, и часто РТК чипы будут пульс на одной из своих ppins каждую секунду, но я наклоняю увидеть какой-либо ссылки на такие действия по этому конкретному одному - не в том, что она doesn't существует.Что нужно сделать, это прочитать RTC памяти - точно так же, как вы были чтении любой из ее памяти.Чем меньше 4 бита адреса 0x01 являются секунд.Я никогда не использовал этот чип, я обнаружил Datasheet но doesn't перейти до 134 страниц!так что я себя в ином, чем у вас есть, с одной я нашел это http://katalog.elektroda.net/download.php?id=44521.Для того чтобы прочитать его вам нужно знать, как читать I2C, я могу должность некоторые типовые образцы кода в сборке для 16F серии, но я, если не знаете, что вам поможет.Вы сказали, в "EEByteWrite функции", это Напишите I2C или ПОС EEPROM?если это I2C, то я полагаю, у Вас также есть функция чтения?
Если бы я тебя, я
бы, вероятно, бен в RTC и просто использовать задержку в вашей программе.Вот часть кода, которая даст 2 секунд для ПИК работает на 4MhzКод:

cblock

d1

d2

d3

endc; 1999996 циклов

movlw 0x11

movwf d1

movlw 0x5D

movwf d2

movlw 0x05

movwf d3

Delay_0

decfsz d1, F

Гото $ 2

decfsz d2, F

Гото $ 2

decfsz d3, F

Гото Delay_04; циклов

Гото $ 1

Гото $ 1----------------------
 
надеюсь, что это помогает
http://www.winpicprog.co.uk/pic_tutorial_i2c_clock_board.htm<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Улыбка" border="0" />
 
Хай

это рабочую программу для ds1337 RTC с семью сегмент дисплея для Pic
16f877
она будет полезна для U
Затем нажмите кнопку помог мне
Извините, но вам необходимо войти в аккаунт это вложение

 

Welcome to EDABoard.com

Sponsor

Back
Top