hallo zusammen!
bitte nicht böse sein aber alleine schaff ichs nicht!![]()
also da ich mich jetzt entschieden habe den AVR (rn-control) in assembler zu programmieren und damit besser verstehen zu können, bräuchte ich etwas starthilfe.
ich möchte auch erst mal die tasten vom RN-Control abfragen und dann eventl. für die taste1 die led1, taste2 die led2 usw leuchten lassen.
leider weiß ich nicht wirklich wie ich das anstellen soll.
habe zuerst einmal ein- und ausgänge definiert und den ADC eingestellt. jetzt weiß ich nicht wie man weiter vorgeht.
hier mal mein programm:
wäre toll wenn mir jemand unter die arme greifen könnte!Code:.NOLIST ; List-Output unterdrücken .INCLUDE <m32def.inc> ; das gibt es für jeden Controllertyp .LIST ; List-Output wieder aufdrehen .CSEG ; was nun folgt, gehört in den FLASH-Speicher .def w = r16 ;------------------------------------------------------ ; Start Adresse 0000 ;------------------------------------------------------ RESET: jmp INIT ; springen nach "INIT" ;------------------------------------------------------ ; ISR VECTORS ;------------------------------------------------------ ; ..... hier kommen dann die Sprungadressen für die Interrupts rein ; dazu kommen wir noch .ORG INT_VECTORS_SIZE ; dadurch haben wir für die Vektoren Platz gelassen INIT: ;------------------------------------------------------ ; INITIALIZE ;------------------------------------------------------ ldi r24,high(RAMEND) ;Stack Pointer setzen out SPH,r24 ; "RAMEND" ist in m32def.inc festgelegt ldi r24,low(RAMEND) ; out SPL,r24 ; ;------------------------------------------------------ ; eigene Initialisierungen ;------------------------------------------------------ ldi w, 0x00 out DDRA, w ; PortA als Eingang sbi PORTA,7 ; Pullup an Pin7 von PortA an ldi w, 0xff out DDRC, w ; PortC als Ausgang ldi r17, 0b11000111 ; Einstellungen und Start für ADC out ADCSRA, r17 ; ADC einstellen ldi r17, 0b01100000 ; Referenzspannung Vcc einstellen ;.... ;.... ;------------------------------------------------------ ; HAUPTSCHLEIFE ;------------------------------------------------------ start: test: sbic ADCSRA,6 ;warten bis ADC fertig rjmp test ; immer wiederholen in r18,adcl ;ADC Ergebnis speichern in r19,adch rjmp start ;------------------------------------------------------ ; ENDE ;------------------------------------------------------ Ende: rjmp Ende![]()
oder gibts für die tastenabfrage irgendwo sowas wie eine musterlösung an die ich mir orientieren könnte?
viele grüße
manu







Zitieren

Lesezeichen