Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bacic i Bascom -sterowanie led

scal12 20 Sty 2007 10:47 3659 10
  • #1 20 Sty 2007 10:47
    scal12
    Poziom 19  

    Witam szanownych kolegów,i prosze o pomoc.Interesuje mnie sterowanie przez port Rs232 8 diodami led .Wszystko ma wygladać w ten sposób że program do obsługi rs232 musi byc napisany w jezyku Basic nastepnie kabelkiem pc ma byc podłączony do procka AT89C2051 lub ewentualnie do Atmega8 lub atmega8535 do którego bedą podłaczone diody led i nacisniecie przycisku1 na pc zapala diode 1 nacisniecie przycisku2 zapala diode 2,itd.Interesuja mnie konkretne programy,listingi i przykłady nawet za cene punktów,sterowanie przez port lpt odpada musi byc tylko przez RS232.Dziekuje za odpowiedz i pozdrawiam wszystkich. Dodam jeszcze ze na forum szukałem ale tylko wskazówki zadnych konkretów.

    0 10
  • #2 20 Sty 2007 11:31
    kamyczek
    Poziom 33  

    Taką zabawkę to można bez komputera zrobić wykorzystując obsługę klawiatury AT przez bascom tzn pobierasz znak z klawiatury dekodujesz go i wysyłasz na port . Jak otworzysz sobie przykłady z bascoma lub help to zobaczysz ze nie ma co pisać więcej ... Jeśli upierasz się przy rsie to procedura jest podobna czekasz na odebranie znaku z rsa dekodujesz i wysyłasz na port . nie zapomnij że 51 wysteruje diodę jak port będzie podawał 0 , a w AVR należy skonfigurować port jako wyjście !!

    0
  • #3 20 Sty 2007 12:18
    scal12
    Poziom 19  

    Wszystko sie zgadza i tą zabawkie mozna zrobic na tysiąc sposobów sterowanie przez LPT mam opanowane ale z rs232 mam problemy na konkretnym przykładzie było by mi łatwiej to zrozumiec.

    0
  • #4 20 Sty 2007 13:05
    M. S.
    Poziom 34  

    Napisz w Visual Basicu (lub innym) program z przyciskami, ptaszkami itd. do wyboru diody, zakoduj to w bajcie i wyślij go przez RS232 do µC. W programie µC wstaw instrukcję input w pętli tak aby reagowała na transmisję z PC. Odebraną wartość zapisz w rejestrze portu, do którego podłączysz diody.
    Jak nie wiesz jak z poziomu Visual Basica dobrać się do RS'a to odwiedź stronę Bascoma i ściągnij sobie kontrolkę do obsługi RS'a wraz z przykladem zastosowania.
    http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=73&Itemid=54

    0
  • #5 20 Sty 2007 14:25
    scal12
    Poziom 19  

    Moze to dziecinne pytanie ale co znaczy ,,wysłac w bajcie,, na lpt pisałem np: Out PortAddress, 11,co powodowało ze na wyjsciu lpt pojawial sie sygnał w postaci BCD -11,???

    0
  • Pomocny post
    #6 20 Sty 2007 16:02
    M. S.
    Poziom 34  

    Bajt to 8 bitów, bit to 1 lub 0, 0 to np dioda zgaszona, 1 to zaświecona.
    01101010 to bajt - dioda zerowa to 0, dioda 1 to 1, dioda 2 to 0 licząc od prawej. Bajt wpisany do portu ustawi odpowiednio napięcia końcówek a te zasilą diody.

    0
  • #7 20 Sty 2007 19:23
    scal12
    Poziom 19  

    Już zaczynam powoli łapac :) chciałem zrobić cos takiego podłączyłem diode z oporniczkiem na piny 3-TXD i 5-GND portu rs232 i chciałem aby ona sie zaswieciła gdy nacisne przycisk,port sie otwiera,zamyka ale nie moge sprawić aby dioda podłaczona do txd sie zaswieciła lub ewentualnie do DTR,RST.

    0
  • #8 20 Sty 2007 22:51
    M. S.
    Poziom 34  

    Nie siedzę w RS232, lecz moim zdaniem przez port wysłane zostana dane i koniec, wiec co tu obserwować - to port szeregowy a nie równoległy. Weź lepiej oscyloskop do ręki. Niektóre programy mogą jednak ustawić np. stan wysoki na odpowiednim pinie. Napięcie to używane jest np. do zasilania MAX'a.

    0
  • #9 21 Sty 2007 11:54
    scal12
    Poziom 19  

    w rs232 też stawiam pierwsze kroki i sie dopiero ucze ale na prostych przykładach mozna sie czegos nauczyc i cos zrozumiec,mamjeszcze jedno pytanie jak przypisac bajt do jakiedoś przycisku w visual basicu zeby polecial przez rs232,jakiego uzyc polecenia?Próbowałem czegos takiego
    Private Sub Command1_Click()
    MSComm1.Output = "00000100"
    End Sub
    ale narazie nic z tego

    0
  • Pomocny post
    #10 21 Sty 2007 21:54
    M. S.
    Poziom 34  

    A otworzyłeś port? Zobacz sobie przykład do tej kontrolki.

    Coś takiego znalazłem. Przeanalizuj.

    Code:
    Private Sub Command1_Click()
    
      CommX1.BAUDRATE = 19200
      CommX1.COMPORT = 1
      CommX1.OPEN
    End Sub

    Private Sub Command2_Click()
       CommX1.Close
    End Sub

    Private Sub Command3_Click()
       CommX1.SEND Text3.Text + Chr(13) ' send data
    End Sub

    Private Sub CommX1_OnKeyPress(Key As Integer)
     
    End Sub

    Private Sub CommX1_OnReceive(ByVal Data As String)
     
      Text1.Text = Data
     
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
       CommX1.Close
    End Sub


    Jest to w Visual Basicu

    Użyłeś chyba oryginalnej kontrolki. U mnie ona nie działała. Pobierz darmową ze strony, którą podałem. Ta chodziła u mnie bez problemu.

    0
  • #11 22 Sty 2007 18:47
    scal12
    Poziom 19  

    Witam i dziekuje koledze M.S. za okazane zainteresowanie i podpowiedz w temacie,fajnie ze na forum jest przynajmiej jedna osoba która sie orientuje w temacie :) Dzieki koledze M.S mój problem został rozwiazany.Dziekuje i pozdrawiam.
    Zamykam temat.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo