Schwingquarz 16.00JR

Gast #2678600
Lesenswert?

Hallo Leute,

Ich habe hier eine Schaltung mit dem Atmega aufgebaut, als Quarz dient 
ein ausgelöter Quarz auf dem 16.00JR draufsteht.

Das müsste doch bedeuten 16Mhz Oder?

Wenn ich im Programm einstelle
#define F_CPU 16000000L      //Takt 16MHz

und eine LED Blinken lasse
      LED_PORT ^= 1 << LED_PIN;
      _delay_ms(1000);
Blinkt diese mit einer Halben Periodendauer von 10sekunden.

Wenn man Einstellt:
#define F_CPU 1600000L      //Takt 1,6MHz

Blinkt die LED im Takt einer Sekunde.

Also müsste der Quarz 1,6Mhz haben, aber warum dann die aufschrift 16.00 
JR -> oder steht das JR für einen Teiler?

gruß xy
Gast #2678629
Lesenswert?

1
#define F_CPU 1600000L      //Takt 1,6MHz
2

3
#include <avr/io.h>
4
#include <avr/interrupt.h>
5
#include <util/delay.h>
6

7
/* Programm Libs */
8
#include "defines.h"
9

10

11

12

13
volatile uint8_t IRFlag;
14

15
#define LED_PORT    PORTB
16
#define LED_DDR     DDRB
17
#define LED_PIN     PB1
18

19
int main(void)
20
{
21
  /* TIMER INIT */
22
//  SETBIT(TCCR0,CS00);// Prescaler von 64 16MHz/64 = 250kHz = 4us
23
//  SETBIT(TCCR0,CS01);
24
//  TCNT0  = 240;    // Reload Wert 0-255   250*4us*8 = 8ms = 125Hz
25
//  SETBIT(TIMSK,TOIE0);   // Timer IR Aktivieren
26

27
  DDRD=0xFB; //D0-D1 & D3-D7 as Output
28
  SETBIT(MCUCR,ISC01); //Fallende Flanke
29
  SETBIT(GICR,INT0); //Taster IR Aktivieren
30

31
  sei();  //Globale IRs aktivieren
32

33
  /* Lokale Variablen: */
34

35

36
  /* Ports as Outputs: */
37
  DDRA=0xFF;
38
  DDRB=0xFF; 
39
  DDRC=0xFF;
40

41

42
   LED_DDR |= 1 << LED_PIN;
43
 
44
   while (1)
45
   {
46
      LED_PORT ^= 1 << LED_PIN;
47
      _delay_ms(1000);
48
   }
49
 
50
}
51

52

53

54

55
/* TIMER 0 IR HANDLER */
56
ISR( TIMER0_OVF_vect ) 
57
{ 
58
    IRFlag = 1;
59
}
60

61

62
/* Taster 0 IR HANDLER */
63
ISR( INT0_vect ) 
64
{ 
65

66
}
67

68

69
Defines.c:
70

71
#define BIT(x) (1 << (x)) 
72
#define SETBITS(x,y) ((x) |= (y)) //Maskierung
73
#define CLEARBITS(x,y) ((x) &= (~(y))) 
74
#define SETBIT(x,y) SETBITS((x), (BIT((y))))  //Bit SET
75
#define CLEARBIT(x,y) CLEARBITS((x), (BIT((y))))  //Bit RESET

Das ist das Ganze Programm bisher
Gast #2678652
Lesenswert?

Kann ich Ext. Crysztal/Resonator High Freq.; Start-up time: 16K CK -64ms 
nehmen?


Mir ists leider schonmal passiert dass ich danach keinen Zugriff mehr 
auf einen Prozessor hatte, deswegen frag ich lieber bevor.
Gast #2678666
Lesenswert?

Hi

Dann stellst du bei den SUT_CKSEL

Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms

ein und änderst

#define F_CPU 1600000L      //Takt 1,6MHz

in

#define F_CPU 16000000L      //Takt 16MHz

um.

MfG Spess
Gast #2678706
Lesenswert?

Also mein Elektronik lehrer sagte immer dass das ziemlich egal ist, 
100nF sollten genauso funktionieren, beim letzten Board dass ich gemacht 
habe funktionierte es auch mit 100nF! Aber wenns sein muss löt ich da pf 
kondensatoren hin...
Gast #2678716
Lesenswert?

Hmm, wenn das wirklich so ist dann müsste ich das Falsch aufgefasst 
haben...


Der Lehrer Entwirft schon ewig Elektronische Schaltungen und auch 
µ-Controller Schaltungen, der weiß einfach sogut wie alles darüber, egal 
in welchem Bereich der Elektronik!

Nagut, ich löt da mal andere Kondensatoren hin, sind eh SMD, da gehts eh 
schnell.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren