Einfügen als Gemeinsames Modul
Funktionen:
define()
define()
init()
cmd()
defineChar()
defineCharString()
clear()
home()
delline()
line()
goto()
cursorleft()
cursorright()
setcursor()
put()
print2()
print()
printlength()
fill()
printlines()
zahlf()
time()
date()
def_bargraph()
bargraph()
def_sanduhr()
def_arr_up()
def_arr_down()
portGet()
portGetn()
portSetDDR()
portSetDDRn()
Beschreibung Nach oben
Das Modul maxlcd.c2 ist ein Treiber für Standard-LC-Display
(HD44780) am I²C-Bus-Portexpander MAX7311.
Einfügen als Gemeinsames-Modul
Nach oben
Die Datei maxlcd.c2 in das Verzeichnis .\CControl2\UserLib
kopieren und
in der Datei modules.txt die Zeile maxlcd.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.
Funktionen:
define() Nach oben
function define(byte device, byte Addr, byte Size)
Mit der Funktion define() wird ein Display definiert und einer
Displaynummer zugeordnet
Die maximale Anzahl an LCDs wird durch die Konstante maxDevices
festgelegt.
Dem angegebenem Display (0 bis maxDevices-1) wird eine Subadresse (0-63)
des MAX7311,
sowie eine Displaygröße zugeordnet.
Durch die Angabe der Displaygröße kann zwischen LCDs mit 16 und 20 Zeichen pro
Zeile unterschieden werden.
Diese Angabe wird für die Funktionen line(), goto(), delline(),
und printlines() benötigt.
device | Display-Nr.; 0 bis maxDevices-1 |
addr | Subadresse des MAX7311 0-63 |
Size | Displaygröße. 0= 16 Zeichen pro Zeile 1= 20 Zeichen pro Zeile |
setlight() Nach oben
function setlight(byte device, int light) returns int
Mit dieser Funktion wird die Displaybeleuchtung geschaltet.
device | Display-Nr.; 0 bis maxDevices-1 |
light | 0 : Beleuchtung aus !=0 : Beleuchtum ein |
init() Nach oben
function init(byte device) returns int
Die Funktion init() initialisiert das LCD.
Der Cursor wird wird dabei abgestellt.(Dieser kann mit setcursor() auf
Unterstrich oder blinkender Block gesetzt werden.)
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
cmd() Nach oben
function cmd(byte device, byte cmd) returns int
Mit der Funktion cmd() wird ein Kommando-Byte an das LCD gesendet.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
cmd | Kommando-Byte entsprechend des LCD-Befehlssatz |
defineChar() Nach oben
function defineChar(byte device, byte CharAddr, byte char[]) returns int
Mit der Funktion defineChar() können bis zu 8 benutzerdefinierte
Zeichen
erstellt werden. Die Bit-Daten werden als Bytearray mit 8 Byte Größe
übergeben.
Jedes Byte repräsentiert eine Pixelzeile. Die Bits 0 bis 4 entsprechen den 5
Bildpunkten pro Zeile.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
Charaddr | Zeichen 0 bis 7 (=ASCII-Code) |
char[] | Bytearray mit den zeichendaten (Größe 8 Byte) |
defineCharString() Nach oben
function defineCharString(byte device, byte CharAddr, byte chardef) returns int
Mit der Funktion defineCharString() werdend wie mit defineChar()
Zeichen definiert.
Die Zeichendaten werden hier als String übergeben. So können z.B.
Stringkonstanten
für die Zeichendefinition übergeben werden.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
Charaddr | Zeichen 0 bis 7 (=ASCII-Code) |
chardef | String mit Zeichendaten. Die ersten 8 Byte
entsprechen der Zeichendefinition. |
clear()
Nach oben
function clear(byte device) returns int
Mit clear() wird der Inhald des Displays gelöscht.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
home() Nach oben
function home(byte device) returns int
Mit home() wird der Cursor auf die Anfangsposition gesetzt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
delline() Nach oben
function delline(byte device, byte line) returns int
Mit delline() wird die angegebene Zeile gelöscht.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
line | Zeile 1 bis 4 |
line() Nach oben
function line(byte device, byte line) returns int
Mit line() wird der Cursor an den Anfang der angegebenen Zeile gesetzt
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
line | Zeile 1 bis 4 |
goto() Nach oben
function goto(byte device, byte line, byte col) returns int
Mit goto() wird der Cursor an die Angegebene Zeile und Spalte gesetzt
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
line | Zeile 1 bis 4 |
col | Spalte 0 bis 19 |
cursorleft()
Nach oben
function cursorleft(byte device) returns int
Mit der Funktion cursorleft() wird der Cursor um eine Stelle nach
links geschoben.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
cursorright()
Nach oben
function cursorright(byte device) returns int
Mit der Funktion cursorright() wird der Cursor um eine Stelle nach
rechts geschoben.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
setcursor()
Nach oben
function setcursor(byte device, byte cursor) returns int
Mit der Funktion setcursor() wird die Art des Cursors bestimmt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
cursor | 0= aus, 2= Unterstrich, 3= Block, blinkend |
put()
Nach oben
function put(byte device, byte char) returns int
Mit put() wird ein Zeichen auf das Display ausgegeben
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
char | ASCII-Zeichen |
print2()
Nach oben
function print2(byte device, byte s[]) returns int
Mit dieser Funktion wird eine Stringvariable ausgegeben.
Wird anstelle einer Stringvariable ein Bytearray übergeben, so muß
an Byte 31 die Anzahl der Zeichen stehen.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
s[] | Auszugebende Stringvariable |
print() Nach oben
function print(byte device, string s) returns int
Mit dieser Funktion wird ein String ausgegeben.
Es können Strinvariablen, Stringkonstanten oder direkt Strings übergeben
werden.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
s | Auszugebender String |
printlength()
Nach oben
function printlength(byte device, byte s[], byte len) returns int
Mit dieser Funktion wird eine Stringvariable oder der Inhalt eines Bytearrays
ausgegeben.
Die Anzahl der auszugebenden Zeichen wird dabei übergeben.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
s[] | String oder Bytearray |
len | Anzahl Zeichen (max. 255) |
fill()
Nach oben
function fill(byte device, byte ASCII, byte len) returns int
Mit dieser Funktion wird das Display mit einer Anzahl gleicher Zeichen
gefüllt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
ASCII | ASCII-Zeichen |
len | Anzahl Zeichen (max. 255) |
printlines()
Nach oben
function printlines(byte device, string s[], byte count) returns int
Mit dieser Funktion wird ein Stringarray auf das Display ausgegeben.
Jeder String wird in einer Zeile ausgegeben. Angefangen inder ersten Zeile.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
s[] | String-Array |
count | Anzahl der Zeilen/Array-Elemente |
Zahlfunktionen Nach oben
function ziff(byte device, int num) returns int
function zahl2(byte device, int num) returns int
function zahl3p(byte device, int num) returns int
function zahl3(byte device, int num) returns int
function zahl4p(byte device, int num) returns int
function zahl4(byte device, int num) returns int
function zahl5(byte device, int num) returns int
function zahl(byte device, int num) returns int
Mit diesen Funktion können Zahlen direkt ausgegeben werden, ohne diese
erst in Strings zu konvertieren. Jede Funktion besitzt eine andere Ausgabeform von Zahlen:
ziff() | Einzelziffer: 0 bis 9 |
zahl2() | Zweistellig: 0 bis 99 |
zahl3p() | Dreistellig positiv: 0 bis 999 |
zahl3() | Dreistellig: -99 bis 999 |
zahl4p() | 4-stellig positiv: 0 bis 9999 |
zahl4() | 4-stellig: -999 bis 9999 |
zahl5() | 5-stellig positiv: 0 bis 32767 |
zahl() | 6-stellig: -32768 bis 32767 |
device | eine durch define() definierte Display-Nr. |
num | Zahl im Integerbereich |
zahllf() Nach oben
function zahlf(byte device, long num, byte cnt, byte dec) returns int
Mit dieser Funktion wird eine Zahl in dem angegebenen Format ausgegeben.
Die Zahl kann max. vom Typ long sein. Die übergebene Zahl wird als
Festkommawert
ausgegeben, wenn mit dec eine Anzahl an Dezimalstellen definiert wird.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
num | Zahl (byte, int oder long) |
cnt | Anzahl Vorkommastellen, mind 1 |
dec | Anzahl Nachkommastellen, 0= keine Nachkommastellen |
time()
Nach oben
function time(byte device, byte format) returns int
Mit dieser Funktion wird die aktuelle Zeit auf das Display ausgegeben.
Es sind dabei mehrere Formate möglich.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
format | 0= h:m:s 1= hh:mm:ss 2= h:m 3= hh:mm |
date()
Nach oben
function date(byte device, byte format) returns int
Mit dieser Funktion wird das aktuelle Datum auf das Display ausgegeben.
Es sind dabei mehrere Formate möglich.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
format | 0= d.m.yyyy 1= dd.mm.yyyy 2= d.m. 3= dd.mm. 4= d.m.yy 5= dd.mm.yy |
def_bargraph()
Nach oben
function def_bargraph(byte device)
Die Funktion defbargraph() definiert Zeichen für die
Bargraph-Funktion und legt diese
im Display-RAM als ASCII-Zeichen 0 bis 3 ab.
device | eine durch define() definierte Display-Nr. |
bargraph()
Nach oben
function bargraph(byte device, byte len, byte maxlen) returns int
Mit der Funktion bargraph() können Balken ausgegeben werden.
Es muß vor dem ersten Verwenden dieser Funktion die Funktion def_bargraph()
aufgerufen werden.
Die Maximale Balkenlänge bei 2x16 und 4x16 LCDs beträgt 80 und bei
2x20 und 4x20 100.
device | eine durch define() definierte Display-Nr. |
len | Länge des Bargraph 0 bis maxlen wenn größer als maxlen, wird maxlen ausgegeben |
maxlen | Maximallänge |
Sonderzeichen
Nach oben
function def_sanduhr(byte device, byte ascii)
function def_arr_up(byte device, byte ascii)
function def_arr_down(byte device, byte ascii)
Mit diesen Funktion können die Sonderzeichen "Sanduhr", Pfeil nach
oben und
Pfeil nach unten erstellt und im RAM des Displays abgelegt werden.
Die jeweilige Funktion muß vor dem ersten Verwenden des Zeichens aufgerufen
werden.
device | eine durch define() definierte Display-Nr. |
ascii | ASCII-Code, den das Zeichen verwenden soll (0 - 7) |
portSetDDR()
Nach oben
function portSetDDR(byte device, byte Port, int DDR) returns int
Mit dieser Funktion wird die Datenrichtung der 4 freien I/O-Ports festgelegt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
Port | Port 12 bis 15 |
DDR | =0 => Ausgang, !=0 => Eingang |
portSetDDRn()
Nach oben
function portSetDDRn(byte device, byte DDR) returns int
Mit dieser Funktion wird die Datenrichtung der 4 freien I/O-Ports als
Datennibble festgelegt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
DDR | Bitmuster der Portkonfiguration. Bit 0 bis 3 entsprechen den Ports 12 bis 15 Lowbit= Ausgang Highbit= Eingang |
portGet()
Nach oben
function portGet(byte device, byte Port) returns int
Mit portGet() wird ein als Eingang definierter Port ausgelesen.
device | eine durch define() definierte Display-Nr. |
Port | Port 12 bis 15 |
portGetn()
Nach oben
function portGetn(byte device) returns byte
Mit dieser Funktion werden die als Eingang definiertern Zusatzports
ausgelesen,
und als Bitmuster zurückgegeben.
device | eine durch define() definierte Display-Nr. |
portSet()
Nach oben
function portSet(byte device, byte Port, int state) returns int
Mit portSet() wird ein als Ausgnag definierter Port gesetzt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
Port | Port 12 bis 15 |
state | 0: low, !=0: high |
portSetn()
Nach oben
function portSetn(byte device, byte state) returns byte
Mit dieser Funktion wird die Ausgänge mit dem übergebenen Bitmuster
gesetzt.
Die Funktion gibt True(-1) zurück, wenn sich an der angegebenen Adresse ein
Baustein befindet, andernfalls False(0).
device | eine durch define() definierte Display-Nr. |
state | Bitmuster der Portkonfiguration. Bit 0 bis 3 entsprechen den Ports 12 bis 15 |
Autor: André Helbig www.cc2net.de
Erstellt: 25.12.2011