
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> 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 |