Ja ist es aber selber legt man sich ja seinen Ablauf fest und wenn die Sachen schon mal funktioniert haben kann man sie auch als erstes hinschreiben bzw aktivieren...

> zu Punkt 4.1) Wie führe ich Messungen durch? Ich dachte diese geschieht indem ich ADC initialisiere?

das ist nur die Vorbereitung das der ADC eingestellt/aktiviert ist. Außer ich habe nur einen Messkanal dann kann man den Free Running Mode nutzen...

> ; ADC für eine Einzelwandlung starten
> Main:
> sbi ADCsRA, ADSC

da steht Einzelwandlung starten d.h. ADSC (StartConversion) aber nur bis die Wandlung fertig ist und wenn sie beendet ist bleib sie das auch.

Um immer wieder eine neue Messung zu starten, für nur EINEN Messkanal, wäre es Sinnvoll den FREE RUNNING MODE zu nutzen, wenn EINE Messung aber über die SingleConversion gemacht werden soll, dann muss das ADSC-Bit immer wieder neu gesetzt werden um die Wandlung anzustoßen.

Warum gibs das ?? Ganz einfach, es gibt nur ein ADC aber mehrere Messkanäle, die man nutzen möchte/könnte/will und die Umschaltung kann nur gemacht werden wenn kein Wandlung gestartet wurde/ist.

Hoffe das es soweit verständlich ist. Ab und an das Datenblatt nutzen, denn dort steht ne janze Menge drin....


> zu Punkt 4.2) Ist dies mit zahlenwerte wandeln gemeint?

mmhh überleg mal kannst du sofort auf dem LCD den Hex oder Bin oder Octawert richtig interpretieren???? Die meisten eher weniger, also nimmt man eine Zahlsystemwandlung, von xxSystem zum dezimalen System vor.


Hinweis um Quellcode zum posten, rechts unten mal auf erweitert klicken, dann kann auch Quellcode lesbarer eingestellt werden... UND GANZ WICHTIG immer den kompletten Code einstellen weil sonst keiner die Zusammenhänge erkennt, es ist ziemlich umständlich sonst zu lesen.... is ja keine Klatschpresse hier D....

Kurze Init als Hilfe... auf das Zeichen # klicken und dann den Text einfügen

Code:
;.device ATtiny26
;.nolist  <<<<kann man weg lassen
 .include "tn26def.inc"
;.list <<<<<kann man weg lassen

 ;Deklarationen

 .def   mp       =R16 ;allgemeine Register
 .def   adhigh  =R17 ;Ergebnis vom ADC Achtung der ADC HAT ADCH:ADCL-Register
 .def   mp1     =R18
 .def   mp2     =R19
 .def   mp3     =R20

 ;RS auf PA4
 ;E auf PA5
 ;PB4..PB5 auf PA1..PA2
 ;PB6..PB7 auf PA6..PA7

 .equ LCD_PORT=PORTA
 .equ LCD_DDR=PORTA
 .equ PIN_E=5
 .equ PIN_RS=4

 ;Stackpointer initialisiern

 ldi mp, RAMEND
 out SP, mp

racll      lcd_init          ;init
rcall      clear_lcd

rcall      adc_init

Loop:
;und hier steht dein Hauptprogramm
rjmp    loop
Frage: Wann hast du angefangen zu programmiern mit Assembler??