; lcd podlaczony do portu 1, mozna zmienic na dogodny ; ponizsze linie ster. mozna zmienic na dogodne lin_rw equ p3.1 lin_e equ p3.2 lin_rs equ p3.0 org 0 ;--------------init lcd ---------------- mov a, #38h ; interf.8-bit,2-wiersz,5x7pix call lcd_cont mov a, #0ch ; display on, reszta off call lcd_cont mov a, #1 ; clear display call lcd_cont ;------------koniec...
Dlaczego? Bo taki kod nic nie robi (nie zmienia stanu "maszyny abstrakcyjnej"), więc może zostać usunięty bez zmiany znaczenia programu. Rozwiązaniem jest np. dodanie w pętli [syntax=c]__asm__ volatile ("nop");[/syntax]
(at)rafz i czym się różni czekanie na zmianę stanu na pinie RW od czekania aż licznik skończy odliczać? Oprócz faktu że w tym drugim nie używamy pinu RW. Przede wszystkim tym, że jak sobie to rozpisze z opóźnieniami to będzie widział jak to czasowo wygląda i gdzie ten czas będzie mógł zaoszczędzić o ile potrzebuje ;) A init, który jest wykonywany zazwyczaj...
Procesor to atmega16L z wewnętrznym kwarcem 8Mhz (dodefiniowałem F_CPU 8000000L). bardzo ciekawe to co napisales, bo domyslnie ta atmega ma ustawiony oscylator 1MHz, a nie 8. do tego na porcie C ma cos takiego co sie zwie JTAG, co wypadaloby najpierw wylaczyc, jesli tego uzywasz. nie mam ochoty na wiecej zgadywanek, bo ani nie dalej schematu, ani calosci...
Witam wszystkich, Próbuję uruchomić wyświetlacz LCD znakowy 2x40 ze sterownikiem hd44780 na procesorze STM32L na płytce STM32L-Discovery. Korzystałem z książki "STM32 Aplikacje i ćwiczenia w języku C" Marka Galewskiego. Do książki były dołączone pliki biblioteczne do obsługi właśnie hd44780. Wykorzystałem te pliki, zmieniłem jedynie port pod który podpiąłem...
Pin od kontrastu mam wpięty przez rezystor 10k do masy (i nie chcę mieć na kontraście regulacji - ma on być stały) Ale to nie tak reguluje się kontrast. Równie dobrze mógłbyś podłączyć ten pin bezpośrednio do masy. Dołącz dodatkowo jeszcze rezystor jakieś 47k między zasilanie a pin kontrastu i zobacz czy coś się zmienia.
Witam, Bez zbędnych formalności przejdę do opisu: [url=http://radzio.dxp.pl/hd44780/hd4478... schemat połączeń. Podpiąłem: RS-PD3, E-PD4, D4-PD5, D5-PD6, D6-PD7, D7-PD0. Korzystam z bioblioteki radzia(4-bitowy tryb pracy bez odczytu flagi zajętości). Oto mój kod w "main.c" [syntax=c]#include "HD44780.h" int main(){ LCD_Initalize();...
To fakt, co piszesz. W wielu książkach się z taką praktyką spotkałem, ale nikt tak na prawdę tego wprost nie uzasadniał. Po podłączeniu zasilania do wyświetlacza wyświetla się linijka, informująca o działaniu LCD i umożliwia ona nastawienie kontrastu. Żeby się jej pozbyć, trzeba ustawić LCD do pracy. I teraz, w sterowniku oryginalnym, pewnie jednokrotne...
ostatnio kupilem na allegro wyswietlacz LCD DM157a, niestety za nic nie moge sobie poradzic z odpaleniem tego LCD. Niby sprawa jest prosta podlaczenie zasilania i kolejno wyjsc, ale u mnie nie chce ruszyc, . spoko, nie jest tak żle, mam trochę tych LCD-ków i żadnego problemu. Na taśmie wyprowadzenie Vcc i +5V razem i do zasilania, reszta to standard....
Pin RW podłącz do masy. W funkcji string nie używasz zn. Przy inicjalizacji ustawienie trybu w 8-bitowy powinno być pierwsze. Zresztą przeczytaj datasheet (Initializing by instruction) tam masz napisane, że trzeba trzykrotnie wysłać 0x3F w dodatku z różnymi odstepami czasowymi, po włączeniu zasilania należy chwile odczekac. Wstaw jeszcze jakieś opóźnienia,...
Witam, Po pierwsze sprawa sprzętowa: czy na liniach portu 0 masz zewnętrzne rezystory podciągające? Port 0 w tym mikrokontrolerze nie ma wewnętrznych pull-upów. Po drugie sprawa programowa: stan linii RS i RW musi być ustawiony przed podaniem stanu wysokiego na linię E. Po pierwszej instrukcji inicjalizacji powinno być też dłuższe opóźnienie - zalecam...
Trzykrotny kod jest dla magistrali 4bit, i jest użyty dla pewności poprawnej konfiguracji trybu dla tej tej magistrali. Różnice dla KS0066U mogą polegać na dłuższym czasie inicjalizacji. Temat był już wielokrotnie omawiany na tym forum, przeważnie z okazji "KS0066U mi nie działa :(, HELP...." ;).
Przecież w programie nie ma takiego napisu...?
Nie mam pojęcia co z nią jest nie tak. Błąd z serii szkolnych :D [syntax=c]void hd_init(void){ _delay_ms(15); //wake to power up //init sequence for 4bit bus //8bit mode hd_dir_out(); RS_LOW; RW_LOW; E_LOW; hd_nibble( 3); E_HIGH; E_LOW; _delay_ms(5); E_HIGH; E_LOW; _delay_us(100); E_HIGH; E_LOW; _delay_us(100); hd_nibble(2); E_HIGH; E_LOW; _delay_us(100);...
Cześć, od jakiegoś czasu zmagam się z problemem dość podstawowym i - jak to zazwyczaj w takich przypadkach bywa - wyczerpały mi się pomysły na jego rozwiązanie. Podłączam LCD do Atmegi8 zgodnie z następującym schematem: http://radzio.dxp.pl/hd44780/hd44780_avr... , a więc tryb 4-bitowy z odczytem flagi zajętości (R/W wyświetlacza podłączone...
a może najłatwiej będzie użyć gotowej biblioteki ?? http://radzio.dxp.pl/hd44780/hd44780_avr... Tez kiedyś się bawiłem w robienie samemu ale szkoda czasu. PS. SET_E; write_command(0x03); delay_ms(10); CLR_E; Powyższy kod jest zły ponieważ najpierw oczyszczasz E a potem czekasz.
Witam. Chciałem rozgryźć wyświetlacze z HD44780. Po nieskutecznych próbach z interfejsem 4-o bitowym, wszystko skasowałem, i napisałem zupełnie od nowa, tym razem pod interfejs 8mio bitowy. OK, poczytałem datasheety, diagramy itp. Według mnie wszystko raczej się zgadza, ale wyświetlacz się nie chce zainicjalizować (a raczej dwa wyświetlacze, bo próbowałem...
Pokaż schemat.
Witam, mam podlaczona ATmege z wyswietlaczem alfanumerycznym w trybie 4-bitowym z odczytem flagi zajętości. Uzywam biblioteki ze strony http://radzio.dxp.pl/hd44780/ Inicjalizacja wyswietlacza przebiega tak jak powinna, kursor (ktory wlaczylem sobie) pojawia sie na pierwszej pozycji. Ale niestety jakakolwiek proba wyswietlenia znaku (LCD_WriteData()...
Czy obydwa wyświetlacze to WC1602A ? Bo one są "baaardzo kompatybilne" z HD44780, szczególnie inicjalizacja. A jeszcze swoją drogą, to czy ten delay po zerowaniu linii E nie powinien być przed zerowaniem? I daj R/W do masy jak nie używasz.
Witaj, Ja na Twoim miejscu nie szukałbym problemu gdzie go nie ma. Najprostszą metodą rozwiązania Twojego problemu jest wzięcie dokumentacji do hd44780 i zrobienie krok po kroku inicjalizacji, tak jak tam jest napisane. Tam naprawdę jest dobry opis co trzeba i jak zrobić. Pozdrawiam
Przeanalizuje sobie te kody. Działają na pewno. http://radzio.dxp.pl/hd44780/
Witam! Ma ktoś może jakąś dokumentacje co do sterowania HD44780 w trybie 4-bitowym wraz z samym włączeniem go?
JTAG może? *Nie patrzyłem w kod*
Witam. Wiem, że temat wygląda podobnie do wielu innych tematów, ale rady podane w tychże nie pomogły. Mam płytkę, gdzie dane przesyłane są przez port A (D0...D7 - PA0...PA7) natomiast linie sterujące są podłączone do portu C (E-PC7,RW-PC6,RS-PC5). Płytka jest sprawdzona omomierzem i wszędzie są przejścia. Napisałem kod w AVRStudio4: ldi r16,0xFF;ustawienie...
Może inicjalizacja jest za szybko po włączeniu zasilania.
Witam, pomimo że problem wyświetlaczy LCD ze sterownikiem HD44780 był poruszany milion razy, nie znalazłem konkretnie wyjaśnionego (łopatologicznie) problemu sterowania tym przez LPT za pomocą interfejsu 4-bitowego. Bardzo proszę o pomoc w realizacji inicjalizacji takiego wyświetlacza (1x16 znaków), schemat podłączenia: LPT LCD d0 db4 d1 db5 d2 db6...
Co najmniej multiple definition of powinieneś się domyślić tym bardziej, ze zadałem pytania uściślające. Zastanów się: - skoro skopiowałeś funkcje do pliku, - oraz załączasz dodatkowo do projektu plik .c biblioteki z tymi funkcjami to ... ile np. funkcji _LCD_Write() widzi kompilator?
Witam. Mam podobny problem tez z At128 i właśnie z portem A . Inicjalizacja się nie powodzi i do tego albo sa kwadraciki albo nic niema. Czasem nawet kursor się pokaże ale nic nie reaguje na komendy. Wie juz wiesz co było u Ciebie przyczyną? Ja dziś sprawdze jak mi ktoś poradził tu własnie na forum by zmienić bit konfiguracyjny kompatybilności z Atmega103...
Zrobiłem kod wzorując się tym razem na tym co radzio udostępnił ( http://radzio.dxp.pl/hd44780/ ). Na AVR biblioteki mi działają mimo że pisałem tak samo... Nadal nie działa... Po wrzuceniu takiej konfiguracji: E | RS | D7 | D6 | D5 | D4 0/1 | 0 | 0 | 0 | 1 | 0 0/1 | 0 | 0 | 0 | 0 | 0 0/1 | 0 | 1 | 1 | 1 | 1 0/1 | 0 | 0 | 0 | 0 | 0 0/1 | 0 | 0 | 0 |...
Wyświetlacz nie przechodzi inicjalizacji. Sprawdź to na sprawdzonej bibliotece: [url=https://radzio.dxp.pl/hd44780/4x40/...
twój LCD jest na sterowniku zgodnym z HD44780 czyli powinień smigać bez problemu... Czy masz jakiś problem z wysterowaniem tego LCD ? Działa ilaczej czy coś innego ? pozdr KN
Nie.
Witam. To jest mój pierwszy układ. Mam podłączonego lcd do atmegi wg schematu ze strony: http://radzio.dxp.pl/hd44780/hd44780_avr... PB2 -RS, PB3 - RW, E - PB4, 8 bitów danych do PORTC. Korzystam z oprogramowania WinAvr gcc + PonyProg. Program obsługi tego LCD także ściągałem z tej strony. Problem mam w tym, że nie potrafie nic na tym wyświetlaczu...
Czyli jest tam sterownik HD44780. Czy problemy z inicjalizacją tego wyświetlacza mogą być spowodowane krótkimi 5ms czasami opóżnienia. Bo mam z tym problem .Z góry dzieki za info.
No ja sprawdziłem "na żywca". Działa. Sprawdź dobrze połączenia. Po połączeniu musisz zrobić reset układu, żeby wykonała się inicjalizacja sterowników HD44780.
Ech, przecież w datahseecie pisze jaki tam jest sterownik: SPLC780D. Jest on zamiennikiem sterownika KS0066U który to z kolei jest mniej więcej zamiennikiem kontrolera HD44780. Mniej więcej bo jest jakaś różnica w inicjalizacji. http://www.santechdisplay.co.jp/product/... http://www.elektroda.pl/rtvforum/topic10... http://www.elektroda.pl/rtvforum/topic28...
Zapala się przed inicjalizacja i gasi po
Witam. Mam problem z inicjalizacją wyświetlacza HD44780 korzystając z biblioteki od "radzia". Przy kompilacji możliwie prostego programu: http://obrazki.elektroda.pl/1084233600_1...
Witam Sądzę że najlepszym rozwiązaniem jest zamontowanie wyświetlacza z powrotem w drukarce i podpięcie się analizatorem stanów logicznych pod linie. Np dość dobry jest Saleae i ma zaszyte dekodowanie wielu protokołów. W ten sposób poznasz sekwencje inicjalizacji i protokół.
Każdy lcd potrzebuje procedury inicjalizacji zaraz po włączeniu zasilania. Procedura opisana w dokumentacji sterownika HD44780.
Na 90% jest to uszkodzony kontroler ewentualnie gdzieś coś nie styka w samym wyświetlaczu (może komuś spadł z wysokości na płaską powierzchnię). W ogóle co to za wyświetlacz? Bo nie mogę dojść czy 2x16 czy 4x16 ;). A dobry wyświetlacz 4x16 kupisz w artronicu za 23 zł..
Witam, Już kilka dni nie mogę rozwiązać problemu z wyświetlaczem i tym kontrolerem. Wyświetlacz i sterowanie jest 4-bitowe. Wyświetlacz to WC1602A0, czyli kompatybilny z HD44780 2 rzędy po 16 znaków. uCdo testowania to Atmega16, choć docelowo będzie pracował z Atmega32. W każdym razie połączenia na schemacie wydają sie być w porządku, dla pewności kilkukrotnie...
Witam. Mój wyświetlacza posiada 2linie po szesnaście znaków. Korzystam z biblioteki Radzia HD44780 http://radzio.dxp.pl/hd44780/hd44780_avr... Problem polega na tym , że po wpisaniu kodu: LCD_WriteText("Zakr. przetworn."); LCD_WriteText("0123456789"... LCD_WriteText("0123456789"... LCD_WriteText("Zakr....
Kupiłem lcd z serii DOG 16x2 ale nie mogę go zainicjować. Ma ktoś jakieś doświadczenia z jego kontrolerem? Zestaw instrukcji jest zgodny z HD44780. Chcę wykorzystać tryb 4-bit. Pozdrawiam PC
To o czym już wspominano - co jakiś czas inicjalizacja.
Kolega chyba na bakier z angielskim i czytaniem dokumentacji w ogóle. Pomijając dalszy opis w nocie dość jednoznacznie sposobem inicjalizacji, sygnałami itd. wskazujący na zgodność z HD44780, to z kontekstu całego dokumentu powinien się domyśleć że LCM w nocie to ichnia nazwa LCD (pewnie Liquid Crystal Matrix zamiast Display), a literka M oznacza standardowy...
Z ciekawości zapytam - ile zajmuje program który ma w sobie tylko konfigurację np RCC + ta biblioteka (inicjalizacja + wypisanie stringa)?
Witam! Chciałem być ambitny i się zaczęło... Początek projektu na procesorze AtMega16 (8MHz na kwarcu) i wyświetlacz HD44780 16*2, komunikacja 8bitowa z uwzględnieniem flagi zajętości. Układ i biblioteka obsługi wyświetlacza zaczerpnięta ze strony #include <avr/io.h> #include <util/delay.h> //--------------------------------------...
Nie zachowujesz minimalnych czasów z noty katalogowej. Wystarczy spojrzeć na funkcję writeData() czy inicjalizację.
A po co inicjalizujesz LCD w każdym obiegu pętli? P_P
100nF, ceramiczne! Więcej szczegółów tutaj: http://mikrokontrolery.blogspot.com/2011... Powinieneś podłączyć wszystko wg zaleceń! Cóż, napisali w nagłówku aukcji, że to HD44780, a w jej (aukcji) szczegółach, że jest z nim zgodny. "Tylko zgodny" czasami może wymagać, np. innego sposobu inicjalizacji i warto to sprawdzić...
Z tego co pamiętam to w niektórych wyświetlaczach kompatybilnych z HD44780... minimalne czasy przy inicjalizacji są nieco większe niż w przypadku HD44780... Spróbuj pokopać na forum bo to było już parę razy...
Witam, jestem nowy na forum i postaram sie opisać zwięźle i dokładnie. Mam pewien problem z Atmegą 16A i wyświetlaczem wc1602a0-sfylync06. Otóż było już kilka tematów związanych z tym wyświetlaczem ale mnie już sprawa przerasta. Podłączenie jest dokładnie takie samo jak na stronie radzia: [url=http://radzio.dxp.pl/hd44780/hd4478...
Już zamieniłem to, niestety nadal nic nie chcę startować. Spróbowałem zrobić sam program na uruchomienie wyświetlacza i wyświetlenia napisu. Niestety nadal widze te prostokąciki i nic poza nimi. Zaraz zamieszczę kod. Dodano po 4 Sterowanie ldc [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h>...
Witam, podales tak malo danych o ukladzie ze mozna tylko zgadywac, ogolnie "prostokaty pojawia sie gdy z jakiegos powodu wyswietlacz po wlaczeniu napiecia nie zostal zainicjowany. W twoim przypadku oznacza to ze w chwili wlaczenia "tego czegos" co pobiera 2kW masz spadek napiecia powodujacy reset wyswietlacza, jako ze byl on juz wczesniej zainicjowany...
Witam. Napisałem swoją bibliotekę do wyświetlacza w temacie, ale niestety są z nią problemy. [syntax=c]#include <avr/io.h> #include "HD44780.h" #include <avr/delay.h> int main(void) { LCD_Initalize(); for(int i=0; i<30; i++) LCD_WriteData('a'); while(1); return 0; }[/syntax] Na wyświetlaczu powinien wyświetlić się ciąg znaku "a", ale...
Witam! Chciałem podpiąć wyświetlacz ABC016002E. Jest on oparty na sterowniku zgodnym z HD44780(takie samo ustawienie pinów). Kontrastu na razie nie regulowałem. Ale nie w tym jest problem, gdyż program się zapętla tam gdzie nie powinien. Piny mam w następujący sposób podpięte: PD0 - RS PD1 - RW PD2 - E PD3 - D4 PD4 - D5 PD5 - D6 PD6 - D7 PB0 - dioda...
Program źle napisany ale działa. Temat do zamknięcia. #define F_CPU16000000UL//16MHz zegar procesora #include <avr/io.h> #include <util/delay.h> #include <string.h> #include <stdlib.h> #include <avr\interrupt.h> /***************************************... //*Definicje makr zmieniająćych stany bitów w rejestrach*//...
Jeśli wyświetlają sie prostokąty to najprawdopodobniej właśnie problem z inicjacją LCD. Więcej dowiesz sie na [url=http://radzio.dxp.pl/hd44780/]tej stronce
Witam ! Programuje właśnie uC Atmega8. Mam pewien problem z ustawieniem klawiatury. Otóż, podłączam ją poprzez ps/2 do atmegi, literki są poprawnie wyświetlane na wyświetlaczu LCD jednak jest taki problem ze podwójnie( AABB..) jeżeli wcisnę dość szybko jedna literkę po drugiej to mam : ABAB ... . Podejrzewałem, że to flaga 'nowy' jest za późno się zeruje,...
Czy w czasie inicjalizacji stosujesz softwarowy reset HD44780 - jeżeli tak to jest to bardzo dziwne, jeżeli nie to spróbuj.
Witam, Używam LCD 2x16 w samochodzie w minikomputerku pokładowym. Przy temperaturach około zera stopni wszystko działało poprawnie. Gdy temperatura spadła do -10 LCD nie inicjalizuje się poprawnie. W pierwszej linii widać tylko czarne prostokąty. Dodam, ze wg danych producenta wyświetlacz powinien pracować nawet przy -30 stopniach http://www.hnqhlcd.com.hk/online_store/U...
Witam, otóż zasilam owy wyświetlacz napięciem ±3.3V, a także stany logiczne są na tym poziomie. Pin kontrastu jest podpięty bezpośrednio do masy, kontrast wizualnie wydaje się być dobrany idealnie. I problem w tym, że pixele bardzo wolno się zapalają.(wyszło mi ok. ~300ms na pełne zaświecenie pixela) Czy jest to jest maksimum wyświetlacza, czy...
... Odnośnie sygnału Enable to ja się doszukałem że właśnie najpierw trzeba go ustawić w stan wysoki a dopiero później zmienić dane. To źle doszukałeś :( Spójrz poniżej na zależności dla HD44780 (chyba że masz inny sterownik) Pozdrawiam Piotrek
No, ale jeżeli w pętli na przemian piszesz coś na wyświetlacz, a następnie natychmiast go czyścisz, to jak chcesz odczytać ten napis? Co znaczy, że po kompilacji przeskakuje dalej? Po ponownym załadowaniu programu? Zablokowanie wyświetlacza nie jest możliwe, ale możesz mieć np. błędy w inicjalizacji.
[syntax=c] 21c21 < #define CLR_LCD_E PORTB= ~_BV(PB3) --- > #define CLR_LCD_E PORTB&= ~_BV(PB3) 40,41c40,41 < #define SET_LCD_D6 PORTD= _BV(PD7) < #define CLR_LCD_D6 PORTD= ~_BV(PD7) --- > #define SET_LCD_D6 PORTD|= _BV(PD7) > #define CLR_LCD_D6 PORTD&= ~_BV(PD7) 98c98 < --- > [/syntax] Obejrzałem 'po łebkach' Twój hd44780.h...
O co chodzi z timingami z inicjalizacją? A może być to kwestia zbyt szybkiej linii SCK?
Zalecałbym dokładne zapoznanie się z dokumentacją wyświetlacza. Teoretycznie nie powinno być różnicy pomiedzy sterowaniem prockiem, a przyciskami. Z ręcznym sterowniem może być trochę zabawy zanim wyświetli się jakakolwiek litera :) Najpierw musi być inicjalizacja wyświetlacza, a następnie odpowiednie komendy do wyświetlania liter. Kiedyś widziałem...
W wielu przykładach piszą w ten sposób, albo jakieś hello world i przypisane mają dokładnie tyle znaków ile ma cały ciąg bez żadnego dodatkowego oznaczającego koniec. Nie wiem czy to błąd wklejających listingi czy co? Nie zmienia to faktu, że nawet jak dodam jeden więcej znak do tablicy to dalej nie działa niestety.
Używam dokładnie tego samego LCD. U siebie po pierwsze po inicjalizacji, przed wysłaniem komendy czyszczenia (pierwszej jakiejkolwiek komendy) daję delaya 100ms. Po drugie, linię R/W mam zwartą do masy (czyli na stałem sam zapis) - i tak w Twojej bibliotece nie widzę komend odczytu ;) A po trzecie spróbuj linie RS i EN przepiąć na inne piny. Dokładnego...
Witam serdecznie - jestem początkujący i próbuję uruchomić termometr na atmedze8 Atmega ma podłączony wyświetlacz alfanumeryczny 2x16 znaków DS podłączony normalnie - nie pasożytniczo pisząc program opierałem się na: http://ds5.agh.edu.pl/~czaro/naukowo/avr... oraz chwilkę później ponieważ pierwsze rozwiązanie nie działało: http://www.elportal.pl/forum/viewtopic.p...
Wyswietlacz zaczal reagowac, ale musze przyciskac paraokrotnie reset zeby pojawil sie kursor. Swoja droga pojawia sie on w przypadkowych miejscach, dopiero po kilku znowu resetach wskakuje na lewy gorny rog. Jesli chce cos wyswietlic to japierw wypisuje krzaki, pozniej tekst ale tylko krotki (jak mowi po mozolnym prziskani reset). Tak jak pisalem wczesniej...
Witam. Realizuje właśnie projekt układu który steruje panelem słonecznym i mam pewien problem, mianowicie wyświetlacz nie reaguje na mikrokontroler (cały czas wyświetla tylko czarne prostokąty w pierwszej linii). Korzystam z gotowych bibliotek hd44780.h: http://obrazki.elektroda.pl/9528292600_1... Próbowałem bibliotek z kilku różnych...
W przypadku GCC na LCD pojawia się 8 kwardacików Co może być nie tak ? Inicjalizacja jest zła. Masz włączoną optymalizację ?
A czy jeśli ustawisz pozycje pośrednią, włączysz zasilanie, świecą się tylko niektóre kratki? (wyświetlacz jest wtedy gotowy do inicjalizacji)
Tak to byla inicjalizacja a odkrylem to dosc nietypowo. sterowanie wyswietlacza jest w formie czterobitowej. przy resecie przycisnalem palcem pod mikrokontroler (pewnie zaklucilem prace kwarca) i ruszyl poprawnie. przeczytalem jeszcze gdzies w postach ze wyprowadzenia P1.0 i P1.1 sa nie podciagniete (wejscie analog) i moze przez to tez glupial, zaraz...
Hej. Próbowałem z tymi plikami i nic nie ruszyło. Nie jestem tylko pewny czy ten wyświetlacz ma sterownik HD44780 czy jakiś zgodny z nim. Powiedz czy ty robiłeś to na takim samym WinStar WH1602B2-YYH-CT czy innym?? Udało mi się jedynie znaleść sklep gdzie pisze że ma zgodność z HD44780 ale gdy patrze w instrukcję odnośnie inicjalizacji WH1602B2-YYH-CT...
Nie napisałeś na jakim sterowniku pracuje Twój LCD.Domyślam się , że chodzi o HD44780.Jeśli tak jest w rzeczywistości , to procedurka inicjująca jest niezgodna ze specyfikacją.Spójrz na str.47 (Figure 26 4-Bit Interface) rzeczonej specyfikacji i porównaj ze swoim kodem. Piotrek
#include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include "hd44780.h" #include <avr/delay.h> int main(void) //Program główny { LCD_Initalize(); //Inicjalizacja wyświetlacza while (1) { LCD_GoTo(0,0); LCD_WriteText("Hello!")... //Wyświetlenie...
[syntax=basic4gl].include "m8def.inc" ldi R16,low(RAMEND) out SPL, R16 ldi R16,high(RAMEND) out SPH, R16 ldi r17, 0b11111111 out DDRC, r17 out DDRD, r17 ldi r19, 0b00000000 //glowny //inicjalizacja rcall opoznienie ldi r18, 0b00110000 out PORTD, r18 out PORTC, r19 rcall opoznienie out PORTD, r18 out PORTC, r19 rcall opoznienie out PORTD, r18 out PORTC,...
Kolego kamilcendrowski, próbowałem uruchomić Twój program inicjalizacji lcd na symulatorze - nie ruszył z miejsca. Przeanalizuj (lub użyj) program który Ci posłałem, ten działa na pewno, nie wysyłam niesprawdzonego kitu by zdobyć punkty, bo mnie one nie interesują. I pamiętaj że P0 ma otwarte kolektory.
A to jest to samo napięcie co na uP? Bo może problem jest w inicjalizacji LCD'ka? Spójrz na schemat z pierwszego postu - LCD jest podłączany do LPT, a nie do uC. LCD bez inicjacji (w słowniku języka polskiego nie ma słowa inicjalizacja) wyświetla rząd czarnych prostokątów. Przynajmniej moje tak mają.
Tmf - jezeli on miałby organizację 8x1 to te kwadraty miałyby kolor tła po inicjalizacji. oczywiście wtedy trzeba (mialem kiedys takie cudo) do drukowania na drugiej czesci linii pierwszej przesuwac na adres 40 a drugiej nie pamietam ale łatwo policzyc (10 i 50). Ale inicjalizacja i czyscczenie działa tak samo na obu czesciach obrazu.
Cześć. Program ten, sprawdzany był na attiny2313 Jak próbowałem go na at90s2313, to działał jak dołożyłem mu 6 x nop. Ewentualnie spróbuj mu dać kilkadziesiąt ms czasu przed inicjalizacją. Czy na pewno masz dobrze ustawiony CKSEL ? na wewnetrzny oscylator, PB6 i 7 to również końcówki zewn.oscylatora A to jest właśnie wersja z dołożonymi nop'ami.
Inicjalizacja, między innymi, ustawia tryb pracy z dwoma liniami, dopóki górna jest ciemniejsza to znaczy że się nie udało, algorytm inicjalizacji w trybie 4-bitowym - zobacz w dokumentacji sterownika HD44780 - potrzebujesz gotowych bibliotek do czegoś tak prostego jak HD44780?.
Witam, zbudowałem następujący układ: http://obrazki.elektroda.pl/1600386800_1... ( Potencjometry mają po 100kilo ohmów. ) Układ jest generatorem z regulowaną częstotliwością i długością pulsu, regulowaną za pomocą potencjometrów. Niestety mam dziwny problem z jego obsługą. Kiedy programowo WYŁĄCZĘ wyświetlacz wszystko działa elegancko....
nie napisałeś zbyt wiele... Jeśli lcd jest na HD44780, to pewnie podczas jego inicjalizacji nie wybrałeś 4-liniowego trybu sterowania, a chyba taki sposób obsługuje bascom (skoro ustawia tylko 4 bity); pozdrawiam, LUK
KS0066U jest kompatybilny z HD44780. Jeżeli korzystasz z opracowań które podałem to muszą one działać w 100%. Co do inicjalizacji: kiedyś miałęm z jakimiś LCD problem dla kwarców większych niż 11MHz. Wtedy sprowadziło się to do modyfikacji kodów obsługi LCD o wprowadzenie wymuszonych opóźnień (define "Szybkosc") co jednak jest bardzo nieeleganckie....
Witam, z tego co widze to inicjalizujesz go 8bitowo wiec nie ma mowy o zlym podlaczniu bo byly by problemy z inicjalizacja. Raczej szukaj problemu z wysylaniem znaku, masz problem z 6tym bitem, porownaj tabelke kodow ascii. Pozdrawiam
W czasie inicjalizacji należy poinformować kontroler HD44780 o tym, że jest to wyświetlacz 4-liniowy. Obecnie jest ustawiony na dwuliniowy: [syntax=c]LCD_WriteCommand(HD44780_FUNCT... | HD44780_FONT5x7 | HD44780_TWO_LINE | HD44780_4_BIT); // interfejs 4-bity, 2-linie, znak 5x7[/syntax]
A o co chodzi z ta inicjalizacją? Aby wyświetlać jakieś zanki na zwykłym LCD (HD44780) wystarczy w bascomie użyc polecenia LCD" " Czy dla DOGM tez można używac tego polecenia? Byłbym wdzięczny jakbyś mógł zamieścić kawałek probramu (w bascomie) obsługi tego wyświetlacza i schemat połączenia z procesorem. pozdrawiam Darek
Faktycznie szukaj. Po pierwsze znajdź dokumentację sterownika HD44780 i sposób jego inicjalizacji do pracy w trybie sterowania 4 bity. Tam znajdziesz również sposób przesyłu i odczytu danych w tym trybie. Wiem, że kiedyś było to bez problemu na serwerze Elektroniki Praktycznej chyba www.ep.com.pl .Potem przeglądnij choćby elektrodę i wątki z tym związane...
Jakiś inny wsad testowałeś? Ciekawe. Zjarany by raczej trochę inaczej reagował, przynajmniej te co ja ubiłem ;) Wygląda na jakiś problem z inicjalizacją. Przez co cała reszta jest żle interpretowana przez kontroler.
W inicjalizacji nie ma nic o sterowaniu linii E. W dokumentacji jest podane RS, R/W oraz Dane. O linii E nic nie jest wspomniane, więc założyłem że jej stan w trakcie inicjalizacji jest nieważny.
Niestety dalej nic. A czy kolejność wywoływania funkcji wyświetlacza w inicjalizacji jest prawidłowa ?
Przy inicjalizacji używa sie dłuższych czasów - patrz DS
Ponieważ LCD może być inicjalizowany w każdym momencie nawet kilkukrotnie w programie i musi być pewność, że inicjalizacja nastąpi niezależnie od tego czy w danym momencie po poprzednich inicjalizacjach jest ustawiony 4 bitowy interfejs czy 8 bitowy. Inicjalizacja jest przeprowadzona przy domniemaniu, że kontroler jest w najgorszym przypadku, czyli...
przy inicjalizacji LCD wykonaj: write_command(0x28); // interfejs 4-bity, 2-linie, znak 5x7 write_command(0x08); // wyłącz LCD, kursor i miganie write_command(0x01); // czyść LCD delay_ms(5); write_command(0x06); // bez przesuwania w prawo write_command(0x0c); // włącz LCD, bez kursora i mrugania
Chyba się poddam. Baud mam ustawiony na wyświetlaczu jak i w programie na 9600. Dodano po 1 soft.sc z MAX232 jest tak samo. Dodano po 1 Właśnie próbuję uruchomić ten wyświetlacz na HD44780. Ale on ma piny inne niż HD. Ten wyświetlacz to jakaś masakra.
inicjalizacja hd44780 błąd inicjalizacja inicjalizacja wyświetlacz
skrzynka bezpiecznik xsara picasso termet czujnik ciśnienia serwonapęd instrukcja
agregat prądotworczy fabia schematy
Nederman DFC-08M "CLEANING OFF" Status – How to Reset Pulse-Jet Cleaning Volvo S60 - nawigacja nie działa, przyczyny i rozwiązania