U23 2008-2/Gruppe4

From C4 Wiki
< U23 2008-2
Revision as of 13:33, 27 October 2008 by 85.182.8.190 (talk)
Jump to: navigation, search

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">

  1. 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">

  1. include <avr/io.h>
  2. 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>

Abend 2

Abend 3