Hallo
ich hab folgendes Problem: ich hab angefangen eine 3koordinaten Fräßen mit Lego zu bauen. die mechanik lässt mir nur noch malen zu. zwei probleme taten sich auf die motoren zu positioniern um nicht zu schwingen.(das geht noch einigermaßen und funktioniert unter last auch) und mein Hauot problem ist nun das ich die daten nicht richtig zum µC senden kann das will nicht klappen. ich arbeite mit lpt1 und als µC einen atmega16.
Vb code
Bascom codeCode:Private Sub Timer2_Timer() Out (&HBE), 0 byte1 = byte1 + 1 'Out (&H3BE), byte1 - 1 If byte1 = 1 Then Out (&H3BC), erstebytex: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 If byte1 = 2 Then Out (&H3BC), letztebytex: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 If byte1 = 3 Then Out (&H3BC), erstebytey: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 If byte1 = 4 Then Out (&H3BC), letztebytey: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 'If byte1 = 5 Then Out (&H3BC), erstebytez: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 'If byte1 = 6 Then Out (&H3BC), letztebytez: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 'If byte1 = 7 Then Out (&H3BC), erstebytew: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 'If byte1 = 8 Then Out (&H3BC), letztebytew: Out (&HBE), byte1 - 1 ': Out (&HBE), byte1 + 8 'If byte1 = 9 Then byte1 = 0: Out (&HBE), 8: Timer2.Enabled = False If byte1 = 9 Then Timer2.Enabled = False End Sub
das Bascom programm empfängt die daten und soll sie dann alle nacheinander anzeigenCode:$regfile = "m16def.dat" $crystal = 7372800 'Config Portd = Input Config Portc = Input Config Porta = Output Config Portb = Input Dim Portfeld(10) As Sram Integer Dim Programm As Integer Portb = 255 Portc = 255 Porta = 0 Waitms 1000 Porta = 255 Waitms 1000 For Programm = 1 To 10 Do If Pinb.0 = 0 Then : Porta.0 = 1 : Else : Porta.0 = 0 : End If If Pinb.1 = 0 Then : Porta.1 = 1 : Else : Porta.1 = 0 : End If If Pinb.2 = 0 Then : Porta.2 = 1 : Else : Porta.2 = 0 : End If If Pinb.3 = 0 Then : Porta.3 = 1 : Else : Porta.3 = 0 : End If If Pinb.4 = 0 Then : Porta.4 = 1 : Else : Porta.4 = 0 : End If If Pinb.5 = 0 Then : Porta.5 = 1 : Else : Porta.5 = 0 : End If If Pinb.6 = 0 Then : Porta.6 = 1 : Else : Porta.6 = 0 : End If If Pinb.7 = 0 Then : Porta.7 = 1 : Else : Porta.7 = 0 : End If Loop Until Pinc.0 = 0 If Pinc.0 = 0 Then Do If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(1) = Portfeld(1) + 1 : Else : Porta.0 = 0 : End If If Pinb.1 = 0 Then : Porta.1 = 1 : Portfeld(1) = Portfeld(1) + 2 : Else : Porta.1 = 0 : End If If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(1) = Portfeld(1) + 4 : Else : Porta.2 = 0 : End If If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(1) = Portfeld(1) + 8 : Else : Porta.3 = 0 : End If If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(1) = Portfeld(1) + 16 : Else : Porta.4 = 0 : End If If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(1) = Portfeld(1) + 32 : Else : Porta.5 = 0 : End If If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(1) = Portfeld(1) + 64 : Else : Porta.6 = 0 : End If If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(1) = Portfeld(1) + 128 : Else : Porta.7 = 0 : End If Loop Until Pinc.0 = 0 If Pinc.1 = 0 Then Do If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(2) = Portfeld(2) + 1 : Else : Porta.0 = 0 : End If If Pinb.1 = 0 Then : Porta.1 = 1 : Portfeld(2) = Portfeld(2) + 2 : Else : Porta.1 = 0 : End If If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(2) = Portfeld(2) + 4 : Else : Porta.2 = 0 : End If If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(2) = Portfeld(2) + 8 : Else : Porta.3 = 0 : End If If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(2) = Portfeld(2) + 16 : Else : Porta.4 = 0 : End If If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(2) = Portfeld(2) + 32 : Else : Porta.5 = 0 : End If If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(2) = Portfeld(2) + 64 : Else : Porta.6 = 0 : End If If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(2) = Portfeld(2) + 128 : Else : Porta.7 = 0 : End If Loop Until Pinc.1 = 0 If Pinc.0 = 0 And Pinc.1 = 0 Then Do If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(3) = Portfeld(3) + 1 : Else : Porta.0 = 0 : End If If Pinb.1 = 0 Then : Porta.1 = 1 : Portfeld(3) = Portfeld(3) + 2 : Else : Porta.1 = 0 : End If If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(3) = Portfeld(3) + 4 : Else : Porta.2 = 0 : End If If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(3) = Portfeld(3) + 8 : Else : Porta.3 = 0 : End If If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(3) = Portfeld(3) + 16 : Else : Porta.4 = 0 : End If If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(3) = Portfeld(3) + 32 : Else : Porta.5 = 0 : End If If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(3) = Portfeld(3) + 64 : Else : Porta.6 = 0 : End If If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(3) = Portfeld(3) + 128 : Else : Porta.7 = 0 : End If Loop Until Pinc.0 = 0 And Pinc.1 = 0 If Pinc.6 = 0 Th0en Do If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(4) = Portfeld(4) + 1 : Else : Porta.0 = 0 : End If If Pinb.1 = 0 Then : Porta.1 = 1 : Portfeld(4) = Portfeld(4) + 2 : Else : Porta.1 = 0 : End If If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(4) = Portfeld(4) + 4 : Else : Porta.2 = 0 : End If If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(4) = Portfeld(4) + 8 : Else : Porta.3 = 0 : End If If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(4) = Portfeld(4) + 16 : Else : Porta.4 = 0 : End If If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(4) = Portfeld(4) + 32 : Else : Porta.5 = 0 : End If If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(4) = Portfeld(4) + 64 : Else : Porta.6 = 0 : End If If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(4) = Portfeld(4) + 128 : Else : Porta.7 = 0 : End If Loop Until Pinc.6 = If Pinc.6 = 0 Then : Programm = 100 : Else : Programm = 1 : End If Next Programm Porta = 255 Waitms 500 Porta = Portfeld(1) Waitms 400 Porta = 255 Waitms 500 Porta = Portfeld(2) Waitms 400 Porta = 255 Waitms 500 Porta = Portfeld(3) Waitms 400 Porta = 255 Waitms 500 Porta = Portfeld(4) Waitms 400 Do Loop
"Porta = 255
Waitms 500
Porta = Portfeld(1)
Waitms 400"
der teil hier
Am porta hängen 8 leds und an portb lpt1( Daten) an pinc.0,pinc.1,pinc.6,pinc.7 Hängt lpt1(steuer signale)
ich hoffe das es diesmal verständlich ist (ich kann schwer irgendwelche sachen zu beschreiben) und mir jemand weiter helfen kann
mfg thomas







Zitieren

Lesezeichen