Witam. Z wyświetlaczem nie miałem wcześniej problemu, używałem go tylko w atmedze32 na porcie A. Musze go przenieść na port D gdyż tam chcę użyć przetwornika A/D, no i jest problem. Korzystam z biblioteki pochodzącej [url=]stąd w konfiguracji identycznej tylko że na porcie D. Przepisałem więc definicje portów w pliku *h . W efekcie gdy używam jakiejś...
Skorzystałem z gotowych bibliotek z [url=]leon-instruments. Na pewno xmega działa, sprawdziłem porty podłączając diodami. Zegarów nie ruszałem. Przy wciskaniu przycisku pojawiają się losowe znaki na całym wyświetlaczu. plik hd44780.c [syntax=c] #include "hd44780.h" #include <avr/pgmspace.h> void _lcd_OutNibble(unsigned char nibbleToWrite) { if(nibbleToWrite...
Dziękuję kolegom za cenne uwagi. Co do wersji z os.mbed.com, to próbowałem ją do siebie przeportować ale niestety efekt był podobny. Poprawiłem kod według wskazówek kolegi Freddie Chopin, przerwanie SysTick jest generowane co 10 us oraz wydłużyłem czasy dla półbajtów, ale efekt jest dalej taki sam. Pojawiło się też słówko volatile. Kod wygląda teraz...
sytuacja wygląda następująco: -zmieniłem układ na LPC1115 i ekran na nowy od kolegi (więc jest pewność że działa). Dalej nie ma reakcji. Załączam schemat: Co prawda sterować wyświetlaczem chcę na początku po czterech bitach ale połączenie dodatkowych pinów nie zaszkodzi a próbowałem jakoś wysterować za pomocą 8'miu bitów. Oczywiście bez reakcji. Jak...
Witam Ćwicząc programowanie w C i obsługę Atmegi8 postanowiłem zrobić prosty program którego zadaniem byłoby zapełnienie całego pola wyświetlacza 4x20 jakimś znakiem napisałem coś takiego: [syntax=c] int main(void) { LCD_Initalize(); int i, n, w, h; while(1) { LCD_Clear(); int w; for(n = 0; n< 20; n++) { for(w = 0; w < 4; w++) { LCD_GoTo(n,w);...
Witam :arrow:Do zbych1000 Mam następujący problem a mianowicie: Buduję urządzenie, które znalazłem pod tym adresem: Wyświetlaczem LCD steruje tam układ PICAXE 28X jednak był problem ze znalezieniem ale na kolejnej stronie: jest zamieszczony opis drobnej przeróbki tak aby urządzenie działało z układem PIC16F873A oraz program pod tego PICa. Efekt mam...
No ;) pomyślałem sobie - będzie jakaś fajna biblioteczka - choć ja mam swoje własne rozwiązania - jednak tak wielu początkująych rzeczywiście poszukuje tego typu rozwiązań, że faktycznie mogłaby być taka biblioteka przydatna. Tymczasem kolega pisze takie sorki ale wg mnie herezje odnośnie flagi zajętości: - praca w trybie 4-bit bez odczytywania flagi...
Może opiszę po prostu o co mi chodzi.. Nabyłem wyświetlacz lcd BSC1A16DRY zgodny z hd44780, chcąc zacząć naukę (a właściwie nowe hobby) programowania mikrokontrolerów. Pomijając fakt, że doskonale, wiem że nie rzuca się od razu na głęboką wodą. Lecz skoro już jest, to fajnie by było, gdyby zadziałał, choćby tylko po to, żeby podczas nauki sterowania...
Poruszaj, blachą która dociska wyświetlacz do płytki, jeśli krzaki będą się zmieniały to znaczy że nie ma właściwego styku. Kiepskie chińskie wyświetlacze mają to do siebie że pod wpływem wibracji metalowa ramka się luzuje i właśnie jest taki efekt. A jeśli to nie to to padł sterownik i musisz wymienić wyświetlacz, elektronika tak czasami ma, że się...
Mam problem z wyświetleniem na moim LCD 2X16 czasu i daty .Posiadam płytkę testową na której mam atmegę 16 oraz zegar czasu rzeczywistego DS1302.W chwili obecnej wyświetlają mi się tylko sekundy i nic więcej nie potrafię uzyskać.Poniżej podaję plik main.c . Jestem początkującym w programowaniu .Interesuje mnie tylko realna i efektywna pomoc . Proszę...
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...
Konstrukcja będąca tematem wątku powstała jako projekt na zaliczenie przedmiotu na uczelni, którego celem było napisanie sterownika dla systemu Linux do jakiegoś urządzenia. Ponieważ miałem swobodę wyboru tematu sterownika, postanowiłem stworzyć jakieś urządzenie w postaci karty ISA. Złącze to nie występuje już w obecnych komputerach, ja jednak mam...
Dzięki za podpowiedź. Zrobiłem jak za Twoją poradą a jedynie zrezygnowałem z kondensatora Cosc = 1 nF. W efekcie dostaję pożądane napięcie kontrastu równe około -1.2 V. O to mi właśnie chodziło, temat rozwiązany, zamykam i dziękuję!
damiano713 -> Próbowałem wstawić to co podałeś w main i niestety nie przyniosło to żadnych skutków:( Dopatrzyłem się podobnych instrukcji w funkcji inicjalizacyjnej więc wydaje mi się, że radzio to zrobił poprawnie w swoich bibliotekach. Dziwi mnie tylko fakt, że biblioteki z obsługą lini zajętości różnią się od tych bez w zasadzie tylko zdefiniowaniem...
Poczytaj tutaj: bardzo ciekawe podejście do wyświetlania na HD44780.
Myślę, że pochrzaniłem coś z tymi definicjami dostępu do portów, bo nie do końca rozumiem jak one działają, ale nie mogę dojść do tego, co jest źle. To zacznijmy od początku :D Opisz dokładnie jak masz podpięty LCD do uC, co to za LCD (ile linii, ile znaków w linii) i najważniejsze - czy po podaniu zasilania są jakieś efekty np. "prostokąciki" w górnej...
Witam. Postanowiłem sam napisać obsługę sterownika hd44780. Mam problem z inicjalizacją. Oto kod funkcji inicjalizacyjnej: [syntax=c] #include <util/delay.h> #define LCDD PORTD #define LCDS PORTC #define LCDW DDRC #define DLCD DDRD #define LCDP PIND #define BF PD7 #define E PC3 #define RS PC5 #define RW PC4 #define CL 20 #define RO 4 #define SD...
Rozumiem. W takim razie co jeszcze może powodować taki stan rzeczy? Proszę piszcie, być może faktycznie problem tkwi gdzie indziej. Wyczytałem w necie, że trzeba dobrać wyświetlacz pod kontem procesora sterującego nim, To prawda, ale nie często trafiają się wyświetlacze ze sterownikiem innym niż kompatybilnym z HD44780. Przypuszczam że ten sam procesor...
Witam. Napisalem prosty program, w którym muszę wprowadzić 3 cyfry z zakresu od 0-4. Tak się składa, że mam do dyspozycji 4 klawisze. Zrobiłem taki efekt, iż w górnej lini wyświetlacza nad modyfikowaną liczbą jest "*". Efekt ten niestety zajmuje górną i dolną linię wyświetlacza. Dlatego mam pytanie: jak zrobić na HD44780 efekt, aby edytowana liczba...
Posiadam Fajny wyświetlacz z "odzysku" 2x20 na w/w kontrolerze. Chciałem sobie zrobić fajny schemacik połączenia LCD i LPT kompa, coś takiego jak tu: Niestety poawił się problem - Wyświetlacz wyświetla czarną górną linię, a uruchomienie programu sterującego i inicjującego LCD'ka nic nie daje (dalej czarna linia). Kręcenie potencjometrem kontrastu powoduje...
napisalem program pod AVR sterujacy wyswietlaczem 4 linijkowym. W efekcie caly czas flaga busy odczytywana jest jako '1' nawet od razu po zalaczeniu zasilania. Czy to znaczy, ze LCD jest uszkodzony?? w symulatorze AVRstudio4 wszystko dziala tak jak wydaje mi sie ze powinno :) bardzo prosze kogos bardziej doswiadczonego o analize kodu - moze to wina...
Ciekawy przypadek :) Z Twoich opisów na zdjęciach można wnioskować, że komunikacja jest poprawna, tylko wyświetlanie padło. Możesz się upewnić odczytując wyświetlacz. Jeśli odczytasz prawidłowo, to zanim wyrzucisz do kosza pozostaje rozebrać go, ponownie złożyć i przetestować. Jak spróbujesz opisz efekty.
Witam Chciałbym bardziej z chęci poeksperymentowania ( no i bardziej efektywnego wykorzystania pinów procesora ) wykorzystać expander do podłączenia LCD do procesora. Chciałbym zapytać, czy: 1. można podłączyć wyświetlacz graficzny przez expander ( alfanumeryczny niektórzy polecają przez expander ) ? 2. czy podobnie jak w przypadku alfanumerycznego...
Witam, Układ testuje na plytce EvB 4.3 z: - LCD HD44780 - modułem MAX31855 ( 14 bitowy czujnikiem termopary, mierzący temperaturę termopary oraz temp otoczenia). Moduł z max31855 zakupiłem u naszych chińskich kolegów. Ponieważ MAX31855 wymaga napięcia 3.3V to za pomocą kostki z CD4050B zamieniam sygnał z 5V na 3.3V. ----- Uklad Max31855 dziala na zasadzie,...
EDIT: Odczyt przydaje się chociażby do sprawdzenia BUSY. Obsługa przez sterowanie czasowe jest nieefektywna. Żeby czekać w pętli aż się zmieni stan flagi? To jest dopiero nieefektywne. Lepiej używać timera do tego i w procedurze przerwania wysyłać dane do wyświetlacza.
Piotrus_999 bardzo dziękuję za pomoc. Niestety po wielu próbach / konfiguracjach połączeń stwierdzam że ekran jest uszkodzony. Po długim czasie "bez reakcji" (cały czas widoczne są typowe kwadraty) przez przypadek poruszyłem złączem i na ekranie zaczęły pojawiać się liczby i litery, totalnie losowo. Myślałem że konektor jest uszkodzony. Odlutowałem...
A czemu czepiacie się wyświetlacza ? skoro procek się wiesza. Moja propozycja jest taka.Podłącz te diodę jeszcze raz i mrugaj po każdym poleceniu dla LCD,ale wyświetlacz odłącz od układu i ciekawe co wtedy się stanie ? Np. ... gosub mrugniecieLed CLS gosub mrugniecieLed HOME gosub mrugniecieLed LCD "TEST" gosub mrugniecieLed CLS gosub mrugniecieLed...
na początku pogram był przystosowany do pracy z wyświetlaczem na szynie 8-bit z braku portów i tak żeby się pobawić jest wpięty w magistrale (sygnały sterujące generuje logika, a ja gadam z wyświetlaczem przez polecenia lds i sts) na allegro kupiłem odpowiednik(ta sama ilość znaków), ale sterowany 4 bit, zalany chińczyk więc był brak możliwości dolutowania...
Efekt powyzszych poprawek jest taki ze czarne kwadraty znikle, oczywiscie nic sie na ich miejscu nie pojawlo :/ Kod: Config Lcd = 16 * 1 Config Lcdmode = Port Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.0 , Rs = Portb.1 Display On Cursor On Do Cls Lcd "1234567890123456" Wait 1 Loop Pomiary...
Pomysł narodził się po obejrzeniu n-tego postu na temat wyświetlaczy. Zachciało mi się mieć swój własny :P Użyte materiały: - Wyświetlacz WINSTAR WH2004A-TMI-JT REV.C kupiony na allegro za 65 PLN. Wyświetlacz 4x20 ma białe znaki na niebieskim tle () - gniazdko Centronics - z drukarki HP690C - kabel LPT - taśma od HDD (wykorzystane 16 żył) - tranzystor...
W specyfikacji u mnie pisze że maksymalny czas trwania operacji wynosi 40us. Spróbuje zwiększyć ten czas i sprawdze jaki będzie efekt. Ten wyświetlacz to jakiś klon HD44780, powinien być z nim kompatybilny co do sterowania, nie wiem jak się ma przy takich klonach obsługa czasowa - czy będą to duże róznice? Zwiększyłem czasy (600us) i niestety nic nie...
o kurcze jaki odzew !!! SUPER :) tak wiec postaram sie odpowiedziec na wszystkie pytania: - wyswietlacz podlaczalem do LPT i probowalem je obslugiwac poprzez jaLCDs lub Smartie i efekt byl ten sam jak bez podlaczenia do LPT czyli nic nie widac :( ewentualnie na chwilke baaardzo krotka te kwadraty; co do poblokowanych portow LPT to uzylem programu DLPortIO...
Jeśli kręcąc potencjometrem nie uzyskałeś efektu to są dwie opcje: -wyświetlacz wymaga ujemnego napięcia dla kontrastu (sprawdź typ wyświetlacza i dane producenta) -wyświetlacz zakończył żiwota :(
Oczywiście. Pisałem wyżej przecież. Jak coś nie skontaktuje to LCD odbierze rozkazy nie takie jak trzeba. Efekt to błędne działanie lub jego brak.
Lcd Express v1.1 (freeware, 460KB) Witam! Aplikacja służy do prostej edycji zestawów znaków definiowanych przez użytkownika oraz do wizualnego rozmieszczania napisów na różnych typach matryc (1x16, 1x20, 2x8, 2x16, 2x20, 2x40, 4x16, 4x20). Możliwa jest również symulacja, pozwalająca testować zachowanie się wyświetlacza w przypadku multipleksowania...
TO nie kontrast , tylko coś w inicjowniu wyświetlacza poszło nie tak , miałem takk kilka razy przy testach prototypów , czasem to były zbyła zbyt szybka transmisja , a czasem jakieś błędy w kodach inicjujących, wówczas pojawai się taki efekt ,że jak patrzysz wprost to są czarne prostokąty , a poda kontem prawie 90 stopni coś tam widać. Mówisz ,że jak...
Witam. Małe skromne pytanie. LCD 16x2 - PRC1602A -( 4Bit) - Atmega8 (F_CPU 8Mhz internal) Lcd na porcie D ,Vo -/+5V - ten sam efekt. Sprawdziłem chyba wszystko, kontrast po kilka razy połączenie. Po wyczyszczeniu pamięci w atmedze ,Lcd gaśnie jeśli wgram mu program zapalają się prawie wszystkie kwadraciki (treści na Lcd nie ma). Wgrywam program (w C)...
Łatwiej kupić przeźroczystą obudowę zakleić miejsce wyświetlacza taśmą i pomalować farbą w spreju. Fajny efekt wychodzi wtedy.
Problem wygląda tak, że wyświetlacz już mi kiedyś działał i to z dwoma różnymi bibliotekami, obecnie nie wiedzieć czemu wygląda to tak. Wszystko poprawnie podłączone, sprawdzane 1000 razy. Program skompilowany, wgrany, zeby napisal poprostu 'marek' . #include <avr/io.h> #include "lcd.c" int main(void) { char buffer[7];...
Bawiłem się tym programem, znalazłem błąd za który przepraszam jeśli komuś narobiło to problemików :) W symulatorze kod działał bezbłędnie, a w rzeczywistości do wyświetlacza nie dochodziła komenda Upperline czego efektem były rozmaite latające cyfry po wyświetlaczu... głupia sprawa, bo przy komendzie Upperline nie przełączałem pinów jako wyjścia i...
próbowałem ale nie da się moim zdaniem takiej zależności napisać żeby... bit_is_set() jest cały czas jak działa miernik. Jak odłączy przekaźnik zasilanie to jest bit_is_clear() tylko że nie wiem jak napisać aby pierwsze pokazywało się to co jest przy clear( czyli gdy temp. będzie = 40 stopni) a bit is set na moment gdy temp = 35 stopni i nigdy więcej...
Temat o FIFO dla LCD znakowych a zszedł na dallasy. Zamiast biegać i grzać czujniki można też wyciągnąć na panel przyjazne złącze i wtykać nowy czujnik. Odczytać, przydzielić, zawiesić. Czesiek z utrzymania ruchu daje rade wymienić. Wracając do LCD, ja robię tak że przerwanie co np 1s lub wciśniecie klawisza daje zgodę na odświeżenie. Fizyczne wysłanie...
Ja używam od lat zwykłych wyświetlaczy LCD w trybie 4-bitowym i nie zamieniłbym go na 8-bitowy. Urządzenia z tymy wyświetlaczami pracują w różnych także często bardzo ciężkich warunkach. Takie efekty jakie opisujesz owszem zdarzają się ale najczęściej przy niestety źle napisnej obsłudze i nie dotrzymaniu czasów. Podałeś na górze taki ogólny algorytm...
To co ja mógłbym poradzić: 1. Jeśli już na siłę chcesz odczytywać coś z pamięci RAM wyświetlacza LCD to trzeba byłoby bardzo dokładnie przejrzeć swoją bibliotekę do LCD i poczytać taką tabelkę rozkazów i ich kodów do obsługi LCD. Tam jest do dobrze opisane .... zatem na tej podstawie można byłoby zrobić odczytywanie. 2. Ale jednak podpowiedziałbym taką...
Witam. Zaszła potrzeba wyświetlania powiększonych znaków na standardowym wyświetlaczu alfanumerycznym 2x8. niby sterownik umożliwia pracę w trybie 16x5pixeli, ale coś to nie chce działać. Pozatym mnie interesje tryb 16x10. No i właśnie... sterownik bezpośrednio nie umżliwia pracy w takim trybie, więc trzeba to zrobić na piechotę. Problem w tym, że możliwe...
Witam ponownie... Wyświetlacz to zwykły 2x16 ... ciężko powiedzieć jakie dokładnie parametry ma gdyż nawet symbolu na nim nie ma :-( Jednakże z racji desperacji CPU podciągałem nawet do 5V zasilania ... nic to nie zmieniało ... teraz śmiga na 4,2V iteoretycznie przy tym napięciu nawet 5V LCD powinien normalnie pracować... Kontrast da się regulować ale...
Trochę mało czytelne te połączenia ale sprawdzałem, przepinałem, łączyłem i kabelkami i srebrzanką, ciągle efekt ten sam:( Możę faktycznie gdzieś popełniam trywialny błąd o którym nie wiem może ze zdjęcia będzie to widać
w postaci : [syntax=c]int main() { LCD_Initalize(); LCD_Clear(); while(1) { LCD_GoTo(0,0); LCD_WriteText("tekst"); //pierwsza linia lcd } }[/syntax] efekt identyczny
Witam, w projekcie nad którym pracuje zaszła potrzeba dodania scrollingu tekstu na wyświetlaczu (hd44780 2x16znaków). Niby wszystko pięknie ale podczas przewijania widzę coś na kształt migania i nakładania się tekstu :( Program działa na zasadzie pełnego zapisu 16 znaków jednej lini. Program działa na zasadzie szatkowania tablicy z tekstem na 16B paczki...
Raczej nie można uniknąc kondensatorów przy LCD. Szczególnie że dzisiejsze chińskie wyświetlacze potrafią nie mieć kondensatorów w sobie. Ich brak w LCDkach to efekty oszczędzania do jakich Chinczyków zmuszają sami kupujący (żądający nie wiadomo jak niskich cen). Brak ich na schematach to z kolei niewiedza projektujących te schematy :D Co do samego...
Operatory << w C++ można przeciążyć, w efekcie będą one wykonywały dowolną funkcję, jakiej zapragniesz. Także wystarczy stworzyć klasę obsługi LCD i przeciążyć te operatory, aby uzyskać np. coś takiego LCD<<"Napis";. W przypadku urządzeń i ich instancji warto pomyśleć też o ich implementacji jako singletony. Jest to wygodne i odporne na...
W pliku lcd.h musisz jeszcze zdefiniowac kilka rzeczy, najważniejsze to ustawić wyswietlacz w tryb memory mapped mode . A nie w tryb IO port mode ? Zrobiłem tak: [syntax=c]int main(void) { lcd_init(LCD_DISP_ON_CURSOR_BLINK); lcd_clrscr(); lcd_puts("pierwsza\n"); lcd_puts("druga"); while (1);[/syntax] lub tak: [syntax=c]int main(void) { lcd_init(LCD_DISP_ON_CURSOR_BLINK);...
Mozliwe pisalem to bez kompilatora w edytorze tekstu ;) Edit: Kiedys tekie efekty sie na commodore 64 robilo :D Wiele gier bylo tak stworzonych. Czemu rozbiles drukowanie i lcdgotoxy z petli?
Atmega48 + HD44780 (QC1603A) Hejka Mam dosc spory klopot z podlanczeniem i wyswietleniem napisu na wyswietlaczu. Podlanczenie z jakiego korzystam: LCD Atmega48 D4<>PB4 D5<>PB5 D6<>PB6 D7<>PB7 E <>PB1 RS<>PB2 ZASILANIE LCD VSS+R/W<>GND VO<> POTENCJOMETR Efekt jest taki ze regulacja kontrastu dziala ale...
Witam. Mam pytanie, uczę się programowania i mam problem. Wyświetlacz HD44780 ma 2 linie po 16 znaków. Problem w tym, że wyświetla mi w drogiej linii dopiero 41 znak tekstu, czyli według programu wyświetlacz ma 40 znaków na linii. Moje pyatnia: Jak ograniczyć do 16 znaków? Jak przenieść tekst do drogiej linii np. po pierwszym znaku (próbowałem z "/n",...
Ma ktoś jakiś pomysł ? Próbowałem użyć innych bibliotek.... Efektów również brak. Czy możliwe, że kupiłem uszkodzony wyświetlacz ?
Deklaracja stałej F_CPU nie daje żadnych efektów. Problem leży po stronie biblioteki w której opóźnienia nie są zmieniane dynamicznie(czyt. zależnie od F_CPU) [syntax=c] #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include "HD44780.h" int main(void) { DDRC |= (1<<PC6); PORTC &= ~(1<<PC6); LCD_Initalize();...
Mam problem z uruchomieniem lcd w układzie opartym na atmega8. Po wgraniu docelowego programu nic nie chce wyświetlić. Żeby wykluczyć jakieś kolidacje w kodzie wyrzuciłem z programu wszystko poza obsługą lcd i zostało coś takiego: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 ' wewn. gen. 8MHz - sprawdzalem kilka razy Config Portb = Input...
OK. Pokaż program bo pokazałeś tylko bibliotekę. Możesz wrzucić jakieś zdjęcia z efektami na LCD i widokiem połączeń całości (nie tylko LCD)?
Witam, od paru dni męczę się z aktywacją wyświetlacza HD44780. Procesor jakiego używam to ATMEGA8L (posiadam także ATMEGA8A i na nią także wgrałem program opisany poniżej - efekty takie same). Używam także środowiska Atmel Studio 6. Problem polega na tym iż wyświetlacz podłączyłem, sprawdzałem już kilka razy połączenia, zwarcia itp. i nie znalazłem...
Zasilacz daje 1500mA, pod obciażeniem 11.97V. Co do filtracji, to mogę prosić o jakieś przykłady? Próbowałem dać kondensator elektrolityczny 1000uF na wyjściu zasilacza, ale nie dało żadnego zauważalnego efektu. Próbowałem też w układzie dioda + kondensator [url=]Link tez nie pomoglo.
Witam Z gory przepraszam za brak polskich znakow. Na początku zbudowalem schemat zgodnie z tym tutorialem tylko ,ze z atmega16a Popodlaczalem jednak do tych samych portow itp... newbiehack . com/MicrocontrollersABeginnersGuideIntro... newbiehack . com/MicrocontrollersABeginnersGuideOurFi... Zrobilem uklad,...
Dodałem pętlę główną (zachowanie układu nie uległo zmianie) program wygląda teraz tak: 3696223000_1392282570|YuM4mgysK2 Kilka zdjęć: Oto lista działań, które podjąłem w celu spróbowania zlokalizowania problemu: -Podmieniłem najdłuższe przewody, które łączą obie płytki stykowe na przewody o długości 10 cm ale nic to nie zmieniło. -Sprawdziłem 4 układy...
Idea jest taka, że dla programu obsługa LCD ma być przezroczysta. Czyli program wysyła żądanie wyświetlenia, a jego przetworzeniem ma zająć się program sterownika LCD. Czyli dla programu nazwijmy to głównego sprawa komunikacji z LCD kończy się np. na SendToLCD(x,y, tekst). Sterownik zapisuje sobie żądanie realizacji takiej transakcji i realizuje go...
Dziękuję za uwagi i w najbliższym wolnym czasie postaram się to poprawić. W dalszym jednak ciągu nie rozumiem jaka jest różnica między ustawianiem bitów ODR a BSRR. Rozumiem, że rejestr BSRR pozwala na ustawianie i resetowanie bitów w ODR więc dlaczego nie powinno się robić tego bezpośrednio? Przyznam, że wcześniej stosowałem BSRR ale gdy się dowiedziałem...
Wcześniej przeczytaj, jak działa zapis do FIOSET i FIOCLR Za skarby nie mogę nic znaleźć o sposobie zapisu do rejestrów FIOSET i FIOCLR... Wszędzie piszą tylko o efekcie działania tych rejestrów. Czy Ty posiadasz jakieś źródła na ten temat? Z drugiej strony nigdy nie miałem problemów z rejestrami FIOSET i FIOCLR. Poza tym, nie wiem jak w inny sposób...
Umieść gdziekolwiek i upewnij się że efekt kompilacji zostanie zlinkowany z resztą programu. Nic więcej nie trzeba robić. 4\/3!!
Wysyłanie jednego znaku zajmuje kilka mikrosekund. Nie spiesząc się ani trochę można odświeżyć cały wyświetlacz w 30 ms, czego człowiek nawet nie zauważy. Efekty, które opisuje nasz dysortogtraf, są spowodowane ewidentnymi błędami algorytmu.
Witam, Szukam kompletnego działającego kodu do obsługi wyświetlacza 16x2 na HD44780 po I2C na procesor Atmega328p, z tym PCF na tej płytce, krótki przykład wysłania danych ( bez biblioteki wszystko w jednym pliku ). Wyświetlaczem steruję jak chcę ( ale przez szynę 8 bitową ) a z resztą dam sobie radę. To co udało mi się znaleść w necie ma inne połączenia...
No tak tylko z tego co mi wiadomo to takie rozwiązanie spowalnia obsługę wyświetlacza i nie pozwala na zastosowanie niektórych rozwiązań np. efektu warstw. A te brakujące kondensatory nie będą stwarzać problemów? A po za tym zmusza mnie do korzystania z 2 różnych napięć
Masz Reset połączony z Vcc, w efekcie nie będzie się dało zaprogramować procka.
Niestety TWI się w książce o XMEGA nie zmieściło. Osobiście gorąco zniechęcam do używania TWI/I2C - porządnie napisana obsługa tego interfejsu, z uwzględnieniem wszelkich błędów jakie na nim mogą występować oraz zakleszczenia transmisji nie jest banalna. W necie jest pełno przykładów, jak taką obsługę zrobić byle jak, w efekcie użytkownicy później piszą,...
(at)rb401 właśnie wgrałem oba programy. Efekt był cholernie dziwny -_- już piszę czemu: Po pierwszym wgraniu pokazał się odpowiedni napis lecz na miejscu znaku "n" był symbol baterii (swoją drogą bardzo ładne grafiki baterii i wtyczki). Uznałem, że źle się wgrał ale z ciekawości przełączyłem dwie nóżki LCD i wgrałem drugi program (ten gdzie dwa piny...
Witam, chciałem zaoszczędzić kilka pinów PIC16F1459 i zamiast bezpośrednio podpinać LCD HD44780 pod ten uC, chciałem użyć sprzętowej komunikacji I2C tego uC ( piny RB4 i RB6 - PCF8574T widocznej poniżej, a kupionej u chińczyków. Sprawdziłem jak poprowadzone są piny w tej przejściówce z chin i są następujące: LCD_EN = P2 (pin P2 PCF8574T) LCD_RW = P1...
Witam, w pierwszej wersji, bazującej na Twoim programie, możesz w pętli loop: - wyświetlić w pierwszej linii napis - wyświetlić w drugiej linii czas - odczekać 500 ms - wyświetlić w pierwszej linii spacje zamiast napisu - wyświetlić w drugiej linii czas - odczekać 500 ms Pętla loop kręci się w kółko, więc efekt będzie następujący: - wyświetli się napis...
Chyba że istnieje możliwość skasowania danego znaku lub podmienienie go za inny skoro wyświetlone jest 8 znaków i za jeden ten konkretny chciał bym inny znak wstawić. (at)excray w tym linku wyraźnie napisał: " Podmieniać w pamięci możesz tylko te znaki których aktualnie nie wyświetlasz " oraz " Jak próbujesz zmienić w CGRAM znak który jest aktualnie...
Zrobiłem coś, co miałem zrobić już wcześniej. Zainstalowałem na drugiej karcie Raspbiana i odpaliłem skrypt w Pythonie. Oto efekt Sprzętowo jest bez zmian, dwa zasilacze. Wyświetlacz dobrze podłączony i działa bez konwerterów poziomów. Pozostaje kwestia programowa zatem.
Witam! Buduję sobie w ramach czasochłonnego hobby komputer w oparciu o Z80. Nie zagłębiając się za bardzo w temat: mam już działające układy wchodzące w skład tego komputera z diodami sygnalizującymi stan już chyba wszystkich linii Z80. Do tego zamiast pamięci przygotowałem sobie atmegę8a, która udaje pamięć. Jak to jest zrobione: w momencie pojawienia...
Tutaj masz ciekawie opisane co trzeba zrobić:
Powoli zabieram sie za sterowanie lcd z poziomu uc i tu kolejne kilka pytań. 1. na płytce wyswietlacza mam pin 'e', w nocie sterownika jest on opisany jako: "a start signal for reading or writing data" i pomijany jest w kolenych czesciach specyfikacji. Mam ładnie opisane jakie stany podawać na poszczegolne wejscia dla by uzyskać dany efekt, ale nie...
Może trochę późno odpisuję, ale równiez miałem problem z uruchomieniem wyświetlacza VFD cu20029ecpb-w1j w lcd2usb. efekt był taki jak opisywany w tym wątku: lcd2usb + lcd = działa, lcd2usb + vfd = nie działa. to co pomogło: 1. w źródłach lcd2usb dodałem pliki c i h ze strony: , z odczytem flagi zajętości. w ten sposób mamy juz 2 różne metody inicjalizacji...
Kolega (at)yokoon użył komendy ' Config Lcd = 16 * 2' Czy ta komenda informuje sterownik HD44780 że ma pracować na 4 bity danych. Miałem podobną sytuacje jak pierwszy raz walczyłem z tym sterownikiem. Efekt był podobny. Sterowałem go z szyną 8 bitową. [syntax=cpp]void LCD_Initalize(void) { unsigned char i; LCD_DB4_DIR |= LCD_DB4; // Konfiguracja kierunku...
Witam! Jakiś czas temu rozpocząłem naukę pisania programów na mikrokontrolery AVR w języku C++. Przeczytałem wiele tutoriali, poradników, itp., aż w końcu doszedłem do pisania własnych, prostych programów. Po kilku takich „pseudoprogramach” zdecydowałem, że teraz czas napisać coś bardziej rozbudowanego, a za razem przydatnego ;) Już od...
Pracuję nad driverem dla LCD z HD44780 i piszę sobie do niego bibliotekę obsługi. Piszę swoją bibliotekę, ponieważ napisałem swoje pliki nagłówkowe dla rejestrów mikrokontrolera, ot tak żeby sobie nieco poprawić przejrzystość kodu. I natknąłem się na następujący problem. w pliku hd44780.c mam pakiet makrodefinicji służących do przełączania odpowiednich...
jeśli dobrze Cie zrozumiałem mam zmienić podłączenie lcd na płytce? (DB4 -> PC4 itd.)? Niestety płytkę mam wytrawioną i zmontowaną i byłoby to trochę kłopotliwe... Mogę dodać, że korzystałem również z biblioteki (i pliku c) podanej na tej stronie: jednak efekt był taki sam Dodano po 3 hd44780.h [syntax=c]/* Plik hd44780.h */ #ifndef LCD_HD44780 #define...
Witam, Napisalem gdzie zaczyna sie problem, uk wywołuje przerwanie samoistnie, zaraz po globalnym zezwoleniu na przerwania sei() sam przechodzi do przerwania i je wykonuje. Chce mieć możliwość przerwania pętli while w jakimkolwiek momencie. Sposób jaki zastosowałem uważam za mało efektywny ale nie wiem jak inaczej się za to zabrać. Pozdrawiam #define...
niestety efekt ten sam :/ , jutro spróbuje na drugim LCD . #define F_CPU 8000000L #include <avr/io.h> #include <util/delay.h> #include <compat/deprecated.h> #include "HD44780.h" #include "HD44780.c" #define LED_PORT PORTD #define LED1 PD5 #define LED2 PD6 #define GUZIK PORTB #define PRZYCISK_1 0 #define PRZYCISK_2 1 // cbi-> 1 sbi...
Witam. Szkole się w programowaniu zacnych STM32 i od razu na poczatku mam problem z funkcja printf(); Po wywołaniu tej funkcji procesor się zawiesza. Mam zrobiony proste nadawanie i odbieranie danych przez UART. Używam Keila MDK ARM V5 biblioteki HAL wygenerowane w STM32CUBEMX. Korzystam z płytki Kamami Zl27ARM. Na razie chcę uzyskać następujące efekty:...
Cały kod wygląda następująco: [syntax=c]#include <avr/io.h> #include<stdlib.h> #include"util/delay.h" #include<avr/interrupt.h> #include"../../hd44780_4bit_norw/HD44780... #define SPI_DDR DDRB #define MOSI PB5 //PIN MOSI #define SPI_CLK PB7 #define SPI_SS PB4 void SPI_masterInit(void) //inicjacja avr jako master { SPI_DDR |= _BV(PB7)|_BV(PB5)|_BV(PB4);...
Mniejsza o terminologie. Gdy korzystam z funkcji z zewnetrznego pliku HD44780.c, ktory linkuje (chyba prawidlowo) wyswietlacz nie dziala, gdy wklejam zawartosc pliku HD44780.c do glownego pliku main.c to wszystko gra. Nie korzystam z AVR Studio, programuje pod linuxem. Bledow tez nie widze, oto output po make: (akurat biblioteka w innej wersji, pliki...
Drugi dzień próbuję wyświetlić na wyświetlaczu LCD 2x16 temperaturę pobraną z czujnika DS18B20. Układ używa ATmega8. Program piszę w Atmel Studio 7. Sprawdzałem różne gotowce, sam próbowałem różnych sposobów ale efekt ten sam - temperatura na wyświetlaczu ciągle to 0,0. Proszę o wskazówki co może być przyczyną. Czujnik podłączony do portu PD7, rezystor...
Mój problem wygląda następująco; Nie potrafię uruchomić wyświetlacza w płytce startowej EVBavr05 firmy propox. Wyświetlacz albo nie wyświetla nic, albo gubi znaki ewentualnie dodaje do tekstu jakieś własne. Czasami po kilku kolejnych wgrywaniach pliku .hex dopiero zacznie coś wyświetlać, ale są to tylko fragmenty tekstu który był zapisany w programie....
Witam, mam problem z programem na mikroprocesor. Na początek dodam, że prototyp, zanim poszedł w odstawkę pół roku temu działał prawidłowo. Program w tym momencie ma za zadanie wyświetlić 4 zmienne na wyświetlaczu. Uruchomienie przerwań zawiesza program. W zależności od tego kiedy zostaną rozpoczęte, skutkuje to innym efektem. Umieszczając sei(); na...
Witam! Pragnę zaprezentować mój projekt stacji meteorologicznej, choć nie wiem czy to dobra nazwa, w każdym razie jest to urządzenie, które : - pokazuje nam temperaturę i wilgotność z trzech czujników DHT22 - ciśnienie z czujnika BMP180 - ma regulowaną jasność podświetlenia wyświetlacza LCD za pomocą enkodera i wywoływanego menu. - pokazuje słupkowo...
Witam, zakupilem lcd 2*16 SSC2B16ULGY z tego co wyczytalem to jest on oparty na HD44780. Wg schematu podlaczylem go pod atmega8515 wgralem flash z bascoma.... zonk :| na lcd jedynie widac podswietlenie. W celu sprawdzenia czy czasem nie zrobilem czegos zle podlaczylem go do lpt i przy pomocy smarie jest dokladnie ten sam efekt, na lcd jest jedynie podswietlenie...
Wiem wiem, jest masa takich tematów, jednak nie bardzo znalazłem odpowiedź a walczę od 2 dni z tym. Otóż jest sobie projekt jak w załączniku. Podłączony jest wyświetlacz zgodny z HD44780. Chciałem napisać w C obsługę LCD, ale nie działało coś, więc napisałem kilka linijek w Bascomie - również nie działa: $regfile = "m8def.dat" Dim Count As...
Witam! Chciałem zaprezentować urządzenie będące rejestratorem temperatury powietrza. Założenia: - wewnętrzna pamięć nieulotna, w której zapisywane by były wartości temperatury, możliwość ciągłej rejestracji przez co najmniej miesiąc - wyświetlacz LCD, pokazujący aktualne temperatury wewnętrzne i zewnętrzne, aktualny czas i opcje - możliwość komunikacji...
Witam. Od jakiegoś czasu staram się w celach "samoedukacyjnych" zrobić coś na wzór zegarka. Problem polega na tym, że nie moge odmierzyć dokładnie 1 sekundy. Starałem się rozwiązać problem na kilka sposoów. jaklepszy efekt dała obsługa przerywania, lecz błąd to w dalszym ciągu kilka sekund przez noc ;p Nie chcę stosować żadnych zewnętrzych zegarów....
Witam! Na początek kod: #define F_CPU 16000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include "HD44780.h" #define Set(reg, bit) ((reg) |= (0x01 << (bit))) // Ustawienie danego bitu w rejestrze #define Clr(reg, bit) ((reg)...
witam ponownie...otóż dobra wiadomość jest taki że dzięki wyrozumiałości i wysiłkom kolegów aby wlać mi do głowy trochę oleju nazwanego "C" podumałem pooglądałem i zacząłem pisać program od nowa....efekt tego taki że mam działający program choć z małą usterką .... otóż wyświetla mi po obu zdefiniowanych napisach trzy cyfry pływające w zakresie od 165...