20130326-182550

This commit is contained in:
BlubbFish 2013-03-26 17:24:35 +00:00
parent 5faad0f345
commit c4f4363154
19 changed files with 1119 additions and 0 deletions

View File

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Atmel Studio Solution File, Format Version 11.00
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "Steuerung", "Steuerung\Steuerung.cproj", "{F548C243-5694-408E-B9F4-6863DC15B440}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F548C243-5694-408E-B9F4-6863DC15B440}.Debug|AVR.ActiveCfg = Debug|AVR
{F548C243-5694-408E-B9F4-6863DC15B440}.Debug|AVR.Build.0 = Debug|AVR
{F548C243-5694-408E-B9F4-6863DC15B440}.Release|AVR.ActiveCfg = Release|AVR
{F548C243-5694-408E-B9F4-6863DC15B440}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@ -0,0 +1,123 @@
################################################################################
# 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:=
# Every subdirectory with source files must be described here
SUBDIRS :=
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../Steuerung.c
PREPROCESSING_SRCS +=
ASM_SRCS +=
OBJS += \
Steuerung.o
OBJS_AS_ARGS += \
Steuerung.o
C_DEPS += \
Steuerung.d
C_DEPS_AS_ARGS += \
Steuerung.d
OUTPUT_FILE_PATH +=Steuerung.elf
OUTPUT_FILE_PATH_AS_ARGS +=Steuerung.elf
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:= ./makedep.mk
# AVR32/GNU C Compiler
./%.o: .././%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
$(QUOTE)E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -mmcu=attiny13 -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)
@echo Building target: $@
@echo Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
$(QUOTE)E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Steuerung.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -mmcu=attiny13
@echo Finished building target: $@
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Steuerung.elf" "Steuerung.hex"
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Steuerung.elf" "Steuerung.eep" || exit 0
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objdump.exe" -h -S "Steuerung.elf" > "Steuerung.lss"
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "Steuerung.elf" "Steuerung.srec"
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-size.exe" "Steuerung.elf"
# Other Targets
clean:
-$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES)
rm -rf "Steuerung.elf" "Steuerung.a" "Steuerung.hex" "Steuerung.lss" "Steuerung.eep" "Steuerung.map" "Steuerung.srec"

View File

@ -0,0 +1,46 @@
Steuerung.d Steuerung.o: .././Steuerung.c \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iotn13.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iotn13.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h:

View File

@ -0,0 +1 @@
:00000001FF

Binary file not shown.

View File

@ -0,0 +1,20 @@
:1000000009C021C020C043C01EC01DC01CC01BC0F1
:100010001AC019C011241FBECFE9CDBF10E0A0E661
:10002000B0E0ECE2F1E002C005900D92A036B1071D
:10003000D9F710E0A0E6B0E001C01D92A236B107EA
:10004000E1F756D071C0DCCF8130910511F4C39A2D
:100050000895C3980895806287B980E28A95F1F780
:10006000369A349BFECF349A85B108951FBC85E043
:1000700083BF84E382BF16BE19BC82E089BF0895A6
:1000800014BA80E287B984E886B913B808951F923C
:100090000F920FB60F9211242F933F938F939F933C
:1000A00084E382BFC19A8FE995E00197F1F700C020
:1000B000000080916000909161001816190674F498
:1000C00080E090E029E12A95F1F700C001962091A7
:1000D00060003091610082179307A4F3C1989F914B
:1000E0008F913F912F910F900FBE0F901F901895F9
:1000F00087B38A6087BBBADFC3DF78940AEC10E06D
:1001000081E090E0A1DF82E0A6DFC82F80E0D82F59
:10011000CB3CD1050CF0E80180E090E095DFD09376
:0C0120006100C0936000ECCFF894FFCFAA
:00000001FF

View File

@ -0,0 +1,299 @@
Steuerung.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000012c 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 0000012c 000001c0 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000002 00800060 00800060 000001c0 2**0
ALLOC
3 .stab 000006b4 00000000 00000000 000001c0 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000085 00000000 00000000 00000874 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000080 00000000 00000000 00000900 2**3
CONTENTS, READONLY, DEBUGGING
6 .debug_info 0000051f 00000000 00000000 00000980 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 000001db 00000000 00000000 00000e9f 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 00000355 00000000 00000000 0000107a 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_frame 00000094 00000000 00000000 000013d0 2**2
CONTENTS, READONLY, DEBUGGING
10 .debug_str 0000012a 00000000 00000000 00001464 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_loc 000000df 00000000 00000000 0000158e 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 09 c0 rjmp .+18 ; 0x14 <__ctors_end>
2: 21 c0 rjmp .+66 ; 0x46 <__bad_interrupt>
4: 20 c0 rjmp .+64 ; 0x46 <__bad_interrupt>
6: 43 c0 rjmp .+134 ; 0x8e <__vector_3>
8: 1e c0 rjmp .+60 ; 0x46 <__bad_interrupt>
a: 1d c0 rjmp .+58 ; 0x46 <__bad_interrupt>
c: 1c c0 rjmp .+56 ; 0x46 <__bad_interrupt>
e: 1b c0 rjmp .+54 ; 0x46 <__bad_interrupt>
10: 1a c0 rjmp .+52 ; 0x46 <__bad_interrupt>
12: 19 c0 rjmp .+50 ; 0x46 <__bad_interrupt>
00000014 <__ctors_end>:
14: 11 24 eor r1, r1
16: 1f be out 0x3f, r1 ; 63
18: cf e9 ldi r28, 0x9F ; 159
1a: cd bf out 0x3d, r28 ; 61
0000001c <__do_copy_data>:
1c: 10 e0 ldi r17, 0x00 ; 0
1e: a0 e6 ldi r26, 0x60 ; 96
20: b0 e0 ldi r27, 0x00 ; 0
22: ec e2 ldi r30, 0x2C ; 44
24: f1 e0 ldi r31, 0x01 ; 1
26: 02 c0 rjmp .+4 ; 0x2c <__do_copy_data+0x10>
28: 05 90 lpm r0, Z+
2a: 0d 92 st X+, r0
2c: a0 36 cpi r26, 0x60 ; 96
2e: b1 07 cpc r27, r17
30: d9 f7 brne .-10 ; 0x28 <__do_copy_data+0xc>
00000032 <__do_clear_bss>:
32: 10 e0 ldi r17, 0x00 ; 0
34: a0 e6 ldi r26, 0x60 ; 96
36: b0 e0 ldi r27, 0x00 ; 0
38: 01 c0 rjmp .+2 ; 0x3c <.do_clear_bss_start>
0000003a <.do_clear_bss_loop>:
3a: 1d 92 st X+, r1
0000003c <.do_clear_bss_start>:
3c: a2 36 cpi r26, 0x62 ; 98
3e: b1 07 cpc r27, r17
40: e1 f7 brne .-8 ; 0x3a <.do_clear_bss_loop>
42: 56 d0 rcall .+172 ; 0xf0 <main>
44: 71 c0 rjmp .+226 ; 0x128 <_exit>
00000046 <__bad_interrupt>:
46: dc cf rjmp .-72 ; 0x0 <__vectors>
00000048 <led>:
#include <avr/interrupt.h>
volatile int servopos = 0;
void led(int on) {
switch(on) {
48: 81 30 cpi r24, 0x01 ; 1
4a: 91 05 cpc r25, r1
4c: 11 f4 brne .+4 ; 0x52 <led+0xa>
case 1:
PORTB |= (1<<PB3);
4e: c3 9a sbi 0x18, 3 ; 24
break;
50: 08 95 ret
default:
PORTB &= ~(1<<PB3);
52: c3 98 cbi 0x18, 3 ; 24
54: 08 95 ret
00000056 <read_adc>:
}
}
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | ADC_VREF_TYPE;
56: 80 62 ori r24, 0x20 ; 32
58: 87 b9 out 0x07, r24 ; 7
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
5a: 80 e2 ldi r24, 0x20 ; 32
5c: 8a 95 dec r24
5e: f1 f7 brne .-4 ; 0x5c <read_adc+0x6>
// Delay needed for the stabilization of the ADC input voltage
_delay_us(10);
// Start the AD conversion
ADCSRA|=(1<<ADSC);
60: 36 9a sbi 0x06, 6 ; 6
// Wait for the AD conversion to complete
while ((ADCSRA & (1<<ADIF))==0);
62: 34 9b sbis 0x06, 4 ; 6
64: fe cf rjmp .-4 ; 0x62 <read_adc+0xc>
ADCSRA|=(1<<ADIF);
66: 34 9a sbi 0x06, 4 ; 6
return ADCH;
68: 85 b1 in r24, 0x05 ; 5
}
6a: 08 95 ret
0000006c <init_timer>:
// Clock value: 9,375 kHz
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
// Timer Period: 21,76 ms
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
6c: 1f bc out 0x2f, r1 ; 47
TCCR0B=(0<<WGM02) | (1<<CS02) | (0<<CS01) | (1<<CS00);
6e: 85 e0 ldi r24, 0x05 ; 5
70: 83 bf out 0x33, r24 ; 51
TCNT0=0x34;
72: 84 e3 ldi r24, 0x34 ; 52
74: 82 bf out 0x32, r24 ; 50
OCR0A=0x00;
76: 16 be out 0x36, r1 ; 54
OCR0B=0x00;
78: 19 bc out 0x29, r1 ; 41
// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (1<<TOIE0);
7a: 82 e0 ldi r24, 0x02 ; 2
7c: 89 bf out 0x39, r24 ; 57
}
7e: 08 95 ret
00000080 <init_adc>:
// ADC Bandgap Voltage Reference: On
// ADC Auto Trigger Source: ADC Stopped
// Only the 8 most significant bits of
// the AD conversion result are used
// Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: On
DIDR0=(0<<ADC0D) | (0<<ADC2D) | (0<<ADC3D) | (0<<ADC1D);
80: 14 ba out 0x14, r1 ; 20
ADMUX=ADC_VREF_TYPE;
82: 80 e2 ldi r24, 0x20 ; 32
84: 87 b9 out 0x07, r24 ; 7
ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
86: 84 e8 ldi r24, 0x84 ; 132
88: 86 b9 out 0x06, r24 ; 6
ADCSRB=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
8a: 13 b8 out 0x03, r1 ; 3
}
8c: 08 95 ret
0000008e <__vector_3>:
// Timer 0 overflow interrupt service routine
ISR(TIM0_OVF_vect)
{
8e: 1f 92 push r1
90: 0f 92 push r0
92: 0f b6 in r0, 0x3f ; 63
94: 0f 92 push r0
96: 11 24 eor r1, r1
98: 2f 93 push r18
9a: 3f 93 push r19
9c: 8f 93 push r24
9e: 9f 93 push r25
// Reinitialize Timer 0 value
TCNT0=0x34;
a0: 84 e3 ldi r24, 0x34 ; 52
a2: 82 bf out 0x32, r24 ; 50
PORTB |= (1<<PB1);
a4: c1 9a sbi 0x18, 1 ; 24
a6: 8f e9 ldi r24, 0x9F ; 159
a8: 95 e0 ldi r25, 0x05 ; 5
aa: 01 97 sbiw r24, 0x01 ; 1
ac: f1 f7 brne .-4 ; 0xaa <__stack+0xb>
ae: 00 c0 rjmp .+0 ; 0xb0 <__stack+0x11>
b0: 00 00 nop
_delay_us(LEFT);
for(int i=0;i<servopos;i++) {
b2: 80 91 60 00 lds r24, 0x0060
b6: 90 91 61 00 lds r25, 0x0061
ba: 18 16 cp r1, r24
bc: 19 06 cpc r1, r25
be: 74 f4 brge .+28 ; 0xdc <__stack+0x3d>
c0: 80 e0 ldi r24, 0x00 ; 0
c2: 90 e0 ldi r25, 0x00 ; 0
c4: 29 e1 ldi r18, 0x19 ; 25
c6: 2a 95 dec r18
c8: f1 f7 brne .-4 ; 0xc6 <__stack+0x27>
ca: 00 c0 rjmp .+0 ; 0xcc <__stack+0x2d>
cc: 01 96 adiw r24, 0x01 ; 1
ce: 20 91 60 00 lds r18, 0x0060
d2: 30 91 61 00 lds r19, 0x0061
d6: 82 17 cp r24, r18
d8: 93 07 cpc r25, r19
da: a4 f3 brlt .-24 ; 0xc4 <__stack+0x25>
_delay_us(STEP);
}
PORTB &= ~(1<<PB1);
dc: c1 98 cbi 0x18, 1 ; 24
}
de: 9f 91 pop r25
e0: 8f 91 pop r24
e2: 3f 91 pop r19
e4: 2f 91 pop r18
e6: 0f 90 pop r0
e8: 0f be out 0x3f, r0 ; 63
ea: 0f 90 pop r0
ec: 1f 90 pop r1
ee: 18 95 reti
000000f0 <main>:
int main(void)
{
DDRB |= (1<<PB3) | (1<<PB1);
f0: 87 b3 in r24, 0x17 ; 23
f2: 8a 60 ori r24, 0x0A ; 10
f4: 87 bb out 0x17, r24 ; 23
init_timer();
f6: ba df rcall .-140 ; 0x6c <init_timer>
init_adc();
f8: c3 df rcall .-122 ; 0x80 <init_adc>
sei();
fa: 78 94 sei
while(1)
{
led(1);
int pos = read_adc((1<<MUX1));
fc: 0a ec ldi r16, 0xCA ; 202
fe: 10 e0 ldi r17, 0x00 ; 0
init_timer();
init_adc();
sei();
while(1)
{
led(1);
100: 81 e0 ldi r24, 0x01 ; 1
102: 90 e0 ldi r25, 0x00 ; 0
104: a1 df rcall .-190 ; 0x48 <led>
int pos = read_adc((1<<MUX1));
106: 82 e0 ldi r24, 0x02 ; 2
108: a6 df rcall .-180 ; 0x56 <read_adc>
10a: c8 2f mov r28, r24
10c: 80 e0 ldi r24, 0x00 ; 0
10e: d8 2f mov r29, r24
110: cb 3c cpi r28, 0xCB ; 203
112: d1 05 cpc r29, r1
114: 0c f0 brlt .+2 ; 0x118 <main+0x28>
116: e8 01 movw r28, r16
pos = pos;
if(pos > RIGHT) {
pos = RIGHT;
}
led(0);
118: 80 e0 ldi r24, 0x00 ; 0
11a: 90 e0 ldi r25, 0x00 ; 0
11c: 95 df rcall .-214 ; 0x48 <led>
servopos = pos;
11e: d0 93 61 00 sts 0x0061, r29
122: c0 93 60 00 sts 0x0060, r28
126: ec cf rjmp .-40 ; 0x100 <main+0x10>
00000128 <_exit>:
128: f8 94 cli
0000012a <__stop_program>:
12a: ff cf rjmp .-2 ; 0x12a <__stop_program>

View File

@ -0,0 +1,370 @@
Archive member included because of file (symbol)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o (exit)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
Steuerung.o (__do_copy_data)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
Steuerung.o (__do_clear_bss)
Memory Configuration
Name Origin Length Attributes
text 0x00000000 0x00002000 xr
data 0x00800060 0x0000ffa0 rw !x
eeprom 0x00810000 0x00010000 rw !x
fuse 0x00820000 0x00000400 rw !x
lock 0x00830000 0x00000400 rw !x
signature 0x00840000 0x00000400 rw !x
*default* 0x00000000 0xffffffff
Linker script and memory map
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
LOAD Steuerung.o
START GROUP
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25\libm.a
END GROUP
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25\libc.a
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x00000000 0x12c
*(.vectors)
.vectors 0x00000000 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
0x00000000 __vector_default
0x00000000 __vectors
*(.vectors)
*(.progmem.gcc*)
*(.progmem*)
0x00000014 . = ALIGN (0x2)
0x00000014 __trampolines_start = .
*(.trampolines)
.trampolines 0x00000014 0x0 linker stubs
*(.trampolines*)
0x00000014 __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x00000014 __ctors_start = .
*(.ctors)
0x00000014 __ctors_end = .
0x00000014 __dtors_start = .
*(.dtors)
0x00000014 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x00000014 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
0x00000014 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x00000014 0x8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000001c 0x16 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
0x0000001c __do_copy_data
.init4 0x00000032 0x10 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
0x00000032 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x00000042 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
*(.init9)
*(.text)
.text 0x00000046 0x2 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
0x00000046 __vector_1
0x00000046 __bad_interrupt
0x00000046 __vector_6
0x00000046 __vector_7
0x00000046 __vector_5
0x00000046 __vector_4
0x00000046 __vector_9
0x00000046 __vector_2
0x00000046 __vector_8
.text 0x00000048 0xe0 Steuerung.o
0x00000048 led
0x00000056 read_adc
0x0000006c init_timer
0x00000080 init_adc
0x0000008e __vector_3
0x000000f0 main
.text 0x00000128 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.text 0x00000128 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.text 0x00000128 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
0x00000128 . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x00000128 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.text.libgcc 0x00000128 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x00000128 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
0x00000128 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000128 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
0x00000128 _exit
0x00000128 exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000128 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
*(.fini0)
0x0000012c _etext = .
.data 0x00800060 0x0 load address 0x0000012c
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
.data 0x00800060 0x0 Steuerung.o
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x00800060 . = ALIGN (0x2)
0x00800060 _edata = .
0x00800060 PROVIDE (__data_end, .)
.bss 0x00800060 0x2
0x00800060 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
.bss 0x00800060 0x2 Steuerung.o
0x00800060 servopos
.bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
*(.bss*)
*(COMMON)
0x00800062 PROVIDE (__bss_end, .)
0x0000012c __data_load_start = LOADADDR (.data)
0x0000012c __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800062 0x0
0x00800062 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800062 PROVIDE (__noinit_end, .)
0x00800062 _end = .
0x00800062 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
0x00810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.stab 0x00000000 0x6b4
*(.stab)
.stab 0x00000000 0x6b4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
.stabstr 0x00000000 0x85
*(.stabstr)
.stabstr 0x00000000 0x85 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn13.o
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment
*(.comment)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x80
*(.debug_aranges)
.debug_aranges
0x00000000 0x20 Steuerung.o
.debug_aranges
0x00000020 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_aranges
0x00000040 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_aranges
0x00000060 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x51f
*(.debug_info)
.debug_info 0x00000000 0x285 Steuerung.o
.debug_info 0x00000285 0xde e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_info 0x00000363 0xde e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_info 0x00000441 0xde e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x1db
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x19f Steuerung.o
.debug_abbrev 0x0000019f 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_abbrev 0x000001b3 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_abbrev 0x000001c7 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
.debug_line 0x00000000 0x355
*(.debug_line)
.debug_line 0x00000000 0x1ae Steuerung.o
.debug_line 0x000001ae 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_line 0x00000236 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_line 0x000002c7 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
.debug_frame 0x00000000 0x94
*(.debug_frame)
.debug_frame 0x00000000 0x94 Steuerung.o
.debug_str 0x00000000 0x12a
*(.debug_str)
.debug_str 0x00000000 0x12a Steuerung.o
0x15e (size before relaxing)
.debug_loc 0x00000000 0xdf
*(.debug_loc)
.debug_loc 0x00000000 0xdf Steuerung.o
.debug_macinfo
*(.debug_macinfo)
OUTPUT(Steuerung.elf elf32-avr)
LOAD linker stubs

View File

@ -0,0 +1,21 @@
S0110000537465756572756E672E7372656351
S113000009C021C020C043C01EC01DC01CC01BC0ED
S11300101AC019C011241FBECFE9CDBF10E0A0E65D
S1130020B0E0ECE2F1E002C005900D92A036B10719
S1130030D9F710E0A0E6B0E001C01D92A236B107E6
S1130040E1F756D071C0DCCF8130910511F4C39A29
S11300500895C3980895806287B980E28A95F1F77C
S1130060369A349BFECF349A85B108951FBC85E03F
S113007083BF84E382BF16BE19BC82E089BF0895A2
S113008014BA80E287B984E886B913B808951F9238
S11300900F920FB60F9211242F933F938F939F9338
S11300A084E382BFC19A8FE995E00197F1F700C01C
S11300B0000080916000909161001816190674F494
S11300C080E090E029E12A95F1F700C001962091A3
S11300D060003091610082179307A4F3C1989F9147
S11300E08F913F912F910F900FBE0F901F901895F5
S11300F087B38A6087BBBADFC3DF78940AEC10E069
S113010081E090E0A1DF82E0A6DFC82F80E0D82F55
S1130110CB3CD1050CF0E80180E090E095DFD09372
S10F01206100C0936000ECCFF894FFCFA6
S9030000FC

View File

@ -0,0 +1,6 @@
################################################################################
# Automatically-generated file. Do not edit or delete the file
################################################################################
Steuerung.c

View File

@ -0,0 +1,108 @@
/*
* Steuerung.c
*
* Created: 24.03.2013 14:27:03
* Author: netz
*/
#define F_CPU 9600000
#define LEFT 600
#define RIGHT 202
#define STEP 8
#define ADC_VREF_TYPE ((0<<REFS0) | (1<<ADLAR))
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
volatile int servopos = 0;
void led(int on) {
switch(on) {
case 1:
PORTB |= (1<<PB3);
break;
default:
PORTB &= ~(1<<PB3);
}
}
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | ADC_VREF_TYPE;
// Delay needed for the stabilization of the ADC input voltage
_delay_us(10);
// Start the AD conversion
ADCSRA|=(1<<ADSC);
// Wait for the AD conversion to complete
while ((ADCSRA & (1<<ADIF))==0);
ADCSRA|=(1<<ADIF);
return ADCH;
}
void init_timer() {
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 9,375 kHz
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
// Timer Period: 21,76 ms
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
TCCR0B=(0<<WGM02) | (1<<CS02) | (0<<CS01) | (1<<CS00);
TCNT0=0x34;
OCR0A=0x00;
OCR0B=0x00;
// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (1<<TOIE0);
}
void init_adc() {
// ADC initialization
// ADC Clock frequency: 600,000 kHz
// ADC Bandgap Voltage Reference: On
// ADC Auto Trigger Source: ADC Stopped
// Only the 8 most significant bits of
// the AD conversion result are used
// Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: On
DIDR0=(0<<ADC0D) | (0<<ADC2D) | (0<<ADC3D) | (0<<ADC1D);
ADMUX=ADC_VREF_TYPE;
ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
ADCSRB=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
}
// Timer 0 overflow interrupt service routine
ISR(TIM0_OVF_vect)
{
// Reinitialize Timer 0 value
TCNT0=0x34;
PORTB |= (1<<PB1);
_delay_us(LEFT);
for(int i=0;i<servopos;i++) {
_delay_us(STEP);
}
PORTB &= ~(1<<PB1);
}
int main(void)
{
DDRB |= (1<<PB3) | (1<<PB1);
init_timer();
init_adc();
sei();
while(1)
{
led(1);
int pos = read_adc((1<<MUX1));
pos = pos;
if(pos > RIGHT) {
pos = RIGHT;
}
led(0);
servopos = pos;
//_delay_ms(500);
}
}

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>6.0</ProjectVersion>
<ToolchainName>com.Atmel.AVRGCC8</ToolchainName>
<ProjectGuid>{f548c243-5694-408e-b9f4-6863dc15b440}</ProjectGuid>
<avrdevice>ATtiny13</avrdevice>
<avrdeviceseries>none</avrdeviceseries>
<OutputType>Executable</OutputType>
<Language>C</Language>
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
<OutputFileExtension>.elf</OutputFileExtension>
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
<AssemblyName>Steuerung</AssemblyName>
<Name>Steuerung</Name>
<RootNamespace>Steuerung</RootNamespace>
<ToolchainFlavour>Native</ToolchainFlavour>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue />
<eraseonlaunchrule>0</eraseonlaunchrule>
<AsfVersion>3.5.1</AsfVersion>
<avrtool>com.atmel.avrdbg.tool.ispmk2</avrtool>
<avrtoolinterface>ISP</avrtoolinterface>
<com_atmel_avrdbg_tool_ispmk2>
<ToolType>com.atmel.avrdbg.tool.ispmk2</ToolType>
<ToolName>AVRISP mkII</ToolName>
<ToolNumber>0000000000000</ToolNumber>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>
</OverrideVtorValue>
<Channel>
<host>127.0.0.1</host>
<port>51623</port>
<ssl>False</ssl>
</Channel>
<ToolOptions>
<InterfaceName>ISP</InterfaceName>
<InterfaceProperties>
<JtagDbgClock>249000</JtagDbgClock>
<JtagProgClock>1000000</JtagProgClock>
<IspClock>250000</IspClock>
<JtagInChain>false</JtagInChain>
<JtagEnableExtResetOnStartSession>false</JtagEnableExtResetOnStartSession>
<JtagDevicesBefore>0</JtagDevicesBefore>
<JtagDevicesAfter>0</JtagDevicesAfter>
<JtagInstrBitsBefore>0</JtagInstrBitsBefore>
<JtagInstrBitsAfter>0</JtagInstrBitsAfter>
</InterfaceProperties>
</ToolOptions>
</com_atmel_avrdbg_tool_ispmk2>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>m</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>m</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="Steuerung.c">
<SubType>compile</SubType>
</Compile>
</ItemGroup>
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
</Project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
V5B/Zeitschaltung.T3000 Normal file

Binary file not shown.