length of PortB variable
This commit is contained in:
Binary file not shown.
1147
P1/P1/Debug/P1.lss
Normal file
1147
P1/P1/Debug/P1.lss
Normal file
File diff suppressed because it is too large
Load Diff
32
P1/P1/Debug/P1.tmp
Normal file
32
P1/P1/Debug/P1.tmp
Normal file
@@ -0,0 +1,32 @@
|
||||
<ASSEMBLER_INFO>
|
||||
<VERSION>2.2.7</VERSION>
|
||||
<DEVICE>"ATmega328P"</DEVICE>
|
||||
<WORKING_DIR>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\Debug</WORKING_DIR>
|
||||
<INCLUDE_PATH>
|
||||
<DIR>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc</DIR>
|
||||
<DIR>C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avrassembler\Include</DIR>
|
||||
<DIR></DIR>
|
||||
</INCLUDE_PATH>
|
||||
<SOURCE_FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</SOURCE_FILE>
|
||||
<INCLUDED_FILES>
|
||||
<FILE>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m328pdef.inc</FILE>
|
||||
</INCLUDED_FILES>
|
||||
<OBJECT_FILES>
|
||||
<FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\Debug\P1.obj</FILE>
|
||||
</OBJECT_FILES>
|
||||
<HEX_FILES>
|
||||
<FILE>P1.hex</FILE>
|
||||
</HEX_FILES>
|
||||
<OUTPUT_FILES>
|
||||
<FILE>P1.map</FILE>
|
||||
<FILE>P1.lss</FILE>
|
||||
</OUTPUT_FILES>
|
||||
<LABELS>
|
||||
<init><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>13</LINE></init>
|
||||
<links_PD><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>21</LINE></links_PD>
|
||||
<delay><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>52</LINE></delay>
|
||||
<links_PB><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>34</LINE></links_PB>
|
||||
<rechts><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>44</LINE></rechts>
|
||||
<L1><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>57</LINE></L1>
|
||||
</LABELS>
|
||||
</ASSEMBLER_INFO>
|
||||
@@ -20,14 +20,42 @@
|
||||
<OverrideVtor>false</OverrideVtor>
|
||||
<CacheFlash>true</CacheFlash>
|
||||
<ProgFlashFromRam>true</ProgFlashFromRam>
|
||||
<RamSnippetAddress />
|
||||
<RamSnippetAddress>0x20000000</RamSnippetAddress>
|
||||
<UncachedRange />
|
||||
<preserveEEPROM>true</preserveEEPROM>
|
||||
<OverrideVtorValue />
|
||||
<OverrideVtorValue>exception_table</OverrideVtorValue>
|
||||
<BootSegment>2</BootSegment>
|
||||
<ResetRule>0</ResetRule>
|
||||
<eraseonlaunchrule>0</eraseonlaunchrule>
|
||||
<EraseKey />
|
||||
<avrtool>com.atmel.avrdbg.tool.simulator</avrtool>
|
||||
<avrtoolserialnumber />
|
||||
<avrdeviceexpectedsignature>0x1E950F</avrdeviceexpectedsignature>
|
||||
<com_atmel_avrdbg_tool_simulator>
|
||||
<ToolOptions>
|
||||
<InterfaceProperties>
|
||||
</InterfaceProperties>
|
||||
<InterfaceName>
|
||||
</InterfaceName>
|
||||
</ToolOptions>
|
||||
<ToolType>com.atmel.avrdbg.tool.simulator</ToolType>
|
||||
<ToolNumber>
|
||||
</ToolNumber>
|
||||
<ToolName>Simulator</ToolName>
|
||||
</com_atmel_avrdbg_tool_simulator>
|
||||
<avrtoolinterface />
|
||||
<custom>
|
||||
<ToolOptions xmlns="">
|
||||
<InterfaceProperties>
|
||||
</InterfaceProperties>
|
||||
<InterfaceName>
|
||||
</InterfaceName>
|
||||
</ToolOptions>
|
||||
<ToolType xmlns="">custom</ToolType>
|
||||
<ToolNumber xmlns="">
|
||||
</ToolNumber>
|
||||
<ToolName xmlns="">Custom Programming Tool</ToolName>
|
||||
</custom>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<ToolchainSettings>
|
||||
@@ -38,8 +66,9 @@
|
||||
</ListValues>
|
||||
</avrasm.assembler.general.AdditionalIncludeDirectories>
|
||||
<avrasm.assembler.general.IncludeFile>m328pdef.inc</avrasm.assembler.general.IncludeFile>
|
||||
</AvrAssembler>
|
||||
</AvrAssembler>
|
||||
</ToolchainSettings>
|
||||
<OutputType>Executable</OutputType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ToolchainSettings>
|
||||
@@ -50,7 +79,7 @@
|
||||
</ListValues>
|
||||
</avrasm.assembler.general.AdditionalIncludeDirectories>
|
||||
<avrasm.assembler.general.IncludeFile>m328pdef.inc</avrasm.assembler.general.IncludeFile>
|
||||
</AvrAssembler>
|
||||
</AvrAssembler>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -5,8 +5,61 @@
|
||||
; Author : Safak
|
||||
;
|
||||
|
||||
.include "m328pdef.inc"
|
||||
|
||||
; Replace with your application code
|
||||
start:
|
||||
inc r16
|
||||
rjmp start
|
||||
.org 0x00
|
||||
rjmp init
|
||||
|
||||
init:
|
||||
ldi r17, 0xFF
|
||||
out DDRD, r17 ; Data direction register D (D0-D7) as output
|
||||
ldi r17, 0x01 ; initialize D0
|
||||
|
||||
ldi r18, 0x01
|
||||
out DDRB, r18 ; Data direction register B (B0-B1) as output
|
||||
|
||||
portD_left:
|
||||
out PORTD, r17
|
||||
rcall delay
|
||||
lsl r17 ; shift left until PortB is 0x00
|
||||
cpi r17, 0x00 ; if(r17!=0x00) links_PD
|
||||
brne portD_left
|
||||
out PORTD, r17 ; D0-D7 = 0
|
||||
|
||||
portB_left:
|
||||
;ldi r18, 0x01
|
||||
out PORTB, r18 ; D8 = 1
|
||||
rcall delay
|
||||
lsl r18
|
||||
cpi r18, 0x02 ; length of PortB is variable
|
||||
brne portB_left
|
||||
; D9 = 1 => last LED turned on
|
||||
portB_right:
|
||||
out PORTB, r18
|
||||
rcall delay
|
||||
lsr r18 ; turn direction
|
||||
cpi r18, 0x00 ; shift right until PortB is 0x00
|
||||
brne portB_right
|
||||
out PORTB, r18 ; turn of PortB or rather D8 & D9
|
||||
ldi r17, 0x80
|
||||
|
||||
portD_right:
|
||||
out PORTD, r17 ; turn on D7
|
||||
rcall delay
|
||||
lsr r17
|
||||
cpi r17, 0x01 ; shift right until D0 is reached
|
||||
brne portD_right
|
||||
jmp portD_left ; turn direction
|
||||
|
||||
delay:
|
||||
ldi r19, 17
|
||||
ldi r20, 60
|
||||
ldi r21, 204
|
||||
|
||||
L1: dec r21
|
||||
brne L1
|
||||
dec r20
|
||||
brne L1
|
||||
dec r19
|
||||
brne L1
|
||||
ret
|
||||
Reference in New Issue
Block a user