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,37 +20,66 @@
|
|||||||
<OverrideVtor>false</OverrideVtor>
|
<OverrideVtor>false</OverrideVtor>
|
||||||
<CacheFlash>true</CacheFlash>
|
<CacheFlash>true</CacheFlash>
|
||||||
<ProgFlashFromRam>true</ProgFlashFromRam>
|
<ProgFlashFromRam>true</ProgFlashFromRam>
|
||||||
<RamSnippetAddress />
|
<RamSnippetAddress>0x20000000</RamSnippetAddress>
|
||||||
<UncachedRange />
|
<UncachedRange />
|
||||||
<preserveEEPROM>true</preserveEEPROM>
|
<preserveEEPROM>true</preserveEEPROM>
|
||||||
<OverrideVtorValue />
|
<OverrideVtorValue>exception_table</OverrideVtorValue>
|
||||||
<BootSegment>2</BootSegment>
|
<BootSegment>2</BootSegment>
|
||||||
<ResetRule>0</ResetRule>
|
<ResetRule>0</ResetRule>
|
||||||
<eraseonlaunchrule>0</eraseonlaunchrule>
|
<eraseonlaunchrule>0</eraseonlaunchrule>
|
||||||
<EraseKey />
|
<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>
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
<ToolchainSettings>
|
<ToolchainSettings>
|
||||||
<AvrAssembler>
|
<AvrAssembler>
|
||||||
<avrasm.assembler.general.AdditionalIncludeDirectories>
|
<avrasm.assembler.general.AdditionalIncludeDirectories>
|
||||||
<ListValues>
|
<ListValues>
|
||||||
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
|
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
|
||||||
</ListValues>
|
</ListValues>
|
||||||
</avrasm.assembler.general.AdditionalIncludeDirectories>
|
</avrasm.assembler.general.AdditionalIncludeDirectories>
|
||||||
<avrasm.assembler.general.IncludeFile>m328pdef.inc</avrasm.assembler.general.IncludeFile>
|
<avrasm.assembler.general.IncludeFile>m328pdef.inc</avrasm.assembler.general.IncludeFile>
|
||||||
</AvrAssembler>
|
</AvrAssembler>
|
||||||
</ToolchainSettings>
|
</ToolchainSettings>
|
||||||
|
<OutputType>Executable</OutputType>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||||
<ToolchainSettings>
|
<ToolchainSettings>
|
||||||
<AvrAssembler>
|
<AvrAssembler>
|
||||||
<avrasm.assembler.general.AdditionalIncludeDirectories>
|
<avrasm.assembler.general.AdditionalIncludeDirectories>
|
||||||
<ListValues>
|
<ListValues>
|
||||||
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
|
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.209\avrasm\inc</Value>
|
||||||
</ListValues>
|
</ListValues>
|
||||||
</avrasm.assembler.general.AdditionalIncludeDirectories>
|
</avrasm.assembler.general.AdditionalIncludeDirectories>
|
||||||
<avrasm.assembler.general.IncludeFile>m328pdef.inc</avrasm.assembler.general.IncludeFile>
|
<avrasm.assembler.general.IncludeFile>m328pdef.inc</avrasm.assembler.general.IncludeFile>
|
||||||
</AvrAssembler>
|
</AvrAssembler>
|
||||||
</ToolchainSettings>
|
</ToolchainSettings>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -5,8 +5,61 @@
|
|||||||
; Author : Safak
|
; Author : Safak
|
||||||
;
|
;
|
||||||
|
|
||||||
|
.include "m328pdef.inc"
|
||||||
|
|
||||||
; Replace with your application code
|
.org 0x00
|
||||||
start:
|
rjmp init
|
||||||
inc r16
|
|
||||||
rjmp start
|
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