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'
|
||||
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:
|
||||
000001 ef1f ldi r17, 0xFF
|
||||
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
|
||||
000005 b924 out DDRB, r18 ; Data direction register B (B0-B1) as output
|
||||
|
||||
links_PD: ; Led l<>uft nach links
|
||||
000006 b91b out PORTD, r17 ; D0 leutet
|
||||
000007 d016 rcall delay
|
||||
000008 0f11 lsl r17
|
||||
000009 3010 cpi r17, 0x00
|
||||
00000a f7d9 brne links_PD ; weiter nach links verschieben, ob D7 noch nicht leutet
|
||||
portD_left:
|
||||
000006 b91b out PORTD, r17
|
||||
000007 d018 rcall delay
|
||||
000008 0f11 lsl r17 ; shift left until PortB is 0x00
|
||||
000009 3010 cpi r17, 0x00 ; if(r17!=0x00) links_PD
|
||||
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
|
||||
00000c e021 ldi r18, 0x01
|
||||
00000d b925 out PORTB, r18 ; D8 leutet
|
||||
00000e d00f rcall delay
|
||||
portB_left:
|
||||
00000d b925 out PORTB, r18 ; D8 = 1
|
||||
00000e d011 rcall delay
|
||||
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
|
||||
000010 b925 out PORTB, r18
|
||||
000011 d00c rcall delay
|
||||
000012 9526 lsr r18
|
||||
000013 3020 cpi r18, 0x00
|
||||
000014 f7d9 brne links_PB
|
||||
|
||||
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
|
||||
portD_right:
|
||||
000019 b91b out PORTD, r17 ; turn on D7
|
||||
00001a d005 rcall delay
|
||||
00001b 9516 lsr r17
|
||||
00001c 3011 cpi r17, 0x01 ; shift right until D0 is reached
|
||||
00001d f7d9 brne portD_right
|
||||
00001e 940c 0006 jmp portD_left ; turn direction
|
||||
|
||||
delay:
|
||||
00001e e131 ldi r19, 17
|
||||
00001f e34c ldi r20, 60
|
||||
000020 ec5c ldi r21, 204
|
||||
000020 e131 ldi r19, 17
|
||||
000021 e34c ldi r20, 60
|
||||
000022 ec5c ldi r21, 204
|
||||
|
||||
000021 955a L1: dec r21
|
||||
000022 f7f1 brne L1
|
||||
000023 954a dec r20
|
||||
000024 f7e1 brne L1
|
||||
000025 953a dec r19
|
||||
000026 f7d1 brne L1
|
||||
000023 955a L1: dec r21
|
||||
000024 f7f1 brne L1
|
||||
000025 954a dec r20
|
||||
000026 f7e1 brne L1
|
||||
000027 953a dec r19
|
||||
000028 f7d1 brne L1
|
||||
|
||||
|
||||
RESOURCE USE INFORMATION
|
||||
@@ -1110,7 +1112,7 @@ counted separately from r26..r31 here.
|
||||
"ATmega328P" register use summary:
|
||||
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
|
||||
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
|
||||
r29: 0 r30: 0 r31: 0
|
||||
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
|
||||
brcc : 0 brcs : 0 break : 0 breq : 0 brge : 0 brhc : 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
|
||||
clc : 0 clh : 0 cli : 0 cln : 0 clr : 0 cls : 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
|
||||
ld : 0 ldd : 0 ldi : 8 lds : 0 lpm : 0 lsl : 2
|
||||
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]:
|
||||
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%
|
||||
[.eseg] 0x000000 0x000000 0 0 0 1024 0.0%
|
||||
|
||||
|
||||
@@ -23,10 +23,11 @@
|
||||
</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>
|
||||
<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>54</LINE></delay>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</ASSEMBLER_INFO>
|
||||
|
||||
@@ -15,7 +15,7 @@ init:
|
||||
out DDRD, r17 ; Data direction register D (D0-D7) as output
|
||||
ldi r17, 0x01 ; initialize D0
|
||||
|
||||
ldi r18, 0x01
|
||||
ldi r18, 0x03
|
||||
out DDRB, r18 ; Data direction register B (B0-B1) as output
|
||||
|
||||
portD_left:
|
||||
@@ -25,9 +25,9 @@ portD_left:
|
||||
cpi r17, 0x00 ; if(r17!=0x00) links_PD
|
||||
brne portD_left
|
||||
out PORTD, r17 ; D0-D7 = 0
|
||||
ldi r18, 0x01 ; switch to PortB
|
||||
|
||||
portB_left:
|
||||
;ldi r18, 0x01
|
||||
out PORTB, r18 ; D8 = 1
|
||||
rcall delay
|
||||
lsl r18
|
||||
|
||||
Reference in New Issue
Block a user