logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

problem początkującego z lcd w bascom - dziwne rzeczy

pawelj 12 Sie 2007 00:12 1170 4
REKLAMA
  • #1 4169367
    pawelj
    Poziom 15  
    Posty: 228
    Ocena: 34
    Witam. Mam taki problem. Zaczynam sobie pisać w Bascom na Atmega 16

    Program wyszedł baaardzo długi a ma tylko służyć do ustawiania temperatur. Ale do rzeczy. Nie wyświetla mi wszystkich znkaów. Dokładniej to raz wyświetla raz nie

    
    $regfile = "m16def.dat"
    $crystal = 16000000
    
    Config Portc = Output
    
    Config Pina.2 = Input                                       ' enter
    Config Pina.3 = Input                                       'dół
    Config Pina.4 = Input                                       'góra
    Config Pina.7 = Output                                      'led testowy
    'Config Pina.6 = Output                                      'led testowy
    Dim Menu As Byte                                            'liczenie które menu
    Dim Tg As Byte , Td As Byte , Zm As Byte , M As Byte        'zmienne temperatur
    
    Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
    Config Lcd = 16 * 2
    
    
    Cursor Off
    Cls
    Menu = 0
                                                        ' ustawiam zmienne menu
    
    Tg = 45
    Td = 25
    Set Pina.2
    Set Pina.3
    Set Pina.4
    M = 2
    Gosub Wyswietl3
    <jakis program>
    ...
    Wyswietl3:
    Locate 1 , 1
    Lcd "     M E N U   "
    Locate 2 , 1
    Lcd "Tg= " ; Tg ; "Td = " ; Td ; "  "
    Return
    


    Po wykonaniu tego programu (wklejam cały kawałem z konfiguracją) powinienem w dolnej linii dostać "Tg= 45 Td=25 "
    Po zrobieniu reset dostaje np "Tg= 45Td = 2" albo "Tg= 4 Td = 2 2"

    Napis W pierwszej linii pojawia się ale nie zawsze.
    Nie mam pojęcia gdzie może być błąd - czy w programie czy w konstrukcji - chociaż tą akurat uznaję za ok bo to płytka zakupiona i na programie dołączonym przez sprzedawcę działa bez problemów (ale nie ma tam użytych żadnych klawiszy - a u mnie są).
    Jeżeli ktoś ma jakiś pomysł chętnie poczytam.

    pawełJ
  • REKLAMA
  • #2 4169394
    Nostradamus
    Poziom 17  
    Posty: 233
    Pomógł: 14
    Ocena: 4
    a jak nie wyświetla czegoś na LCD to znaczy że sa jakieś bzdury czy po prostu czysta linia LCD??
    Nie wiem czy to coś ma wspólnego ale daj sobie Config LCD=16*2 przed Config LCDpin.

    U mnie też nie chciało działać LCD jak podłączyłem pod port C. W fusebitach wyłącz obsługę JTAGa. Bo masz linię TCK właśnie ustawioną jako RS dla wyświetlacza. U mnie to pierniczyło wszystko. Ja testowałem ten swój program na ZL3AVR.
  • REKLAMA
  • #3 4169411
    pawelj
    Poziom 15  
    Posty: 228
    Ocena: 34
    Nostradamus napisał:
    a jak nie wyświetla czegoś na LCD to znaczy że sa jakieś bzdury czy po prostu czysta linia LCD??
    Nie wiem czy to coś ma wspólnego ale daj sobie Config LCD=16*2 przed Config LCDpin.

    U mnie też nie chciało działać LCD jak podłączyłem pod port C. W fusebitach wyłącz obsługę JTAGa. Bo masz linię TCK właśnie ustawioną jako RS dla wyświetlacza. U mnie to pierniczyło wszystko. Ja testowałem ten swój program ana ZL3AVR.


    Nie wyświetla nic, czasem Wyświetla ten sam znak w sąsiednim polu np. "MENUU"
    Config lcd=16*2 wstawiłem przed config lcdpin - bez zmian. Obsługa jtaga chyba wyłączona była - Fusebit J :1-disable
  • REKLAMA
  • #4 4169415
    Nostradamus
    Poziom 17  
    Posty: 233
    Pomógł: 14
    Ocena: 4
    spróbuj zamiast LOCATE 1.1 dać Home Upper
    a zamiast Locate 2.1 dać Lowerline i zobacz wtedy jak to będzie wyglądało.
  • #5 4169432
    pawelj
    Poziom 15  
    Posty: 228
    Ocena: 34
    Nostradamus napisał:
    spróbuj zamiast LOCATE 1.1 dać Home Upper
    a zamiast Locate 2.1 dać Lowerline i zobacz wtedy jak to będzie wyglądało.


    Przerobiłem tak jak napisałeś. Niby wyświetla wszystko - tzn nie gubi znaków ale teraz dla odmiany raz na jakiś czas przy wciśnięciu któregokolowiek klawisza pijawia się jakiś "krzak" w różnych miejscach. coś jak "i" do góry nogami z kreseczką z boku. Zawsze taki sam.

    PawełJ
REKLAMA