PIC-Microcontroller

Elektronik u. Mikrocontroller => Projekte und Eigenbau => Thema gestartet von: picass in 02.03.2022, 17:47:28 CET

Titel: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 02.03.2022, 17:47:28 CET
Schon wieder ein Steuer-PIC, mag der eine oder andere Foren-User denken, da haben wir doch schon so Etliches im Angebot. Schließlich gibt es hier Entwicklungsboards mit teils vielfältigen Ausbaumöglichkeiten.
Nix, mir schwebt das Gegenteil vor: eine recht niedliche Platine mit einem physikalisch kleinen PIC, auf der nur noch wenige Bauteile mehr sind. Anlass für diesen Gedanken ist eine Platine, nein, es sind zwei, welche die Steuerung für einen Garagentorantrieb enthalten und die z.Z. zur Rep auf meinem Werktisch liegen. Die zweite Platine enthält von mir erstellte zusätzliche Funktionen und u.a. auch da haperte es gerade. Das Hapern ist fast überwunden, aber gut finde ich das Gemengelage dennoch nicht.
Da gelangen zwei Signale auf diese Platine, letztlich soll ein Last-Relais angesteuert werden. Dazwischen sitzt ein guter, alter LM555 und ein OR-Glied und nun sollte möglichst noch ein Flip-Flop dazu kommen. Der Drahtverhau würde wachsen und die Servicefreundlichkeit wäre verschütt.

Also der Gedanke, stattdessen ein PIC und weil ich kaum der Erste bin, der Logik-ICs durch µC ersetzen will, stelle ich das mal hier rein, dazu Fragen und eine Anregung. Wir hatten hier schon mal den Fall, dass für die Ausgestaltung – da ging es um ein Entwicklungsboard – um Vorschläge, bzw. Anregungen gebeten wurde. So auch hier: wer Vorstellungen hat, was da alles auf so'nem Board drauf sein sollte oder auch gerade nicht, der bringe seine Vorstellungen bitte ein. In ca. 2 Wochen werde ich eine Platine erstellen lassen, wobei: da die sehr niedlich ausfallen wird und mehrere zusammengefasst werden könnten, dürfen es auch zwei Versionen werden.

Die Fragen: zuerst nach dem PIC. Welchen Aktuellen könnte man nehmen?
Er soll halt klein sein. Bislang hatte ich noch nichts ,,Kleineres" als einen 16F84, mein aktueller Favorit ist immer noch der PIC18F14K22. Wenn nichts anderes passiert, nehme ich halt den in der SOIC-Version. Nur bräuchte der Anvisierte nicht mehr als 3 oder 4 Ports. Ein Kleinerer sollte aber einen ähnlichen Befehlssatz haben und möglichst aktuell sein.

Evtl. hat ja jemand auch ein fertiges Modell, rsp. fertigen Entwurf. Über Anregungen würde ich mich freuen. Ist klar, im einfachsten Fall nehme ich eine von meinen Platinen und lasse möglichst viel weg. Aber mal sehen, ob es von euch was gibt.
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: Peter in 02.03.2022, 20:38:23 CET
Hallo
Klein ist immer rellativ. Wenn du nur 3 bis 4 Ports verwenden willst,
dann kann man einen PIC 12F1840 nehmen. Da der einen weiten Spannungsbereich hat
könnte man ihn auch mit Battterie betreiben. Wenn du nicht viel drauf machen willst,
dann wird meistens ein Steckbrett genommen. Ist schnell aufgebaut und man kann es
ändern wie man will. Ob sich dann eine kleine Platine lohnt weis ich nicht so recht.
Kommt auch drauf an, an welche Zielgruppe soll sich die Platine richten ?
Wenn an Kinder dann möglich viel blinky blinky drauf an andere Personen dann eben
LCD oder GLCD drauf machen.Ob Bootloader noch sinnvoll ist muss man dann entscheiden.
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 03.03.2022, 10:21:49 CET
Hallo Peter!
Danke für den Tip auf den PIC12F1840! Die Bestellung von einigen Exemplaren - sowohl als DIP8 wie auch als SO8 - ist raus, bei Reichelt waren die vorrätig. Bei den meisten anderen Großhändlern war das nicht der Fall und bei Google gabs noch eine besonders reizende Überraschung, siehe Bild. In der ersten Sekunde dachte ich, der bekannte Liefermangel und das Putin-Verbrechen hätten arge Dellen in den Markt geschlagen: Fake news bei G!

Die Zielgruppe bin - pardon - erst mal ich. Da es sich nicht um eine sensationelle Neuentwicklung handeln wird, sondern schlichtweg - wie beschrieben - um lediglich eine minimalistische Board-Version, erwarte ich gar kein Interesse anderer, aber man weiß ja nicht?!
Steckbrett: klar, zum Austesten von z.B. äußerer Beschaltung ist sowas klasse. Für meine geplante Anwendung kommt allerdings nur eine Platine zum Einsatz. Hoffe, dass es bei Aisler möglich ist, einen eher winzigen Platinenentwurf mehrfach auf einer z.B. Europlatine unterbringen zu können, die dann später passend zersägt wird. Mal sehen, was da geht.
Grüße, Bernd
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: Peter in 03.03.2022, 11:36:00 CET
Kommt wohl bei AISLER drauf an wie groß die Platine ist, ob die die auf
eine Platine machen, um sie dann zu trennen. Hatte mal eine Platine die war 3x2cm und
davon dann 5 Stück. Die haben sie auf einen Layer gemacht und ich konnte sie dann ausschneiden.
Die fräßen dann um die Platinen rum und lassen einen Steck stehen.
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 04.03.2022, 18:45:00 CET
Das wäre natürlich super, wenn es denn so ginge.
Anbei ein erster Entwurf für Schaltung und Platine. Weil mir das Integrieren von externen Schaltplansymbolen via diesen vercryptisierten Einfügungs-Progs selten gelingen will, habe ich anstelle des Symbols für den avisierten PIC12F1840 so'n anderes, aber pin-gleiches Vorhandenes genommen. Das Reichelt-Paket ist unterwegs, mal sehen.... Falls jemand Anregungen zum Schaltungsentwurf hat, bitte sehr.
Grüße, Bernd
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 05.03.2022, 18:15:01 CET
Schwitz....! Jetzt glaubte ich, fertig mit dem Entwurf zu sein, bin das auch, komme aber nicht weiter. Der fertige Entwurf sieht eine Platine mit den Maßen 1,9 x 3,9 Zentimetern vor. Von diesen wollte mehrere - so ca. 6 - Versionen auf eine größere Platine schieben, sodass dann am Ende eine bestellt, angefertigt und nach der Zusendung von mir dann in die ursprüngliche Größe zersägt wird. Aber wie kopiert man sein fertiges Miniprodukt in Eagle derart?
Oder ist es sinnvoller, auf dieses Zusammenschieben zu verzichten und dann bei Aisler 2 mal je 3 von diesen Winzig-Dingern zu bestellen?
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: Peter in 06.03.2022, 12:12:59 CET
Wenn du die 6 mal bestellst, dann machen die das sowieso auf eine
Platine und du musst es noch ausschneiden. Aber da am besten mal nachfragen
wie sie es handhaben. Wie oben schon geschrieben war es bei mir so.
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: Peter in 06.03.2022, 12:40:46 CET
Aber bestell doch 6 einzelne und dann biste immer auf der sicheren Seite.
Entweder kommen 6 einzelne Platinen und brauchst nichts mehr zu tun oder sie machen
es auf einer Platine dann musst du halt noch sägen.
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 06.03.2022, 17:26:25 CET
Kurz nach meiner obigen Anfrage habe ich's schlicht ausprobiert und bei Aisler zu dieser Miniplatine die Preise angefragt. Gucke da, für gesamt 9 Stück und bei schnellster Anfertigung incl. Porto sollte das 20 € kosten. Da hab' ich nicht mehr überlegt und zugeschlagen. Allein die Vorstellung verursachte mir gruseln, das Zerschneiden selbst ausführen zu müssen, etwa mit so'ner Riesen-Stichsäge oder einer wackligen Japan-Säge. Da fehlt mir einfach eine entsprechend niedliche und dennoch präzise Schneidvorrichtung.
Die bestellte Version hat mit der ersten, oben gezeigten Platine nur Ähnlichkeiten, Alles wurde mehrfach umgekrempelt. Hatte ich z.B. einfach mal zwei Ports auf Verdacht mit Ausgangs-Transistoren versehen, machte das später hinzu gezogene Datenblatt darauf aufmerksam, dass es da einen Input-only gibt, und is klar, den hatte ich erwischt! Kaum zu glauben, was man selbst in solche Minimal-Version alles investieren kann. Auch an Lötstützpunkte für späteres Programmieren in der Schaltung wurde gedacht, auch an eine Art Schalter dafür, um das Versorgungs-IC nicht zu himmeln beim Programmieren. Das Einzige, was mir am Ende nicht gefiehl, war der unpassend große Elko. Alles winzig, der nicht oder halt wenig, obwohl er als SMD-Elko geführt wird.
Grüße, Bernd
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 08.03.2022, 17:33:22 CET
Es gibt eine schlechte und eine gute Nachricht, die schlechte zuerst:
Die Arbeit an der o.g. Ministeuerplatine verschiebe ich auf eine gaaaanz lange Bank, obwohl die Platine bestellt und die PICs schon hier eingetroffen sind. Beim ersten Anlauf für ein Programm wurde ich seitens des Debuggers von einer Flut an Meckermeldungen überschwemmt. Da erst wurde mir klar, dass der PIC12F1840 wohl doch kein Vertreter der von mir als modern angesehen Art darstellt, sondern noch zur Zeitgeschichte etwa des PIC16F84 zählt. Sowohl die config settings sind inzwischen wieder ein Buch mit mehreren Siegeln geworden, das händische Eintragen der Werte aus dem Datenblatt brachte da keinen Durchbruch, als auch zahllose Assemblerbefehle, rsp. Ausdrücke sind "alt" und vergessen, nicht mal der PORTB ist bekannt und bei den Literal Operanden werden sogar die Kommas angemeckert.
Echt jetzt, die Einarbeitung ist möglich, wird mir aber zuviel.

Die gute Nachricht: ich habe mich wieder an den von mir geschätzten PIC18F14K22 erinnert. Dann habe ich kurzerhand aus der Miniplatine den 8-pinnigen PIC durch den 18-Pinnigen ersetzt, und weil der in der SO-Version ja auch recht niedlich ist, passt der ohne Probs auf die Platine. Dann sind halt die meisten Ports unbenutzt, aber egal.... Witz bei der Geschichte: beim Platz-Schaffen für den größeren PIC habe ich mal wieder fast sämtliche Bauteile neu plaziert und so ist die neue Platine sogar noch etwas kleiner als die vorige ausgefallen. Die Bestellung der neuen P ist auch raus, nun gilt es wieder zu warten. Aber wenigstens muss ich mich nicht mehr mit dem Debugger rum ärgern und kann auf eigene, vorhandene und funktionierende Progs zugreifen.
Grüße, picas
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: Peter in 08.03.2022, 18:02:28 CET
Welcher 8Pin Mikrocontroller hat einen PortB ?
Die gibt es nur mit PortA. Und welcher 8Pin Controller
hat das LAT Register ?
Also so alt kann er auch nicht sein.
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: vloki in 08.03.2022, 20:36:01 CET
Zitat von: picass in 08.03.2022, 17:33:22 CETDa erst wurde mir klar, dass der PIC12F1840 wohl doch kein Vertreter der von mir als modern angesehen Art darstellt, sondern noch zur Zeitgeschichte etwa des PIC16F84 zählt
Du irrst ;)
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 09.03.2022, 10:10:55 CET
Ein Teil der Meckermeldungen entstand zwecks meines "ökonomischen" Hantierens beim ersten Einarbeiten in ein "neues" Programm. Da beginne ich nicht komplett von vorne mit leerer Seite, sondern lade in das neue Projekt erst mal ein vorhandenes Prog. Das wird dann umgestellt, gekürzt, halt umgearbeitet. So kam in das für den 8-Pinner vorgesehene "neue" Prog erst das des 18-Pinners rein und dem Debugger gefiehl das wohl nicht.

Sollte der Befehlssatz des PIC12F1840 doch gleich mit dem des PIC18F14K22 sein, so wäre ich der Erste, der sich über einen möglichen Irrtum freuen würde. Werde ich heute Nachmittag mal prüfen, was bislang nicht passiert war.
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: vloki in 09.03.2022, 14:10:47 CET
Na ja, der 12F1840 ist zwar neuer als der 18F14K22 gehört aber zu einer "niedrigeren" Familie und hat so auch einen kleineren Befehlssatz.

Früher hat man die 8Bit PICs in Baseline (PIC10/12/16 mit 12Bit Befehlssatz), Midrange  (PIC10/12/16 mit 14Bit BS) und Advanced  (PIC18, 16Bit BS) Familien eingeteilt,
die einen unterschiedlichen Umfang an Befehlen haben. Diese Einteilung findet man inzwischen auf den MCHP Seiten so nicht mehr.

Der 12F1840 gehört zur "Enhanced" Midrange Familie, die z.B. LAT Register wie die PICs der Advanced Familie hat
und auch mehr Befehle als die alten Midrange wie z.B. der 16F84.
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 10.03.2022, 11:13:35 CET
Jetzt also wissen wir, warum es mit dem vermeintlich stone-alten Zwölfer-PIC nicht klappen wollte: solche feinen Unterschiede wie Midrange früher und heute, dann noch Diversifikationen....., das ist für einen einfachen Mann des Volkes wie mich kaum mehr zu durchschauen. ???
Eure Hinweise - teils auch (berechtigt) ironisch wie:"...welcher 8-Pinner hat schon PortB?...", haben mir neuen Mut eingeflößt, und so habe ich gestern meine Aktenordner mit weiterem Papier gefüllt, also noch mehr Seiten aus den Data-Büchern zugefügt, und heute gerade eben die MPLAB IDE mit dem fehler-strotzenden ersten Versuchsprog für den PIC12F1840 angeworfen. Is klar....PORTB raus, Operanden entfernt, die Timer-Steuerung wegen Komplett-Änderung erst mal außer Gefecht gesetzt, und dann die für mich unübersichtlichen Config-Settings angegangen. Is auch klar... wieder neuen Papierberg generiert, dann Versuch des Vergleiches des Settings mit dem des PIC18F14K22, dann mal einfach mutig unter dem Reiter "Production" die Config-Settings angeklickert, dort durch geklickert, die alten CS rausgeworfen und dann beschlug es mir die Lesebrille: keine einzige Meckermeldung mehr, stattdessen "Grünes". Der Debugger zeigt grün! :o

Ob das Prog tatsächlich auf einem realen PIC so laufen würde, kann natürlich eine gänzlich andere Frage sein, aber immerhinque...! Es wird aber noch Aufwand geben werden, da sind viele Register gänzlich anders aufgebaut, z.B. bei der Timer-Einrichtung. Na ja, in hatten Fällen muss wieder auf die Hello-World-Ebene zurück geschaltet werden.
Aisler schickte gestern die Meldung, dass die Platinen für diesen Zwölfer-PIC auf dem Weg seien, sobald die da sind, werden wir mehr wissen. Ach ja, danke fürs Mut-Machen.
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 10.03.2022, 15:36:21 CET
Is ebenso klar: Die Freude war verfrüht!
Da erinnerte ich mich daran, den Zwölfer-PIC auch in der DIL-Version bestellt zu haben, und wollte einem Exemplar rasch das Blinken beibringen, aber nun hat der Debugger das Meckern wiederbelebt: das vermaledeite Configuration Word ! >:(
Die o.g. Einstellmethode war ja ganz nett, aber weder wird eine solche Einstellung direkt ins Programm übernommen, noch in den PIC. Also muss das wieder ins Prog geschrieben werden, und nun nimmt er die Schreibweise nicht.
Die Verwendete findet sich in der Anlage, zuerst die für den PIC12F1480, dadrunter als Beispiel für eine Passende die als Kommentar aufgeführte für den PIC18F14K22.

Die Einstellungen für den Zwölfer müssten passen, nur die Schreibweise wohl nicht.
Hilfe tut mal wieder not.
Grüße, picass

;motoren ansteuern
;zum schlafen
;------------------------
#include <p12F1840.inc>
    ;config settings ; hier die Neuen für den 12F1480
   
    ;config1:

    CONFIG FOSC = LP, WDTE = OFF, PWRTE = OFF, MCLRE = OFF, CP = OFF, CPD = OFF
    CONFIG BOREN = OFF, CLKOUTEN = OFF, IESO = OFF, FCMEN = OFF
   
    ;config2:
    CONFIG WRT = OFF, PLLEN = ON, STVREN = OFF, BORV = LO, DEBUG = 1, LVP = OFF
   
   
    ; hier die Alten für den PIC18F14K22
    ;CONFIG IESO = OFF, PLLEN = OFF, FOSC = IRC, FCMEN = OFF, PCLKEN = OFF
    ;CONFIG BOREN = SBORDIS, BORV = 19, PWRTEN = OFF, WDTEN = OFF
    ;CONFIG MCLRE = OFF, HFOFST = OFF, DEBUG = OFF, STVREN = ON
    ;CONFIG XINST = OFF, BBSIZ = OFF, LVP = OFF
    ;CONFIG CP0 = OFF, CP1 = OFF
    ;CONFIG CPD = OFF, CPB = OFF
    ;CONFIG WRT0 = OFF, WRT1 = OFF
    ;CONFIG WRTB = OFF, WRTC = OFF, WRTD = OFF
    ;CONFIG EBTR0 = OFF, EBTR1 = OFF
    ;CONFIG EBTRB = OFF

    errorlevel -302             ;surpress the 'not in bank0' warning

GPR_VAR         UDATA   
dat             RES   1    ;orig-eingabe über bus o taste
rupi            RES   1    ;ports einlesen
zwisch          RES   1
zaehler         RES   1
counta          RES   1 ;äußere schleife
counti          RES   1 ;innere    "
roll            RES   1
merker          RES   1
;--------------------------------
     Org    0x0000   
     bra    START
     Org    0x0008      ;vector für high priority irq
     bra    ruptus   
     
START:                  ;Setup main init
                        ;
     movlw  b'00000010' ;set cpu clock speed of 31KHz !!!!!!
    --------

ADMIN: Wenn du oben in der Leiste beim schreiben auf CODE gehst dann wird er so eingefügt wie
hier zu sehen ist. Damit braucht man ihn nicht runter zu laden und ist direkt lesbar.
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 10.03.2022, 15:51:52 CET
Hier noch als Nachtrag ein im Inet gefundenes Config-Word für den PIC12F1840 in "C", siehe PDF als Anhang.
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 10.03.2022, 16:57:07 CET
Hab's gerade rausgefunden! Ist erschütternd einfach, zumindest, wenn man aus dem Rathaus wieder raus ist! Wie oben schon mal beschrieben gibt es in der MPLAB IDE oben einen Reiter "Production". In der aufklappenden Spalte runter auf "Config-Settings", und in dem entsprechend neuen Fenster (nF-S) diese Settings angeklickert, falls von den Voreinstellungen abgewichen werden soll. Dann schien es nicht weiter zu gehen, weil es nicht im Editor des ASM-Files (des Programms) erschien. Dabei war im nF-S in der linken Spalte unten ein Button "in den Editor übernehmen". Dadrauf clickern und schon stand der passend formatierte Text im Programm. Dem Debugger gefiehl das und er schaltete wieder auf "Grün". Na gut, jetzt hab' ich noch was zu meckern: das Config1-Wort ist derart lang, dass es nicht in die voreigestellte Breite der Layout-Seite passt. Die Abkürzung, rsp. Verteilung auf zwei Spalten ist noch nicht geregelt, aber zumindest kann es erst mal weitergehen. Danke für eventl. Bemühungen, das debug-freundliche Config-Word ist im Anhang zu bewundern.
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: vloki in 11.03.2022, 09:15:52 CET
Nett, dass die Config Bits auch über das Menü Production erreichbar sind und nicht nur über
Window->Target Memory Views wusste ich gar nicht.

Auch den Insert Knopf links habe ich noch nie bemerkt und immer den fetten
"Generate Source Code to Output" unten benutzt ;-)

Der Interrupt Vector liegt übrigens auf 0x0004 und nicht auf 0x0008 wie bei den PIC18.

Kommt da keine Warnung, wenn man ORG anstelle von CODE verwendet, oder hast du
in den Projekt Properties unter "mpasm (Global Options) den Haken "Build in absolute mode" gesetzt?
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 11.03.2022, 09:55:02 CET
Die nächste Debug-Front ist eröffnet: Mit ein und derselben Programmier-Umgebung und demselben Prog: am Port B - oder war es doch A ? ;D - Pinne 0 und 1 sollen je die LEDs blinken - und derselben Platine mit meinem Lieblingswort "PICkit Low Pin Count Demo" blinkert es beim PIC18F14K22, nicht jedoch bei seinem kleineren Brüderchen. Der Debugger hält die Füße still, nix Warnung, aber auch keine solche genannte Einstellung. Jetzt hebt wieder das an, was ich vermeiden wollte: stundenlange Grundlagenforschung. :(
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: vloki in 11.03.2022, 12:41:24 CET
Dir ist wohl nicht klar, dass die Pins A0,1,3 nicht verfügbar sind,
solange die IDE sie als ICSPDAT, ICSPCLK und Vpp verwendet ;-)

(Im endgültigen Programm dann natürlich schon - also wenn das PICkit dann weg ist)
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 11.03.2022, 13:25:14 CET
Nur 'ne ganz kurze Zwischenmeldung: der PIC12F1840 hat seine Arbeit aufgenommen! Noch nicht ganz wie erwartet, aber immerhinque! Der "Rest" müsste zu schaffen sein! Und gettz kommt was voll Schäbbiges: die Aufklärung gibt es - aus Zeitgründen - erst später!
 :)  ;)  ;D
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 11.03.2022, 17:08:27 CET
Der ,,Zwölfer" picct! :)
Zwar zu schnell, statt wie sein größerer Pendant mit ca. 0,5 sec Periodendauer jetzt mit 80 Herz, aber lass ma....
Bei der vormittags angekündigten Grundlagenforschung blieb keine Zeile des Micro-Programms nicht erforscht, die Datenblätter rauschten. Dann Komplett-Überarbeitung des Progs, allein, es half nichts, auch nicht die Änderung der Port-Nutzung: anstelle von A0 und A1 nun nur eine LED an A2. Die leuchtete zwar sofort los, was auch zu erwarten war,  denn bei Messungen vorher führte dieser Port im Gegensatz zu allen anderen eine ,,1", aber halt konstant, nix Blinken.
Dann als letztes Mittel etwas, das mir als irgendwie unsinnig erschien, und das brachte die Mutter aller Fehler/Irrtümer beim Assembler-Programmieren ins Licht: die Port-Initialisierung!
Vor JEDEM Befehl, der mit dem Port was zu tun haben könnte, stand in dem Exambel des Microchip-Datenblattes das Wörtchen ,,BANKSEL" ! Das also stumpf abgetippt, und schon ging das Piccen los! Da war es wieder, was ich anfangs mit meinem Wunsch nach ,,modern" vermeiden wollte, das zumindest für mich nicht durchsichtige Hantieren mit der Banken-Auswahl!

Ich lass das Abgetippte jetzt einfach mal so im Prog stehen, weil ich mich aufs Freuen konzentrieren möchte. Die zu hohe Geschwindigkeit werde ich ihm noch abgewöhnen, aber danach kann es an die praktische Nutzung gehen.
Und wenn man schon mal Glück hat, kommt noch weiteres hinzu: Aisler hat heute geliefert und die exakt passenden Platinchen – siehe Foto – sind zum exakt passenden Zeitpunkt eingetroffen. Es fehlt nur so'n Mini-Elko, aber das wird schon, sonst kommt da anfangs ein Tantal rein.
Bin jetzt erst mal im Stand des Glücklichen, weil das angepeilte Ziel doch erreicht werden kann. Mit diesem Kleinen habe ich viel vor, die erste Anwendung – der Ersatz von Logik-ICs – wartet schon.

Vloki, so wie du das darstellst, war mir nichts klar. Nach meiner Praxis beginnt der jeweils in der Fassung des PICkit Low Demo Boards steckende Programmierling sofort mit seiner Arbeit, sobald der Debugger die Daten via den PICkit 3-Progadapter übertragen hat. Sobald das Geblinker seiner vielen LEDs aufhört und letztlich die Status-LED noch leicht grün blinkt, legt der PIC mit seiner Abarbeitung los. War auch gestern beim PIC18F14K22 und seiner Portbelegung mit A0 und A1 der Fall. Der Durchbruch heute kam, als zuletzt als einzige Änderung die Port-Initialisierung abgetippt wurde. Da fiel mir nach der ersten Sekunde der Enttäuschung, weil wieder nur die LED leuchtete, auf, dass diese weniger hell leuchtete als vorher, und da  fiel der Groschen: den Oszi ran geschaltet, aber schon vorher war klar, dass die LED sehr schnell blinkte.
Danke für den Beistand, nu' kann endlich die ,,normale" Arbeit beginnen.
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: Volker in 11.03.2022, 17:17:45 CET
Beim 14k22 kannst du A0 im Debugmode blinken lassen?
Bzw. geht das auch beim 1820, wenn du wirklich im DEBUG bist?
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: PICkel in 11.03.2022, 18:19:19 CET
Zitatdas Wörtchen ,,BANKSEL"

Hallo picass,
beim 16F84 konnte mit den Befehlen der gesamte kleine Adressraum angesprochen werden.
PICs mit mehr Speicher und 14-Bit Befehlen haben einen in 2k-Bänke segmentierten Speicher, der mittels BANK SEL(ection) adressiert werden muss.
Die PIC18 (16-Bit- Befehle) haben einen linear adressierbaren Speicher und benötigen diesen Befehl nicht.
Deshalb brauchtest Du beim 16F84 und brauchst beim 18F... diesen Befehl nicht.

GuggsDu bitte auch bei Sprut: https://www.sprut.de/electronic/pic/grund/adress.htm

MfG
Johannes (alias PICkel)



Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 12.03.2022, 12:19:10 CET
Möglicherweise habe ich mich zwecks des Blinkens im Debug-Modus nicht korrekt formuliert. Deshalb gebe ich mir jetzt mehr Mühe und bebilder das auch. Wenn ich ein Prog geschrieben habe, dann werfe ich den Schalter 1 an, den "Hammer und Besen" = clean and build projekt. Wenn das dann grünes Licht gegeben hat, dann betätige ich Schalter zwei: make and program device. Dann beginnen die "Active" und "Status"-LEDs im PICkit 3-Programmer zu blinken, ein Warnhinweis erscheint, dass man doch bitte beachten möge, dass es die PICs in 3,3 V und in 5 V Versionen gibt, nach dessen Bestätigung (o.k.) blinkert es wieder, dann leuchtet die Status-LED grün, zuckt nur leicht dabei und der PIC in der Fassung tut dann das, war er für richtig hält, und zwar sofort. Externe Power ist aber nötig.

Das Bild zeigt den nunmehr auch still vor sich hin plinkernden Zwölfer, jetzt auch mit 0,5 Hz. Es war auch in diesem Fall wie bei der vorher nicht korrekten Initialisierung des Port's B, ähm, doch A: auch vor dem Befüllen des OSCCON-Register im Programm muss das Wörtchen "banksel OSCCON" voran gestellt werden, sonst wird das O-Reg, bzw. das Befüllen ignoriert. Und weil dieses O-Reg für die Takt-Einstellung verantwortlich zeichnet, hört der PIC erst dann auf den gewünschten Takt.
Was ein Spass, dauernd vor alle möglichen Befehle so'ne Voranstellung auszuführen. Spricht nicht dafür, dass die MPLAB-Umgebung so clever ist, das selbst zu merken..... sag' ich mal so als "Verbraucher".
Mit dem Bänkewechseln muss ich mich mal heute Nachmittag beschäftigen.... falls meine Frau mich lässt. Die möchte mich nicht bei Sprut, sondern im Garten am Rackern sehen! :(
Grüße, Bernd
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 17.01.2023, 12:21:36 CET
Nachdem das Timern des PIC12F1840 nun auch möglich wurde, ist die niedliche Platine für Steuerzwecke nochmal überarbeitet worden. Hauptsächlich wurde sie nun wirklich von allem, was nicht existentiell war, befreit und ist damit wirklich winzig geworden. Aber genau das war das Ziel. Damit bekommen die Jungs und Mädels bei Aisler wieder etwas Arbeit, denn ein kleiner Vorrat kann nicht schaden.
Im Schaltbild ist leider immer noch das Symbol für den LDO-Regler falsch. Es ist aber nur das Symbol falsch, denn der echte SMD-Laderegler lässt sich auf der Platine korrekt in seine vorgegebenen Fußpunkte einlöten und die Schaltung funktioniert auf diesem Board bereits in mehreren Versionen. Mal sehen, ob sich das "richtige" Symbol nicht noch nachtragen lässt.
Grüße, picass
Titel: Aw: PIC – Microcontroller, Minimalversion für Steuerzwecke
Beitrag von: picass in 25.01.2023, 18:32:06 CET
Ein Ergebnis der Erstellung von kleinen Steuerplatinen: der PIC18F14K22 hat nun eine kleine, gelbe Sortier-Schachtel als Gehäuse spendiert bekommen. Müsste für die gesicherte Einsatzumgebung in warmen Keller aber reichen. Neben dem Gelb-PIC parkt das Netzteil. Für so was nutze ich gerne ehemalige Gehäuse von defekten PC-Netzteilen. Innen drin sind gleich zwei NTs installiert, eines für den PIC und ein zweites für die Soundschaltung, welche der Modelleisenbahn entnommen wurde (siehe Fred: Maulwurf-Bekämpfung). Beide benötigen unterschiedliche Spannungen, und damit möglichst keine gegenseitige Störung auftritt dann halt gleich 2 NTs. Der PIC erzeugt nun im dauernden Wechsel je eine Arbeitsphase von 10 min, gefolgt von einer Pause. Die erste ist 10 min lang, die zweite 20, die dritte dann 30 min.
Grüße picass