diff --git a/20181203/blink-0.c b/20181203/blink-0.c new file mode 100644 index 0000000000000000000000000000000000000000..b0022c681fd1482ed0a6d9fded7bb0a54699de32 --- /dev/null +++ b/20181203/blink-0.c @@ -0,0 +1,9 @@ +#include <avr/io.h> + +int main (void) +{ + DDRD = 0x40; /* binär: 0100 0000 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-0a.c b/20181203/blink-0a.c new file mode 100644 index 0000000000000000000000000000000000000000..38bc8ab94ce639f21b66d570759414586a1a1b1e --- /dev/null +++ b/20181203/blink-0a.c @@ -0,0 +1,9 @@ +#include <avr/io.h> + +int main (void) +{ + DDRD = 0x7f; /* binär: 0111 1111 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-1.c b/20181203/blink-1.c new file mode 100644 index 0000000000000000000000000000000000000000..6d28dce84f94375094c98479c30a54ace1b2a9d9 --- /dev/null +++ b/20181203/blink-1.c @@ -0,0 +1,18 @@ +#include <avr/io.h> + +#define F_CPU 16000000l +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x01; + PORTD |= 0x01; + while (1) + { + _delay_ms (500); + PORTD &= ~0x01; + _delay_ms (500); + PORTD |= 0x01; + } + return 0; +} diff --git a/20181203/blink-10.c b/20181203/blink-10.c new file mode 100644 index 0000000000000000000000000000000000000000..1519fd02c731aa0429119d4d142a8c0c9effed98 --- /dev/null +++ b/20181203/blink-10.c @@ -0,0 +1,31 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +#define F_CPU 16000000l +#include <util/delay.h> + +volatile uint8_t key_pressed = 0; + +ISR (INT0_vect) /* PD2 */ +{ + key_pressed = 1; +} + +int main (void) +{ + cli (); + EICRA = 1 << ISC00 | 1 << ISC01; /* INT0: steigende Flanke */ + EIMSK = 1 << INT0; /* INT0 einschalten */ + sei (); + DDRD = 0xfb; /* binär: 1111 1011 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1) + { + while (!key_pressed) + ; /* just wait */ + PORTD ^= 0x40; + key_pressed = 0; + } + return 0; +} diff --git a/20181203/blink-11.c b/20181203/blink-11.c new file mode 100644 index 0000000000000000000000000000000000000000..696b2ed2a5bf07fe08177c3640ecb2db652269d5 --- /dev/null +++ b/20181203/blink-11.c @@ -0,0 +1,32 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +#define F_CPU 16000000l +#include <util/delay.h> + +volatile uint8_t key_pressed = 0; + +ISR (INT0_vect) /* PD2 */ +{ + key_pressed = 1; +} + +int main (void) +{ + cli (); + EICRA = 1 << ISC00 | 1 << ISC01; /* INT0: steigende Flanke */ + EIMSK = 1 << INT0; /* INT0 einschalten */ + sei (); + DDRD = 0xfb; /* binär: 1111 1011 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1) + { + while (!key_pressed) + ; /* just wait */ + _delay_ms (1); + PORTD ^= 0x40; + key_pressed = 0; + } + return 0; +} diff --git a/20181203/blink-2.c b/20181203/blink-2.c new file mode 100644 index 0000000000000000000000000000000000000000..b00eaf522563b1e8fa75f80e784de5b9f1af58e9 --- /dev/null +++ b/20181203/blink-2.c @@ -0,0 +1,16 @@ +#include <avr/io.h> + +#define F_CPU 16000000l +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x02; + PORTD = 0x02; + while (1) + { + _delay_ms (250); + PORTD ^= 0x02; + } + return 0; +} diff --git a/20181203/blink-3.c b/20181203/blink-3.c new file mode 100644 index 0000000000000000000000000000000000000000..5268e7977f0f2a99b2005a81a2fa7560dfea481f --- /dev/null +++ b/20181203/blink-3.c @@ -0,0 +1,17 @@ +#include <avr/io.h> + +#define F_CPU 16000000 +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x01; + PORTD = 0x01; + while (1) + { + while ((PIND & 0x02) == 0) + ; /* just wait */ + PORTD ^= 0x01; + } + return 0; +} diff --git a/20181203/blink-3a.c b/20181203/blink-3a.c new file mode 100644 index 0000000000000000000000000000000000000000..c7d9c9994e886973cab41cdfcd08c39fb978c492 --- /dev/null +++ b/20181203/blink-3a.c @@ -0,0 +1,18 @@ +#include <avr/io.h> + +#define F_CPU 16000000 +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x11; + PORTD = 0x11; + while (1) + { + while ((PIND & 0x02) == 0) + ; /* just wait */ + _delay_ms (100); + PORTD ^= 0x01; + } + return 0; +} diff --git a/20181203/blink-4.c b/20181203/blink-4.c new file mode 100644 index 0000000000000000000000000000000000000000..7344aa7ce19086d6e0a0dc4f8de78499f280931b --- /dev/null +++ b/20181203/blink-4.c @@ -0,0 +1,18 @@ +#include <avr/io.h> + +#define F_CPU 16000000 +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x01; + PORTD = 0x01; + while (1) + { + while ((PIND & 0x02) == 0) + ; /* just wait */ + PORTD ^= 0x01; + _delay_ms (200); + } + return 0; +} diff --git a/20181203/blink-4a.c b/20181203/blink-4a.c new file mode 100644 index 0000000000000000000000000000000000000000..f17e333034cce9d3dea78c3b9deb6d8832777212 --- /dev/null +++ b/20181203/blink-4a.c @@ -0,0 +1,18 @@ +#include <avr/io.h> + +#define F_CPU 16000000 +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x01; /* 00000001 */ + PORTD = 0x03; /* 00000011 */ + while (1) + { + while ((PIND & 0x02) == 0) + ; /* just wait */ + PORTD ^= 0x01; + _delay_ms (200); + } + return 0; +} diff --git a/20181203/blink-4b.c b/20181203/blink-4b.c new file mode 100644 index 0000000000000000000000000000000000000000..afa99e919b37cf9824f671293313935bf77148f4 --- /dev/null +++ b/20181203/blink-4b.c @@ -0,0 +1,13 @@ +#include <avr/io.h> + +#define F_CPU 16000000 +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x01; /* 00000001 */ + PORTD = 0x03; /* 00000011 */ + while (1) + ; /* just wait */ + return 0; +} diff --git a/20181203/blink-4c.c b/20181203/blink-4c.c new file mode 100644 index 0000000000000000000000000000000000000000..a88c76b78c9c73a904dacfff9b60988785bc7653 --- /dev/null +++ b/20181203/blink-4c.c @@ -0,0 +1,16 @@ +#include <avr/io.h> + +#define F_CPU 16000000 +#include <util/delay.h> + +int main (void) +{ + DDRD = 0x01; /* 00000001 */ + PORTD = 0x03; /* 00000011 */ + while (1) + { + _delay_ms (500); + PORTD ^= 0x02; + } + return 0; +} diff --git a/20181203/blink-5.c b/20181203/blink-5.c new file mode 100644 index 0000000000000000000000000000000000000000..bb755f0de02d3e224909f1d2a37789f3c14a0f03 --- /dev/null +++ b/20181203/blink-5.c @@ -0,0 +1,19 @@ +#include <avr/io.h> +#include <avr/interrupt.h> + +ISR (TIMER0_COMPB_vect) +{ + PORTD ^= 0x40; +} + +int main (void) +{ + cli (); + TCCR0B = (1 << CS01) | (1 << CS00); /* Takt durch 64 dividieren */ + TIMSK0 = 1 << OCIE0B; /* Interrupt einschalten */ + sei (); + DDRD = 0xfd; /* binär: 1111 1101 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-5a.c b/20181203/blink-5a.c new file mode 100644 index 0000000000000000000000000000000000000000..9f26365fdb65006892febe54b329612af7f9263d --- /dev/null +++ b/20181203/blink-5a.c @@ -0,0 +1,15 @@ +#include <avr/io.h> +#include <avr/interrupt.h> + +ISR (TIMER0_COMPB_vect) +{ + PORTD ^= 0x40; +} + +int main (void) +{ + DDRD = 0xfd; /* binär: 1111 1101 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-5b.c b/20181203/blink-5b.c new file mode 100644 index 0000000000000000000000000000000000000000..b3835f9bc88dbc0fd9c2f4921356f974e88aeef8 --- /dev/null +++ b/20181203/blink-5b.c @@ -0,0 +1,15 @@ +#include <avr/io.h> +#include <avr/interrupt.h> + +ISR (TIMER0_COMPB_vect) +{ + PORTD ^= 0x40; +} + +int main (void) +{ + DDRD = 0xfd; /* binär: 1111 1101 */ + PORTD = 0x00; /* binär: 0000 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-6.c b/20181203/blink-6.c new file mode 100644 index 0000000000000000000000000000000000000000..651ab6e4ac926242337a0520c11f2bbd935bdd22 --- /dev/null +++ b/20181203/blink-6.c @@ -0,0 +1,22 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +ISR (TIMER0_COMPB_vect) +{ + static uint8_t counter = 0; + if (counter++ == 0) + PORTD ^= 0x40; +} + +int main (void) +{ + cli (); + TCCR0B = (1 << CS01) | (1 << CS00); /* Takt durch 64 dividieren */ + TIMSK0 = 1 << OCIE0B; /* Interrupt einschalten */ + sei (); + DDRD = 0xfd; /* binär: 1111 1101 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-6a.c b/20181203/blink-6a.c new file mode 100644 index 0000000000000000000000000000000000000000..7f62899349ccddad1777a7c933f1199332e7bab7 --- /dev/null +++ b/20181203/blink-6a.c @@ -0,0 +1,23 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +ISR (TIMER0_COMPB_vect) +{ + static uint8_t counter = 0; + if (counter++ == 0) + PORTD ^= 0x40; +} + +int main (void) +{ + cli (); + TCCR0B = (1 << CS01) | (1 << CS00); /* Takt durch 64 dividieren */ + TIMSK0 = 1 << OCIE0B; /* Interrupt einschalten */ + sei (); + DDRD = 0xfd; /* binär: 1111 1101 */ + PORTD = 0x40; /* binär: 0100 0000 */ + cli (); + while (1); + return 0; +} diff --git a/20181203/blink-7.c b/20181203/blink-7.c new file mode 100644 index 0000000000000000000000000000000000000000..7ed39822752f61b636f001b77eb3742a57e953a9 --- /dev/null +++ b/20181203/blink-7.c @@ -0,0 +1,20 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +ISR (INT0_vect) /* PD2 */ +{ + PORTD ^= 0x40; +} + +int main (void) +{ + cli (); + EICRA = 1 << ISC00 | 1 << ISC01; /* INT0: steigende Flanke */ + EIMSK = 1 << INT0; /* INT0 einschalten */ + sei (); + DDRD = 0xfb; /* binär: 1111 1011 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-8.c b/20181203/blink-8.c new file mode 100644 index 0000000000000000000000000000000000000000..aba94f07176a75656619d1ba09e83093cbc66c89 --- /dev/null +++ b/20181203/blink-8.c @@ -0,0 +1,20 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +ISR (INT0_vect) /* PD2 */ +{ + PORTD ^= 0x40; +} + +int main (void) +{ + cli (); + EICRA = 1 << ISC00 | 1 << ISC01; /* INT0: steigende Flanke */ + EIMSK = 1 << INT0; /* INT0 einschalten */ + sei (); + DDRD = 0xff; /* binär: 1111 1111 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1); + return 0; +} diff --git a/20181203/blink-9.c b/20181203/blink-9.c new file mode 100644 index 0000000000000000000000000000000000000000..0935978651f8a19197904a6f75f73e40a9be825b --- /dev/null +++ b/20181203/blink-9.c @@ -0,0 +1,31 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +#define F_CPU 16000000l +#include <util/delay.h> + +uint8_t key_pressed = 0; + +ISR (INT0_vect) /* PD2 */ +{ + key_pressed = 1; +} + +int main (void) +{ + cli (); + EICRA = 1 << ISC00 | 1 << ISC01; /* INT0: steigende Flanke */ + EIMSK = 1 << INT0; /* INT0 einschalten */ + sei (); + DDRD = 0xfb; /* binär: 1111 1011 */ + PORTD = 0x40; /* binär: 0100 0000 */ + while (1) + { + while (!key_pressed) + ; /* just wait */ + PORTD ^= 0x40; + key_pressed = 0; + } + return 0; +} diff --git a/20181203/photo-20181203-173451.jpg b/20181203/photo-20181203-173451.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fff9b4914ee6fb0f7948fcfe0b94e7bfd41370c7 Binary files /dev/null and b/20181203/photo-20181203-173451.jpg differ diff --git a/20181203/photo-20181203-173451.txt b/20181203/photo-20181203-173451.txt new file mode 100644 index 0000000000000000000000000000000000000000..a9ab2ac1a9e7a8d08cae9aacb8c76fd24f63cea8 --- /dev/null +++ b/20181203/photo-20181203-173451.txt @@ -0,0 +1 @@ +README: Pull-Down- und Pull-Up-Widerstand