
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
' Hallo liebes Forum, ich bin hier auf ein unlösbares Problem in ' meinem sehr simpelen Programm gestoßen. ' Ich schalte Port[16] an, doch er geht nach dem Schreiben auf ' mein LCD_Display einfach aus. ????? Warum ????? ' anbei mein Source... hoffe er ist einigermaßen Übersichtlich... ' Ich wäre für ein wenig hilfe wirklich dankbar.... ' LG Chris INFO@Sturmfabrik.de ' ---- cut here :) ----- 'Definition LCD-Ports define lcd_buf byte define lcd_param byte define i byte define l byte define LCD_VARIABLE byte define lcd_port byteport[2] define lcd_rs port[14] define lcd_rw port[13] define lcd_e port[15] 'Definiton LCD-Letterset define A_ &H41 define B_ &H42 define C_ &H43 define D_ &H44 define E_ &H45 define F_ &H46 define G_ &H47 define H_ &H48 define I_ &H49 define J_ &H4A define K_ &H4B define L_ &H4C define M_ &H4D define N_ &H4E define O_ &H4F define P_ &H50 define Q_ &H51 define R_ &H52 define S_ &H53 define T_ &H54 define U_ &H55 define V_ &H56 define W_ &H57 define X_ &H58 define Y_ &H59 define Z_ &H5A define NUM1_ &H31 define NUM2_ &H32 define NUM3_ &H33 define NUM4_ &H34 define NUM5_ &H35 define NUM6_ &H36 define NUM7_ &H37 define NUM8_ &H38 define NUM9_ &H39 define LZ &H20 define MINUS &H2D define NULL &H30 define stern &H2a define GLEICH &H3D define DOPPELPUNKT &H3A 'Definition Digital-Ports define ausgang1 port[1] define ausgang2 port[2] define ausgang3 port[3] define ausgang4 port[4] define ausgang5 port[5] define ausgang6 port[6] define ausgang7 port[7] define ausgang8 port[8] define ausgang16 port[16] define analog1 ad[1] 'Das Programm .... ausgang16=on ' ausgang16 anschalten (LED leuchtet) wait (analog1=255) ' warten das der Taster am analogport1 gedrückt wird beep 250000,10,20 ' Kiloherzpiepen als Einschaltsound gosub LCD_CLS 'LCD_DISPLAY initialisieren bzw. löschen 'In erste Zeile des LCD_Display ersten 15 Zeichen schreiben lcd_param = 1 : gosub LCD_GOTOLINE for i = 0 to 14 looktab titeltext, i, LCD_VARIABLE lcd_param = LCD_VARIABLE :gosub LCD_SCHREIBEN next 'In Zweite Zeile des LCD_Display zweiten 15 Zeichen schreiben lcd_param = 2 : gosub LCD_GOTOLINE for i = 15 to 29 looktab titeltext, i, LCD_VARIABLE lcd_param = LCD_VARIABLE :gosub LCD_SCHREIBEN next pause 200 'nach dem Schreiben warten for i=0 to 15 lcd_param=1: gosub LCD_GOTOLINE 'erste Zeile des LCD Display wählen gosub LCD_SHIFT_LEFT 'LCD Display Zeile nach Links schieben LCD_Param=2: gosub LCD_GOTOLINE 'zweite Zeile des LCD Display wählen gosub LCD_SHIFT_LEFT 'LCD Display Zeile nach Links schieben next gosub LCD_CLS 'LCD Display löschen und zurücksetzen lcd_param = 1 : gosub LCD_GOTOLINE 'erste Zeile des LCD Display wählen 'Meldung für Ausgang1 ausgeben. "AUSGANG1" for i = 0 to 12 looktab aeins, i, LCD_VARIABLE lcd_param = LCD_VARIABLE :gosub LCD_SCHREIBEN next lcd_param = 2 : gosub LCD_GOTOLINE 'zweite Zeile des LCD Display wählen 'Meldung für Ausgang1 ausgeben. "-**************-" for i = 0 to 15 looktab balken, i, LCD_VARIABLE lcd_param = LCD_VARIABLE :gosub LCD_SCHREIBEN next ausgang1=on ' Digitalausgang 1 anschalten pause 20 'nen bisschen warten, damit Spannungsspitzen ausgeschlossen werden. lcd_param = 1 : gosub LCD_GOTOLINE ' S.O. Schaltmeldung ausgeben.... "BETRIEBSBEREIT" for i = 0 to 15 looktab schaltmeldung, i, LCD_VARIABLE lcd_param = LCD_VARIABLE :gosub LCD_SCHREIBEN next beep 250000,10,25 pause 50 end 'LCD DISPLAY STEUERSET #LCD_INIT lcd_port = OFF lcd_param=&H38 : gosub LCD_WRITECMD lcd_port=&B00000010 tog lcd_e tog lcd_e lcd_param = &H28 : gosub LCD_WRITECMD lcd_param = &H0C : gosub LCD_WRITECMD #LCD_CLS lcd_param = &H02 : gosub LCD_WRITECMD lcd_param = &H01 : gosub LCD_WRITECMD return #LCD_SHIFT_RIGHT lcd_param = &B00011100 : gosub LCD_WRITECMD return #LCD_SHIFT_LEFT lcd_param = &B00011000 : gosub LCD_WRITECMD return #LCD_GOTOLINE if lcd_param = 1 then lcd_param = &H80 if lcd_param = 2 then lcd_param = &HC0 goto LCD_WRITECMD #LCD_WRITECMD lcd_buf = OFF goto LCD_WRITE #LCD_SCHREIBEN lcd_buf = &B00100000 #LCD_WRITE lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble tog lcd_e tog lcd_e lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble tog lcd_e tog lcd_e return 'MELDUNGSSET table titeltext NUM9_ K_ W_ lz minus lz B_ R_ O_ A_ D_ C_ A_ S_ T_ P_ O_ W_ E_ R_ C_ O_ N_ N_ E_ C_ T_ I_ O_ N_ tabend table aeins A_ U_ S_ G_ A_ N_ G_ NUM1_ lz NUM2_ NUM3_ NULL V_ tabend table azwei A_ U_ S_ G_ A_ N_ G_ NUM2_ lz NUM2_ NUM3_ NULL V_ tabend table adrei A_ U_ S_ G_ A_ N_ G_ NUM3_ lz NUM2_ NUM3_ NULL V_ tabend table avier A_ U_ S_ G_ A_ N_ G_ NUM4_ lz NUM2_ NUM3_ NULL V_ tabend table afuenf A_ U_ S_ G_ A_ N_ G_ NUM5_ lz NUM2_ NUM3_ NULL V_ tabend table asechs A_ U_ S_ G_ A_ N_ G_ NUM6_ lz NUM2_ NUM3_ NULL V_ tabend table asieben A_ U_ S_ G_ A_ N_ G_ NUM7_ lz NUM2_ NUM3_ NULL V_ tabend table aacht A_ U_ S_ G_ A_ N_ G_ NUM8_ lz NUM2_ NUM3_ NULL V_ tabend table schaltmeldung lz B_ E_ T_ R_ I_ E_ B_ S_ B_ E_ R_ E_ I_ T_ lz tabend table balken minus lz stern stern stern stern stern stern stern stern stern stern stern stern lz minus tabend ' ---- cut here ----- Meine Homepage: http://www.sturmfabrik.de |
| Antwort schreiben |