Hallo mcflay,
ich habe mir schon das Datenblatt x-mal durch gelesen aber ich kapiere nicht was die von mir wollen.
Gibts kein Tutorial in Assembler wo ich mir sowas anschauen kann
und wo das auch so geschrieben wird das man es versteht.
da hat oldmax im FAQ-Bereich mal was geschrieben ...
Keine Angst vor Assembler
ist ne ganze Menge Text aber evtl hilft es schon etwas weiter.
Genau so hatte ich mir das Gedacht,
es geht mir nicht darum den Tankinhalt runter zu zählen,
sonder das ich optisch ne kontrolle des Durchflusses habe.
Da der Durchflußmesser ja ähnlich wie ein Drehzalgeber funst,
hatte ich die Hoffnung da was zu finden wie sowas gemacht wird,
aber die meisten sind in C oder Bascom geschrieben
und da ich gerade erst in Assembler einsteige ist mir das umwandeln noch etwas heavy.
Also ne Art "Drehzahlmesser" für den Durchflußsensor ist eigentlich ein
kleineres Problem. Das macht man mit nem Timer. Die Ausgabe auf ner
LED-Kette wird bei nem Tiny25/45/85 aber wegen der wenigen Pins wieder
mit zusätzlicher Programmierung zu tun haben. Da ist nen etwas größerer
Controller mit mehr Pins für Anfänger evtl besser geeignet sonst mußt du
die LEDs an ein Schieberegister (74595) anschließen und die Daten über
Bitgezappel an den Pins rausbefördern.
Zu BASCOM, C, Assembler ...
Assembler verfolgt eine ganz andere Philosophie wie bei einer Hochsprache.
Direkte Umsetzung der Programme geht zwar meißtens, kann aber bei speziellen
Konstrukten im Programm recht schnell gegen die Wand rennen. Ist also nicht
so einfach wie man sich das am Anfang vorstellt. Eine reine Entwicklung in
Assembler ist dagegen auch nicht schwieriger als in einer Hochsprache.
Hat er nicht
Hätte jetzt meinen Hintern verwetten können das im Datenblatt was darüber stand. Oder ist das wieder zu allgemein gehalten da ja auch der 45 und 85 darinne mit aufgeführt werden?
Laut der Datenbank hier im Forum hat er ADC-Eingänge.
Und laut Datenblatt ...
• Peripheral Features
– 8-bit Timer/Counter with Prescaler and Two PWM Channels
– 8-bit High Speed Timer/Counter with Separate Prescaler
• 2 High Frequency PWM Outputs with Separate Output Compare Registers
• Programmable Dead Time Generator
– USI – Universal Serial Interface with Start Condition Detector
– 10-bit ADC
• 4 Single Ended Channels
• 2 Differential ADC Channel Pairs with Programmable Gain (1x, 20x)
• Temperature Measurement
– Programmable Watchdog Timer with Separate On-chip Oscillator
– On-chip Analog Comparator
würde ich mal sagen auch
Aber wofür brauchst man den bei der Anwendung ?
Das größere Problem ist das er keinen 16Bit-Timer/Counter hat. Der würde
nämlich bei dieser Anwendung die Software entlasten. Geht zwar auch mit
8Bit aber dann hat man mehr Interrupts durch Timer-Überläufe die man
aufsummieren muß um auf seine 16Bit oder mehr zu kommen.
Ich würde das mit dem Timer1 und dem ICP (InputCapturePin) machen.
Schau mal im Projekte-Bereich. Da hab ich letztens nen Drehzahlmesser
gebaut. Ist zwar in Bascom und mit 7Segment aber das Prinzip ist das
selbe.
Sieh dir auch mal den Tiny44/84 an. Der hat nen 16Bit-Timer/Counter und
etwas mehr Pins. Der Tiny2313 hätte genausoviel Flash wie der Tiny25
aber auch ne Menge mehr Pins und nen 16Bit-Timer/Counter. Das entlastet
dann wieder die Software und läßt sich einfacher programmieren. Ich benutze
den Tiny2313 eigentlich recht gerne. Er hat für Bascom allerdings schon recht
wenig Flash drin. Allerdings gibt es neuerdings anscheinend von Atmel auch
nen Tiny4313
nur wo gibts den
Aber in Assembler ist der Tiny2313
recht gut geeignet. Bis man 2k in Assembler voll hat kann man schon ganz
gut tippen
Für Anfänger am besten geeignet und universell einsetzbar ist eigentlich der
Mega8. Der hat genug Flash, SRAM, IO-Pins, Timer/Counter, ADC, ... usw.
Da kann man sich dann richtig austoben
Gruß
Dino