From 67135fef3b78f4c6d53f4b221ff95880bab72a13 Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Mon, 22 Nov 2021 16:02:12 +0100 Subject: [PATCH] Beispiele 22.11.2021 --- 20211122/blink-10.c | 31 ++++++++++++ 20211122/blink-10.s | 75 ++++++++++++++++++++++++++++ 20211122/blink-11.c | 32 ++++++++++++ 20211122/blink-4a.c | 20 ++++++++ 20211122/blink-5.c | 19 ++++++++ 20211122/blink-5a.c | 20 ++++++++ 20211122/blink-5b.c | 26 ++++++++++ 20211122/blink-6.c | 22 +++++++++ 20211122/blink-7.c | 20 ++++++++ 20211122/blink-7a.c | 20 ++++++++ 20211122/blink-8.c | 20 ++++++++ 20211122/blink-9.c | 31 ++++++++++++ 20211122/blink-9.s | 78 ++++++++++++++++++++++++++++++ 20211122/pull-up-pull-down.xcf.gz | Bin 0 -> 35146 bytes 20211122/test-2.pbm | Bin 0 -> 24 bytes 20211122/test-3.pbm | Bin 0 -> 36 bytes 20211122/test.pbm | Bin 0 -> 68 bytes 20211122/test.png | Bin 0 -> 178 bytes 20211122/test.xbm | 5 ++ 19 files changed, 419 insertions(+) create mode 100644 20211122/blink-10.c create mode 100644 20211122/blink-10.s create mode 100644 20211122/blink-11.c create mode 100644 20211122/blink-4a.c create mode 100644 20211122/blink-5.c create mode 100644 20211122/blink-5a.c create mode 100644 20211122/blink-5b.c create mode 100644 20211122/blink-6.c create mode 100644 20211122/blink-7.c create mode 100644 20211122/blink-7a.c create mode 100644 20211122/blink-8.c create mode 100644 20211122/blink-9.c create mode 100644 20211122/blink-9.s create mode 100644 20211122/pull-up-pull-down.xcf.gz create mode 100644 20211122/test-2.pbm create mode 100644 20211122/test-3.pbm create mode 100644 20211122/test.pbm create mode 100644 20211122/test.png create mode 100644 20211122/test.xbm diff --git a/20211122/blink-10.c b/20211122/blink-10.c new file mode 100644 index 0000000..6c36fbe --- /dev/null +++ b/20211122/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 = 0x44; /* binär: 0100 0100 */ + while (1) + { + while (!key_pressed) + ; /* just wait */ + PORTD ^= 0x40; + key_pressed = 0; + } + return 0; +} diff --git a/20211122/blink-10.s b/20211122/blink-10.s new file mode 100644 index 0000000..b77f398 --- /dev/null +++ b/20211122/blink-10.s @@ -0,0 +1,75 @@ + .file "blink-10.c" +__SP_H__ = 0x3e +__SP_L__ = 0x3d +__SREG__ = 0x3f +__tmp_reg__ = 0 +__zero_reg__ = 1 + .text +.global __vector_1 + .type __vector_1, @function +__vector_1: + push r1 + push r0 + in r0,__SREG__ + push r0 + clr __zero_reg__ + push r24 +/* prologue: Signal */ +/* frame size = 0 */ +/* stack size = 4 */ +.L__stack_usage = 4 + ldi r24,lo8(1) + sts key_pressed,r24 +/* epilogue start */ + pop r24 + pop r0 + out __SREG__,r0 + pop r0 + pop r1 + reti + .size __vector_1, .-__vector_1 + .section .text.startup,"ax",@progbits +.global main + .type main, @function +main: +/* prologue: function */ +/* frame size = 0 */ +/* stack size = 0 */ +.L__stack_usage = 0 +/* #APP */ + ; 17 "blink-10.c" 1 + cli + ; 0 "" 2 +/* #NOAPP */ + ldi r24,lo8(3) + sts 105,r24 + ldi r24,lo8(1) + out 0x1d,r24 +/* #APP */ + ; 20 "blink-10.c" 1 + sei + ; 0 "" 2 +/* #NOAPP */ + ldi r24,lo8(-5) + out 0xa,r24 + ldi r24,lo8(68) + out 0xb,r24 + ldi r25,lo8(64) +.L3: + lds r24,key_pressed + tst r24 + breq .L3 + in r24,0xb + eor r24,r25 + out 0xb,r24 + sts key_pressed,__zero_reg__ + rjmp .L3 + .size main, .-main +.global key_pressed + .section .bss + .type key_pressed, @object + .size key_pressed, 1 +key_pressed: + .zero 1 + .ident "GCC: (GNU) 5.4.0" +.global __do_clear_bss diff --git a/20211122/blink-11.c b/20211122/blink-11.c new file mode 100644 index 0000000..72020dc --- /dev/null +++ b/20211122/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 = 0x44; /* binär: 0100 0100 */ + while (1) + { + while (!key_pressed) + ; /* just wait */ + _delay_ms (1); + PORTD ^= 0x40; + key_pressed = 0; + } + return 0; +} diff --git a/20211122/blink-4a.c b/20211122/blink-4a.c new file mode 100644 index 0000000..9f98b66 --- /dev/null +++ b/20211122/blink-4a.c @@ -0,0 +1,20 @@ +#include <avr/io.h> + +#define F_CPU 16000000 +#include <util/delay.h> + +int main (void) +{ /* binär: 0000 0001 */ + DDRD = 0x01; /* ^ Input */ + PORTD = 0x03; /* ^ Ouptut */ + /* binär: 0000 0011 */ + /* ^ PORT für Input setzen: internen Pull-Up aktivieren */ + while (1) + { + while (PIND & 0x02) /* binär: 0000 0010; Taste gedrückt --> PIN geht auf 0 */ + ; /* just wait */ /* nicht gedrückt --> über Pull-Up auf 1 */ + PORTD ^= 0x01; + _delay_ms (200); + } + return 0; +} diff --git a/20211122/blink-5.c b/20211122/blink-5.c new file mode 100644 index 0000000..bb755f0 --- /dev/null +++ b/20211122/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/20211122/blink-5a.c b/20211122/blink-5a.c new file mode 100644 index 0000000..8b1ad3d --- /dev/null +++ b/20211122/blink-5a.c @@ -0,0 +1,20 @@ +#include <avr/io.h> +#include <avr/interrupt.h> + +ISR (TIMER0_COMPB_vect) +{ + PORTD ^= 0x40; +} + +int main (void) +{ + cli (); + CLKPR = (1 << CLKPCE) | (1 << CLKPS3) | (0 << CLKPS2) | (0 << CLKPS1) | (0 << CLKPS0); /* Prescaler: 256 */ + TCCR0B = (1 << CS02) | (0 << CS01) | (1 << CS00); /* Takt vom Prescaler durch 1024 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/20211122/blink-5b.c b/20211122/blink-5b.c new file mode 100644 index 0000000..6e76778 --- /dev/null +++ b/20211122/blink-5b.c @@ -0,0 +1,26 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +ISR (TIMER0_COMPB_vect) +{ + static uint8_t counter = 0; + if (counter++ >= 61) + { + PORTD ^= 0x40; + counter = 0; + } +} + +int main (void) +{ + cli (); + CLKPR = (1 << CLKPCE) | (1 << CLKPS3) | (0 << CLKPS2) | (0 << CLKPS1) | (0 << CLKPS0); /* Prescaler: 256 */ + TCCR0B = (1 << CS02) | (0 << CS01) | (1 << CS00); /* Takt vom Prescaler durch 1024 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/20211122/blink-6.c b/20211122/blink-6.c new file mode 100644 index 0000000..651ab6e --- /dev/null +++ b/20211122/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/20211122/blink-7.c b/20211122/blink-7.c new file mode 100644 index 0000000..7ed3982 --- /dev/null +++ b/20211122/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/20211122/blink-7a.c b/20211122/blink-7a.c new file mode 100644 index 0000000..c7a5b3c --- /dev/null +++ b/20211122/blink-7a.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 = 0x44; /* binär: 0100 0100 --> internen Pull-Up einschalten */ + while (1); + return 0; +} diff --git a/20211122/blink-8.c b/20211122/blink-8.c new file mode 100644 index 0000000..aba94f0 --- /dev/null +++ b/20211122/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/20211122/blink-9.c b/20211122/blink-9.c new file mode 100644 index 0000000..486b7a2 --- /dev/null +++ b/20211122/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 = 0x44; /* binär: 0100 0100 */ + while (1) + { + while (!key_pressed) + ; /* just wait */ + PORTD ^= 0x40; + key_pressed = 0; + } + return 0; +} diff --git a/20211122/blink-9.s b/20211122/blink-9.s new file mode 100644 index 0000000..82e900d --- /dev/null +++ b/20211122/blink-9.s @@ -0,0 +1,78 @@ + .file "blink-9.c" +__SP_H__ = 0x3e +__SP_L__ = 0x3d +__SREG__ = 0x3f +__tmp_reg__ = 0 +__zero_reg__ = 1 + .text +.global __vector_1 + .type __vector_1, @function +__vector_1: + push r1 + push r0 + in r0,__SREG__ + push r0 + clr __zero_reg__ + push r24 +/* prologue: Signal */ +/* frame size = 0 */ +/* stack size = 4 */ +.L__stack_usage = 4 + ldi r24,lo8(1) + sts key_pressed,r24 +/* epilogue start */ + pop r24 + pop r0 + out __SREG__,r0 + pop r0 + pop r1 + reti + .size __vector_1, .-__vector_1 + .section .text.startup,"ax",@progbits +.global main + .type main, @function +main: +/* prologue: function */ +/* frame size = 0 */ +/* stack size = 0 */ +.L__stack_usage = 0 +/* #APP */ + ; 17 "blink-9.c" 1 + cli + ; 0 "" 2 +/* #NOAPP */ + ldi r24,lo8(3) + sts 105,r24 + ldi r24,lo8(1) + out 0x1d,r24 +/* #APP */ + ; 20 "blink-9.c" 1 + sei + ; 0 "" 2 +/* #NOAPP */ + ldi r24,lo8(-5) + out 0xa,r24 + ldi r24,lo8(68) + out 0xb,r24 + ldi r25,lo8(64) +.L4: + lds r24,key_pressed + cpse r24,__zero_reg__ + rjmp .L7 +.L6: + rjmp .L6 +.L7: + in r24,0xb + eor r24,r25 + out 0xb,r24 + sts key_pressed,__zero_reg__ + rjmp .L4 + .size main, .-main +.global key_pressed + .section .bss + .type key_pressed, @object + .size key_pressed, 1 +key_pressed: + .zero 1 + .ident "GCC: (GNU) 5.4.0" +.global __do_clear_bss diff --git a/20211122/pull-up-pull-down.xcf.gz b/20211122/pull-up-pull-down.xcf.gz new file mode 100644 index 0000000000000000000000000000000000000000..8924a4bb61806f77202cc0d48fe6a62c6a7add75 GIT binary patch literal 35146 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 literal 0 HcmV?d00001 diff --git a/20211122/test-2.pbm b/20211122/test-2.pbm new file mode 100644 index 0000000000000000000000000000000000000000..279da480f55e1dea8182dc6aaa493a1063f2f4bb GIT binary patch literal 24 bcmWGA;W9K*Fy~@mP-5T!Lq`TX1_lNIAwL2P literal 0 HcmV?d00001 diff --git a/20211122/test-3.pbm b/20211122/test-3.pbm new file mode 100644 index 0000000000000000000000000000000000000000..f7895d98dfee7281f173ade62c1bf585bfac9ab2 GIT binary patch literal 36 gcmWGA;W9K=Fy~@mP-5T!Lq`TX1_p+toJ2SR09iQ(%>V!Z literal 0 HcmV?d00001 diff --git a/20211122/test.pbm b/20211122/test.pbm new file mode 100644 index 0000000000000000000000000000000000000000..2196f5cf811f0705aa4324f82088418694246002 GIT binary patch literal 68 zcmWGA;Zjy`E=o--Nlj5ms#I|I^bJrbOD!tS%+FIW(la#Bvrq`|^HnIwDNWbS%;U0D Tu;5}~P-5T!Lq`TX1_lNIg^CY^ literal 0 HcmV?d00001 diff --git a/20211122/test.png b/20211122/test.png new file mode 100644 index 0000000000000000000000000000000000000000..1480054357897b1588fe228d7e10de08c9ffae32 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0y~yVBln6VBlb6W?*0tWOo0?z`(#3;1lA?z`*eT|No^o z=idb>De#CaW?;}$24TjErS@eE3=Hfgp1!W^Pr1eT)Y*?65awrKV2~_vjVN)>&&^HE zD`9XhN=+<DO;IS%EXh!C_w)@2Z{!naU|^8)ba4#fxSssu{(*w+jSsDP-exCQ+&J)I aKO;j|9k;_>@k1a-FnGH9xvX<aXaWG+XfqrD literal 0 HcmV?d00001 diff --git a/20211122/test.xbm b/20211122/test.xbm new file mode 100644 index 0000000..874d1b8 --- /dev/null +++ b/20211122/test.xbm @@ -0,0 +1,5 @@ +#define test_width 9 +#define test_height 8 +static unsigned char test_bits[] = { + 0x00, 0x00, 0x44, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x82, 0x00, + 0x7c, 0x00, 0x00, 0x00 }; -- GitLab