Forum: Mikrocontroller und Digitale Elektronik Suche Programmierer für kleines Assembler-Programm


von Felix B. (felix0356)


Lesenswert?

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

von Max H. (hartl192)


Lesenswert?

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
von Peter D. (peda)


Lesenswert?

Gibt es in PARSIC nichtmal Bauklötzchen zum Schreiben und Lesen von 
IO-Bytes bzw. Bits?

von Felix B. (felix0356)


Lesenswert?

Nein - die gibt es leider nicht...

LG Felix

von X4U (Gast)


Lesenswert?

Felix B. schrieb:
> Ich verwende PARSIC 4

Da steht aber im Handbuch unter 3.4  das man einen ADC mit 16 Bit 
einlesen kann.

von Felix B. (felix0356)


Lesenswert?

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

von X4U (Gast)


Lesenswert?

Willst du eine externe Referenz nutzen?

von Felix (Gast)


Lesenswert?

Ja ich mõchte eine LM4040 mit 4096mV verwenden
Liebe Grüsse
Felix

von X4U (Gast)


Lesenswert?

Dafür wird im config Register auf externe Referenz umgestellt. Aber 
woher weißt du das dein "Malprogramm" das nicht wieder zurücksetzt?

von Felix (Gast)


Lesenswert?

Das weiss ich nicht...
Liebe Grüsse
Felix

von Jim M. (turboj)


Lesenswert?

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.

von Phan Tom (Gast)


Lesenswert?

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.

von X4U (Gast)


Lesenswert?

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.

von Felix B. (felix0356)


Lesenswert?

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

von Max H. (hartl192)


Lesenswert?

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.

von Felix B. (felix0356)


Lesenswert?

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

von Cyblord -. (cyblord)


Lesenswert?

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?

von Felix B. (felix0356)


Lesenswert?

Hi Cyblord,

wenn Du nichts zur Sache zu sagen hast und nur stänkern willst - halt 
Dich raus!

Felix

von Cyblord -. (cyblord)


Lesenswert?

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
von Felix B. (felix0356)


Lesenswert?

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

von Thilo L. (bc107)


Lesenswert?

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.

von Cyblord -. (cyblord)


Lesenswert?

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?

von Felix B. (felix0356)


Lesenswert?

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

von S. K. (hauspapa)


Lesenswert?

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

von Felix B. (felix0356)


Lesenswert?

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
Noch kein Account? Hier anmelden.