-
Hab jetzt mal dass geschrieben!
.include <m8535def.inc>
.org 0x0000
rjmp Reset
.org OVF0addr
rjmp michi
.org OC0addr
rjmp PWM
Reset:
ldi R26, 0b00000000
ldi R16, HIGH(RAMEND)
out SPH, R16
ldi R16, LOW(RAMEND)
out SPL, R16
ldi R16, 0b00000001
out TCCR0, R16
ldi R16, 0b00000011
out TIMSK, R16
ldi R17, 1
out OCR0, R17
sei
loop1:
ldi R27, 0b00000001
out DDRA, R27
ldi R16, 0b00000010
out DDRA, R16
rjmp loop1
loop2:
ldi R27, 0b00000001
out DDRA, R27
ldi R16, 0b00000000
out DDRA, R16
rjmp loop2
PWM:
out TCNT0, R26
out OCR0, R17
sei
sbis DDRA, 1
rcall loop1
rcall loop2
michi:
reti
mfg
Michael
-
Ich habs zwar nicht getestet aber so müsste theoretisch pin1 von Port a pwm-mäßg bei 50% toggeln.
Code:
.include <m8535def.inc>
.org 0x0000
rjmp init
.org OVF0addr
rjmp ovf
.org OC0addr
rjmp ocr
init:
ldi R26, 0b00000000
ldi R16, HIGH(RAMEND)
out SPH, R16
ldi R16, LOW(RAMEND)
out SPL, R16
ldi R16, 0x7b
out TCCR0, R16
ldi R16, 0x03
out TIMSK, R16
ldi R17, 0x7f
out OCR0, R17
ldi DDRA, 0x01
sei
mainloop:
rjmp mainloop
ovf:
ldi r16, 0x01
out PORTA, r16
reti
ocr:
ldi r16, 0x00
out PORTA, r16
reti
MFG,
Alex
-
Hmm ... leicht umständlicher Code.
BTW: Mal als Tip: Benutz mal die Suchfunktion !!!
Rauskommen könnte da z.B. dieses als Ergebniss: klick mich !!
Dieses sollte als Denkansatz durchaus ausreichen, zumal ich mich weigere jemandem den kompletten Code zu schreiben.
Grüße,
da Hanni.
-
neinnein brauchst nicht den code schreiben. Will eh selber rausbekommen.
Brauche nur anhaltspunkte!
mfg
Michael