Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

LPT pordi kaudu juhtimine

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    LPT pordi kaudu juhtimine

    Panen välja mõned lingid kus õpetab tegama LPT
    pordi kaudu juhitavat välisseadet. Juhtprogramm on
    DOSpõhine ja kirjutatud C keeles.
    Kuidas sellist programmi saaks valmis progeda
    Visual Basicuga? Oskab keegi aidata.

    http://www.electronic-circuits-diagrams.co...utersckt1.shtml

    http://www.electronic-circuits-diagrams.co...ersimages/1.gif

    http://www.electronic-circuits-diagrams.co...es/portctrl.txt

    http://www.electronic-circuits-diagrams.co...es/portctrl.zip

    #2
    Lingid peaks aitama
    http://www.mattjustice.com/parport/par_vb.html

    ja eriti see
    http://www.aaroncake.net/electronics/vblpt.htm
    Elu on nagu lintmakilt muusika kuulamine. Mida lõpupoole, seda kiiremini hakkab linti äraandev ketas pöörlema...

    Comment


      #3
      Tänan linkide eest.
      Nende abil sain programmi niipalju tööle, et saan
      nupuga vajutada LPT pordi väljundite nivood kõrgeks.
      Kuidas teha nii, et ühe buttoniga vajutada väljundi
      nivoo kõrgeks ja teistkordsel vajutusel lülitaks
      nivoo madalaks.Seejuures see ei tohiks mõjutada teiste
      väljundite nivoosid. Ühesõnaga formil on 8 buttonit
      millega saaks üksteisest sõltumatult lülitada kaheksat
      väljundit sisse ja välja. Milline kood tuleks kirjutada?

      Teine küsimus.Kas keegi teab koodi mis paneks LED-id
      väljundis jooksma ühes suunas ja ka teises suunas(mitte edasi tagasi).Asja peaks saama lülitada buttonitega.

      Comment


        #4
        Lüliti: ntx. kontrollipordi seisu ja vastavalt sellele inverteeri. Pordi seisu asemel võib olla vastav muutuja. VB-s ei ole kahjux seokest käsku nagu assembleris (cpl px.x)
        E-pikenduses tegin just niimoodi:

        Private Sub Relee_Click(Index As Integer)
        Juhtimine(Index + 1) = 0 'väljund käsijuhtimisele!
        LEDAUTO(Index).BackStyle = 0 'automaatrežiimi LED ära
        If Valjundid(Index + 1) = 0 Then 'kui on väljas,lülita sisse
        Valjundid(Index + 1) = 1
        Relee(Index).Caption = "V" 'ja muuda nupu kirjet
        LEDSV(Index).BackColor = vbRed 'indikaator punaseks
        Else
        Valjundid(Index + 1) = 0 'vastasel juhul lül. välja
        Relee(Index).Caption = "S" 'ja muuda samuti nupu kirjet
        LEDSV(Index).BackColor = vbGreen 'indikaator roheliseks
        End If
        SendData 'saada käsk pikendusele
        SeiviVäljundid
        End Sub


        On nuppude maatriks nimega Relee(n) ja vastavate LEDide maatriks LEDSV(n). Väljundid(n) hoiab vastava väljundi hetkeseisu. SendData saadab jura kividele jne..

        Viimasest küsimusest ei saaanud hästi aru - mitte edasi/tagasi..?
        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

        Comment


          #5
          LEDide kohapealt ma olen huvitatud just sellisest
          koodist mis paneb need jooksma nagu see skeem:
          http://metku.net/index.html?sect=view&n=1&...alot1/index_eng

          Comment


            #6
            Pane 1 taimer ja iga tema evendi peale nihuta väljundite seisu kajastavat arvu 1 samm paremale (või vasakule). Nihutamine peaks käima "ringiratast" st. 1. väljanihkuv bitt läheb MSB poolt "sisse" tagasi.
            - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
            - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

            Comment


              #7
              Niisiis, tegin sellise katse. See on siis epikenduse
              koodi järgi.

              Private Sub Relee_Click(Index As Integer)
              vbOut &H378, 1

              If Valjundid(Index + 1) = 0 Then
              Valjundid(Index + 1) = 1
              Relee(Index).Caption = "V"
              LEDSV(Index).BackColor = vbRed
              Else
              Valjundid(Index + 1) = 0
              Relee(Index).Caption = "S"
              LEDSV(Index).BackColor = vbGreen

              vbOut &H378, 0
              End If
              End Sub


              Nivoo läheb kõrgeks LPT kontaktil 2 ja teistkordsel vajutamisel madalaks.
              Kuid mida peaks tegema, et ülejäänud buttonid lülitaks järgmistel LPT kontaktidel nivoo kõrgeks ja madalaks.
              Ma ei suuda seda lihtsalt lahti mõtestada, olen liiga algaja veel.
              Kas peaks midagi ette võtma selle vbOut &378 - ga.

              Comment


                #8
                Private Sub Relee_Click(Index As Integer)
                   vbOut &H378, (INDEX+1)
                   
                See VIST aitab, proovi!
                Kui nüüd toimub lülitumine 1 võrra nihkes, pane Index+1 asemel index.
                - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                Comment


                  #9
                  Proovisin seda, ei hakka tööle. Kirjutasin koodi
                  vbOut &H378, (index) siis
                  liidab ainult ühe juurde.
                  Näiteks:
                  nupp1 378H, 0
                  nupp2 378H, 1
                  nupp3 378H, 2
                  nupp4 378H, 3
                  nupp5 378H, 4
                  nupp6 378H, 5
                  nupp7 378H, 6
                  nupp8 378H, 7

                  Kui kirjutada vbOut &H378, (index+1) on niimoodi:
                  nupp1 378H, 1
                  nupp2 378H, 2
                  nupp3 378H, 3
                  nupp4 378H, 4
                  nupp5 378H, 4
                  nupp6 378H, 6
                  nupp7 378H, 7
                  nupp8 378H, 8

                  Ma ei oska vist hästi seletada, ma loodan et sa saad aru.

                  Comment

                  Working...
                  X