Hallo zusammen, ich suche jemanden, der mir ein kleines Assembler-Programm schreiben kann. Ich möchte eine Referenzspannung von 4,096V an einem PIC 16F886 verwenden, so dass eine Eingangsspannung von 4,096V an AN0 einen Wert von 1023 Bit ergibt. Ich verwende PARSIC 4 (grafische Programmieroberfläche) und hier wird keine Referenzspannung unterstützt - allerdings kann man mittels INCLUDE-Dateien Assemblerprogramme einbinden. http://www.parsicitalia.it/visual-parsic-compiler-fuer-picmicro.html Bitte keine Diskussion über den Sinn von grafischer Programmierung !!! Wer kann mir also ein kleines Programm schreiben und mich bei der Einbindung unterstützen? Die Mühe wäre mir EUR 50,- wert. Sollten noch Einzelheiten fehlen - bitte nachfragen... Liebe Grüße Felix P.S: Konkrete Angebote bitte per PN
Felix B. schrieb: > und hier wird > keine Referenzspannung unterstützt Der Rest der AD-Wandlung funktioniert? Wenn ja müsste man nur nach der Initialisierung das VCFG0 bit im ADCON1 Register setzten [1] und die 4096mV an den VREF+ Eingang anlegen. [1]
1 | BANKSEL ADCON1 |
2 | bsf ADCON1, VCFG0 |
:
Bearbeitet durch User
Gibt es in PARSIC nichtmal Bauklötzchen zum Schreiben und Lesen von IO-Bytes bzw. Bits?
Felix B. schrieb: > Ich verwende PARSIC 4 Da steht aber im Handbuch unter 3.4 das man einen ADC mit 16 Bit einlesen kann.
Hallo X4U, einen Analogwert einlesen stellt kein Problem dar (Referenz hier die Versorgungsspannung des PIC) Aber ich brauch es genauer - deshalb die 4096mV Referenz. Liebe Grüße Felix
Dafür wird im config Register auf externe Referenz umgestellt. Aber woher weißt du das dein "Malprogramm" das nicht wieder zurücksetzt?
Felix schrieb: > Das weiss ich nicht... Ähem, Du bist aber der einzige hier, der das überprüfen könnte. Zum Beispiel indem Du Dir ein Disassembly eines generierten Programms anschaust und mit der Registerbeschribung im Handbuch des µC vergleichst.
Jim Meba schrieb: > Zum Beispiel indem Du Dir ein Disassembly eines generierten Programms > anschaust und mit der Registerbeschribung im Handbuch des µC > vergleichst. Dafür müsste man sich erstmal von "Bildchenprogrammierung" lösen und wenigstens in Grundzügen verstehen, wie Assembler tickt. Das erfordert etwas mehr Wissen, als zu wissen, dass Include-Dateien mit Assembler eingebunden werden können.
Felix schrieb: > Das weiss ich nicht... > Liebe Grüsse > Felix Dann wird es schwierig. Nimm doch erstmal ne genaue 5V Referenz und versorge den Pic damit. Evtl. reicht es ja. Wunder kannst du von den internen A/D Wandlern so oder so nicht erwarten. Die laufen ja direkt auf einem noisy Chip. Zitat aus dem Datenblatt: TABLE 17-10: PIC16F883/884/886/887 A/D CONVERTER (ADC) CHARACTERISTICS AD02 EIL Integral Error — — ±1 LSb VREF = 5.12V AD03 EDL Differential Error — — ±1 LSb No missing codes to 10 bits AD04 EOFF Offset Error 0 +1.5 +3.0 LSb AD07 EGN Gain Error — — ±1 LSb Note 1: Total Absolute Error includes integral, differential, offset and gain errors. Zitat Ende. Wenn es genau sein soll ist ein externer A/D Pflicht. Egal ob Klötzchen schubsen oder n High Tech very Pro multiteuer C, C+++ oder wasweissich Compiler Mit externem SPI ist es am einfachsten und du kannst weiter malen.
Hallo zusammen, recht herzlichen Dank für all die Antworten! Ich habe mit meinen 60 Jahren allerdings keinerlei Ahnung vom Programmieren - disassembly, config register sind absolute Fremdwörter für mich. Ich entwickle "nur" analoge Sensoren. Die Idee den Prozessor mit einer hochgenauen Spannung zu versorgen war mein Plan B... Vielleicht gibt es ja noch jemanden, der schon einmal eine externe Referenz unter Parsic 4 verwendet hat? Liebe Grüße Felix
Wieso probierst du es nicht einfach aus? Wenn du diese Zeilen einbaust, wir der ADC auf externe Referenz umgestellt:
1 | BANKSEL ADCON1 |
2 | bsf ADCON1, VCFG0 |
Wenn er das dann auch bleibt wird das bit nicht wieder gelöscht.
Hallo Max, das werde ich auf jeden Fall noch ausprobieren - ich muss den PIC aber erst noch bestellen - werde Dir dann Nächste Woche Bescheid geben. Vielen Dank Felix
Felix B. schrieb: > Hallo Max, > > das werde ich auf jeden Fall noch ausprobieren - ich muss den PIC aber > erst noch bestellen - werde Dir dann Nächste Woche Bescheid geben. hahaha geile Reihenfolge. Erst alle mit dem blöden Parsic kirre machen und dann hast du noch nichtmal die Hardware liegen? Was geht eigentlich bei manchen Zeitgenossen so für ein Film ab?
Hi Cyblord, wenn Du nichts zur Sache zu sagen hast und nur stänkern willst - halt Dich raus! Felix
Felix B. schrieb: > Hi Cyblord, > > wenn Du nichts zur Sache zu sagen hast und nur stänkern willst - halt > Dich raus! Du solltest nicht derart ablehnend auf konstruktive Kritik reagieren. Du musst lernen, solche anzunehmen. Du musst zugeben, die Frage drängt sich auf, warum man ohne vor ab mal zu testen so einen Thread aufmacht und auch gleich mit Geld und Aufträgen droht.
:
Bearbeitet durch User
Hier geht es doch um Grundlegendes und dazu brauch ich erstmal keine Hardware! Ich habe eine Menge an PICs hier rumliegen - nur eben nicht den von mir ausgesuchten Typ. Gruß Felix
Cyblord ---- schrieb: > hahaha geile Reihenfolge. Erst alle mit dem blöden Parsic kirre machen > und dann hast du noch nichtmal die Hardware liegen? Was geht eigentlich > bei manchen Zeitgenossen so für ein Film ab? Sowas nennt man Design. Das kommt - bei ganz exotisch arbeitenden Typen (wie z.B. Leuten, die damit ihr Geld verdienen) - zeitlich tatsächlich weit vor der Anschaffung der Hardware. Alternativ hat sich die Vorgehensweise "Ich beschaff mir erstmal alles, an HW, was ich glaube zu benötigen, dann hacke ich 3 Nächte durch, und wenn's dann noch nicht läuft, gibt's ja Foren" weitgehend durchgesetzt. Hier kriegst Du dann von Anderen mehr oder weniger deutlich gesagt, dass Du Dir für Dein Projekt noch keinerlei Struktur überlegt hast. Und die zweite Art, etwas hinzukriegen, ist nur deshalb so populär, weil mittlerweile für wirklich jede noch so abgedrehte Idee garantiert im Netz einer zu finden ist, der's schonmal umgesetzt hat. Deswegen wird auch die Sache mit dem "Design" so nebensächlich abgetan.
Thilo L. schrieb: > Sowas nennt man Design. Das kommt - bei ganz exotisch arbeitenden Typen > (wie z.B. Leuten, die damit ihr Geld verdienen) - zeitlich tatsächlich > weit vor der Anschaffung der Hardware. Ja genau, oder bei Typen die Parsic verwenden. Lass stecken Bro. Er sucht ja kein allgemeines Konzept, sondern eine spezielle winzige Funktion. Da könnte man meinen alles andere geht bereits und jetzt hakt halt noch an diesem Detail der Referenzspannung. Aber wenn noch 0 steht, warum sich dann mit sowas aufhalten?
Hallo Cyblord, es hängt tatsächlich alles an der "speziellen winzigen" Funktion! Der Rest - Ausgabe auf einer 3-stelligen 7-Segment-Anzeige, Menüstruktur, Komparatoren, Verzögerungszeiten, etc. Alles schon mal gemacht - mit PARSIC ganz easy... Gruß Felix
Falls Deine Du noch einen Analogkanal mehr frei hast, danach noch ein bischen filterst und Deine Versorgung eine brauchbare Kurzzeitkonstanz hat, kannst Du auch eine Referenz per AD Wandler einlesen und daraus Korrekturfaktoren errechnen. Ist jetzt nicht super elegant aber aus anderen Gründen habe ich soetwas schon machen müssen und das funktioniert garnicht schlecht. viel Erfolg hauspapa
Hallo Hauspapa, pfiffige Idee... Liebe Grüße Felix
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.