ATmega16: TC0 kerdes

HWSW Famulus hwsw at famulus.hu
Sat Jan 3 11:50:43 CET 2004


http://www.avrfreaks.net/Tools/showtools.php?ToolID=292
Itt van egy avr calculator, eszerint jo vagy...

1000000/1024=976,5.../256=3,8146973 Hz
az elerheto leglassubb utem

A pontos 4 Hz-hez pedig 0x0C a betoltendo ertek TCNT0 registerbe.

A pontos 2 Hz blinket igy csinalnam az OVF0 rutinban:

TCNT0=0xC                                
blink_counter =blink_counter XOR 1  


az inc blink_counter van a felezesre hasznalva?
biztos a nulladik bitet hasznalod es nem az elsot kimenetnek?


KJ
  ----- Original Message ----- 
  From: Daniel VASARHELYI 
  To: elektro at tesla.hu 
  Sent: Saturday, January 03, 2004 11:37 AM
  Subject: ATmega16: TC0 kerdes


  Hali. Uj vagyok ATmega-ban, es lenne egy kerdesem.
  1MHz-en jaratom belso RC oszcillatorral, a timer0 prescalerje 1024 es a
  TCCR0 tulcsordulasakor meghivodik az OVF0 interrupt.

  1 MHz/1024/256/2 = 1.9 hz. Megis inkabb 1Hz-nek tunik ez az ertek. Alant
  mellekelem a sample programot, valaki megmondana, hogy min csusztam el?

  asd

  .include "m16def.inc"
  .equ ProgStart =0x02a
  .def blink_counter =r17
  .def IRQ_SREG =r01
  .def temp =r20
  .def temp2 =r21

  .org 0
  rjmp RESET

  .include "it-table.inc"
  .org ProgStart

  nullint:
          reti

  RESET:
          ldi temp, low(RAMEND)
          out SPL, temp
          ldi temp, high(RAMEND)
          out SPH, temp
          ldi temp, 0b11111111 ; PORTB is output and switch it on
          out DDRA, temp
          out PORTA, temp
          ldi temp, (1<<TOIE0) ; TC0 Overflow Interrupt Enable
          out TIMSK, temp  ; TC Interrupt Mask Register
          ldi temp, 0b101 ; prescaler 1024
          out TCCR0, temp  ; TC Control Register
          sei
  forever:
          nop
          nop
          nop
          rjmp forever

  OVF0_start:
          in IRQ_SREG, SREG
          inc blink_counter
          out PORTA, blink_counter
          out SREG, IRQ_SREG
          reti




  -- 
  Daniel VASARHELYI



More information about the Elektro mailing list