diff --git a/Microcontrollers/Microcontrollers.atsln b/Microcontrollers/Microcontrollers.atsln
index ba35f4a..24158d8 100644
--- a/Microcontrollers/Microcontrollers.atsln
+++ b/Microcontrollers/Microcontrollers.atsln
@@ -3,30 +3,48 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Atmel Studio Solution File, Format Version 11.00
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 1.4", "Microcontrollers\opdracht 1.4.cproj", "{2285C48D-296E-43FD-A7B6-69885F64CFFD}"
-EndProject
-Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 1.7a", "opdracht 2.7a\opdracht 1.7a.cproj", "{B7ED8D27-9387-4A45-A238-923F89602FB5}"
-EndProject
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 1.6", "opdracht 1.6\opdracht 1.6.cproj", "{2C44E92F-6D48-45BD-810A-AD501EC081FE}"
EndProject
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 1.3", "opdracht 1.3\opdracht 1.3.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}"
+EndProject
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 1.4", "opdracht 1.4\opdracht 1.4.cproj", "{2285C48D-296E-43FD-A7B6-69885F64CFFD}"
+EndProject
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 1.5", "opdracht 1.5\opdracht 1.5.cproj", "{B2CED75E-444E-40D3-8DB2-1E83EBFA08BA}"
+EndProject
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 1.7a", "opdracht 1.7a\opdracht 1.7a.cproj", "{BAE7767D-1CC2-42DA-9CC0-FD878EA43AC1}"
+EndProject
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 2.1", "opdracht 2.1\opdracht 2.1.cproj", "{69165C62-B4D4-4FE3-B777-080628FAC668}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Debug|AVR.ActiveCfg = Debug|AVR
- {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Debug|AVR.Build.0 = Debug|AVR
- {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Release|AVR.ActiveCfg = Release|AVR
- {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Release|AVR.Build.0 = Release|AVR
- {B7ED8D27-9387-4A45-A238-923F89602FB5}.Debug|AVR.ActiveCfg = Debug|AVR
- {B7ED8D27-9387-4A45-A238-923F89602FB5}.Debug|AVR.Build.0 = Debug|AVR
- {B7ED8D27-9387-4A45-A238-923F89602FB5}.Release|AVR.ActiveCfg = Release|AVR
- {B7ED8D27-9387-4A45-A238-923F89602FB5}.Release|AVR.Build.0 = Release|AVR
{2C44E92F-6D48-45BD-810A-AD501EC081FE}.Debug|AVR.ActiveCfg = Debug|AVR
{2C44E92F-6D48-45BD-810A-AD501EC081FE}.Debug|AVR.Build.0 = Debug|AVR
{2C44E92F-6D48-45BD-810A-AD501EC081FE}.Release|AVR.ActiveCfg = Release|AVR
{2C44E92F-6D48-45BD-810A-AD501EC081FE}.Release|AVR.Build.0 = Release|AVR
+ {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.ActiveCfg = Debug|AVR
+ {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.Build.0 = Debug|AVR
+ {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.ActiveCfg = Release|AVR
+ {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.Build.0 = Release|AVR
+ {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Debug|AVR.ActiveCfg = Debug|AVR
+ {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Debug|AVR.Build.0 = Debug|AVR
+ {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Release|AVR.ActiveCfg = Release|AVR
+ {2285C48D-296E-43FD-A7B6-69885F64CFFD}.Release|AVR.Build.0 = Release|AVR
+ {B2CED75E-444E-40D3-8DB2-1E83EBFA08BA}.Debug|AVR.ActiveCfg = Debug|AVR
+ {B2CED75E-444E-40D3-8DB2-1E83EBFA08BA}.Debug|AVR.Build.0 = Debug|AVR
+ {B2CED75E-444E-40D3-8DB2-1E83EBFA08BA}.Release|AVR.ActiveCfg = Release|AVR
+ {B2CED75E-444E-40D3-8DB2-1E83EBFA08BA}.Release|AVR.Build.0 = Release|AVR
+ {BAE7767D-1CC2-42DA-9CC0-FD878EA43AC1}.Debug|AVR.ActiveCfg = Debug|AVR
+ {BAE7767D-1CC2-42DA-9CC0-FD878EA43AC1}.Debug|AVR.Build.0 = Debug|AVR
+ {BAE7767D-1CC2-42DA-9CC0-FD878EA43AC1}.Release|AVR.ActiveCfg = Release|AVR
+ {BAE7767D-1CC2-42DA-9CC0-FD878EA43AC1}.Release|AVR.Build.0 = Release|AVR
+ {69165C62-B4D4-4FE3-B777-080628FAC668}.Debug|AVR.ActiveCfg = Debug|AVR
+ {69165C62-B4D4-4FE3-B777-080628FAC668}.Debug|AVR.Build.0 = Debug|AVR
+ {69165C62-B4D4-4FE3-B777-080628FAC668}.Release|AVR.ActiveCfg = Release|AVR
+ {69165C62-B4D4-4FE3-B777-080628FAC668}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Microcontrollers/opdracht 1.3/Debug/Makefile b/Microcontrollers/opdracht 1.3/Debug/Makefile
new file mode 100644
index 0000000..7ccbf24
--- /dev/null
+++ b/Microcontrollers/opdracht 1.3/Debug/Makefile
@@ -0,0 +1,115 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL := cmd.exe
+RM := rm -rf
+
+USER_OBJS :=
+
+LIBS :=
+PROJ :=
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+PREPROCESSING_SRCS :=
+OBJS :=
+OBJS_AS_ARGS :=
+C_DEPS :=
+C_DEPS_AS_ARGS :=
+EXECUTABLES :=
+OUTPUT_FILE_PATH :=
+OUTPUT_FILE_PATH_AS_ARGS :=
+AVR_APP_PATH :=$$$AVR_APP_PATH$$$
+QUOTE := "
+ADDITIONAL_DEPENDENCIES:=
+OUTPUT_FILE_DEP:=
+LIB_DEP:=
+LINKER_SCRIPT_DEP:=
+
+# Every subdirectory with source files must be described here
+SUBDIRS :=
+
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS +=
+
+
+PREPROCESSING_SRCS +=
+
+
+ASM_SRCS +=
+
+
+OBJS +=
+
+OBJS_AS_ARGS +=
+
+C_DEPS +=
+
+C_DEPS_AS_ARGS +=
+
+OUTPUT_FILE_PATH +=opdracht\ 1.3.elf
+
+OUTPUT_FILE_PATH_AS_ARGS +="opdracht 1.3.elf"
+
+ADDITIONAL_DEPENDENCIES:=
+
+OUTPUT_FILE_DEP:= ./makedep.mk
+
+LIB_DEP+=
+
+LINKER_SCRIPT_DEP+=
+
+
+# AVR32/GNU C Compiler
+
+
+
+# AVR32/GNU Preprocessing Assembler
+
+
+
+# AVR32/GNU Assembler
+
+
+
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
+
+$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
+ @echo Building target: $@
+ @echo Invoking: AVR/GNU Linker : 5.4.0
+ $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="opdracht 1.3.map" -Wl,--start-group -Wl,--end-group -Wl,--gc-sections
+ @echo Finished building target: $@
+ "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 1.3.elf" "opdracht 1.3.hex"
+ "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "opdracht 1.3.elf" "opdracht 1.3.eep" || exit 0
+ "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "opdracht 1.3.elf" > "opdracht 1.3.lss"
+ "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 1.3.elf" "opdracht 1.3.srec"
+ "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "opdracht 1.3.elf"
+
+
+
+
+
+
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
+ -$(RM) $(C_DEPS_AS_ARGS)
+ rm -rf "opdracht 1.3.elf" "opdracht 1.3.a" "opdracht 1.3.hex" "opdracht 1.3.lss" "opdracht 1.3.eep" "opdracht 1.3.map" "opdracht 1.3.srec" "opdracht 1.3.usersignatures"
+
\ No newline at end of file
diff --git a/Microcontrollers/opdracht 1.3/opdracht 1.3.cproj b/Microcontrollers/opdracht 1.3/opdracht 1.3.cproj
index 2f45972..f8f58ce 100644
--- a/Microcontrollers/opdracht 1.3/opdracht 1.3.cproj
+++ b/Microcontrollers/opdracht 1.3/opdracht 1.3.cproj
@@ -15,6 +15,31 @@
opdracht 1.3
opdracht 1.3
opdracht 1.3
+ Native
+ true
+ false
+ true
+ true
+
+
+ true
+
+ 2
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Microcontrollers/opdracht 1.4/Debug/Makefile b/Microcontrollers/opdracht 1.4/Debug/Makefile
new file mode 100644
index 0000000..6395729
--- /dev/null
+++ b/Microcontrollers/opdracht 1.4/Debug/Makefile
@@ -0,0 +1,125 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL := cmd.exe
+RM := rm -rf
+
+USER_OBJS :=
+
+LIBS :=
+PROJ :=
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+PREPROCESSING_SRCS :=
+OBJS :=
+OBJS_AS_ARGS :=
+C_DEPS :=
+C_DEPS_AS_ARGS :=
+EXECUTABLES :=
+OUTPUT_FILE_PATH :=
+OUTPUT_FILE_PATH_AS_ARGS :=
+AVR_APP_PATH :=$$$AVR_APP_PATH$$$
+QUOTE := "
+ADDITIONAL_DEPENDENCIES:=
+OUTPUT_FILE_DEP:=
+LIB_DEP:=
+LINKER_SCRIPT_DEP:=
+
+# Every subdirectory with source files must be described here
+SUBDIRS :=
+
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../main.c
+
+
+PREPROCESSING_SRCS +=
+
+
+ASM_SRCS +=
+
+
+OBJS += \
+main.o
+
+OBJS_AS_ARGS += \
+main.o
+
+C_DEPS += \
+main.d
+
+C_DEPS_AS_ARGS += \
+main.d
+
+OUTPUT_FILE_PATH +=opdracht\ 1.4.elf
+
+OUTPUT_FILE_PATH_AS_ARGS +="opdracht 1.4.elf"
+
+ADDITIONAL_DEPENDENCIES:=
+
+OUTPUT_FILE_DEP:= ./makedep.mk
+
+LIB_DEP+=
+
+LINKER_SCRIPT_DEP+=
+
+
+# AVR32/GNU C Compiler
+./main.o: .././main.c
+ @echo Building file: $<
+ @echo Invoking: XC8 C Compiler : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -c -x c -funsigned-char -funsigned-bitfields -mext=cci -D__ATmega128__ -DDEBUG -D__ATmega128__ -DBOARD=STK600_MEGA -I"../src/ASF/common/boards" -I"../src/ASF/mega/utils/preprocessor" -I"../src/ASF/mega/utils" -I"../src/ASF/common/utils" -I"../src" -I"../src/config" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+
+
+
+# AVR32/GNU Preprocessing Assembler
+
+
+
+# AVR32/GNU Assembler
+
+
+
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
+
+$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
+ @echo Building target: $@
+ @echo Invoking: XC8 C Linker : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -Wl,-Map="opdracht 1.4.map" -funsigned-char -funsigned-bitfields -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums --memorysummary,memoryfile.xml
+ @echo Finished building target: $@
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 1.4.elf" "opdracht 1.4.hex"
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "opdracht 1.4.elf" "opdracht 1.4.eep" || exit 0
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objdump.exe" -h -S "opdracht 1.4.elf" > "opdracht 1.4.lss"
+
+
+
+
+
+
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
+ -$(RM) $(C_DEPS_AS_ARGS)
+ rm -rf "opdracht 1.4.elf" "opdracht 1.4.hex" "opdracht 1.4.eep" "opdracht 1.4.map" "opdracht 1.4.usersignatures" "opdracht 1.4.a" "opdracht 1.4.lss"
+
\ No newline at end of file
diff --git a/Microcontrollers/opdracht 1.4/Debug/makedep.mk b/Microcontrollers/opdracht 1.4/Debug/makedep.mk
new file mode 100644
index 0000000..6a14fde
--- /dev/null
+++ b/Microcontrollers/opdracht 1.4/Debug/makedep.mk
@@ -0,0 +1,6 @@
+################################################################################
+# Automatically-generated file. Do not edit or delete the file
+################################################################################
+
+main.c
+
diff --git a/Microcontrollers/opdracht 1.4/Debug/memoryfile.xml b/Microcontrollers/opdracht 1.4/Debug/memoryfile.xml
new file mode 100644
index 0000000..b3fbd85
--- /dev/null
+++ b/Microcontrollers/opdracht 1.4/Debug/memoryfile.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ bytes
+ 131072
+ 252
+ 130820
+
+
+ bytes
+ 4096
+ 0
+ 4096
+
+
+
diff --git a/Microcontrollers/opdracht 1.4/Debug/opdracht 1.4.eep b/Microcontrollers/opdracht 1.4/Debug/opdracht 1.4.eep
new file mode 100644
index 0000000..7c166a1
--- /dev/null
+++ b/Microcontrollers/opdracht 1.4/Debug/opdracht 1.4.eep
@@ -0,0 +1 @@
+:00000001FF
diff --git a/Microcontrollers/opdracht 1.4/Debug/opdracht 1.4.lss b/Microcontrollers/opdracht 1.4/Debug/opdracht 1.4.lss
new file mode 100644
index 0000000..8db6973
--- /dev/null
+++ b/Microcontrollers/opdracht 1.4/Debug/opdracht 1.4.lss
@@ -0,0 +1,193 @@
+
+opdracht 1.4.elf: file format elf32-avr
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .data 00000000 00800100 00800100 00000150 2**0
+ ALLOC, LOAD, DATA
+ 1 .text 000000a4 00000000 00000000 00000054 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .comment 0000002f 00000000 00000000 00000150 2**0
+ CONTENTS, READONLY
+ 3 .debug_aranges 00000028 00000000 00000000 0000017f 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 4 .debug_info 00000b4d 00000000 00000000 000001a7 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 5 .debug_abbrev 00000830 00000000 00000000 00000cf4 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 6 .debug_line 000002ae 00000000 00000000 00001524 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 7 .debug_frame 00000034 00000000 00000000 000017d4 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 8 .debug_str 0000027d 00000000 00000000 00001808 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 9 .debug_loc 00000089 00000000 00000000 00001a85 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 10 .debug_ranges 00000018 00000000 00000000 00001b0e 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 11 .text 00000004 000000f8 000000f8 0000014c 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 12 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00001b28 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 13 .text.wait 0000001e 000000da 000000da 0000012e 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 14 .text.main 00000036 000000a4 000000a4 000000f8 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+
+Disassembly of section .text:
+
+00000000 <__vectors>:
+ 0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
+ 4: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 8: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 10: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 14: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 18: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 1c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 20: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 24: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 28: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 2c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 30: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 34: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 38: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 3c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 40: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 44: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 48: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 4c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 50: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 54: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 58: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 5c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 60: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 64: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 68: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 6c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 70: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 74: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 78: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 7c: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 80: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 84: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+ 88: 0c 94 7c 00 jmp 0xf8 ; 0xf8 <__bad_interrupt>
+
+0000008c <__ctors_end>:
+ 8c: 11 24 eor r1, r1
+ 8e: 1f be out 0x3f, r1 ; 63
+ 90: cf ef ldi r28, 0xFF ; 255
+ 92: d0 e1 ldi r29, 0x10 ; 16
+ 94: de bf out 0x3e, r29 ; 62
+ 96: cd bf out 0x3d, r28 ; 61
+ 98: 0e 94 52 00 call 0xa4 ; 0xa4 <_etext>
+ 9c: 0c 94 50 00 jmp 0xa0 ; 0xa0 <_exit>
+
+000000a0 <_exit>:
+ a0: f8 94 cli
+
+000000a2 <__stop_program>:
+ a2: ff cf rjmp .-2 ; 0xa2 <__stop_program>
+
+Disassembly of section .text:
+
+000000f8 <__bad_interrupt>:
+ f8: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
+
+Disassembly of section .text.wait:
+
+000000da :
+ clock value is set. This is used by _delay_ms inside
+ util/delay.h
+Version : DMK, Initial code
+*******************************************************************/
+{
+ for (int i=0; i
+ #else
+ //round up by default
+ __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
+ #endif
+
+ __builtin_avr_delay_cycles(__ticks_dc);
+ e0: e3 ec ldi r30, 0xC3 ; 195
+ e2: f9 e0 ldi r31, 0x09 ; 9
+ e4: 31 97 sbiw r30, 0x01 ; 1
+ e6: f1 f7 brne .-4 ; 0xe4
+ e8: 00 c0 rjmp .+0 ; 0xea
+ ea: 00 00 nop
+ ec: 2f 5f subi r18, 0xFF ; 255
+ ee: 3f 4f sbci r19, 0xFF ; 255
+ f0: 28 17 cp r18, r24
+ f2: 39 07 cpc r19, r25
+ f4: ac f3 brlt .-22 ; 0xe0
+ {
+ _delay_ms( 1 ); // library function (max 30 ms at 8MHz)
+ }
+}
+ f6: 08 95 ret
+
+Disassembly of section .text.main:
+
+000000a4 :
+
+int main(void)
+{
+ bool dir = false;
+ DDRD = 0b11111111;
+ a4: 8f ef ldi r24, 0xFF ; 255
+ a6: 81 bb out 0x11, r24 ; 17
+ PORTD = 0b00000001;
+ a8: 81 e0 ldi r24, 0x01 ; 1
+ aa: 82 bb out 0x12, r24 ; 18
+ }
+}
+
+int main(void)
+{
+ bool dir = false;
+ ac: c0 e0 ldi r28, 0x00 ; 0
+ DDRD = 0b11111111;
+ PORTD = 0b00000001;
+
+ while(1)
+ {
+ if(PORTD == 0b10000000){
+ ae: 82 b3 in r24, 0x12 ; 18
+ b0: 80 38 cpi r24, 0x80 ; 128
+ b2: 09 f4 brne .+2 ; 0xb6
+ dir = true;
+ b4: c1 e0 ldi r28, 0x01 ; 1
+ }
+
+ if(PORTD == 0b00000001){
+ b6: 82 b3 in r24, 0x12 ; 18
+ b8: 81 30 cpi r24, 0x01 ; 1
+ ba: 09 f4 brne .+2 ; 0xbe
+ dir = false;
+ bc: c0 e0 ldi r28, 0x00 ; 0
+ }
+
+ if(!dir){
+ be: c1 11 cpse r28, r1
+ c0: 04 c0 rjmp .+8 ; 0xca
+ PORTD <<= 1;
+ c2: 82 b3 in r24, 0x12 ; 18
+ c4: 88 0f add r24, r24
+ c6: 82 bb out 0x12, r24 ; 18
+ c8: 03 c0 rjmp .+6 ; 0xd0
+ } else {
+ PORTD >>= 1;
+ ca: 82 b3 in r24, 0x12 ; 18
+ cc: 86 95 lsr r24
+ ce: 82 bb out 0x12, r24 ; 18
+ }
+
+ wait(80);
+ d0: 80 e5 ldi r24, 0x50 ; 80
+ d2: 90 e0 ldi r25, 0x00 ; 0
+ d4: 0e 94 6d 00 call 0xda ; 0xda
+ }
+ d8: ea cf rjmp .-44 ; 0xae
diff --git a/Microcontrollers/opdracht 1.5/Debug/Makefile b/Microcontrollers/opdracht 1.5/Debug/Makefile
new file mode 100644
index 0000000..4111ed5
--- /dev/null
+++ b/Microcontrollers/opdracht 1.5/Debug/Makefile
@@ -0,0 +1,125 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL := cmd.exe
+RM := rm -rf
+
+USER_OBJS :=
+
+LIBS :=
+PROJ :=
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+PREPROCESSING_SRCS :=
+OBJS :=
+OBJS_AS_ARGS :=
+C_DEPS :=
+C_DEPS_AS_ARGS :=
+EXECUTABLES :=
+OUTPUT_FILE_PATH :=
+OUTPUT_FILE_PATH_AS_ARGS :=
+AVR_APP_PATH :=$$$AVR_APP_PATH$$$
+QUOTE := "
+ADDITIONAL_DEPENDENCIES:=
+OUTPUT_FILE_DEP:=
+LIB_DEP:=
+LINKER_SCRIPT_DEP:=
+
+# Every subdirectory with source files must be described here
+SUBDIRS :=
+
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../main.c
+
+
+PREPROCESSING_SRCS +=
+
+
+ASM_SRCS +=
+
+
+OBJS += \
+main.o
+
+OBJS_AS_ARGS += \
+main.o
+
+C_DEPS += \
+main.d
+
+C_DEPS_AS_ARGS += \
+main.d
+
+OUTPUT_FILE_PATH +=opdracht\ 1.5.elf
+
+OUTPUT_FILE_PATH_AS_ARGS +="opdracht 1.5.elf"
+
+ADDITIONAL_DEPENDENCIES:=
+
+OUTPUT_FILE_DEP:= ./makedep.mk
+
+LIB_DEP+=
+
+LINKER_SCRIPT_DEP+=
+
+
+# AVR32/GNU C Compiler
+./main.o: .././main.c
+ @echo Building file: $<
+ @echo Invoking: XC8 C Compiler : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -c -x c -funsigned-char -funsigned-bitfields -mext=cci -D__ATmega128__ -DDEBUG -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+
+
+
+# AVR32/GNU Preprocessing Assembler
+
+
+
+# AVR32/GNU Assembler
+
+
+
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
+
+$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
+ @echo Building target: $@
+ @echo Invoking: XC8 C Linker : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -Wl,-Map="opdracht 1.5.map" -funsigned-char -funsigned-bitfields -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums --memorysummary,memoryfile.xml
+ @echo Finished building target: $@
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 1.5.elf" "opdracht 1.5.hex"
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "opdracht 1.5.elf" "opdracht 1.5.eep" || exit 0
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objdump.exe" -h -S "opdracht 1.5.elf" > "opdracht 1.5.lss"
+
+
+
+
+
+
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
+ -$(RM) $(C_DEPS_AS_ARGS)
+ rm -rf "opdracht 1.5.elf" "opdracht 1.5.hex" "opdracht 1.5.eep" "opdracht 1.5.map" "opdracht 1.5.usersignatures" "opdracht 1.5.a" "opdracht 1.5.lss"
+
\ No newline at end of file
diff --git a/Microcontrollers/opdracht 1.5/Debug/makedep.mk b/Microcontrollers/opdracht 1.5/Debug/makedep.mk
new file mode 100644
index 0000000..6a14fde
--- /dev/null
+++ b/Microcontrollers/opdracht 1.5/Debug/makedep.mk
@@ -0,0 +1,6 @@
+################################################################################
+# Automatically-generated file. Do not edit or delete the file
+################################################################################
+
+main.c
+
diff --git a/Microcontrollers/opdracht 1.5/Debug/memoryfile.xml b/Microcontrollers/opdracht 1.5/Debug/memoryfile.xml
new file mode 100644
index 0000000..1446358
--- /dev/null
+++ b/Microcontrollers/opdracht 1.5/Debug/memoryfile.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ bytes
+ 131072
+ 170
+ 130902
+
+
+ bytes
+ 4096
+ 0
+ 4096
+
+
+
diff --git a/Microcontrollers/opdracht 1.5/Debug/opdracht 1.5.eep b/Microcontrollers/opdracht 1.5/Debug/opdracht 1.5.eep
new file mode 100644
index 0000000..7c166a1
--- /dev/null
+++ b/Microcontrollers/opdracht 1.5/Debug/opdracht 1.5.eep
@@ -0,0 +1 @@
+:00000001FF
diff --git a/Microcontrollers/opdracht 1.5/Debug/opdracht 1.5.lss b/Microcontrollers/opdracht 1.5/Debug/opdracht 1.5.lss
new file mode 100644
index 0000000..6688b69
--- /dev/null
+++ b/Microcontrollers/opdracht 1.5/Debug/opdracht 1.5.lss
@@ -0,0 +1,102 @@
+
+opdracht 1.5.elf: file format elf32-avr
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .data 00000000 00800100 00800100 000000fe 2**0
+ ALLOC, LOAD, DATA
+ 1 .text 000000a4 00000000 00000000 00000054 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .comment 0000002f 00000000 00000000 000000fe 2**0
+ CONTENTS, READONLY
+ 3 .debug_aranges 00000020 00000000 00000000 0000012d 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 4 .debug_info 000009fe 00000000 00000000 0000014d 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 5 .debug_abbrev 00000756 00000000 00000000 00000b4b 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 6 .debug_line 000001a6 00000000 00000000 000012a1 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 7 .debug_frame 00000024 00000000 00000000 00001448 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 8 .debug_str 0000027d 00000000 00000000 0000146c 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 9 .debug_ranges 00000010 00000000 00000000 000016e9 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 10 .text 00000004 000000a4 000000a4 000000f8 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 11 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 000016fc 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 12 .text.main 00000002 000000a8 000000a8 000000fc 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+
+Disassembly of section .text:
+
+00000000 <__vectors>:
+ 0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
+ 4: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 8: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 10: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 14: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 18: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 1c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 20: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 24: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 28: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 2c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 30: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 34: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 38: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 3c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 40: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 44: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 48: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 4c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 50: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 54: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 58: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 5c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 60: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 64: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 68: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 6c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 70: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 74: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 78: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 7c: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 80: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 84: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+ 88: 0c 94 52 00 jmp 0xa4 ; 0xa4 <_etext>
+
+0000008c <__ctors_end>:
+ 8c: 11 24 eor r1, r1
+ 8e: 1f be out 0x3f, r1 ; 63
+ 90: cf ef ldi r28, 0xFF ; 255
+ 92: d0 e1 ldi r29, 0x10 ; 16
+ 94: de bf out 0x3e, r29 ; 62
+ 96: cd bf out 0x3d, r28 ; 61
+ 98: 0e 94 54 00 call 0xa8 ; 0xa8
+ 9c: 0c 94 50 00 jmp 0xa0 ; 0xa0 <_exit>
+
+000000a0 <_exit>:
+ a0: f8 94 cli
+
+000000a2 <__stop_program>:
+ a2: ff cf rjmp .-2 ; 0xa2 <__stop_program>
+
+Disassembly of section .text:
+
+000000a4 <__bad_interrupt>:
+ a4: 0c 94 00 00 jmp 0 ; 0x0 <__TEXT_REGION_ORIGIN__>
+
+Disassembly of section .text.main:
+
+000000a8 :
+ */
+
+#include
+
+int main(void)
+{
+ a8: ff cf rjmp .-2 ; 0xa8
diff --git a/Microcontrollers/opdracht 1.6/Debug/Makefile b/Microcontrollers/opdracht 1.6/Debug/Makefile
new file mode 100644
index 0000000..e5bf352
--- /dev/null
+++ b/Microcontrollers/opdracht 1.6/Debug/Makefile
@@ -0,0 +1,125 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL := cmd.exe
+RM := rm -rf
+
+USER_OBJS :=
+
+LIBS :=
+PROJ :=
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+PREPROCESSING_SRCS :=
+OBJS :=
+OBJS_AS_ARGS :=
+C_DEPS :=
+C_DEPS_AS_ARGS :=
+EXECUTABLES :=
+OUTPUT_FILE_PATH :=
+OUTPUT_FILE_PATH_AS_ARGS :=
+AVR_APP_PATH :=$$$AVR_APP_PATH$$$
+QUOTE := "
+ADDITIONAL_DEPENDENCIES:=
+OUTPUT_FILE_DEP:=
+LIB_DEP:=
+LINKER_SCRIPT_DEP:=
+
+# Every subdirectory with source files must be described here
+SUBDIRS :=
+
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../main.c
+
+
+PREPROCESSING_SRCS +=
+
+
+ASM_SRCS +=
+
+
+OBJS += \
+main.o
+
+OBJS_AS_ARGS += \
+main.o
+
+C_DEPS += \
+main.d
+
+C_DEPS_AS_ARGS += \
+main.d
+
+OUTPUT_FILE_PATH +=opdracht\ 1.6.elf
+
+OUTPUT_FILE_PATH_AS_ARGS +="opdracht 1.6.elf"
+
+ADDITIONAL_DEPENDENCIES:=
+
+OUTPUT_FILE_DEP:= ./makedep.mk
+
+LIB_DEP+=
+
+LINKER_SCRIPT_DEP+=
+
+
+# AVR32/GNU C Compiler
+./main.o: .././main.c
+ @echo Building file: $<
+ @echo Invoking: XC8 C Compiler : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -c -x c -funsigned-char -funsigned-bitfields -mext=cci -D__ATmega128__ -DDEBUG -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+
+
+
+# AVR32/GNU Preprocessing Assembler
+
+
+
+# AVR32/GNU Assembler
+
+
+
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
+
+$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
+ @echo Building target: $@
+ @echo Invoking: XC8 C Linker : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -Wl,-Map="opdracht 1.6.map" -funsigned-char -funsigned-bitfields -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums --memorysummary,memoryfile.xml
+ @echo Finished building target: $@
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 1.6.elf" "opdracht 1.6.hex"
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "opdracht 1.6.elf" "opdracht 1.6.eep" || exit 0
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objdump.exe" -h -S "opdracht 1.6.elf" > "opdracht 1.6.lss"
+
+
+
+
+
+
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
+ -$(RM) $(C_DEPS_AS_ARGS)
+ rm -rf "opdracht 1.6.elf" "opdracht 1.6.hex" "opdracht 1.6.eep" "opdracht 1.6.map" "opdracht 1.6.usersignatures" "opdracht 1.6.a" "opdracht 1.6.lss"
+
\ No newline at end of file
diff --git a/Microcontrollers/opdracht 1.6/Debug/makedep.mk b/Microcontrollers/opdracht 1.6/Debug/makedep.mk
new file mode 100644
index 0000000..6a14fde
--- /dev/null
+++ b/Microcontrollers/opdracht 1.6/Debug/makedep.mk
@@ -0,0 +1,6 @@
+################################################################################
+# Automatically-generated file. Do not edit or delete the file
+################################################################################
+
+main.c
+
diff --git a/Microcontrollers/opdracht 1.6/Debug/memoryfile.xml b/Microcontrollers/opdracht 1.6/Debug/memoryfile.xml
new file mode 100644
index 0000000..66dd586
--- /dev/null
+++ b/Microcontrollers/opdracht 1.6/Debug/memoryfile.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ bytes
+ 131072
+ 360
+ 130712
+
+
+ bytes
+ 4096
+ 0
+ 4096
+
+
+
diff --git a/Microcontrollers/opdracht 1.6/Debug/opdracht 1.6.eep b/Microcontrollers/opdracht 1.6/Debug/opdracht 1.6.eep
new file mode 100644
index 0000000..7c166a1
--- /dev/null
+++ b/Microcontrollers/opdracht 1.6/Debug/opdracht 1.6.eep
@@ -0,0 +1 @@
+:00000001FF
diff --git a/Microcontrollers/opdracht 1.6/Debug/opdracht 1.6.lss b/Microcontrollers/opdracht 1.6/Debug/opdracht 1.6.lss
new file mode 100644
index 0000000..5f04261
--- /dev/null
+++ b/Microcontrollers/opdracht 1.6/Debug/opdracht 1.6.lss
@@ -0,0 +1,233 @@
+
+opdracht 1.6.elf: file format elf32-avr
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .data 00000000 00800100 00800100 000001bc 2**0
+ ALLOC, LOAD, DATA
+ 1 .text 000000a4 00000000 00000000 00000054 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .comment 0000002f 00000000 00000000 000001bc 2**0
+ CONTENTS, READONLY
+ 3 .debug_aranges 00000050 00000000 00000000 000001eb 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 4 .debug_info 00000cfe 00000000 00000000 0000023b 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 5 .debug_abbrev 000008c5 00000000 00000000 00000f39 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 6 .debug_line 0000036f 00000000 00000000 000017fe 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 7 .debug_frame 0000008c 00000000 00000000 00001b70 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 8 .debug_str 0000027d 00000000 00000000 00001bfc 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 9 .debug_loc 000001dc 00000000 00000000 00001e79 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 10 .debug_ranges 00000040 00000000 00000000 00002055 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 11 .text 00000004 00000164 00000164 000001b8 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 12 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00002098 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 13 .text.wait 0000001e 0000010e 0000010e 00000162 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 14 .text.tbi 00000014 0000014a 0000014a 0000019e 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 15 .text.checkButton 00000006 0000015e 0000015e 000001b2 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 16 .text.checkButtonToggle 0000001e 0000012c 0000012c 00000180 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 17 .text.main 0000006a 000000a4 000000a4 000000f8 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+
+Disassembly of section .text:
+
+00000000 <__vectors>:
+ 0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
+ 4: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 8: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 10: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 14: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 18: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 1c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 20: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 24: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 28: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 2c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 30: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 34: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 38: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 3c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 40: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 44: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 48: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 4c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 50: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 54: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 58: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 5c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 60: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 64: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 68: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 6c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 70: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 74: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 78: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 7c: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 80: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 84: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+ 88: 0c 94 b2 00 jmp 0x164 ; 0x164 <__bad_interrupt>
+
+0000008c <__ctors_end>:
+ 8c: 11 24 eor r1, r1
+ 8e: 1f be out 0x3f, r1 ; 63
+ 90: cf ef ldi r28, 0xFF ; 255
+ 92: d0 e1 ldi r29, 0x10 ; 16
+ 94: de bf out 0x3e, r29 ; 62
+ 96: cd bf out 0x3d, r28 ; 61
+ 98: 0e 94 52 00 call 0xa4 ; 0xa4 <_etext>
+ 9c: 0c 94 50 00 jmp 0xa0 ; 0xa0 <_exit>
+
+000000a0 <_exit>:
+ a0: f8 94 cli
+
+000000a2 <__stop_program>:
+ a2: ff cf rjmp .-2 ; 0xa2 <__stop_program>
+
+Disassembly of section .text:
+
+00000164 <__bad_interrupt>:
+ 164: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
+
+Disassembly of section .text.wait:
+
+0000010e :
+
+void sbi(int REG, int index){
+ REG |= (1<
+ 114: e3 ec ldi r30, 0xC3 ; 195
+ 116: f9 e0 ldi r31, 0x09 ; 9
+ 118: 31 97 sbiw r30, 0x01 ; 1
+ 11a: f1 f7 brne .-4 ; 0x118
+ 11c: 00 c0 rjmp .+0 ; 0x11e
+ 11e: 00 00 nop
+ 120: 2f 5f subi r18, 0xFF ; 255
+ 122: 3f 4f sbci r19, 0xFF ; 255
+ 124: 28 17 cp r18, r24
+ 126: 39 07 cpc r19, r25
+ 128: ac f3 brlt .-22 ; 0x114
+ 12a: 08 95 ret
+
+Disassembly of section .text.tbi:
+
+0000014a :
+ REG &= ~(1<
+ 150: 22 0f add r18, r18
+ 152: 33 1f adc r19, r19
+ 154: 6a 95 dec r22
+ 156: e2 f7 brpl .-8 ; 0x150
+ return REG;
+}
+ 158: 82 27 eor r24, r18
+ 15a: 93 27 eor r25, r19
+ 15c: 08 95 ret
+
+Disassembly of section .text.checkButton:
+
+0000015e :
+
+bool checkButton(){
+ return (PINC & 1);
+ 15e: 83 b3 in r24, 0x13 ; 19
+}
+ 160: 81 70 andi r24, 0x01 ; 1
+ 162: 08 95 ret
+
+Disassembly of section .text.checkButtonToggle:
+
+0000012c :
+
+void sbi(int REG, int index){
+ REG |= (1<
+ 134: 81 30 cpi r24, 0x01 ; 1
+ 136: 21 f4 brne .+8 ; 0x140
+ 138: cc 23 and r28, r28
+ 13a: 21 f0 breq .+8 ; 0x144
+ 13c: 80 e0 ldi r24, 0x00 ; 0
+ 13e: 03 c0 rjmp .+6 ; 0x146
+ 140: 80 e0 ldi r24, 0x00 ; 0
+ 142: 01 c0 rjmp .+2 ; 0x146
+ 144: 81 e0 ldi r24, 0x01 ; 1
+ 146: cf 91 pop r28
+ 148: 08 95 ret
+
+Disassembly of section .text.main:
+
+000000a4 :
+ a4: 0e 94 af 00 call 0x15e ; 0x15e
+ a8: 18 2f mov r17, r24
+ aa: 8f ef ldi r24, 0xFF ; 255
+ ac: 81 bb out 0x11, r24 ; 17
+ ae: 14 ba out 0x14, r1 ; 20
+ b0: c0 e0 ldi r28, 0x00 ; 0
+ b2: d0 e0 ldi r29, 0x00 ; 0
+ b4: 00 e0 ldi r16, 0x00 ; 0
+ b6: 81 2f mov r24, r17
+ b8: 0e 94 96 00 call 0x12c ; 0x12c
+ bc: 88 23 and r24, r24
+ be: 39 f0 breq .+14 ; 0xce
+ c0: 0e 94 af 00 call 0x15e ; 0x15e
+ c4: 18 2f mov r17, r24
+ c6: 81 e0 ldi r24, 0x01 ; 1
+ c8: 01 11 cpse r16, r1
+ ca: 80 e0 ldi r24, 0x00 ; 0
+ cc: 08 2f mov r16, r24
+ ce: 11 23 and r17, r17
+ d0: 29 f0 breq .+10 ; 0xdc
+ d2: 0e 94 af 00 call 0x15e ; 0x15e
+ d6: 81 11 cpse r24, r1
+ d8: 01 c0 rjmp .+2 ; 0xdc
+ da: 10 e0 ldi r17, 0x00 ; 0
+ dc: 00 23 and r16, r16
+ de: 19 f0 breq .+6 ; 0xe6
+ e0: 8a ef ldi r24, 0xFA ; 250
+ e2: 90 e0 ldi r25, 0x00 ; 0
+ e4: 02 c0 rjmp .+4 ; 0xea
+ e6: 88 ee ldi r24, 0xE8 ; 232
+ e8: 93 e0 ldi r25, 0x03 ; 3
+ ea: c8 17 cp r28, r24
+ ec: d9 07 cpc r29, r25
+ ee: 4c f0 brlt .+18 ; 0x102
+ f0: 82 b3 in r24, 0x12 ; 18
+ f2: 60 e0 ldi r22, 0x00 ; 0
+ f4: 70 e0 ldi r23, 0x00 ; 0
+ f6: 90 e0 ldi r25, 0x00 ; 0
+ f8: 0e 94 a5 00 call 0x14a ; 0x14a
+ fc: 82 bb out 0x12, r24 ; 18
+ fe: c0 e0 ldi r28, 0x00 ; 0
+ 100: d0 e0 ldi r29, 0x00 ; 0
+ 102: 81 e0 ldi r24, 0x01 ; 1
+ 104: 90 e0 ldi r25, 0x00 ; 0
+ 106: 0e 94 87 00 call 0x10e ; 0x10e
+ 10a: 21 96 adiw r28, 0x01 ; 1
+ 10c: d4 cf rjmp .-88 ; 0xb6
diff --git a/Microcontrollers/opdracht 1.7a/Debug/Makefile b/Microcontrollers/opdracht 1.7a/Debug/Makefile
new file mode 100644
index 0000000..99ca15c
--- /dev/null
+++ b/Microcontrollers/opdracht 1.7a/Debug/Makefile
@@ -0,0 +1,125 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL := cmd.exe
+RM := rm -rf
+
+USER_OBJS :=
+
+LIBS :=
+PROJ :=
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+PREPROCESSING_SRCS :=
+OBJS :=
+OBJS_AS_ARGS :=
+C_DEPS :=
+C_DEPS_AS_ARGS :=
+EXECUTABLES :=
+OUTPUT_FILE_PATH :=
+OUTPUT_FILE_PATH_AS_ARGS :=
+AVR_APP_PATH :=$$$AVR_APP_PATH$$$
+QUOTE := "
+ADDITIONAL_DEPENDENCIES:=
+OUTPUT_FILE_DEP:=
+LIB_DEP:=
+LINKER_SCRIPT_DEP:=
+
+# Every subdirectory with source files must be described here
+SUBDIRS :=
+
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../main.c
+
+
+PREPROCESSING_SRCS +=
+
+
+ASM_SRCS +=
+
+
+OBJS += \
+main.o
+
+OBJS_AS_ARGS += \
+main.o
+
+C_DEPS += \
+main.d
+
+C_DEPS_AS_ARGS += \
+main.d
+
+OUTPUT_FILE_PATH +=opdracht\ 1.7a.elf
+
+OUTPUT_FILE_PATH_AS_ARGS +="opdracht 1.7a.elf"
+
+ADDITIONAL_DEPENDENCIES:=
+
+OUTPUT_FILE_DEP:= ./makedep.mk
+
+LIB_DEP+=
+
+LINKER_SCRIPT_DEP+=
+
+
+# AVR32/GNU C Compiler
+./main.o: .././main.c
+ @echo Building file: $<
+ @echo Invoking: XC8 C Compiler : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -c -x c -mext=cci -D__ATmega128__ -O0 -ffunction-sections -fdata-sections -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+
+
+
+# AVR32/GNU Preprocessing Assembler
+
+
+
+# AVR32/GNU Assembler
+
+
+
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
+
+$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
+ @echo Building target: $@
+ @echo Invoking: XC8 C Linker : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -Wl,-Map="opdracht 1.7a.map" -Wl,--start-group -Wl,--end-group -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections --memorysummary,memoryfile.xml
+ @echo Finished building target: $@
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 1.7a.elf" "opdracht 1.7a.hex"
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "opdracht 1.7a.elf" "opdracht 1.7a.eep" || exit 0
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objdump.exe" -h -S "opdracht 1.7a.elf" > "opdracht 1.7a.lss"
+
+
+
+
+
+
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
+ -$(RM) $(C_DEPS_AS_ARGS)
+ rm -rf "opdracht 1.7a.elf" "opdracht 1.7a.hex" "opdracht 1.7a.eep" "opdracht 1.7a.map" "opdracht 1.7a.usersignatures" "opdracht 1.7a.a" "opdracht 1.7a.lss"
+
\ No newline at end of file
diff --git a/Microcontrollers/opdracht 1.7a/Debug/makedep.mk b/Microcontrollers/opdracht 1.7a/Debug/makedep.mk
new file mode 100644
index 0000000..6a14fde
--- /dev/null
+++ b/Microcontrollers/opdracht 1.7a/Debug/makedep.mk
@@ -0,0 +1,6 @@
+################################################################################
+# Automatically-generated file. Do not edit or delete the file
+################################################################################
+
+main.c
+
diff --git a/Microcontrollers/opdracht 2.1/Debug/Makefile b/Microcontrollers/opdracht 2.1/Debug/Makefile
new file mode 100644
index 0000000..39dbf4c
--- /dev/null
+++ b/Microcontrollers/opdracht 2.1/Debug/Makefile
@@ -0,0 +1,125 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL := cmd.exe
+RM := rm -rf
+
+USER_OBJS :=
+
+LIBS :=
+PROJ :=
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+PREPROCESSING_SRCS :=
+OBJS :=
+OBJS_AS_ARGS :=
+C_DEPS :=
+C_DEPS_AS_ARGS :=
+EXECUTABLES :=
+OUTPUT_FILE_PATH :=
+OUTPUT_FILE_PATH_AS_ARGS :=
+AVR_APP_PATH :=$$$AVR_APP_PATH$$$
+QUOTE := "
+ADDITIONAL_DEPENDENCIES:=
+OUTPUT_FILE_DEP:=
+LIB_DEP:=
+LINKER_SCRIPT_DEP:=
+
+# Every subdirectory with source files must be described here
+SUBDIRS :=
+
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../main.c
+
+
+PREPROCESSING_SRCS +=
+
+
+ASM_SRCS +=
+
+
+OBJS += \
+main.o
+
+OBJS_AS_ARGS += \
+main.o
+
+C_DEPS += \
+main.d
+
+C_DEPS_AS_ARGS += \
+main.d
+
+OUTPUT_FILE_PATH +=opdracht\ 2.1.elf
+
+OUTPUT_FILE_PATH_AS_ARGS +="opdracht 2.1.elf"
+
+ADDITIONAL_DEPENDENCIES:=
+
+OUTPUT_FILE_DEP:= ./makedep.mk
+
+LIB_DEP+=
+
+LINKER_SCRIPT_DEP+=
+
+
+# AVR32/GNU C Compiler
+./main.o: .././main.c
+ @echo Building file: $<
+ @echo Invoking: XC8 C Compiler : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -c -x c -funsigned-char -funsigned-bitfields -mext=cci -D__ATmega128__ -DDEBUG -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
+ @echo Finished building: $<
+
+
+
+
+
+# AVR32/GNU Preprocessing Assembler
+
+
+
+# AVR32/GNU Assembler
+
+
+
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
+
+$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
+ @echo Building target: $@
+ @echo Invoking: XC8 C Linker : 2.31
+ $(QUOTE)C:\Program Files\Microchip\xc8\v2.31\bin\xc8-cc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -mcpu=ATmega128 -mdfp="C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8" -Wl,-Map="opdracht 2.1.map" -funsigned-char -funsigned-bitfields -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums --memorysummary,memoryfile.xml
+ @echo Finished building target: $@
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 2.1.elf" "opdracht 2.1.hex"
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "opdracht 2.1.elf" "opdracht 2.1.eep" || exit 0
+ "C:\Program Files\Microchip\xc8\v2.31\bin\avr-objdump.exe" -h -S "opdracht 2.1.elf" > "opdracht 2.1.lss"
+
+
+
+
+
+
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
+ -$(RM) $(C_DEPS_AS_ARGS)
+ rm -rf "opdracht 2.1.elf" "opdracht 2.1.hex" "opdracht 2.1.eep" "opdracht 2.1.map" "opdracht 2.1.usersignatures" "opdracht 2.1.a" "opdracht 2.1.lss"
+
\ No newline at end of file
diff --git a/Microcontrollers/opdracht 2.1/Debug/makedep.mk b/Microcontrollers/opdracht 2.1/Debug/makedep.mk
new file mode 100644
index 0000000..6a14fde
--- /dev/null
+++ b/Microcontrollers/opdracht 2.1/Debug/makedep.mk
@@ -0,0 +1,6 @@
+################################################################################
+# Automatically-generated file. Do not edit or delete the file
+################################################################################
+
+main.c
+
diff --git a/Microcontrollers/opdracht 2.1/Debug/memoryfile.xml b/Microcontrollers/opdracht 2.1/Debug/memoryfile.xml
new file mode 100644
index 0000000..b616913
--- /dev/null
+++ b/Microcontrollers/opdracht 2.1/Debug/memoryfile.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ bytes
+ 131072
+ 296
+ 130776
+
+
+ bytes
+ 4096
+ 0
+ 4096
+
+
+
diff --git a/Microcontrollers/opdracht 2.1/Debug/opdracht 2.1.eep b/Microcontrollers/opdracht 2.1/Debug/opdracht 2.1.eep
new file mode 100644
index 0000000..7c166a1
--- /dev/null
+++ b/Microcontrollers/opdracht 2.1/Debug/opdracht 2.1.eep
@@ -0,0 +1 @@
+:00000001FF
diff --git a/Microcontrollers/opdracht 2.1/Debug/opdracht 2.1.lss b/Microcontrollers/opdracht 2.1/Debug/opdracht 2.1.lss
new file mode 100644
index 0000000..b108395
--- /dev/null
+++ b/Microcontrollers/opdracht 2.1/Debug/opdracht 2.1.lss
@@ -0,0 +1,227 @@
+
+opdracht 2.1.elf: file format elf32-avr
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .data 00000000 00800100 00800100 0000017c 2**0
+ ALLOC, LOAD, DATA
+ 1 .text 000000a4 00000000 00000000 00000054 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .comment 0000002f 00000000 00000000 0000017c 2**0
+ CONTENTS, READONLY
+ 3 .debug_aranges 00000038 00000000 00000000 000001ab 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 4 .debug_info 00000b51 00000000 00000000 000001e3 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 5 .debug_abbrev 00000830 00000000 00000000 00000d34 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 6 .debug_line 000002cb 00000000 00000000 00001564 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 7 .debug_frame 00000074 00000000 00000000 00001830 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 8 .debug_str 0000027d 00000000 00000000 000018a4 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 9 .debug_loc 000000e2 00000000 00000000 00001b21 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 10 .debug_ranges 00000028 00000000 00000000 00001c03 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 11 .text 00000004 00000124 00000124 00000178 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 12 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00001c2c 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 13 .text.wait 0000001e 000000ca 000000ca 0000011e 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 14 .text.__vector_1 0000001e 000000e8 000000e8 0000013c 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 15 .text.__vector_2 0000001e 00000106 00000106 0000015a 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 16 .text.main 00000026 000000a4 000000a4 000000f8 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+
+Disassembly of section .text:
+
+00000000 <__vectors>:
+ 0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
+ 4: 0c 94 74 00 jmp 0xe8 ; 0xe8 <__vector_1>
+ 8: 0c 94 83 00 jmp 0x106 ; 0x106 <__vector_2>
+ c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 10: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 14: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 18: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 1c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 20: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 24: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 28: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 2c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 30: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 34: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 38: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 3c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 40: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 44: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 48: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 4c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 50: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 54: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 58: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 5c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 60: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 64: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 68: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 6c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 70: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 74: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 78: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 7c: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 80: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 84: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+ 88: 0c 94 92 00 jmp 0x124 ; 0x124 <__bad_interrupt>
+
+0000008c <__ctors_end>:
+ 8c: 11 24 eor r1, r1
+ 8e: 1f be out 0x3f, r1 ; 63
+ 90: cf ef ldi r28, 0xFF ; 255
+ 92: d0 e1 ldi r29, 0x10 ; 16
+ 94: de bf out 0x3e, r29 ; 62
+ 96: cd bf out 0x3d, r28 ; 61
+ 98: 0e 94 52 00 call 0xa4 ; 0xa4 <_etext>
+ 9c: 0c 94 50 00 jmp 0xa0 ; 0xa0 <_exit>
+
+000000a0 <_exit>:
+ a0: f8 94 cli
+
+000000a2 <__stop_program>:
+ a2: ff cf rjmp .-2 ; 0xa2 <__stop_program>
+
+Disassembly of section .text:
+
+00000124 <__bad_interrupt>:
+ 124: 0c 94 00 00 jmp 0 ; 0x0 <__TEXT_REGION_ORIGIN__>
+
+Disassembly of section .text.wait:
+
+000000ca :
+ clock value is set. This is used by _delay_ms inside
+ util/delay.h
+Version : DMK, Initial code
+*******************************************************************/
+void wait( int ms ) {
+ for (int i=0; i
+ #else
+ //round up by default
+ __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
+ #endif
+
+ __builtin_avr_delay_cycles(__ticks_dc);
+ d0: ef ec ldi r30, 0xCF ; 207
+ d2: f7 e0 ldi r31, 0x07 ; 7
+ d4: 31 97 sbiw r30, 0x01 ; 1
+ d6: f1 f7 brne .-4 ; 0xd4
+ d8: 00 c0 rjmp .+0 ; 0xda
+ da: 00 00 nop
+ dc: 2f 5f subi r18, 0xFF ; 255
+ de: 3f 4f sbci r19, 0xFF ; 255
+ e0: 28 17 cp r18, r24
+ e2: 39 07 cpc r19, r25
+ e4: ac f3 brlt .-22 ; 0xd0
+ _delay_ms( 1 ); // library function (max 30 ms at 8MHz)
+ }
+}
+ e6: 08 95 ret
+
+Disassembly of section .text.__vector_1:
+
+000000e8 <__vector_1>:
+inputs:
+outputs:
+notes: Set PORTD.5
+Version : DMK, Initial code
+*******************************************************************/
+ISR( INT0_vect ) {
+ e8: 1f 92 push r1
+ ea: 0f 92 push r0
+ ec: 0f b6 in r0, 0x3f ; 63
+ ee: 0f 92 push r0
+ f0: 11 24 eor r1, r1
+ f2: 8f 93 push r24
+ PORTD |= (1<<5);
+ f4: 82 b3 in r24, 0x12 ; 18
+ f6: 80 62 ori r24, 0x20 ; 32
+ f8: 82 bb out 0x12, r24 ; 18
+}
+ fa: 8f 91 pop r24
+ fc: 0f 90 pop r0
+ fe: 0f be out 0x3f, r0 ; 63
+ 100: 0f 90 pop r0
+ 102: 1f 90 pop r1
+ 104: 18 95 reti
+
+Disassembly of section .text.__vector_2:
+
+00000106 <__vector_2>:
+inputs:
+outputs:
+notes: Clear PORTD.5
+Version : DMK, Initial code
+*******************************************************************/
+ISR( INT1_vect ) {
+ 106: 1f 92 push r1
+ 108: 0f 92 push r0
+ 10a: 0f b6 in r0, 0x3f ; 63
+ 10c: 0f 92 push r0
+ 10e: 11 24 eor r1, r1
+ 110: 8f 93 push r24
+ PORTD &= ~(1<<5);
+ 112: 82 b3 in r24, 0x12 ; 18
+ 114: 8f 7d andi r24, 0xDF ; 223
+ 116: 82 bb out 0x12, r24 ; 18
+}
+ 118: 8f 91 pop r24
+ 11a: 0f 90 pop r0
+ 11c: 0f be out 0x3f, r0 ; 63
+ 11e: 0f 90 pop r0
+ 120: 1f 90 pop r1
+ 122: 18 95 reti
+
+Disassembly of section .text.main:
+
+000000a4 :
+notes: Slow background task after init ISR
+Version : DMK, Initial code
+*******************************************************************/
+int main( void ) {
+ // Init I/O
+ DDRD = 0xF0; // PORTD(7:4) output, PORTD(3:0) input
+ a4: 80 ef ldi r24, 0xF0 ; 240
+ a6: 81 bb out 0x11, r24 ; 17
+
+ // Init Interrupt hardware
+ EICRA |= 0x0B; // INT1 falling edge, INT0 rising edge
+ a8: ea e6 ldi r30, 0x6A ; 106
+ aa: f0 e0 ldi r31, 0x00 ; 0
+ ac: 80 81 ld r24, Z
+ ae: 8b 60 ori r24, 0x0B ; 11
+ b0: 80 83 st Z, r24
+ EIMSK |= 0x03; // Enable INT1 & INT0
+ b2: 89 b7 in r24, 0x39 ; 57
+ b4: 83 60 ori r24, 0x03 ; 3
+ b6: 89 bf out 0x39, r24 ; 57
+
+ // Enable global interrupt system
+ //SREG = 0x80; // Of direct via SREG of via wrapper
+ sei();
+ b8: 78 94 sei
+
+ while (1) {
+ PORTD ^= (1<<7); // Toggle PORTD.7
+ ba: 82 b3 in r24, 0x12 ; 18
+ bc: 80 58 subi r24, 0x80 ; 128
+ be: 82 bb out 0x12, r24 ; 18
+ wait( 500 );
+ c0: 84 ef ldi r24, 0xF4 ; 244
+ c2: 91 e0 ldi r25, 0x01 ; 1
+ c4: 0e 94 65 00 call 0xca ; 0xca
+ c8: f8 cf rjmp .-16 ; 0xba
diff --git a/Microcontrollers/opdracht 2.1/main.c b/Microcontrollers/opdracht 2.1/main.c
new file mode 100644
index 0000000..561e21a
--- /dev/null
+++ b/Microcontrollers/opdracht 2.1/main.c
@@ -0,0 +1,86 @@
+/* ---------------------------------------------------------------------------
+** This software is in the public domain, furnished "as is", without technical
+** support, and with no warranty, express or implied, as to its usefulness for
+** any purpose.
+**
+** ioisr.c
+**
+** Beschrijving: ISR on PORTD demonstrattion
+** Target: AVR mcu
+** Build: avr-gcc -std=c99 -Wall -O3 -mmcu=atmega128 -D F_CPU=8000000UL -c ioisr.c
+** avr-gcc -g -mmcu=atmega128 -o ioisr.elf ioisr.o
+** avr-objcopy -O ihex ioisr.elf ioisr.hex
+** or type 'make'
+** Author: dkroeske@gmail.com
+** -------------------------------------------------------------------------*/
+
+#define F_CPU 8e6
+#include
+#include
+#include
+
+
+/******************************************************************
+/*
+short: Busy wait number of millisecs
+inputs: int ms (Number of millisecs to busy wait)
+outputs:
+notes: Busy wait, not very accurate. Make sure (external)
+ clock value is set. This is used by _delay_ms inside
+ util/delay.h
+Version : DMK, Initial code
+*******************************************************************/
+void wait( int ms ) {
+ for (int i=0; i
+
+
+
+
+
+ Device
+ Startup
+
+
+ Atmel
+ 1.6.0
+ C:/Program Files (x86)\Atmel\Studio\7.0\Packs
+
+
+
+
+ C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\xc8\avr\include\avr\iom128.h
+
+ header
+ XC
+ JdJ7J9I/SJh965SEyyyVYw==
+
+ xc8/avr/include/avr/iom128.h
+
+
+
+
+ ATmega_DFP
+ C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/Atmel.ATmega_DFP.pdsc
+ 1.6.364
+ true
+ ATmega128
+
+
+
+ Resolved
+ Fixed
+ true
+
+
+
\ No newline at end of file
diff --git a/Microcontrollers/opdracht 2.1/opdracht 2.1.cproj b/Microcontrollers/opdracht 2.1/opdracht 2.1.cproj
new file mode 100644
index 0000000..3ae88cc
--- /dev/null
+++ b/Microcontrollers/opdracht 2.1/opdracht 2.1.cproj
@@ -0,0 +1,99 @@
+
+
+
+ 2.0
+ 7.0
+ com.microchip.xc8
+ {69165c62-b4d4-4fe3-b777-080628fac668}
+ ATmega128
+ none
+ Executable
+ C
+ $(MSBuildProjectName)
+ .elf
+ $(MSBuildProjectDirectory)\$(Configuration)
+ opdracht 2.1
+ opdracht 2.1
+ opdracht 2.1
+ XC8_2.31
+ true
+ false
+ true
+ true
+
+
+ true
+
+ 2
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ True
+
+
+ (%24DeviceMacro)
+ NDEBUG
+
+
+ Optimize for size (-Os)
+ True
+ True
+ True
+
+
+ libm
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ (%24DeviceMacro)
+ DEBUG
+
+
+ Optimize debugging experience (-Og)
+ True
+ True
+ Default (-g2)
+ True
+
+
+ libm
+
+
+ Default (-Wa,-g)
+
+
+
+
+
+ compile
+
+
+
+
\ No newline at end of file