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

ZL1AVR i wc1602a0. Wyświetlacz nic nie wyświetla. Jak sprawdzić wyświetlacz?

dr00id88 18 Cze 2009 12:16 3991 13
  • #1 6671605
    dr00id88
    Poziom 11  
    Witam,

    po dlugoletniej przerwie postanowilem znowu sprobowac odpalic ten wyswietlacz. Problem polega na tym, ze mimo pelnej kompatybilnosci z HD44780, wyswietlacz nic nie wyswietla.

    Biblioteka do obslugi sterownika pochodzi z radzio.dxp.pl

    
    int main(void)
    {
    
    	
    	DDRB  = 0xff;               // use all pins on port B for output
    
    
    	LCD_Initalize();
    	
    	LCD_WriteText("Hello world!!!!!");
    
    
    	while(1)
    	{	
    	}
    	
    }
    
    


    moze cos przeoczylem. Nie wiem. Wyswietlacz jest podlaczony jako 4 piny bez sprawdzania flagi zajetosci.

    Pozdrawiam,

    EDIT:

    Jak mam sprawdzic, czy wyswietlacz jest sprawny? Czarne kwadraciki?
  • #2 6672784
    Wojtek75
    Poziom 24  
    Pokaż jeszcze schemat połączeń.
  • #4 6673026
    Wojtek75
    Poziom 24  
    W sumie to dalej nie wiem jak masz to podłączone, ale zgaduje że po najmniejszej linii oporu, czyli do PORTU B.

    RS -> PB2
    E -> PB3
    DB4 -> PB4
    DB5 -> PB5
    DB6 -> PB6
    DB7 -> PB7

    A biblioteka Radzia wydaje się być domyślnie skonfigurowana dla PORTU A którego 90s2313 nie posiada. Zgaduje że edytowałeś ją pod port B?

    // Konfiguracja sygnałów sterujących wyświetlaczem.
    // Można zmienić stosownie do potrzeb.
    //
    //-------------------------------------------------------------------------------------------------
    #define LCD_RS_DIR		DDRA
    #define LCD_RS_PORT 	PORTA
    #define LCD_RS			(1 << PA2)
    
    #define LCD_E_DIR		DDRA
    #define LCD_E_PORT		PORTA
    #define LCD_E			(1 << PA3)
    
    #define LCD_DB4_DIR		DDRA
    #define LCD_DB4_PORT	PORTA
    #define LCD_DB4			(1 << PA4)
    
    #define LCD_DB5_DIR		DDRA
    #define LCD_DB5_PORT	PORTA
    #define LCD_DB5			(1 << PA5)
    
    #define LCD_DB6_DIR		DDRA
    #define LCD_DB6_PORT	PORTA
    #define LCD_DB6			(1 << PA6)
    
    #define LCD_DB7_DIR		DDRA
    #define LCD_DB7_PORT	PORTA
    #define LCD_DB7			(1 << PA7)
    
  • #5 6673084
    dr00id88
    Poziom 11  
    Edytowalem. Wszystko jest pod port B.

    Zastanawia mnie inna rzecz.
    Zgodnie z datasheetem, podlaczajac pod pierwszy pin wyswietlacza - GND a pod trzeci Vo, nic sie nie dzieje. Natomiast gdy potencjometrem odcialem kontrast i podlaczylem +3V pod pin pierwszy i GND pod trzeci na ekranie pojawia sie w pierwszej linii rzad czarnych prostokatow. Niestety po dalszej inicjacji nic sie nie dzieje. Tylko przy wykonaniu LCD_GoTo(x,y) ekran zostaje wyczyszczony z prostokatow.

    Jakas diagnoza?
  • #6 6673626
    Wojtek75
    Poziom 24  
    Wg. datasheeta: WC1602A0 pinologia twojego wyświetlacza jest jak najbardziej zgodna ze standardem natomiast sterownik to KS0066 czy on jest w 100% zgodny z HD 44780 tego nie wiem. Raczej daj sobie spokój z jakimiś dziwnymi doświadczeniami typu zamiana polaryzacji bo nic dobrego z tego nie wyniknie. Ja wiem, że jak coś nie działa a powinno to człowiek zaczyna odwalać różne nieprzemyślane manewry ale tak naprawdę to droga do nikąd i rzadko coś dobrego z tego wynika.
    Szczerze mówiąc trochę zaniepokojony przed kilkoma minutami dolutowałem goldpiny do wyświetlacza który niedawno kupiłem wg. datasheeta: ABC020002A jego sterownik to SPLC780A lub właśnie KS0066 wgrałem programik na mega8 pospinałem kabelkami i (patrz fotka) ruszył bez problemu. Dlatego jeżeli masz 100% pewności, że wszystko masz dobrze połączone i polutowane (zimne to jest dobre tylko piwo:-) to być może w bibliotece Radka trzeba poprawić coś więcej niż tylko konfiguracje portów, ale tego nie wiem niech się bardziej doświadczeni koledzy wypowiedzą.

    Niech mi moderacja wybaczy delikatną krypto reklamę, ale naprawdę nie miałem na czym tego położyć.
    ZL1AVR i wc1602a0. Wyświetlacz nic nie wyświetla. Jak sprawdzić wyświetlacz?
  • #7 6673720
    dr00id88
    Poziom 11  
    Wojtek75,

    a gdybys mogl zmienic swoj program dla Attiny2313 - 8MHz? Wyjscia portow sa podane powyzej. Zarzucilbys .hex a ja bym sprawdzil, czy to wyswietlacz jest uszkodzony czy po prostu niekompatybilny.

    Komunikacja 4 pinowa bez sprawdzania flagi.
  • #8 6673924
    Wojtek75
    Poziom 24  
    Nie ma sprawy.
    1. Attiny2313
    2. Rezonator 8MHz
    3. Wyświetlacz 16x2
    4. Konfiguracja portów jak w drugim moim poście.
  • #9 6674015
    dr00id88
    Poziom 11  
    Nic. Widac ze wysylana jest informacja na PORTB bo diody mrygaja, ale mimo wylaczenia ich, wyswietlacz ani drgnie. Moze sterownik nie jest zgodny?
  • #10 6674169
    Wojtek75
    Poziom 24  
    Może, na Twoim miejscu posprawdzałbym jeszcze dokładnie wszystkie połączenia miedzy mikrokontrolerem a wyświetlaczem. Nie znam Twojego stopnia zaawansowania, jeżeli chodzi o zabawę w te klocki ale mam nadzieję, że zdajesz sobie sprawę z tego co to są fuse bity i jak istotne jest ich prawidłowe ustawienie.
  • #11 6674334
    dr00id88
    Poziom 11  
    Doceniam, ze chcesz mi pomoc, ale akurat pytaniem o fusebity lekko przesadziles:] poza tym i tak zwiekszyłem czasy opoznien w programie.

    Jak powinien sie zachowac zdrowy wyswietlacz bez inicjacji?

    Ps moze ten wyswietlacz wymaga -5V?
  • #12 6674487
    Wojtek75
    Poziom 24  
    Wybacz ale różne numery widziałem już na tym forum. Ktoś zakłada temat kilka osób próbuje pomóc, po czym przy dwudziestym poście autor wątku nagle zadaje pytanie: a co to właściwie są te fuse bity? I w tym momencie wszystkim pomagającym opadają gacie z wrażenia :D

    dr00id88 napisał:

    Jak powinien sie zachowac zdrowy wyświetlacz bez inicjacji?

    Linijka czarnych kwadracików byłaby dobrym objawem.

    Kończę niektórzy wstają do pracy o godz 04:30

    dobranoc.
  • #13 6675215
    dr00id88
    Poziom 11  
    Ale ten rzadek pojawia sie, gdy podlacze zasilanie dokladnie odwrotnie:/ I w dodatku mimo inicjacji nic sie nie dzieje. Bede musial zobaczyc czy gdzies nie ma roznic miedzy hd44780 a ks0066.
  • #14 11539981
    elektryku5
    Poziom 39  
    Na wstępie proszę o wybaczenie, że piszę w tak starym temacie, ale mam podobny problem co autor tematu, również pracuję na płytce ZL1AVR i również nie działa mi wyświetlacz.
    Edytowałem bibliotekę radzia i problem wygląda następująco:
    -Znika zapełniona linia na wyświetlaczu, więc wyświetlacz się zainicjował.
    -Mimo zapisania w programie tekstu nie wyświetla się.
    -Gdy wpięte mam złącze od ISP i kilkakrotnie resetuję na wyświetlaczu pojawia się od czasu do czasu znak, ale tylko pierwszy, czasem dwa, reszta się nie wyświetla.
    Testowałem na tej płytce program z tego tematu -STOPER.HEX i wyświetlacz działał jak należy, byłbym wdzięczny za udostępnienie sprawnej biblioteki, lub pomocy w poprawieniu tej.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Jeszcze jedna mało istotna informacja, na AT90S2313 i ATTINY2313 dzieje się dokładnie to samo.
REKLAMA