Михалыч
Dec 5 2005, 18:49
Так-с... запустили мы эти часики, все работает прекрасно
Теперь вопрос по седьмой ножке - как и куда ее тыкать? Попробую предположить, что на ней выставляется герцовый сигнал, и с каждым изменением уровня на ней контроллер должен уходить в прерывания и считывать с них время. При разработке устройства разработчики, ясно дело, не знали этого, и прицепили ее к 25-й ножке PIC16F877 (RC5). С нее у Пика прерываний нет, что делать? Прав ли я вообще?
А если попробовать реализовать подпрограмму обработки, отслеживая уровень на лапке RC5?
btfss PORTB, RC5
goto Timer
goto $-1
.....
Timer
......
Или я чего то не так понял?
У вас уже готова разводка платы под устройство, что вы не можете перевесить ножку?
Цитата(Михалыч @ Dec 5 2005, 20:49)

Так-с... запустили мы эти часики, все работает прекрасно
Теперь вопрос по седьмой ножке - как и куда ее тыкать? Попробую предположить, что на ней выставляется герцовый сигнал, и с каждым изменением уровня на ней контроллер должен уходить в прерывания и считывать с них время. При разработке устройства разработчики, ясно дело, не знали этого, и прицепили ее к 25-й ножке PIC16F877 (RC5). С нее у Пика прерываний нет, что делать? Прав ли я вообще?

Думаю, нет, не прав. Эта нога нужна для подстройки частоты генератора, когда дополнительно между 2й ногой и землей вешается спец. подстроечный кондер.
Но никто не мешаеют юзать этот сигнал и для прерываний. Только непонятно нафига.
Михалыч
Dec 6 2005, 18:31
Algol, сейчас пробуем так сделать. Устройство уже собрано, стало быть, плата в деле. Нужно считывать время с точностью до секунд, соответственно, обращаться к ним каждый 1 Гц.
Еще вопрос: эта микруха содержит календарь или нет?

Записали туда время и дату, дни недели не трогали, полагая, что она сама должна выставить. ФИГ ВАМ, что называется. День недели тоже надо вводить?
GrayCat
Dec 7 2005, 07:11
День недели не вычисляется. Надо самому вписывать. Зззасада...
А 7-ю ногу никто не заставляет использовать. Можно никуда не подключать.
Почитайте документацию на DS1307, контретно на CONTROL REGISTER, там все прекрасно написано в каком режиме можно задавать работу SWQ/OUT.
Square Wave/Output Driver. When enabled, the SQWE bit set to 1, the SQW/OUT pin outputs one of four square-wave frequencies (1Hz, 4kHz, 8kHz, 32kHz). The SQW/OUT pin is open drain and requires an external pullup resistor. SQW/OUT operates with either VCC or VBAT applied.
Здесь говориться: если SQWE бит установлен в 1, то на выводе микросхемы 7 (SQW/OUT) будет выводиться меандр с частотой (1Hz, 4kHz, 8kHz, 32kHz). К тому же вывод 7 (SQW/OUT) является с открытым колектором и требует подтяжки внешним резистором на VCC или VBAT в зависимости от применения.
CONTROL REGISTER
The DS1307 control register is used to control the operation of the SQW/OUT pin.
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
OUT 0 0 SQWE 0 0 RS1 RS0
Bit 7: Output Control (OUT). This bit controls the output level of the SQW/OUT pin when the squarewave
output is disabled. If SQWE = 0, the logic level on the SQW/OUT pin is 1 if OUT = 1 and is 0 if
OUT = 0.
Этот бит контролирует выход 7 (SQW/OUT) когда выходная частота-меандр запрещена [Bit 4: Square-Wave Enable (SQWE) установлен в 0], если он установлен в 0, то на 7 (SQW/OUT) будет уровень логической '1', если установлен в 1, то на 7 (SQW/OUT) будет логический '0'.
Bit 4: Square-Wave Enable (SQWE). This bit, when set to logic 1, enables the oscillator output. The
frequency of the square-wave output depends upon the value of the RS0 and RS1 bits. With the squarewave
output set to 1Hz, the clock registers update on the falling edge of the square wave.
Если этот бит установлен в 1, то позволяет выводить частоту, которая зависит от комбинации RS1, RS0. Установка на 1Hz обновляет часовые регистры по заднему фронту меандра.
Bits 1, 0: Rate Select (RS1, RS0). These bits control the frequency of the square-wave output when the
square-wave output has been enabled. The following table lists the square-wave frequencies that can be
selected with the RS bits.
Эти биты задают значение выходной частоты меандра.
RS1 RS0 SQUARE-WAVE
OUTPUT FREQUENCY
0 0 1Hz
0 1 4.096kHz
1 0 8.192kHz
1 1 32.768kHz