Difference between revisions of "U23 2008-2/Gruppe4"
Line 1: | Line 1: | ||
==Mitglieder== | ==Mitglieder== | ||
− | * | + | * Christian |
* Steffen | * Steffen | ||
* Stefan | * Stefan | ||
Line 22: | Line 22: | ||
/* Endlosschleife */ | /* Endlosschleife */ | ||
while(1){ | while(1){ | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | Übungsaufgabe | ||
+ | |||
+ | <source lang ="c"> | ||
+ | |||
+ | #include <avr/io.h> | ||
+ | #include <util/delay.h> | ||
+ | |||
+ | static void led_ausgabe(uint8_t led,zeit) { | ||
+ | if (led & 0b1){ | ||
+ | PORTC |= (1 << DDC4); } | ||
+ | else{ | ||
+ | PORTC &= ~(1 << DDC4));} | ||
+ | |||
+ | if (led & 0b10){ | ||
+ | PORTD |= (1 << DDD3);} | ||
+ | else{ | ||
+ | PORTD &= ~(1 << DDD3));} | ||
+ | |||
+ | if (led & 0b100){ | ||
+ | PORTD |= (1 << DDD6);} | ||
+ | else{ | ||
+ | PORTD &= ~(1 << DDD6);} | ||
+ | |||
+ | if (led & 0b1000){ | ||
+ | PORTD |= (1 << DDD7);} | ||
+ | else{ | ||
+ | PORTD &= ~(1 << DDD7);} | ||
+ | } | ||
+ | |||
+ | _delay_ms(zeit); | ||
+ | |||
+ | |||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | uint8_t anzeigedauer = 1000; | ||
+ | |||
+ | /* Ausgaenge konfig. */ | ||
+ | |||
+ | DDRC = (1 << DDC4); | ||
+ | DDRD = (1 << DDD3) | (1 << DDD6) | (1 << DDD7); | ||
+ | |||
+ | |||
+ | /* Animation */ | ||
+ | while(1){ | ||
+ | led_ausgabe (0b1000,anzeigedauer); | ||
+ | led_ausgabe (0b0100,anzeigedauer); | ||
+ | led_ausgabe (0b0010,anzeigedauer); | ||
+ | led_ausgabe (0b0001,anzeigedauer); | ||
} | } | ||
} | } |
Revision as of 13:33, 27 October 2008
Contents
Mitglieder
- Christian
- Steffen
- Stefan
Code
Abend 1
Pin PC4 wird als Ausgang definiert und auf "log 1" gesetzt. Ergebnis über eine LED sichtbar
<source lang ="c">
- include <avr/io.h>
int main(void) {
/* PC4 als Ausgang konfig. */ DDRC = &b10000; /* PC4 auf high setzen */ PORTC = &b10000; /* Endlosschleife */ while(1){ }
} </source>
Übungsaufgabe
<source lang ="c">
- include <avr/io.h>
- include <util/delay.h>
static void led_ausgabe(uint8_t led,zeit) {
if (led & 0b1){ PORTC |= (1 << DDC4); } else{ PORTC &= ~(1 << DDC4));}
if (led & 0b10){ PORTD |= (1 << DDD3);} else{ PORTD &= ~(1 << DDD3));}
if (led & 0b100){ PORTD |= (1 << DDD6);} else{ PORTD &= ~(1 << DDD6);}
if (led & 0b1000){ PORTD |= (1 << DDD7);} else{ PORTD &= ~(1 << DDD7);} } _delay_ms(zeit);
int main(void) {
uint8_t anzeigedauer = 1000; /* Ausgaenge konfig. */ DDRC = (1 << DDC4); DDRD = (1 << DDD3) | (1 << DDD6) | (1 << DDD7);
/* Animation */ while(1){ led_ausgabe (0b1000,anzeigedauer); led_ausgabe (0b0100,anzeigedauer); led_ausgabe (0b0010,anzeigedauer); led_ausgabe (0b0001,anzeigedauer); }
} </source>