WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Elektronik(-Basteln) / Modellbau & PC

Elektronik(-Basteln) / Modellbau & PC Rat & Tat zu allen "Schaltkreisen außerhalb des PCs"...

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 24.08.2010, 19:23   #14
Atomschwammerl
Abonnent
 
Registriert seit: 04.09.2001
Alter: 40
Beiträge: 4.355


Atomschwammerl eine Nachricht über ICQ schicken
Standard

du wirst einen timer brauchen der der eine globale variable erhöht

Dieser sourcecode würde auf einem ATMega32 laufen.
Je nach microcontroller kann sich der code geringfügig ändern.

PHP-Code:
volatile int zeit=0;

//interrupt service routine
// wird ausgelöst wenn OCR0 erreicht wird
SIGNAL(TIMER0_COMP_vect)
{
  
zeit++;
  
TCNT0 0x00//timer wieder auf null setzen
}


int main(void){
sei();  //enable interrupts

//Timer 0 initialisieren 
TCNT0 0x00//Timer 0 mit Null initialisieren
OCR0 0x5;  //Vergleichsregister initialisieren
TIMSK = (1<<OCIE0);    //Output Compare interrupt enable
sbi(TCCR0,CS02);    
while(
true){
 if(
zeit==60)
 {
  
sbi(DDRC,PC1);  //schalte PC1 als output
  
sbi(PORTC,PC1);    //schalte PC1 auf 1
 
}
}

mit dem vergleichsregister OCR0 legst du fest wie weit er zählen soll bis der interrupt SIGNAL auslöst und raufzählt.
und im main legst dann fest welcher output des microcontrollers geschalten werden soll wenn ein bestimmter wert erreicht ist.

Du musst das vergleichsregister halt dann richtig einstellen damit er genau 1 sekunde zählt
oder 60 sekunden.

je nach Taktfrequenz der microcontrollers.
____________________________________
\'I think I spider\'


Geändert von Atomschwammerl (24.08.2010 um 19:26 Uhr).
Atomschwammerl ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:02 Uhr.


Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag