Цитата(Electronic) @ Oct 7 2008, 04:59)

Здавствуйте! кто может конкретно подсказать как автоматически подстараивать внутрений RC генератор с максимальной точностью на основе кварца 32768гц на таймере Т2. Я так понимаю точности часового кварца с головой если учитывать что в худшем случае уход составляет 1сек в день (а в дне 3600х24 секунд). Подскажите как это сделать самым практическим способом.
Всем заранее

а я весь вот такой

даже соображаю туго... работы много ночи не сплю, так что не сильно не бить

и хорошо пояснять

Я когдато на меге 8 делал подстройку RC на 7,3728 мГц нада было UART на 115200 шоб работал, вот код:
;*************************************************************************
; Юстировка внутреннего RC генератора
;*************************************************************************
JUSTOSC:
in r20,TCNT2 ;сохранили показания счетчика T2 в r20
J1:
in r19,TCNT2 ;сохранили показания счетчика T2 в r19
cp r19,r20
breq J1 ;ожидаем переключение счетчика Т2
in r17,TCNT1L ;сохранили показания счетчика T1 в r18
in r18,TCNT1H
J2:
in r20,TCNT2 ;сохранили показания счетчика T2 в r20
cp r19,r20
breq J2 ;ожидаем переключение счетчика Т2
in r16,TCNT1L ;сохранили показания счетчика T1 в r18
in r19,TCNT1H
mov r4,r16
mov r5,r19
clr r21
sub r4,r17 ;получили колво импульсов Т1 за 7812,5 мкс
sbc r5,r18
ldi r17,0xE1 ;константа для 7,3728 мГц
ldi r18,0x00
sub r17,r4
sbc r18,r5
brcc J3
dec r21
rjmp J4
J3:
inc r21
J4:
in r17,OSCCAL
add r17,r21
out OSCCAL,r17
J5:
mov r22,r21
mov r17,r16
mov r18,r19
mov r19,r20
J6:
in r20,TCNT2 ;сохранили показания счетчика T2 в r20
cp r19,r20
breq J6 ;ожидаем переключение счетчика Т2
in r16,TCNT1L ;сохранили показания счетчика T1 в r18
in r19,TCNT1H
mov r4,r16
mov r5,r19
clr r21
sub r4,r17 ;получили колво импульсов Т1 за 7812,5 мкс
sbc r5,r18
ldi r17,0xE1 ;константа для 7,3728 мГц
ldi r18,0x00
sub r17,r4
sbc r18,r5
brcc J7
dec r21
rjmp J8
J7:
inc r21
J8:
in r17,OSCCAL
add r17,r21
out OSCCAL,r17
cp r22,r21
breq J5
ret
Еще инициализация таймеров:
ldi r16,0x04
out TCCR1B,r16 ;Старт таймера Т1 1ед.L = 34,72 мкс, 1ед.H = 8,89 мс
ldi r16,(1<<AS2)
out ASSR,r16 ;ассинхронный режим Т2 от внешнего резонатора 32768 Гц
ldi r16,(1<<CS21)|(1<<CS22)
out TCCR2,r16 ;Старт таймера Т2 1ед.= 7812,5 мкс, Цикл = 2 с
Сообщение отредактировал Tolyaha - Oct 7 2008, 12:15