Página 1 de 1

Saida de clock do timer 2 do AT89S8252

MensagemEnviado: 03 Nov 2006 12:27
por 51
Estou intrigado, estou usando o timer 2 pela primeira como "programmable clock out", a saida, no pino p1.0, deveria ser 50%, certo? pois é a minha esta em 75%! Será que meu osciloscopio esta desajustado? Estranho...

Re: Saida de clock do timer 2 do AT89S8252

MensagemEnviado: 03 Nov 2006 13:47
por andre_luis
Se este pino for a SAIDA do oscilador, sem pré-scaller ( bufferizado, obviamente ), não há nada que condicione a ser obrigatoriedade um sinal simétrico, uma vez que o oscilador, algumas vezes é baseado em smith-trigger.

Se tivesse uma divisao de frequencia ( flip-flops ) após o oscilador, realmente deveria ser 50%/50%

+++

MensagemEnviado: 03 Nov 2006 13:54
por 51
André, tem um divisor por 4 e um divisor programavel de 16 bits entre o clock e a saida.

MensagemEnviado: 03 Nov 2006 17:11
por brasilma
Chefe,

Realmente em vários lugares é dito que o duty é de 50%, então acho que deve ser mesmo, (isso não vou nem perguntar: To configure the Timer/Counter 2 as a clock generator, bit C/T2 (T2CON.1) must be cleared and bit T2OE (T2MOD.1) must be set), será que o clock do controlador está 50%? Será que não é alguma coisa com a impedância da ponta? Tenta passar para x10.

Abraços,
MArcos.

MensagemEnviado: 07 Nov 2006 06:52
por 51
Logo após o setup do timer 2, a saida esta em 50%,mas, segundos depois estou fazendo alguma coisa que faz com ela vá para 75%, ainda não sei o que, me parece que tem a ver com a int da serial!
O mais estranho é que se eu recarregar os registradores de recarga tudo volta ao normal! Enfim, isso não gera problema para a minha aplicação.
Estou vendo isso apenas nos finais de semanas, vou tentar descobrir exatamente o que ocorre e escrevo aqui.

MensagemEnviado: 06 Dez 2006 19:52
por pomboeletronic
Montei um gerador de sinal com uma saida de 1Khz fixo usando o timer2..
E a int1 como frequencimetro... e não tive problemas...
veja como uso o timer2 com saida na p1.0
Código: Selecionar todos
;***************************************************************************************************************************************
;   
;  Timer 0
;  P1.0  - clock out
;  CT2 ( T2CON.1 ) = 0
;  T2OE ( T2MOD.1 ) = 1
;  T2MOD (DCEN) = D=FANT =0
;  EXEN2 = 0 (T2CON)
;  CP/RL2 = 0
;  RCLK = 0
;  TCLK = 0
;  ****************************************************
;  T2CON
;   
;     0      0       0        0        0       0       0       0         RESET
;  TF2  EXF2  RLK  TCLK  EXN2  TR2  CT2  CP/RL2
;  ************************************************************
;  T2MOD
;  0   0    0    0    0    0    0         0
;  -    -     -    -     -     - T2OE   DCEN
;  RCAP2H
;  RCAPL
;                   22118400
;      CLOCK =  ------------------
;               4 ( 65536 - RCAP )
;
;
;                   22118400     
;(65536 - RCAP) = ---------------- ==>
;                   4 CLOCK
;
;
;                  22118400
;  RACP = 65536-  -----------
;                  4 X CLOCK                   SENDO CLOCK = 1K
;
;  RACP = 65536 - 22118400  ==> 60006
;                ---------                       
;                  4000                       
;TRANSFORMANDO ISSO PARA HEXA
;
;EA 66
;
;
;
;
;
;
;Alan Lopes Pombo
;
;
;
;***************************************************************************************************************************************
 
#include <89S8252.inc>

 
  org 0 ljmp principal
 
 principal:
mov RCAP2H,#eah;
mov RCAP2L,#66h;
mov th2,#eah;
mov tl2,#66h;
mov T2MOD,#00000010b;
setb tr2

   

  end