U23 2008-2/Gruppe4
< U23 2008-2
Revision as of 13:33, 27 October 2008 by 85.182.8.190 (talk)
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>