Minor Improvements
This commit is contained in:
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
AVRASM ver. 2.2.7 C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm Mon Oct 30 17:51:30 2023
|
AVRASM ver. 2.2.7 C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm Mon Oct 30 23:15:13 2023
|
||||||
|
|
||||||
[builtin](2): Including file 'C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m328pdef.inc'
|
[builtin](2): Including file 'C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m328pdef.inc'
|
||||||
C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm(8): Including file 'C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m328pdef.inc'
|
C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm(8): Including file 'C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.209\avrasm\inc\m328pdef.inc'
|
||||||
@@ -1044,53 +1044,55 @@ C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Pr
|
|||||||
init:
|
init:
|
||||||
000001 ef1f ldi r17, 0xFF
|
000001 ef1f ldi r17, 0xFF
|
||||||
000002 b91a out DDRD, r17 ; Data direction register D (D0-D7) as output
|
000002 b91a out DDRD, r17 ; Data direction register D (D0-D7) as output
|
||||||
000003 e011 ldi r17, 0x01 ; faengt mit Led D0 ein
|
000003 e011 ldi r17, 0x01 ; initialize D0
|
||||||
|
|
||||||
000004 e023 ldi r18, 0x03
|
000004 e023 ldi r18, 0x03
|
||||||
000005 b924 out DDRB, r18 ; Data direction register B (B0-B1) as output
|
000005 b924 out DDRB, r18 ; Data direction register B (B0-B1) as output
|
||||||
|
|
||||||
links_PD: ; Led l<>uft nach links
|
portD_left:
|
||||||
000006 b91b out PORTD, r17 ; D0 leutet
|
000006 b91b out PORTD, r17
|
||||||
000007 d016 rcall delay
|
000007 d018 rcall delay
|
||||||
000008 0f11 lsl r17
|
000008 0f11 lsl r17 ; shift left until PortB is 0x00
|
||||||
000009 3010 cpi r17, 0x00
|
000009 3010 cpi r17, 0x00 ; if(r17!=0x00) links_PD
|
||||||
00000a f7d9 brne links_PD ; weiter nach links verschieben, ob D7 noch nicht leutet
|
00000a f7d9 brne portD_left
|
||||||
|
00000b b91b out PORTD, r17 ; D0-D7 = 0
|
||||||
|
00000c e021 ldi r18, 0x01 ; switch to PortB
|
||||||
|
|
||||||
00000b b91b out PORTD, r17 ; wenn D7 erreicht, schaltet Port D aus
|
portB_left:
|
||||||
00000c e021 ldi r18, 0x01
|
00000d b925 out PORTB, r18 ; D8 = 1
|
||||||
00000d b925 out PORTB, r18 ; D8 leutet
|
00000e d011 rcall delay
|
||||||
00000e d00f rcall delay
|
|
||||||
00000f 0f22 lsl r18
|
00000f 0f22 lsl r18
|
||||||
|
000010 3022 cpi r18, 0x02 ; length of PortB is variable
|
||||||
|
000011 f7d9 brne portB_left
|
||||||
|
; D9 = 1 => last LED turned on
|
||||||
|
portB_right:
|
||||||
|
000012 b925 out PORTB, r18
|
||||||
|
000013 d00c rcall delay
|
||||||
|
000014 9526 lsr r18 ; turn direction
|
||||||
|
000015 3020 cpi r18, 0x00 ; shift right until PortB is 0x00
|
||||||
|
000016 f7d9 brne portB_right
|
||||||
|
000017 b925 out PORTB, r18 ; turn of PortB or rather D8 & D9
|
||||||
|
000018 e810 ldi r17, 0x80
|
||||||
|
|
||||||
links_PB: ; Led laeuft weiter
|
portD_right:
|
||||||
000010 b925 out PORTB, r18
|
000019 b91b out PORTD, r17 ; turn on D7
|
||||||
000011 d00c rcall delay
|
00001a d005 rcall delay
|
||||||
000012 9526 lsr r18
|
00001b 9516 lsr r17
|
||||||
000013 3020 cpi r18, 0x00
|
00001c 3011 cpi r17, 0x01 ; shift right until D0 is reached
|
||||||
000014 f7d9 brne links_PB
|
00001d f7d9 brne portD_right
|
||||||
|
00001e 940c 0006 jmp portD_left ; turn direction
|
||||||
000015 b925 out PORTB, r18
|
|
||||||
000016 e810 ldi r17, 0x80
|
|
||||||
|
|
||||||
rechts: ; Led laeuft nach rechts
|
|
||||||
000017 b91b out PORTD, r17
|
|
||||||
000018 d005 rcall delay
|
|
||||||
000019 9516 lsr r17
|
|
||||||
00001a 3011 cpi r17, 0x01 ; mit D0 vergleichen
|
|
||||||
00001b f7d9 brne rechts ; weiter nach rechts verschieben, wenn D0 noch nicht erreicht
|
|
||||||
00001c 940c 0006 jmp links_PD ; sonst l<>uft Led nach links
|
|
||||||
|
|
||||||
delay:
|
delay:
|
||||||
00001e e131 ldi r19, 17
|
000020 e131 ldi r19, 17
|
||||||
00001f e34c ldi r20, 60
|
000021 e34c ldi r20, 60
|
||||||
000020 ec5c ldi r21, 204
|
000022 ec5c ldi r21, 204
|
||||||
|
|
||||||
000021 955a L1: dec r21
|
000023 955a L1: dec r21
|
||||||
000022 f7f1 brne L1
|
000024 f7f1 brne L1
|
||||||
000023 954a dec r20
|
000025 954a dec r20
|
||||||
000024 f7e1 brne L1
|
000026 f7e1 brne L1
|
||||||
000025 953a dec r19
|
000027 953a dec r19
|
||||||
000026 f7d1 brne L1
|
000028 f7d1 brne L1
|
||||||
|
|
||||||
|
|
||||||
RESOURCE USE INFORMATION
|
RESOURCE USE INFORMATION
|
||||||
@@ -1110,7 +1112,7 @@ counted separately from r26..r31 here.
|
|||||||
"ATmega328P" register use summary:
|
"ATmega328P" register use summary:
|
||||||
x : 0 y : 0 z : 0 r0 : 0 r1 : 0 r2 : 0 r3 : 0 r4 : 0
|
x : 0 y : 0 z : 0 r0 : 0 r1 : 0 r2 : 0 r3 : 0 r4 : 0
|
||||||
r5 : 0 r6 : 0 r7 : 0 r8 : 0 r9 : 0 r10: 0 r11: 0 r12: 0
|
r5 : 0 r6 : 0 r7 : 0 r8 : 0 r9 : 0 r10: 0 r11: 0 r12: 0
|
||||||
r13: 0 r14: 0 r15: 0 r16: 0 r17: 11 r18: 9 r19: 2 r20: 2
|
r13: 0 r14: 0 r15: 0 r16: 0 r17: 11 r18: 10 r19: 2 r20: 2
|
||||||
r21: 2 r22: 0 r23: 0 r24: 0 r25: 0 r26: 0 r27: 0 r28: 0
|
r21: 2 r22: 0 r23: 0 r24: 0 r25: 0 r26: 0 r27: 0 r28: 0
|
||||||
r29: 0 r30: 0 r31: 0
|
r29: 0 r30: 0 r31: 0
|
||||||
Registers used: 5 out of 35 (14.3%)
|
Registers used: 5 out of 35 (14.3%)
|
||||||
@@ -1120,11 +1122,11 @@ Registers used: 5 out of 35 (14.3%)
|
|||||||
andi : 0 asr : 0 bclr : 0 bld : 0 brbc : 0 brbs : 0
|
andi : 0 asr : 0 bclr : 0 bld : 0 brbc : 0 brbs : 0
|
||||||
brcc : 0 brcs : 0 break : 0 breq : 0 brge : 0 brhc : 0
|
brcc : 0 brcs : 0 break : 0 breq : 0 brge : 0 brhc : 0
|
||||||
brhs : 0 brid : 0 brie : 0 brlo : 0 brlt : 0 brmi : 0
|
brhs : 0 brid : 0 brie : 0 brlo : 0 brlt : 0 brmi : 0
|
||||||
brne : 6 brpl : 0 brsh : 0 brtc : 0 brts : 0 brvc : 0
|
brne : 7 brpl : 0 brsh : 0 brtc : 0 brts : 0 brvc : 0
|
||||||
brvs : 0 bset : 0 bst : 0 call : 0 cbi : 0 cbr : 0
|
brvs : 0 bset : 0 bst : 0 call : 0 cbi : 0 cbr : 0
|
||||||
clc : 0 clh : 0 cli : 0 cln : 0 clr : 0 cls : 0
|
clc : 0 clh : 0 cli : 0 cln : 0 clr : 0 cls : 0
|
||||||
clt : 0 clv : 0 clz : 0 com : 0 cp : 0 cpc : 0
|
clt : 0 clv : 0 clz : 0 com : 0 cp : 0 cpc : 0
|
||||||
cpi : 3 cpse : 0 dec : 3 eor : 0 fmul : 0 fmuls : 0
|
cpi : 4 cpse : 0 dec : 3 eor : 0 fmul : 0 fmuls : 0
|
||||||
fmulsu: 0 icall : 0 ijmp : 0 in : 0 inc : 0 jmp : 1
|
fmulsu: 0 icall : 0 ijmp : 0 in : 0 inc : 0 jmp : 1
|
||||||
ld : 0 ldd : 0 ldi : 8 lds : 0 lpm : 0 lsl : 2
|
ld : 0 ldd : 0 ldi : 8 lds : 0 lpm : 0 lsl : 2
|
||||||
lsr : 2 mov : 0 movw : 0 mul : 0 muls : 0 mulsu : 0
|
lsr : 2 mov : 0 movw : 0 mul : 0 muls : 0 mulsu : 0
|
||||||
@@ -1140,7 +1142,7 @@ Instructions used: 11 out of 113 (9.7%)
|
|||||||
"ATmega328P" memory use summary [bytes]:
|
"ATmega328P" memory use summary [bytes]:
|
||||||
Segment Begin End Code Data Used Size Use%
|
Segment Begin End Code Data Used Size Use%
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
[.cseg] 0x000000 0x000050 80 0 80 32768 0.2%
|
[.cseg] 0x000000 0x000054 84 0 84 32768 0.3%
|
||||||
[.dseg] 0x000100 0x000100 0 0 0 2048 0.0%
|
[.dseg] 0x000100 0x000100 0 0 0 2048 0.0%
|
||||||
[.eseg] 0x000000 0x000000 0 0 0 1024 0.0%
|
[.eseg] 0x000000 0x000000 0 0 0 1024 0.0%
|
||||||
|
|
||||||
|
|||||||
@@ -23,10 +23,11 @@
|
|||||||
</OUTPUT_FILES>
|
</OUTPUT_FILES>
|
||||||
<LABELS>
|
<LABELS>
|
||||||
<init><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>13</LINE></init>
|
<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>
|
<portD_left><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>21</LINE></portD_left>
|
||||||
<delay><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>52</LINE></delay>
|
<delay><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>54</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>
|
<portB_left><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>30</LINE></portB_left>
|
||||||
<rechts><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>44</LINE></rechts>
|
<portB_right><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>37</LINE></portB_right>
|
||||||
<L1><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>57</LINE></L1>
|
<portD_right><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>46</LINE></portD_right>
|
||||||
|
<L1><FILE>C:\Users\Safak\Desktop\UNI\3. Semester\53107 ARBK\Praktikumsunterlagen\ARBKVS-Praktika\P1\P1\main.asm</FILE><LINE>59</LINE></L1>
|
||||||
</LABELS>
|
</LABELS>
|
||||||
</ASSEMBLER_INFO>
|
</ASSEMBLER_INFO>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ init:
|
|||||||
out DDRD, r17 ; Data direction register D (D0-D7) as output
|
out DDRD, r17 ; Data direction register D (D0-D7) as output
|
||||||
ldi r17, 0x01 ; initialize D0
|
ldi r17, 0x01 ; initialize D0
|
||||||
|
|
||||||
ldi r18, 0x01
|
ldi r18, 0x03
|
||||||
out DDRB, r18 ; Data direction register B (B0-B1) as output
|
out DDRB, r18 ; Data direction register B (B0-B1) as output
|
||||||
|
|
||||||
portD_left:
|
portD_left:
|
||||||
@@ -25,9 +25,9 @@ portD_left:
|
|||||||
cpi r17, 0x00 ; if(r17!=0x00) links_PD
|
cpi r17, 0x00 ; if(r17!=0x00) links_PD
|
||||||
brne portD_left
|
brne portD_left
|
||||||
out PORTD, r17 ; D0-D7 = 0
|
out PORTD, r17 ; D0-D7 = 0
|
||||||
|
ldi r18, 0x01 ; switch to PortB
|
||||||
|
|
||||||
portB_left:
|
portB_left:
|
||||||
;ldi r18, 0x01
|
|
||||||
out PORTB, r18 ; D8 = 1
|
out PORTB, r18 ; D8 = 1
|
||||||
rcall delay
|
rcall delay
|
||||||
lsl r18
|
lsl r18
|
||||||
|
|||||||
Reference in New Issue
Block a user