Controle Paneel |
|
|
Site info |
»
»
»
»
» Upload Archief
|
|
Stats |
Totaal online: 7 7 gasten 0 leden: |
|
|
Forum > Digitaal > Atmega 234 proggen in C digi. klok. |
|
Gepost op maandag 13 Februari 2012 15:19:05 |
 |
Beste heren en damen,
Ik ben bezig met het programmeren van een digitaleklok in de taal C. Ik ben de taal C nog aan het leren!
Nu ben ik begonnen met case lussen maken voor de 7-segment displays aan te sturen. Ik heb de variable "sec1" op 0 en wil vervolgens dat die naar case0 gaat om portc.0 aan te sturen. Daarna wil ik dat er een delay komt vervolgens 1 bij "sec1" optellen en dan naar case1 gaat.
Dit werkt helaas niet volgens de planning.
Hier de code:
Code |
#define F_CPU 20000000
#include <avr/io.h>
#include <util/delay.h>
char sec1;
int main ()
{
DDRC = 0xff;
DDRD = 0x00;
sec1 = 0x00;
while (1)
switch(sec1)
{
case 0:
PORTC=0x01;
break;
case 1:
PORTC=0x02;
break;
case 2:
PORTC=0x04;
break;
case 3:
PORTC=0x08;
break;
case 4:
PORTC=0x10;
break;
case 5:
PORTC=0x20;
break;
case 6:
PORTC=0x40;
break;
case 7:
PORTC=0x80;
break;
case 8:
PORTC=0x08;
break;
default: PORTC=0x08;
}
if (sec1 = 8) sec1 = 0;
_delay_ms(200);
sec1++;
return;
}
|
Alleen het 1e ledje gaat branden.
Weten jullie wat er mis gaat?
Ik wil dit toppic graag open houden voor straks andere problemen tijdens mijn project als jullie dat goed vinden.
Alvast bedankt! |
nu nog het nubke van schematheek :p |
|
|
|
|