PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom BASCOM AVR Software für Bussystem mit Atmel AVR Controller



fredred
15.03.2014, 16:50
Guten Tag,

BASCOM AVR Software für Bussystem mit Atmel AVR Controller

Beispielcode wie viele I2C und 1Wire mit den Controllern eine Einheit bilden können.
Ob Expander für Erweiterung auf ca. 128 Digiports , LCD-Anzeige, Analog, Digitalpoti und Eeprom als Datenspeicher. Sehr wichtig ist der Hardwaretest im Programm. Wenn sich alle Teilnehmer melden, kann ein Fehler, nur in der weiteren Software liegen.
Obwohl die Hardwareanschlüsse sich im Programm selbst erklären, kann ich Hilfe leisten, wenn nötig.
Diesen Code habe ich, bewusst als „Packet“ geschrieben, um eventuelle Konflikte zu testen.
Somit wurden fast alle Variablen für Subs oben bekannt gemacht. Für Einzelanwendung einfach die gewünschten in den entsprechenden Subs ziehen. Auch die vielen Prints und Wait für Hyperterminalausgabe können nach erfolgreichem Test gelöscht werden.
Hier ein Auszug Terminalansicht.
erstallt am : 14-03-2014 15:02:11
Version Code : I2C-MODUL-1.BAS

I2C Scan start

gefunden h 5E b 01011110
ist ein DS1803 Adr 111

gefunden h 7E b 01111110
ist ein PCF8574 Adr 111

gefunden h 70 b 01110000
ist ein PCF8574 Adr 000

gefunden h 9E b 10011110
ist ein PCF 8591 Adr 111

gefunden h A0 b 10100000
ist ein ST24C64 Adr 000

am I2C 5 Bus-Teilnehmer gefunden

Sensoren an Port B.0 prüfen
sind Hex-Adresse der DS18x20
10 B6 D9 78 02 08 00 6E
28 21 2D 27 05 00 00 48
Anzahl der Sensoren am 1WireBus: 2

Test abgeschlossen
Hauptprogramm wird gestartet

lese die Sensoren 1wire an Portb.0 Controller
Temp1 20.17
Temp2 20.06

lese Lichtsensor von Getadc(7)
Hell 187

lese Port-Pins AD I2C
A0: Wert ist 5
A1: Wert ist 6
A2: Wert ist 4
A3: Wert ist 0

lese alle 8 Portpin's Expander
Taste 1 = 1
Taste 2 = 1
Taste 3 = 1
Taste 4 = 1
Taste 5 = 1
Taste 6 = 1
Taste 7 = 1
Taste 8 = 1
erstes Poti hochregeln
Volt-P0 = 0.0
Volt-P0 = 0.02
Volt-P0 = 0.04
Volt-P0 = 0.05
Volt-P0 = 0.07
....
....
zweites Poti hochregeln
Volt-P1 = 0.0
Volt-P1 = 0.02
Volt-P1 = 0.04
Volt-P1 = 0.05
Volt-P1 = 0.07
.....
.....
beide Potis gleichzeitig abregeln
Poti0 4.59 Poti1 4.59
Poti0 4.57 Poti1 4.57
Poti0 4.55 Poti1 4.55
Poti0 4.54 Poti1 4.54
....
….
Code im Anhang.

Viel Erfolg wünscht
fredred

fredred
16.03.2014, 16:45
Guten Tag,

reiche noch die Anschaldung von Standart –LCD an einen I2C Expander IC nach.
In Verbindung mit der in meiner BAS beschriebene Anweisungen.

'### ist I²C IC für LCD ##################
$lib "Lcd_i2c.lib" 'ersetzt die Standard LCD Library
Dim _lcd_e As Byte 'LCD im 4-Bit Modus betreiben
_lcd_e = 128
Config Lcd = 20 * 4 ‘kann auch 16*2 sein
' Slaveadressen für Porterweiterung
Const Pcf8574_lcd = &H70 '&B01110000 Dez = 112
Initlcd

Habe nur guter Erfahrungen mit dieser Lösung gemacht.
Siehe Bild im Anhang.

Mit freundlichen Grüßen
fredred