Jahreswechsel in Assembler für PIC’s ( ;-) )

OK, Clown gefrühstückt, für Insider, Jahreswechsel im Mikrocontroller:

 

 

 

 

    #define Y2016 PORTA,0
    #define Y2017 PORTA,1
    #define Y00Uhr PORTA,2

    bsf Y2016
 Year2016
    btfss Y00Uhr
    goto Year2016

    bcf Y2016
    bsf Y2017
    end

 

Ja ich weiß, blöder Gag! Musste jetzt sein :mrgreen:

 

 

 

 


Anzeige:

Elektronik? Bei Reichelt ;-)

Aktive Bauelemente

Relais

Messtechnik


 

Kleine LED-Spielerei mit RGB-Leuchtdioden

Kleine Elektronikübung am Rande ;-)

 

Das Video unten ist eigentlich eher eine Katastrophe, weder sind die Farben gut getroffen, noch ist beim realen Aufbau ein Flackern zu sehen, besser will es die Kamera auch mit Tricks nicht darstellen… Ich denke aber, um die Arbeitsweise zu illustrieren reicht’s doch. Ursprünglich wollte ich noch nicht einmal einen Blogbeitrag aus dem Ganzen machen, irgendwie ist’s aber nun doch einer geworden :-)

 

Man nehme:

1 x PIC 12F675

1 x RGB LED (OK, ich hab 3 parallel, mit jeweils eigenem Vorwiderstand)

Passende Vorwiderstände für die LED

Ein bisschen elektronischen Kleinkram und irgendeinen durchsichtigen Staubfänger aus dem Haushalt :mrgreen:

Falls jemand den Nachbau startet:

Die Leuchtdioden kommen an die Ports GPIO4, GPIO1 und GPIO0. Welche Farbe an welchen Port ist egal, es kommen alle gleichberechtigt zum Zuge, nur der Farbverlauf ändert sich natürlich.

Hier der .hex-File als .zip Datei (12f675). Config NICHT enthalten, muss beim Brennen festgelegt werden. Interner RC/No Clock, alles andere OFF.

Habe meinem Fall hier die unten an 3. Stelle beworbenen RGB-LED genutzt, Vorwiderstand 220 Ohm für Grün und Blau, 180 Ohm für Rot. Jeweils eine einzelne Leuchtdiode pro Farbe geht auch, andere Farben nach Geschmack, ist ja nur eine kleine Spielerei mit Licht und Farbe.

Da nur 3 Leuchtdioden (bei Beachtung des Gesamtstromes geht natürlich mehr, dazu findet sich auch an anderen stellen im Blog etwas!) angesteuert werden, habe ich keine große Dokumentation erstellt. Einfach Controller im Standardaufbau mit Pullup von 10k an Pin 4 und die Leuchtdioden über jeweils einen Vorwiderstand vom Output-Pin gegen Masse verbauen, Aktiv = High. 100nF Stützkondensator für den PIC nicht vergessen, versorgt wird mit 5V. Bei voller Ansteuerung aller LED sind unter 80mA in meinem Aufbau zu erwarten, das schafft so ziemlich jedes alte Netzteil, stabilisiert sollte es allerdings sein. Progammtechnisch stellt der Ablauf eine ständig wechselnde PWM dar, so wird nur sehr selten der maximale Strom erreicht.

Wie gesagt, kleine Spielerei am Rande, eigentlich wollte ich nur sehen, was die RGB-LED, mit denen ich vollauf zufrieden bin, so leisten. Nachbau wie immer auf eigene Verantwortung ;-)

 

 

 


 

 

 

 

Der PIC 12F675 Teil 6 – PIR1 Register

PIC © 12F675 Das nächste Register: PIR1, liegt in Bank 0.

Noch einmal der Hinweis darauf, dass einige der Bits in etlichen Registern eher lesend ausgewertet werden müssen. Also z. B. 1 = ist was passiert, 0 = nichts ist passiert. Auf Nummer sicher gehend, würde ich die entsprechenden Bits VOR ausführen der entsprechenden Funktionen manuell zurücksetzen, wird an den meisten Stellen ohnehin notwendig sein.

 

BIT 7:

1 = EEPROM schreiben fertig, Bit muss manuell gelöscht werden

0 = EEPROM schreiben nicht beendet.

BIT 6:

1 = A/D Wandler fertig, manuell löschen.

0 = A/D Wandler nicht fertig

BIT 5:

Nicht belegt, zu betrachten als ‚0‘

BIT 4:

Nicht belegt, zu betrachten als ‚0‘

BIT 3:

1 = Änderung am Comparator Eingang, manuell zu löschen

0 = Keine Änderung am Comparator

BIT 2:

Nicht belegt, zu betrachten als ‚0‘

BIT 1:

Nicht belegt, zu betrachten als ‚0‘

BIT 0:

1 = Timer 1 (TMR1) Überlauf, manuell löschen

0 = TMR1 kein Überlauf