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

Antwort
 
Themen-Optionen Ansicht
Alt 21.08.2010, 09:15   #1
kawasakiz440
Newbie
 
Registriert seit: 19.08.2010
Beiträge: 17


Standard

funktioniert ein Zähler so ?
0001 1
0010 2
0011 3
...... 4
also daß er immer um eins weiterzählt und dies am ausgang anliegen würde, weil dann würde das mit einem 10 Bit Dualzähler funktionieren ?
kawasakiz440 ist offline   Mit Zitat antworten
Alt 21.08.2010, 10:22   #2
Atomschwammerl
Abonnent
 
Registriert seit: 04.09.2001
Alter: 40
Beiträge: 4.355


Atomschwammerl eine Nachricht über ICQ schicken
Standard

der binär wert liegt an den pins an
aber am besten ins datenblatt schaun

könnte auch ein I2C bus oder SPI bus baustein sein
dann wäre es für dich wohl unbrauchbar
____________________________________
\'I think I spider\'

Atomschwammerl ist offline   Mit Zitat antworten
Alt 22.08.2010, 15:27   #3
kawasakiz440
Newbie
 
Registriert seit: 19.08.2010
Beiträge: 17


Standard

Kann mir jemand einen Pic programmieren ? natürlich gegen eine aufwandsentschädigung !
kawasakiz440 ist offline   Mit Zitat antworten
Alt 24.08.2010, 19:42   #4
kawasakiz440
Newbie
 
Registriert seit: 19.08.2010
Beiträge: 17


Standard

Wie programmiere ich eine uhr in c Quellcode ?

für Pic ?

hat das schon jemand getan und könnte mir Bitte helfen ?
kawasakiz440 ist offline   Mit Zitat antworten
Alt 24.08.2010, 20:23   #5
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 20:26 Uhr).
Atomschwammerl ist offline   Mit Zitat antworten
Antwort


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 01:39 Uhr.


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