Difference between revisions of "U23 2008-2/Gruppe4"

From C4 Wiki
Jump to: navigation, search
Line 1: Line 1:
 
==Mitglieder==
 
==Mitglieder==
* gammlaa (Christian)
+
* 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

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