Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: LCD am Terminal zeigt nix an Kategorie: C-Control I V1.1 (von dierk, Homepage - 7.01.2006 22:39)
 Als Antwort auf LCD am Terminal zeigt nix an von Henry - 7.01.2006 19:54
> Hallo mein LCD am Terminal zeigt nix an selbst bei den Beispielprogrammen nicht. Es leuchtet nur und es lässt sich Dimmen mit einem Programm.
> Ich versthehe vorallem folgenden Satz aus der Anleitung nicht: Beachten Sie bitte, daß eine LED an ist, wenn das zugehörige Bit 0 ist. Wie ist das zu verstehen ?
>
> Hier mein Programm:
> '--------------------------
> '------ I/O PORTS ---------
> '--------------------------
>
> 'INTERFACE ZUM I/O TERMINAL
> define sdio         port[5]
> define sclio        port[6]
> define strobe       port[4]
> define light        port[3]
> '----   RELAYS  -----------
> define RELAY1       port[7]
> define RELAY2       port[8]
> '---- FUNCTION KEYS -------
> define FUNCTION1    port[9]
> define FUNCTION2    port[10]
> define FUNCTION3    port[11]
> define FUNCTION4    port[12]
> '------- LEDs -------------
> define LED1         port[13]
> define LED2         port[14]
> define LED3         port[15]
> define LED4         port[16]
>
> '--------------------------
> '---- SYSTEM MEMORY -------
> '--------------------------
> '---- MINI LCD 2x8 --------
> define lcd_char      byte[1]
> define lcd_data      byte[2]
> '--- DEZIMAL CONVERTER ----
> define hunderter     byte[3]
> define zehner        byte[4]
> define einer         byte[5]
> define value         byte[6]
>
> 'IIIIIIIIIIIII INITIALISIERUNG IIIIIIIIIIIIIIIIIIIII
> strobe=off:gosub lcd2x8_init:light=on
>
> 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
> 'IIIIIIIIIIIIIII PROGRAMM START IIIIIIIIIIIIIIIIIIII
> 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
> gosub demo1_msg:pause 100:gosub clear_display
> '------- ZEIT ANZEIGEN UND SCHLEIFEN ---------------
> gosub time_msg
> #show_time
> gosub setline2
> value=hour:gosub show_2_digits
> lcd_char =&HBA : gosub write_char
> value=minute:gosub show_2_digits
> lcd_char =&HBA : gosub write_char
> value=second:gosub show_2_digits
> goto show_time
>
> 'IIIIIIIIIIIII UNTERPROGRAMME IIIIIIIIIIIIIIIIIIIIIII
>
> '------ 2 DIGITS AM LCD ANZEIGEN -------
> #show_2_digits
>  zehner=value/10
>  lcd_char=zehner+&HB0
>  gosub write_char
>  'einer abfragen
>  einer=value-(zehner*10)
>  lcd_char=einer+&HB0
>  gosub write_char
>  return
> 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
> 'IIIIIIIIIIIIIII PROGRAMM ENDE  IIIIIIIIIIIIIIIIIIII
> 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
>
>
> #demo1_msg' DEMO1  I/OTERM
> gosub clear_display:gosub setline1
> lcd_char=&HA0:gosub write_character
> lcd_char=&HC4:gosub write_character
> lcd_char=&HC5:gosub write_character
> lcd_char=&HCD:gosub write_character
> lcd_char=&HCF:gosub write_character
> lcd_char=&HA0:gosub write_character
> lcd_char=&HB1:gosub write_character
>
> gosub setline2
> lcd_char=&HC9:gosub write_character
> lcd_char=&HAF:gosub write_character
> lcd_char=&HCF:gosub write_character
> lcd_char=&HA0:gosub write_character
> lcd_char=&HD4:gosub write_character
> lcd_char=&HC5:gosub write_character
> lcd_char=&HD2:gosub write_character
> lcd_char=&HCD:gosub write_character
> return
>
> #time_msg ' TIME '
> gosub setline1
> lcd_char=&HA0:gosub write_char
> lcd_char=&HA0:gosub write_char
> lcd_char=&HD4:gosub write_char
> lcd_char=&HC9:gosub write_char
> lcd_char=&HCD:gosub write_char
> lcd_char=&HC5:gosub write_char
> lcd_char=&HA0:gosub write_char
>
> return
> '--------------------------------------------
> '-------- I/O-TERMINAL LCD Treiber ----------
> '--------------------------------------------
> #setline1
> lcd_char=&H84:goto mode_control
> #setline2
> lcd_char=&HC4:goto mode_control
> #clear_display
> lcd_char=&H01:goto mode_control
> #scroll_display_left
> lcd_char=&H18:goto mode_control
> #scroll_display_right
> lcd_char=&H1C:goto mode_control
> #write_character
> beep 368,1,0
> #write_char
> sclio=on:sdio=on:sdio=off:sclio=off
> lcd_data=&H74:gosub write_byte
> lcd_data=&H40:gosub write_byte
> lcd_data=lcd_char:gosub write_byte
> sdio=off:sclio=on:sdio=on:return
>
> '-----------------------------------------------
> #mode_control
> sclio=on:sdio=on:sdio=off:sclio=off
> lcd_data=&H74:gosub write_byte
> lcd_data=&H00:gosub write_byte
> lcd_data=lcd_char:gosub write_byte
> sdio=off:sclio=on:sdio=on:return
> #write_byte
> sdio=(lcd_data and &H80)shr 7:sclio=on:sclio=off
> sdio=(lcd_data and &H40)shr 6:sclio=on:sclio=off
> sdio=(lcd_data and &H20)shr 5:sclio=on:sclio=off
> sdio=(lcd_data and &H10)shr 4:sclio=on:sclio=off
>
> sdio=(lcd_data and &H08)shr 3:sclio=on:sclio=off
> sdio=(lcd_data and &H04)shr 2:sclio=on:sclio=off
> sdio=(lcd_data and &H02)shr 1:sclio=on:sclio=off
> sdio=lcd_data and &H01:sclio=on:sclio=off
> deact sdio:sclio=on:sclio=off:sdio=off:return
> #lcd2x8_init
> sclio=on:sdio=on:sdio=off:sclio=off
> lcd_data=&H74:gosub write_byte
> lcd_data=&H00:gosub write_byte
> lcd_data=&H25:gosub write_byte
> lcd_data=&H06:gosub write_byte
> lcd_data=&H24:gosub write_byte
> lcd_data=&H0C:gosub write_byte
> lcd_data=&H84:gosub write_byte
> sdio=off:sclio=on:sdio=on:return
>
> Danke für die Hilfe
> Henry

Hallo Henry
> define sdio         port[5]
> define sclio        port[6]
> define strobe       port[4]
> define light        port[3]

Das mit dem Bit auf 0 heisst wohl soviel, dass wenn port[3] auf LOW (also off) ist, dass das Licht dann leuchtet.
Hast Du auch die sdIO (IIC-DatenLeitung) port[5] und sclIO (IIC-ClockLeitung)  port[6] angeschlossen und oder richtigherum angeschlossen?
Vertausche mal diese 2 Leitungen, vielleicht war´s das?
Ansonsten ist es sehr schwer von hier aus, ohne die Hardware vorliegen zu haben, etwas zu sagen.

Gruss

Meine Homepage: http://www.csslabs.de/ccontrol

 Antwort schreiben

Bisherige Antworten: