
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo, ich suche jemanden, der mir hilft, anhand des hier angezeigten Programms folgende Aufgabe zu lösen: In Zeile 1 für 10 sekungen den Text "HALLO" ausgeben, dann für 8 sekunden in Zeile 2 "MUSTER" ausgeben. mfg Martin '----------------------------------------------------------------- ' Portbelegung des LCDs an der Open-Mini: ' PTB.0 D4 (Datenleitung des LCDs, 4Bit-Mode) ' PTB.1 D5 (Datenleitung des LCDs, 4Bit-Mode) ' PTB.2 D6 (Datenleitung des LCDs, 4Bit-Mode) ' PTB.3 D7 (Datenleitung des LCDs, 4Bit-Mode) ' PTB.4 R/W (Read/Write) ' PTB.5 RS (Register Select) ' PTB.6 En (Enable) ' PTB.7 LCD-Beleuchtung '----------------------------------------------------------------- define LED port[2] define LCD_Port byteport[2] define LCD_RS port[14] define LCD_RW port[13] define LCD_e port[15] define LCD_light port[16] define LCD_Param byte[1] 'Tempöräres Byte für LCD-Routinen define x byte[2] 'Tempöräres Byte für LCD-Print-und-Zahl-Routinen 'ASCII 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 ak &H61 : Define bk &H62 : Define ck &H63 : Define dk &H64 : Define ek &H65 Define fk &H66 : Define gk &H67 : Define hk &H68 : Define ik &H69 : Define jk &H6A Define kk &H6B : Define lk &H6C : Define mk &H6D : Define nk &H6E : Define ok &H6F Define pk &H70 : Define qk &H71 : Define rk &H72 : Define sk &H73 : Define tk &H74 Define uk &H75 : Define vk &H76 : Define wk &H77 : Define xk &H78 : Define yk &H79 : Define zk &H7A Define SPACE &H20 : Define MINUS &H2D : Define GLEICH &H3D : Define DPP &H3A Define Dot &H2E Define Line1 &H80 : Define Line2 &HC0 : Define Line3 &H94 : Define Line4 &HD4 'Für 4x20 LCD 'Define Line1 &H80 : Define Line2 &HC0 : Define Line3 &H90 : Define Line4 &HD0 'Für 4x16 LCD gosub LCD_init LED=Off LCD_put 65 LCD_put 66 LCD_put 67 LCD_put 68 LCD_put 69 LCD_put 70 LCD_put Space LCD_Zahl 123 LCD_CMD Line2 LCD_Print 1 LCD_CMD Line3 LCD_Print 23 #loop LCD_light=on LCD_light=on LCD_light=off goto loop '--------------------------------------- ' Trick, um die Table-Funktion für Festtexte zu "mißbrauchen" ' max. 256 Byte pro Tabelle ' Achtung ! Experimentel ! table LCDtext tabend print "QT4/QY4-StarterBoard"; 'Index 1 bis 20 Text 'Index 0 = print-Token 'Index 21 = ASCII 0 für "Text-Ende" print "16.01.2006"; 'Index 23 bis 32 = Text 'Index 22 = print-Token 'Index 33 = ASCII 0 für "Text-Ende" '---LCD-Routinen---------- #LCD_init LCD_Port = &h38 'Function Set 8 Bit LCD_PORT = &B10000011 Pulse LCD_e pause 1 LCD_PORT = &B10000011 Pulse LCD_e LCD_PORT = &B10000011 Pulse LCD_e ' Function Set 4 Bit LCD_PORT = &B10000010 Pulse LCD_e LCD_CMD &h28 LCD_CMD &h0C LCD_CMD &h06 #LCD_CLS LCD_CMD &h01 pause 1 return #LCD_CMD pop LCD_Param LCD_RS=0 goto LCD_Write #LCD_put pop LCD_Param LCD_RS=1 #LCD_Write LCD_Port = (LCD_Port and &hF0) or (LCD_Param SHR 4) Pulse LCD_e LCD_Port = (LCD_Port and &hF0) or (LCD_Param AND &H0F) Pulse LCD_e return #LCD_Print ' Zeichenfolge ausgeben. pop x looktab LCDtext,x,LCD_Param while LCD_Param LCD_Put LCD_Param x=x+1 looktab LCDtext,x,LCD_Param wend return #LCD_Zahl pop x if x > 99 then LCD_Put ( (x / 100) + &H30) else LCD_Put Space if x > 9 then LCD_Put (((x mod 100) / 10) + &H30) else LCD_Put Space LCD_Put ((x mod 10) + &H30) return |
| Antwort schreiben |