PICALIC | Lichtcontroller nach ALIC Standard - V. 1.0 | |
Über PICALIC V1.0KochbuchDatenblattImplementierter ALIC-Befehlssatz#definesLED Treiber-schaltungen Kontakt |
Anpassung der Firmware:Über die "#define ..."-Zeilen in der Datei picalic.asm wird die Übersetzung des Codes gesteuert und so kann der Controller auf die jeweiligen Erfordernisse angepasst werden.Die Bedeutung der einzelnen Parameter: #define ALICFILE <File>Angabe der Datei,
die den ALIC-Quelltext für den Lichtsteuercode
enthält.
#define CLOCK <4|8>CPU Taktfrequenz (4
or 8 MHz).
8 MHz ist ohne externe Takterzeugung nur beim PIC16F636 möglich. Eine höhere Taktfrequenz ermöglicht eine höhere PWM Auflösung und/oder höhere PWM-Frequenz. #define NCHAN <1..8>Anzahl der
Ausgangskanäle (1..8)
Beim PIC12F675 sind maximal 5 Kanäle möglich. #define ACTIVELOW <0|1>LED-Ausgänge
sind invertiert
wenn dieser Parameter = 1, d.h. der Controller-Ausgang nimmt
Low-Pegel (ca. 0V) an, um die LED einzuschalten. Verwendung
hauptsächlich für Direktansteuerung der LEDs durch
den Controller, da der Ausgang bei "Low" mehr Strom liefern kann.
#define AUXOUTA <Ausgänge>definiert freie
RA-Ports als
Ausgang, wenn das entsprechende Bit (0..7) auf "1" gesetzt wird. Diese
können dann durch die ALIC-Befehle"SETSWX" und "CLRSWX" zur
Ausgabe genutzt werden.
Auf Ports, die bereits durch Ausgangs-Kanäle oder für RC-Eingangsimpulse belegt sind, hat dieser Parameter keinen Einfluss. Port RA3 kann bei PIC16F630 und PIC16F636 nicht als Ausgang verwendet werden. Port RA5 kann bei PIC16F627, PIC16F628 und PIC16F648 nicht als Ausgang verwendet werden. #define AUXOUTB <Ausgänge>definiert freie
RB-Ports als
Ausgang, wenn das entsprechende Bit (0..7) auf "1" gesetzt wird. Diese
können dann durch die ALIC-Befehle"SETSWX" und "CLRSWX" zur
Ausgabe genutzt werden.
Auf Ports, die bereits durch Ausgangs-Kanäle oder für den RC-Eingang belegt sind, hat dieser Parameter keinen Einfluss. #define AUXOUTC <Ausgänge>definiert freie
RC-Ports (bzw. GP
beim PIC12F675) als Ausgang, wenn das entsprechende Bit (0..5) auf "1"
gesetzt wird. Diese können dann durch die ALIC-Befehle
"SETSWX"
und "CLRSWX" zur Ausgabe genutzt werden.
Auf Ports, die bereits durch Ausgangs-Kanäle oder für RC-Eingangsimpulse belegt sind, hat dieser Parameter keinen Einfluss. PIC12F675: Port GP3 kann nicht als Ausgang geschaltet werden. Anmerkung: "RC" bei der Bezeichnung der Prozessor-Ports hat nichts mit "Radio Control" zu tun! #define COMMTICK <0|1>Wenn dieser
Parameter auf "1"
steht, ist die Zeiteinheit (Tick) für alle
Ausgangskanäle
fest auf 10 ms eingestellt. "DEFTICKLEN" wird dann ignoriert (spart RAM
im Controller).
#define PWMTU <Zeit>definiert die
Länge der
PWM-Zeiteinheit in Microsekunden. In Verbindung mit dem
Parameter
PWMCYC ergibt sich daraus die Länge eines PWM-Zyklus (T) und
daraus die PWM-Frequenz (1/T). Empfohlener Wert: 100 bei 4MHz Takt, 50
bei 8 MHz.
#define PWMCYC <Schritte>gibt die Anzahl der
Schritte (*
PWMTU) in einem vollen PWM-Zyklus, und damit auch die
Helligkeits-Auflösung, sowie zusammen mit PWMTU die
PWM-Frequenz.
#define RCCHAN <0|1|2>definiert die Anzahl
der vorhandenen RadioControl-Eingänge (0, 1 oder 2).
#define RCHYST <Wert>Hysterese
für RC-Prozessing (* 8 µs)
#define STARTSW <bits>Setzt einen
Start-Status für die RC-Memory Schalter (Nummer
15..8)
#define RCPW_HIGH <Schwelle>RC-Impuls
Schwellwert (90: ca. 1,7ms) für Betätigung des
Memory-Schalters
64 = 1,5ms, 1 Schritt = 8 µs #define RCPW_LOW <Schwelle>RC-Impuls
Schwellwert (39: ca. 1,3ms) für die andere Richtung des
Schalters
#define MS_LONG <Zeit>min. Haltezeit des
Knüppels
in der Endstellung für Betätigung der Memory-Switch
Funktionen 3 und 4 (Zeit in 1/10 s, max.15 = 1,5s
möglich)
|
|