Hi,
ja sicher, hier is mein code:
Ich hoffe du kannst da was rauslesen?Code:$regfile = "M1284pdef.dat" $crystal = 14745600 $hwstack = 100 $swstack = 100 $framesize = 200 ' LCD Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.6 , Wr = Portc.5 'Config Lcdbus = 4 Config Lcd = 20 * 4a ' #PortC ' PINC.0 = LCD / DB7 Lcd_db7 Alias Portc.0 Config Lcd_db7 = Output Lcd_db7 = 0 ' PINC.1 = LCD / DB6 Lcd_db6 Alias Portc.1 Config Lcd_db6 = Output Lcd_db6 = 0 ' PINC.2 = LCD / DB5 Lcd_db5 Alias Portc.2 Config Lcd_db5 = Output Lcd_db5 = 0 ' PINC.3 = LCD / DB4 Lcd_db4 Alias Portc.3 Config Lcd_db4 = Output Lcd_db4 = 0 ' PINC.4 = LCD / E Lcd_e Alias Portc.4 Config Lcd_e = Output Lcd_e = 0 ' PINC.5 = LCD / R/W Lcd_rw Alias Portc.5 Config Lcd_rw = Output Lcd_rw = 0 ' PINC.6 = LCD / RS Lcd_rs Alias Portc.6 Config Lcd_rs = Output Lcd_rs = 0 ' PINC.7 = LCD / Reset Lcd_reset Alias Portc.7 Config Lcd_reset = Output Lcd_reset = 1 ' Reset ausschalten Declare Sub Lcd_befehl(byval Befehl As Byte) ' Befehl Bitmaske: 7=0 , 6=0 , 5=Rs , 4=R/W , 3=Db7, 2=Db6 , 1=Db5 , 0=Db4 Declare Sub Lcd_enable do ' LCD INITIALISIEREN if init = 0 then init = 1 ' Synchronize1: Call Lcd_befehl(&B00000011) Call Lcd_enable Call Lcd_befehl(&B00000011) Call Lcd_enable ' Synchronize2: Switcht to 4 bit data length Call Lcd_befehl(&B00000011) Call Lcd_enable Call Lcd_befehl(&B00000010) Call Lcd_enable ' Function Set: 4 bit data length extension Call Lcd_befehl(&B00000010) Call Lcd_enable Call Lcd_befehl(&B00001010) Call Lcd_enable ' Extended function: 4 line display Call Lcd_befehl(&B00000000) Call Lcd_enable Call Lcd_befehl(&B00001001) Call Lcd_enable ' Entire mode set: Call Lcd_befehl(&B00000000) Call Lcd_enable Call Lcd_befehl(&B00000110) Call Lcd_enable ' Bias setting: Call Lcd_befehl(&B00000001) Call Lcd_enable Call Lcd_befehl(&B00001110) Call Lcd_enable ' Function Set: Call Lcd_befehl(&B00000010) Call Lcd_enable Call Lcd_befehl(&B00001001) Call Lcd_enable ' Internal OSC: Call Lcd_befehl(&B00000011) Call Lcd_enable Call Lcd_befehl(&B00001011) Call Lcd_enable ' Follower control: Call Lcd_befehl(&B00000110) Call Lcd_enable Call Lcd_befehl(&B00001110) Call Lcd_enable ' Power control Call Lcd_befehl(&B00000101) Call Lcd_enable Call Lcd_befehl(&B00000111) Call Lcd_enable ' Contrast set: Call Lcd_befehl(&B00000111) Call Lcd_enable Call Lcd_befehl(&B00000100) Call Lcd_enable ' Function set: Call Lcd_befehl(&B00000010) Call Lcd_enable Call Lcd_befehl(&B00001001) Call Lcd_enable ' Display on, cursor on, blink on Call Lcd_befehl(&B00000000) Call Lcd_enable Call Lcd_befehl(&B00001111) Call Lcd_enable end if Loop ' LCD BEFEHL Sub Lcd_befehl(byval Befehl As Byte) ' Befehl Bitmaske: 7=0 , 6=0 , 5=Rs , 4=R/W , 3=Db7, 2=Db6 , 1=Db5 , 0=Db4 ' Db4 Lcd_db4 = Befehl.0 ' Db5 Lcd_db5 = Befehl.1 ' Db6 Lcd_db6 = Befehl.2 ' Db7 Lcd_db7 = Befehl.3 ' R/W Lcd_rw = Befehl.4 ' Rs Lcd_rs = Befehl.5 End Sub Sub Lcd_enable Lcd_e = 1 Waitus 400 Lcd_e = 0 Waitms 2 End Sub
Viele Grüße







Zitieren

Lesezeichen