PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : anfänger braucht hilfe bei avr programm schreiben



gebtmirantworten
12.05.2011, 14:14
hallo leute wer kann mir helfen ich brauche ein assembler programm für avr studio 4
ich muß ein 2 bit stuffing realisieren!
hier die genaue aufgabenstellung
die 8-bit daten werden im register R18 eingesetzt.der ausgang wird durch das bit "0" des ports B realisiert.
nach jeweils zwei gleichen bits wird ein bit entgegengesetzter polarität eingeführt.

danke schon mal im vorraus

DanielSan
12.05.2011, 17:22
Die Hausaufgaben macht dir hier aber keiner.

Wo genau kommst du nicht weiter? Zeig mal was du bis jetzt schon hast.

Gruß Daniel

QuantreX
18.05.2011, 17:44
Hier ein Beispiel. Davon ab Hausaufgaben erzielen keinen Nährwert.

.include"8515def.inc"

;Zuweisung
.def Temp=R17
.def Zahl=R18
.def Pointer=R19

;Initialisierung
ldi Temp,LOW(RAMEND)
out SPL,Temp
ldi Temp,HIGH(RAMEND)
out SPH,Temp
ser Temp
out DDRB,Temp
clr Zahl
clr Temp
clr Pointer


;HP 2-Bit stuffing

ANF:clr Pointer
in Zahl,PIND

S1: mov Temp,Zahl
andi Temp,$03 ;Bei 4-bit $0F
cpi Temp,$00
breq null
cpi Temp,$03 ;Bei 4-bit $0F
breq eins
sbrs Zahl,0
cbi PORTD,0
sbrc Zahl,0
sbi PORTD,0
lsr Zahl

S2: inc Pointer
cpi Pointer,$08
brne S1
rjmp ANF

null: cbi PORTD,0 ;Bei 4-bit noch 2mal cbi
cbi PORTD,0
sbi PORTD,0
lsr Zahl ;Bei 4-bit noch 2mal lsr
lsr Zahl
inc Pointer ; Bei 4-bit noch 2mal inc
rjmp S2

eins: sbi PORTD,0 ; Bei 4-bit noch 2mal sbi
sbi PORTD,0
cbi PORTD,0
lsr Zahl ;Bei 4-bit noch 2mal lsr
lsr Zahl
inc Pointer ;Bei 4-bit noch 2mal inc
rjmp S2