A czy kolega korzysta z flagi zajętości wyświetlacza czy ma całą komunikację na delayach? Bo można mocno zminimalizować miganie jak się korzysta z flagi zajętości. Poza tym, przesuwanie komendą działa na obie linie, może kolega by nie chciał przesuwać tej drugiej?
zdebel 0x40 to 64 ;). Ale nie myśl broda że znaki wpisane ponad 16-ste pole a przed 64-tym są jakoś tracone, po wpisaniu w te komórki jakiejś zawartości, możesz przesunąć tekst tak ażeby ujrzeć go na wyświetlaczu. Komenda bodajże 00011X** gwiazdki to bity nieistotne, a X-1 przesuwanie w prawo, X-0 przesuwanie w lewo. Ale ja osobiście nie używam tej...
Jak w temacie: przesuwający się tekst po 16 wyświetlaczach VQC10 na mikrokontrolerze ATmega16, wszelkie info i szczegóły priv
Miło z Twojej strony :] Dodano po 1 Co może być przyczyną wolnego działania programu? Testuję teraz programy do obsługi ds18b20 i przy ostatnim wgraniu programu inicjacja lcd trwa dłużej niż normalnie oraz program wykonuje się znacznie wolniej . Jest w nim animacja przesuwającego sie tekstu ale on sie przesuwa bardzo powoli.
Po to poradziłem Ci aby użyć do tego tablicy aby w łatwy sposób, przy użyciu pętli For...Next można było nią zarządzać (w tym i wyświetlać). Dim Seq(5) As String * 10 Dim Tekst As String * 10 Dim Index As Byte Tekst = "Aktualna" For Index = 4 to 1 Step -1 Seq(index + 1) = Seq(index) 'przesuwanie 4 do 5, 3 do 4,... Next...
Witam, Mam pytanie do bardziej doświadczonych w temacie mikrokontrolerów AVR gdyż mnie już się skończyła wiedza w tym temacie. Posiadam sterownik LED wykorzystujacy układ ATMEGA 16. Poszczególne składowe RGB sterowane są z wykorzystaniem modulacji PWM o częstotliwości 2KHz przy rezonatorze 16MHz. Zmieniłem częstotliwość modulacji PWM na 1,4MHz poprzez...
Witam Od jakiegoś czasu próbuję odczytać łańcuch znaków z pamięci flash. jeżeli chodzi o dane 8 bitowe lub 16 bitowe nie ma problemu wszystko jest ok. Sytuacja komplikuje mi się jeżeli chcę umieścić napisy w pamięci Flash. Żeby bardziej zobrazować o co mi chodzi to przedstawię fragmenty kodu które mi działają a które nie. funkcja która odpowiada za...
Witam Zakupiłem ostatnio listwę z 14-stoma wyświetlaczami 14-sto segmentowymi (w zasadzie 16-sto segmentowymi ale ja używam 14). Chciałbym zbudować na niej jakieś urządzenie typu zegar z kalendarzem. Podłączyłem już wszystko do atmegi16 na płytce stykowej. Jako drivery do poszczególnych wyświetlaczy użyłem uln2804 a segmentami steruję z pomocą zatrzasku...
Witam , Szukam pomocy przy wywołaniu funkcji wypisującej tekst na w/w wyświetlaczu . Niestety mam problem z makrem _memx . Jak się do takiego argumentu odnieść? Funkcja z której korzystam to : void st7565r_SetText(uint8_t x, uint8_t y, const __memx char *tekst, const uint8_t __flash * const __flash font[], _Bool invert) { GLCD_y=y;...
Witam mam problem ze zmianą rozdzielczości wyświetlania zmiennej w bascomie pod procesor dokładnie atmega16. Mam zmienną typu single i chciał bym ją na wyświetlaczu lcd wyświetlać z rozdzielczością 0,5 czyli po kolei ....-1 -0,5 0 0,5 1 1,5 2 2,5 ...itd. Z rozdzielczością 0,1 nie ma problemu bo wystarczy zamaskować niepotrzebne dane i gotowe ale jak...
Witam Chce zrobić coś takiego w swoim systemie mikroprocesorowym. Chciałbym zrobić tak że gdy przycisnę przycisk to wyświetlacz będzie mi wyświetlał napis >10 znaków max do 25 znaków (czyli realizował tzw. scrolling) na 10 pozycjach. A gdy ponownie przycisnę przycisk to program będzie realizował wyświetlanie statyczne czyli do 10 znaków na 10 pozycjach....
Pisze program mikroprocesorowy w ASSEMBLERZE . Temat jest taki : Tekst OLA ma zacząć wsuwać sie na wyświetlacz LED (7-seg) z lewej strony , zatrzymać sie na końcu i po naciśnięciu klawisza np. ESC klawiatury matrycowej wrócić do początku (czyli do stanu takiego albo nie było go widac na wyświetlaczu , ale zeby był ) (bo jest to tylko częsc całego programu)...
Witam wszystkich od kilku dni próbuję napisać program do obsługi małej matrycy złożonej z diod led które połączyłem multipleksowo ,, kolumny jaki i wiersze są sterowane wysokimi stanami,,, udało mi się wyświetlić napis "ok" teraz kieruję do bardziej zaawansowanych kolegów pytanie jak posługiwać sie tablicą ascii ?? nie mogę tego załapać chciałbym napisać...
Witam Nabyłem jakiś czas temu tablice reklamę LED 128x16 Bicolor, elektronika pierwotna nie spełniała moich oczekiwań, więc postanowiłem zaryzykować i sam coś napisać... Aktualnie bawię się z obsługa, cały wyświetlacz ma budowę przesuwnego rejestru na 74hc595... do sterowania użyłem atmega8 8Mhz Pytanie w jaki sposób, sterując jedną połową czyli 128x8,...
Zlecę zmodyfikowanie istniejącego już wsadu do atmega8 w języku bascom. Kod pochodzi z analogicznego projektu, który muszę dostosować do swoich potrzeb. Wszystko do dogadania
Witam Niestety mimo wielu prób nie udaje mi się wyświetlić nic na ww. wyświetlaczu. Zachowuje się on tak jakby był tylko podłaczony pod zasilanie czy pali się pierwszy wiersz z zapalonymi wszystkimi pikselami. Zamieszczam poniżej kod programu i miałbym wielką prośbe o przeanalizowanie go w celu znalezienie błędów. LCD podłączony do Atmega16 ustawionej...
witam wlasnie podpiolem klawiaturke matrycową pod mega16 ale chcial bym otrzymywac inne wartosci niz te zwracane z instrukcji getkbd(). niewem moze jaka tablice by zrobic??? albo przy pomocy LOOKUP( ) tylko niezabardzo wiem jak to obslugiwac;/ prosze pomocy!!!!!! Pozdrawiam Marek
Witam próbuję zapisać i odczytywać tablice z napisami w pamięci FLASH, niestety nie udaje mi się to, wyświetlacz nie wyświetla nic próbowałem po przez PROGMEM jak i przez __flash co kompletnie nie zadziałało nie chciało utworzyć zmiennej. poniżej kod programu. [syntax=c]const char T1[] PROGMEM = {"DS1307"}; const char T2[] PROGMEM = {"TESTER"}; const...
Witam serdecznie forumowiczów. Jestem w trakcie budowy generatora sygnału PWM o zmiennym wypełnieniu oraz częstotliwości. Wypełnienie 0-100% co 5%, częstotliwość 1-50 kHz co 1 kHz (plus kilka częstotliwości poniżej 1k). Generator będzie częścią nieco większego projektu. Całość ma działać mniej więcej w taki sposób: odpalam timer1 w trybie PWM z korekcją...
Witam wszystkich Mam problem z zaprogramowaniem mikro kontrolera ATmega128 chciałbym napisać coś takiego: Animacja tekstu w lewo wciśniecie klawisza i trzymanie PG2 zmienia kierunek animacji, po puszczeniu PG2 kierunek się przywraca. Napisałem już co nieco: #include <avr\io.h> // Most basic include files #include <avr\interrupt.h> // Add...
Witam Piszę powoli program do pomiaru obrotów na sekundę. Niestety nie do końca działa.Nie wiem co jest źle ale działa tylko wysw2 i pokazuje to co ma,czyli cyfrę1. Byłbym wdzięczny gdyby ktoś rzucił okiem i dał jakąś wskazówkę. ATmega16 8Mhz,wewnętrzny oscylator.JTAG wyłączony. [syntax=c] /*Deklaracje nagłówków*/ #include <avr/io.h> #include...
Witam, Pracuję nad drobnym projektem w AVRStudio, który ma za zadanie wykorzystywać gps. Z tego powodu często wykorzystuję liczby double i funkcje matematyczne z biblioteki <math.h>. Mam również wyświetlacz lcd 2x16znaków na którym realizowane jest proste menu. Mój problem polega na tym, iż po dodaniu funkcji (poniżej) mam problemy z poprawnym...
Witam. Tworzę swój pierwszy program na mikrokontroler (ATmega16) i jak to bywa w takim przypadku napotykam na szereg problemów. 1. Pierwszym z nich jest wysterowanie odpowiednich stanów (wysoki/niski) na wyjściach atmegi zgodnie z wartością zmiennej "zmienna". Na załączonym rysunku przedstawione jest które bity zmiennej odpowiadają któremu wyjściu mikrokontrolera....
Witam Moja Atmega 16 wiesza się w pętlach Uszczenianie i Paletyzacja poniższego programu: 'Listing programu obsługującego symulator procesów. Program został napisany ' i skompilowan w programie BASCOM-AVR 1.11.9.8. $regfile = "m16def.dat" 'określenie typu procesora $crystal = 8000000 'określene szybkości zegara 'Watchdog Wdtcr = &B00011111...
Ja nie chcę zmieniać szybkości transmisji, tylko odpowiednio opóźnić włącznie sygnału SCK względem danych. Matryca ma 8*8 diod led. Zasilanie wierszy jest włączane bezpośrednio z mikrokontrolera przez tranzystory. Kolumnami steruje rejestr przesuwający. Moim pomysłem było wysyłanie całego tekstu (dłuższego niż matryca) i włączanie/wyłączanie w odpowiednim...
Po prostu znak na pozycji 9 ma adres 0x40 a ostatni 16 to adres 0x47. Poza tym jak wpisujesz znaki po kolei to na wyświetlaczu wyświetla się pierwszych osiem znaków a pozostałe nie giną. Są zapisywane w DDRAM. Spróbuj załadować długi napis i przesuń go. Pojawią się te niby zgubione znaki. Ten wyświetlacz jest 2 liniowy po 8 znaków tylko te dwie linie...
http://obrazki.elektroda.pl/7537428400_1... Cześć! Ostatnio na łamach Elektrody często pojawiają się konstrukcje domowych frezarek i ploterów. Do niedawna sam pracowałem nad czymś podobnym, a jednak zupełnie innym. Prezentowana konstrukcja to tani ploter o polu roboczym A4 przeznaczony do rysowania prostych wykresów. Notka dla profesjonalistów...
Witam Serdecznie, Jestem początkującym, że tak powiem użytkownikiem forum, chciałbym rozpocząć programowanie mojego procesora atmega16, jednak za nim to zrobię muszę mieć pewność, że procesor został dobrze skonfigurowany oraz połączony (fuses, itd.). Programuję w C. Głównie na początek chciałbym obsługiwać wyświetlacz. O to mój schemat: http://obrazki.elektroda.net/87_12135354...
Witam, Oto mój kod: #define F_CPU 4000000 #include <avr/io.h> #include <avr/delay.h> #define DDR_DB4 DDRD #define PORT_DB4 PORTD #define DB4 PD4 #define DDR_DB5 DDRD #define PORT_DB5 PORTD #define DB5 PD5 #define DDR_DB6 DDRD #define PORT_DB6 PORTD #define DB6 PD6 #define DDR_DB7 DDRD #define PORT_DB7 PORTD #define DB7 PD7 #define DDR_RS...
Witam. Chciałbym przetestować swój wyświetlacz. Ściągnąłem przykładowy program z sieci. Ładuje go do pamięci PonyProg2000 ale napis się nie wyświetla. -tryb 4 bitowy -D4-D7 - DATA -D2 - RS -D3 - E -R/W-masa Wyświetlacz jest podpięty pod PORTD. W programie jest na PORTB. Czy wystarczy zmienić tylko nazwę portu? Dlaczego w programie są ustawiane aż dwa...
Znalazł się znawca od przesuwania liczb i bitów ! Zrobiłem juz wiele sterowników używając nie jednego, dwóch a nawet więcej liczby ds'ów i zawsze działa bezbłęnie, nie tylko w BASCOMIE. A Ty Piotrusiu trochę pokory. Co za problem z przesuwaniem liczb zakodowanych w U2 ? Nie rozumiem . Z podziałem przez 2 i shiftem to zwyczajna literówka oczywiści powinno...
Brak efektu na wyświetlaczu. R/W do masy, tryb 4 bity. Podłącznie na 100% poprawne(sprawdzane programem napisanym w bascomie, gdzie wyjścia były ustawione tak samo). Myślałem, że jest to wina braku opóźnień, dlatego tam gdzie uważałem za stosowane dodałem opóźnienia w postaci trzech "nop'ów". Kwarc zewnętrzny 16MHz z ustawionymi odpowiednio fusebitami...
Witam, Zlutowalem płytke z wyswietlaczem LCD 2x16 i nie umiem go uruchomic, juz mnie do szalu on doprowadza. Wysweitlacz jest sprawny gdyz na innej płytce dziala. Nie wiem co mam ne tak, wydaje mi sie ze cos z opuznieniami dla mojej Atmgi16. Wyswietlacz wysweitla jedynie gorny rzad kwadracikow, dolny jest pusty. Takze wydaje mi sie jest dobrze zlutowany...
Koledzy, uruchomiłem schemat gdzie do ATMEGI16 podłączyłem wyświetlacz przez porty B (B2-B7), do porów D podłączyłem diody jako wskaźniki bitowe. Programowo ustawiłem wszystkie wyjścia portu D na 1 i zauważyłem dziwny spadek napięcia na PD0 i PD1 do ok. 4,7V. Na innych pinach D jest 5,2. Ten spadek występuje tylko przy programie wykorzystującym wyświetlacz...
$regfile = "M16def.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111 : Portd = &B11111111 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2 Config Lcd = 16 * 2 Cls Cursor Off Noblink Lcd " HELLO WORLD!!!"...
Hehe, tez sporo walczylem z tym samym problemem :) Ponizej masz moj kod, ktory jest sprawdzony i dziala, rozpiske podlaczenia sterujacych masz w #define a DB4-7 odpowiadaja PORTA4-7. #include <avr/io.h> #include <util/delay.h> // Definicje dotyczace LCD #define LCD PORTA //port z LCD #define RS 0 // wybor rejestru #define RW 2 // 1 - odczyt;...
w bascom to kazdy pin się ustalalo z osobna i mozna bylo podlanczac jak się chcialo;] Takie rozwiązanie jest trochę bardziej pamięciożerne, niemniej jednak dosyć wygodne. Postaram się coś napisać, może do jutra to zrobie. edit: Trochę kobylaste definicje wyszły, ale nie miałem czasu tego jakoś ładniej napsiać, ważne ze działa. Sprawdzane na AVT3500...
Witam. Nie mogę sobie poradzić z pewną sprawą dotyczącą oprogramowania wyświetlacza LCD. Mam napisany program obsługi LCD, jeśli numery wyjść portu C mam ustawione w ten poniższy sposób to LCD działa: [syntax=c] #define DDR_LCD DDRC #define PORT_LCD PORTC #define RS_LCD 2 #define EN_LCD 3 #define DB4_LCD 4 #define DB5_LCD 5 #define DB6_LCD 6 #define...
Witam, Mam taki problem, funkcja write_text("text") wydrukuje mi ładnie napis ale jeśli zamiast napisu "text" wstawie smienna fTemp wyskakuja błedy i juz nie wyswietla nic. Drugi problem jest taki ze w tej chwili drukuje mi text "text" co oznacza ze jakas tam temperature odbiera ale jesli: if(fTemp >= 5) {write_text("text");} else{write_text("mniejsza...
Zle kombinujesz. To jest tranzystor bipolarny, a takie wzmacniaja prad, a nie napiecie. Napiecie jest kwestia wtorna. Dlatego potrzebujesz uklad, ktory nie zwiekszy napiecia na bazie, tylko prad bazy. Moze to byc op-amp, ale zamiast tak komplikowac lepiej wstawic bufor, np. w postaci kolejnego tranzystora. Tu tylko pojawi sie problem, bo w ukladzie...
wrzucam całośc, co do Twojego rozwiązania sprawdzze jutro. Wcześniej nie wywoływałem funkcji w przerwaniu to pojawiały się 'krzaki' na LCD - przerwanie od T0 przerywało chyba funkcję wyświetl() dlatego dałem w przerwaniu. /*======================================... WinAvR wersja WinAVR-20050214 **Program obsługujący woltomierz/generator...
Od jakiegos czasu mam dziwny problem z wyswietlaczem. Ponizej podaje kod zrodlowy: lcd.h // Definicje dotyczace LCD #define LCD PORTC //port z LCD #define RS 0 // wybor rejestru #define RW 2 // 1 - odczyt; 0 - zapis #define E 3 // sygnal zezwalajacy (enable) #define SET_E LCD |= _BV(E) #define CLR_E LCD &= ~_BV(E) #define...
To chyba było chwilowe zaćmienie umysłu... Dla potrzebujących moge się podzielić własnym kodem który działa nawet dobrze... ALE.... Niewiem co jest że pokazuje cały czas 85.2 st :) Moze ktoś to dojrzy... #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #define F_CPU 80000000UL #define LCD PORTB #define DLCD DDRB #define...
Ponizej przedstawiam swoj kod: #include <avr/io.h> #define F_CPU 16000000UL #include <util/delay.h> #include <avr/interrupt.h> //#include <avr/iom16.h> #include "lcd.h" #include "usart.h" #define Timer2_start TCNT2 = 0x63; TCCR2 = 0x07; //0x63 - poczatkowa 99, preskaler 1024 0x07 #define Timer2_stop TCCR2...
Udało mi się w końcu dojść do tego, co było nie tak. Styki muszą być po prostu baaardzo mocno dociśnięte. Wkręciłem wyświetlacz z powrotem do telefonu i płyta główna robi za dociskacz. Nie licząc tego, że obraz jest przesunięty o kilka pikseli w górę (ucina kawałek pierwszej linii tekstu, a na dole pojawiają się jakieś śmieci z pamięci) to jest OK.
Wkleje plik includowany z obsługa LCD, który stosuje oraz czesc programu głownego: LCS.asm: ;=======================================... ; Obsluga LCD zgodnego z HD44780 dla 8-bitowej szyny danych v1.0 ; Nie obsluguje BUSY flag ani odczytu adresu z LCD ;!!! Znak lub komenda do wyslania do LCD przekazywane sa przez...
witam troszkę chyba nie to forum no ale spróbuję. Wolałbym asm bo w C to rzadki jestem :) Po pierwsze musisz być pewny jak ułożone są adresy poszczególnych pól (znaków). Z tego co kojarzę to w nietypowych , a na pewno w 1x16 jest przeskok na kompletnie inną wartość, mam przed sobą tablicę akurat właśnie 1x16 i jest tak: 00, 01 ..07,38,39,3A,3B...3F...
Niestety nadal nic ... Napisałem (a dokładniej przerobiłem program z innej strony): [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 2400 Config Portb = 255 Portb = 0 Config Portc = 255 Portc = 255 Config Portd = 255 Portd = 255 Config 1wire = Pina.0 Cls Cursor Off Noblink Enable Interrupts Dim Lsb As Byte Dim Msb As Byte Dim Tempa...
Dokumentacja mikrokontrolera ATmega168 stwierdza bardzo wyraźnie: "Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn. Note that the SBI instruction can be used to toggle one single bit in a port." Nie jest to co prawda ATmega16A ani ATmega16, ale są to ............. Jeszcze jeden przykład bezmyślnego ‘homo-sapiens’....
Muzyka jest najbardziej uniwersalnym sposobem ekspresji. Niezależnie od języka, kultury czy wieku pewne idee przekazywane przez muzykę się nie zmieniają. Można bezpiecznie założyć iż każdy lubi muzykę - taki czy inny jej rodzaj. Każdy zna to uczucie gdy podczas słuchania naszego ulubionego kawałka nóżka sama lata do rytmu albo ręką przebiera po niewidzialnym...
https://obrazki.elektroda.pl/9151185000_... Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie...
Witam, Mam do napisania program do obsługi dds'a napisanego na układzie FPGA. Program mój ma być napisany w języku Bascom na Atmega16. Jestem początkujący tak więc proszę o pomoc. Chciałbym aby czestotliwość była wybierana z klawiatury numerycznej komputera, wyświetlana na LCD, zamieniana na 32 bitowe słowo sterujące dds'em, które zostanie wysyłane...
Witam serdecznie, Proszę o wyrozumiałość gdyż na forum sięgam pierwszy raz od kilku lat. Z reguły staram się sam rozwiązać problemy. Do rzeczy: Jestem początkujący z atmegami i staram się rozgryźć kod do obsługi wyświetlacza LCD. Oto kod, w którym nie jestem w stanie znaleźć błędu: [syntax=c]#include <avr/io.h> #include <utildelay.h> #include...
przesuwanie tekstu przesuwanie tekstu bascom bascom przesuwanie tekstu
symbol czujnik magnetyczny schemat instalacji fazowej schemat ideowy wzmacniacz audio
Piekarnik nie grzeje i nie świeci - możliwe przyczyny i rozwiązania Sterownik ACPI PNP0510 2 - zastosowanie i funkcje