Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Attiny2313 [BASCOM] Wolne piny przy obsłudze wyświetlacza na T6963C?

Sebastian.R 06 Mar 2012 22:27 1657 7
  • #1 06 Mar 2012 22:27
    Sebastian.R
    Poziom 20  

    Witam !
    Mam pytanie odnośnie wykorzystania pinów ,które jakby pozostały wolne przy podłączeniu wyświetlacza na kontrolerze T6963C. Co do pinów portu A ,czyli PortA.0 PortA.1 i PortA.2 to jeśli im się chce przypisać inne konkretne funkcje np. UART to trzeba tą obsługę napisać oddzielnie ,jak wirtualny UART. Ale co do jednego pinu ,które nie bierze udziału w obsłudze wyświetlacza ale zostało jakby z całym portem przypisane do tej obsługi , w tym przypadku PortD.2. Jak go wykorzystać ?

    Code:

    'Sposób podłączenia wyświetlacza LCD:
    '       końcówka       3 podłączona do
    '1        GND            GND
    '2        GND            GND
    '3        +5V            +5V
    '4        -9V            -9V potencjometr
    '5        /WR            PORTD.5
    '6        /RD            PORTD.4
    '7        /CE            PORTD.3
    '8        C/D            PORTD.0
    '9        NC             nie podłączone
    '10       RESET          PORTD.6
    '11-18    D0-D7          PB
    '19       FS             PORTD.1
    '20       NC             nie podłączone
    $regfile = "attiny2313.dat"
    $crystal = 8000000
    Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portd , Ce = 1 , Cd = 0 , Wr = 5 , Rd = 4 , Reset = 6 , Fs = 1 , Mode = 8

    0 7
  • #2 06 Mar 2012 22:31
    Zocha24
    Poziom 21  

    Możesz bez problemy ustawić wolny, pojedynczy port jako we/wy i nim dowolnie sterować

    0
  • Pomocny post
    #3 07 Mar 2012 08:04
    seba_x
    Poziom 31  

    Nie do końca , ja ostatnio męczyłem się bo na wolnych portach chciałem puścić i2c , niestety bascom odmówił współpracy , musiałem na tych portach zrobić przyciski . Dziwne ?!

    0
  • #4 07 Mar 2012 08:37
    Sebastian.R
    Poziom 20  

    Na PA0 i PA1 chcę ustawić programowy UART. Natomiast jak zauważycie to o ile DATAport to cały portB , to CONTROLport używa 6 pinów , siódmy jest wolny. I o ten wolny mi się rozchodzi.

    0
  • #5 07 Mar 2012 08:47
    seba_x
    Poziom 31  

    Tak wiem o co ci się rozchodzi , ja miałem problemy z i2c . Spróbuj bo inaczej się nie przekonamy .

    0
  • #6 07 Mar 2012 08:57
    Sebastian.R
    Poziom 20  

    Dorzucę dalszy fragment kodu :

    Code:

    Dim X As Byte , Y As Byte , Z As Bit
    Dim Znak As String * 4                                      'Pozycja wpisywanego znaku
    Dim Pixel As String * 4                                     'Pozycja wpisywanego pixela
    Open "coma.0:9600,8,n,1" For Input As #1 ,                  'Wejscie pierwsze dla znaku
    Open "coma.1:9600,8,n,1" For Input As #2                    'Wejscie drugie dla pixela
    Open "comd.2:9600,8,n,1" For Output As #3                   'Wyjscie informacyjne czy mozna dalej
    Cls
          'Inne opcje to:
          ' CLS TEXT   kasuje tylko strone tekstowa
          ' CLS GRAPH  kasuje tylko strone graficzna

    Musze użyć jednego wyjścia by kontrolować sytuację. Programowy UART nie posiada buforowania więc jeśli wyślę string "X , Y , Z , bit_końca" ,to jeśli nie zaczekam aż skończy wyświetlać to za wcześnie wysłany kolejny pixel może się zgubić , dlatego oczekuję na AS#3 potwierdzenia czy mogę puścić kolejny znak/pixel.

    0
  • Pomocny post
    #7 07 Mar 2012 09:04
    Zocha24
    Poziom 21  

    Napisz jakiś prosty program(Uart) który będzie korzystał z tego pinu i sprawdź czy zadziała bo bascom w paru miejscach jest niedopracowany

    0
  • #8 08 Mar 2012 11:00
    Sebastian.R
    Poziom 20  

    Program wygląda tak:

    Code:

    'Sposób podłączenia wyświetlacza LCD:
    '       końcówka       podłączona do
    '1        GND            GND
    '2        GND            GND
    '3        +5V            +5V
    '4        -9V            -9V potencjometr
    '5        /WR            PORTD.5
    '6        /RD            PORTD.4
    '7        /CE            PORTD.3
    '8        C/D            PORTD.0
    '9        NC             nie podłączone
    '10       RESET          PORTD.6
    '11-18    D0-D7          PB
    '19       FS             PORTD.1
    '20       NC             nie podłączone
    $regfile = "attiny2313.dat"
    $crystal = 8000000
    Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portd , Ce = 3 , Cd = 0 , Wr = 5 , Rd = 4 , Reset = 6 , Fs = 1 , Mode = 8
    Dim Znak_w As Byte , Znak_k As Byte , Znak As Byte
    Dim Pix_x As Byte , Pix_y As Byte , Pixel As Byte
    Dim Koniec_znak As Byte , Koniec_pix As Byte , Liczba As Byte
    Dim Pixx As Byte
    Open "coma.0:9600,8,n,1" For Input As #1 ,                  'Wejscie pierwsze dla znaku
    Open "coma.1:9600,8,n,1" For Input As #2                    'Wejscie drugie dla pixela
    Config Pind.2 = Output                                               'Wolny pin - czy zadziala?
    Czy_wolny Alias Portd.2                                             'Nadanie mu nazwy
                                                   
    Cls
    Showpic 44 , 60 , Logo
    Wait 1
    Cls Graph
    'Inne opcje to:
    ' CLS TEXT   kasuje tylko stronę tekstową
    ' CLS GRAPH  kasuje tylko stronę graficzną
    Cursor Off

    Do
     For Liczba = 0 To 4
     Select Case Liczba
     Case 0 : Znak_w = Inkey(#1)
     Case 0 : Pix_x = Inkey(#2)
     Case 1 : Znak_k = Inkey(#1)
     Case 1 : Pix_y = Inkey(#2)
     Case 2 : Znak = Inkey(#1)
     Case 2 : Pixel = Inkey(#2)
     Case 3 : Koniec_znak = Inkey(#1)
     Case 3 : Koniec_pix = Inkey(#2)

     If Liczba = 4 Then
     Locate Znak_w , Znak_k : Lcd Chr (Znak)
     Select Case Pixel
      Case Is > 127 : Pixx = 1
      Case Else : Pixx = 0
      End Select
     Pset Pix_x , Pix_y , Pixx
     Set Czy_wolny
     Waitms 5                                                                     'Jest OK
     Reset Czy_wolny
     End If

     Case 4 : Liczba = 0

     End Select
     Next Liczba

     Loop
    Logo:
    $bgf "logo.bgf"


    Grafika Z karty sd :) Link

    Pozostaje tylko sprawdzić jak to działa .

    0