SAA1064.C2 - Hilfe


Beschreibung

Einfügen als Systemmodul

Konstanten

Funktionen:

init()
num()
hex()

ziff()
sendziff()
put()
send()
getStatus()


Beschreibung   Nach oben

Das Modul saa1064.c2 ist ein Treiber für den das I²C-Bus-IC SAA1064
4digit 7-Segment LED-Treiber. (CCTools I2C-7Seg4)
Es können numerische Werte (Dezimal & Hexadezimal) ausgegeben werden.
Hierbei können je zwei LED-Anzeigen verknüpft werden, sodaß bis zu
8 Stellen ausgegeben werden können.


Einfügen als Systemmodul
   Nach oben

Die Datei saa1064.c2 in das Verzeichnis .\CControl2\UserLib der IDE
kopieren und in der Datei modules.txt die Zeile saa1064.c2 einfügen.
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt bestimmt,
daß das Modul in jedem neuen Projekt von Anfang an aktiviert wird.


Konstanten   Nach oben

Busadressen:
const
Addr[]   =0x70,0x72,0x74,0x76;
Bausteinzuweisungen: 
const
LEDcon1[] =0,1,2,3,0,2;
const LEDcon2[] =0,0,0,0,1,3;
Dividenten für Dezimal- und Hexausgabe: 
const
div10[] =0,1,10,100,1000,10000,100000,1000000,10000000;
const div16[] =0,0x1,0x10,0x100,0x1000,0x10000,0x100000,0x1000000,0x10000000;
Hilfsarray für Punktausgabe: 
const
pos[]=0,1,2,4,8,16,32,64,128;
Bitmuster für Zeichen: 
const
digit[] =0b0111111/*0*/,0b0000110/*1*/,0b1011011/*2*/,0b1001111/*3*/,
              0b1100110/*4*/,0b1101101/*5*/,0b1111101/*6*/,0b0000111/*7*/,
              0b1111111/*8*/,0b1101111/*9*/,0b1110111/*A*/,0b1111100/*B*/,
              0b0111001/*C*/,0b1011110/*D*/,0b1111001/*E*/,0b1110001/*F*/;
const dot  =0b10000000;
const minus=0b1000000;



Funktionen:

Initalisieren  Nach oben

    function init(byte addr, byte cur, byte LEDcnt) returns int

Mit dieser Funktionen wird der SAA1064 initialisiert und die Parameter definiert.
Alle Ausgänge werden dabei auf 0 gesetzt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse
ein Baustein befindet, andernfalls False(0)

addr Baustein 0-3 entsprechend Pegel an ADR
cur 3Bit-Bitmuster für Strombegrenzung: (z.B:0b011 für 9mA)
Bit0: 3mA
Bit1: 6mA
Bit2: 12mA
LEDcnt Anzahl 7-Segment Anzeigen:
0 - keine, Baustein wird als Portexpander verwendet
2 - Zwei 7-Segment-Anzeigen
4 - Vier 7-Segment-Anzeigen (CCTools I2C-7Seg4)

Zahlenausgabe  Nach oben

    function num(byte addr, long value, byte Dots) returns int
    function hex(byte addr, long value, byte Dots) returns int

Mit diesen Funktionen werden Zahlen (Dezimal bzw. Hexadezimal) bis zu 8stellig
über einen bzw. zwei SAA1064 ausgegeben, je nachdem, ob ein SAA1064 für
2 oder 4 7Segment-Anzeigen initialisiert wurde, und, ob zwei Anzeigen im Verbund
benutzt werden oder nicht. So sind 2, 4, 6 und 8stellige Ausgaben möglich.
Beim Verbundbetrieb werden über den ersten SAA1064 die höherwertigen
Stellen ausgegeben.
Über die Variable Dots kann ein Bitmuster angegeben werden, nach dem
die DezimalPunkte gesetzt werden.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse
ein Baustein befindet, andernfalls False(0)

addr Baustein 0-3 entsprechend Pegel an ADR
4 = SAA1064  0 und 1 im Verbund
5 = SAA1064  2 und 3 im Verbund
value Ausgabewert:
max. Bereich Dezimal: -9.999.999 bis 99.999.999
max. Bereich Hex: 0x0 bis 0xFFFFFFFF
Dots Bitmuster für Dezimalpunkte
High Bit an Bit 0 bis Bit 7 entspricht Dezimalpunkt
hinter Stelle1 bis Stelle8


Ziffernausgabe  Nach oben

    function ziff(byte addr, byte digit, byte value, int Dot) returns int

Mit dieser Funktion wird eine einzelne Ziffer ausgegeben
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse
ein Baustein befindet, andernfalls False(0).

addr Baustein 0-3 entsprechend Pegel an ADR
Digit 7Segment-Anzeige 0 bis 3
value 0 bis 9 für Ziffern 0 bis 9
10 bis 15 für A bis F
Dot Wenn True (!=0) Anzeige des Dezimalpunktes hinter der Ziffer


Ziffernausgabe Array  Nach oben

    function sendziff(byte addr, byte value[], int Dot[]) returns int

Mit dieser Funktion werden bis zu vier Ziffern ausgegeben.
Die Übergabe erfolgt über Arrays.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse
ein Baustein befindet, andernfalls False(0).

addr Baustein 0-3 entsprechend Pegel an ADR
value[] Array mit Ziffern werden
0 bis 9 für Ziffern 0 bis 9
10 bis 15 für A bis F
Dot Array mit Dezimalpunktdaten:
Wenn True (!=0) Anzeige des Dezimalpunktes hinter der Ziffer


Zeichenausgabe/Ports setzen  Nach oben

    function put(byte addr, byte Digit, byte value) returns int

Mit dieser Funktion wird ein Bitmuster für die angegebene Ziffer ausgegeben.
Bei Verwendung des SAA1064 als Porterweiterung werden die Ports
entsprechend nach dem Bitmuster gesetzt. (P1 bis 8=digit0, P9 bis 16=digit1)
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse
ein Baustein befindet, andernfalls False(0).

addr Baustein 0-3 entsprechend Pegel an ADR
Digit Ziffer / Byteport
value Bitmuster mit Portzuständen


Zeichenausgabe/Ports setzen Array  Nach oben

    function send(byte addr, byte value[]) returns int

Mit dieser Funktion wird die Bitmuster für bis zu vier Ziffern ausgegeben.
Die Übergabe erfolgt über ein Bytearray.
Bei Verwendung des SAA1064 als Porterweiterung werden die Ports
entsprechend nach dem Bitmuster gesetzt der ersten beiden Bytes gesetzt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse
ein Baustein befindet, andernfalls False(0).

addr Baustein 0-3 entsprechend Pegel an ADR
value[] Bytearray mit Bitmustern der Portzuständen



Statusbit auslesen  Nach oben

    function getStatus(byte addr) returns int

Mit getStatus() wird das Statusbit des SAA1064 ausgelesen.
Mit Hilfe dieses Bits kann überprüft werde, ob die Spannung seit dem letztem Ansprechen
eingebrochen war.
Die Funktion gibt False(0) zurück, wenn der Baustein wegen eines Spannungseinbruchs
zurückgesetzt wurde, andernfalls True(-1).

addr Baustein 0-7 entsprechend A0,A1,A2
state[] Byte-Array mit DA-Werten 0 bis 255
Die Array-Elemente 0 bis 3 ensprechend den DA-Ports 0 bis 3



Autor: André Helbig   Mail: andre.h@cc2net.de    Erstellt: 11.01.2004 ©www.CC2Net.de