Moin Moin,
ich hab jetzt mal einen Assemblercode erstellt, mit dem ich auf dem PORTB eines Mega8 eine änderbare Frequenz ausgeben kann.
Code:.include "m8def.inc" .org 0 rjmp reset .org 3 rjmp interrupt reset: ldi r16,low(RAMEND) out SPL,r16 ldi r16,high(RAMEND) out SPH,r16 ldi r16,0b11111011 out DDRB,r16 ldi r16,0b00000011 out PORTB,r16 ldi r16,0b00001111 ;CTC - PRS 8 out TCCR2,r16 ldi r16,0b10000000 ;Interrupt enable out TIMSK,r16 sei ;global int. enable ldi r16,0b01100010 out ADMUX,r16 ldi r17,0b10101010 ;Hier Init-Code eintragen. ;------------------------------------------------------------------------ mainloop: wdr rjmp mainloop interrupt: ;toggle Port B in r16,PINB com r16 out PORTB,r16 ldi r16,0b11000010 out ADCSRA,r16 bis_converted: in r20,ADCSRA ori r20,0b11101111 cpi r20,0b11111111 brne bis_converted in r25,ADCH ori r25,1 out OCR2, r25 reti
(Könnte man ja auch fix programieren). Angenommen, diese Frequenz ist mein Taktsignal, auf das ich die Daten draumodulieren will, kann mir jemand sagen, an welcher stelle ich das wie im Code machen müsste, um ständig eine 1 zu übertragen?
Und wodurch wird die Frequenz des Taktsignals bestimmt?
Danke







Zitieren

Lesezeichen