Hallo Leute,
ich wollte einen Port für Ein und Ausgabe teilen. Leider macht der Mega 8 nicht das was ich mir vorstelle. Es sollten 4 Bit für Ausgabe (zur Ansteuerung eines Multiplexer) und 4 Bit für eine Eigabe (BCD-Schalter) werden.
wenn jemand meinen Fehler sieht und mir Antwortet währe ich sehr dankbar.
GrußCode:$regfile = "m8def.dat" 'ATmega8-Deklarationen $crystal = 8000000 'Quarz: 8,000 MHz intern Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Config Lcdbus = 4 Ddrd = &B00001111 'die unteren 4 bit auf ausgang die oberen 4 bit auf eingang Portd = &B11110000 'für die oberen 4 bit pullup einschalten Dim Ein As Byte Dim Schalter As Byte Dim Leuchte As Byte Cls Do Ein = Pind And &B11110000 'es sollen nur die oberen 4 bit gelesen werden Shift Ein , Right '4 mal nach rechts schieben Shift Ein , Right 'jetzt sollte eine zahl zwichen 0 und 15 in "ein" stehen Shift Ein , Right Shift Ein , Right Schalter = 15 - Ein Locate 1 , 1 'lcd nur zur kontrolle der zahlen Lcd " sch" ; Schalter Locate 2 , 1 Lcd "ein" ; Ein Wait 1 Cls Leuchte = Leuchte + 1 If Leuchte = 16 Then Leuchte = 0 Portd = Leuchte Loop End
Rolf







Zitieren
Lesezeichen