Ma czym wyświetlasz dane? Pokaż program obsługi wyświetlania.
witam ! '2 wyświetlacze LED 7segmentów 'fusebity ustawione fabrycznie $regfile = "attiny2313.dat" $crystal = 1000000 Config Portb = Output 'katody segmentów LED Config Portd = Output Anoda1 Alias Portd.0 Anoda2 Alias Portd.1 Dim Nr_wysw As Byte Dim Cyfra2 As Byte Dim Cyfra1 As Byte Dim Temp_liczba_1 As Word Dim Temp_liczba_2 As Word Config...
Następnym razem napisz jaki mikrokontroler i z jaka prędkością jest taktowany. Problemem może być to że chcesz coś wyświetlać w procedurze obsługi przerwania. Lepiej unikać takich sytuacji. Pewniejszym rozwiązaniem będzie ustawienie tylko flagi w przerwaniu i szybki powrót z niego. Potem w programie zająć się wyświetlaniem kiedy napotkamy flagę. Druga...
Witam ! Usuń nawiasy kwadratowe z: [syntax=basic4gl] Deflcdchar [2] , 224 , 231 , 229 , 231 , 224 , 224 , 224 , 224 Deflcdchar [0] , 32 , 7 , 5 , 7 , 32 , 32 , 32 , 32 Deflcdchar [1] , 32 , 4 , 4 , 14 , 14 , 14 , 32 , 32 [/syntax] Tak: [syntax=basic4gl] Deflcdchar 2 , 224 , 231 , 229 , 231 , 224 , 224 , 224 , 224 Deflcdchar 0 , 32 , 7 , 5 , 7 , 32 ,...
Pomyśl..Cztery znaki chcesz upchać w trzyznakowym stringu.. Nie wiesz jak to działa. Kiedy deklarujesz String * 10 rezerwujesz 11 bajtów bo każdy string ma znak swojego końca. Nie musisz wykorzystać wszystkich bajtów. String może być krótszy i zaraz po znakach postawiony będzie znak końca..ale zarezerwowałeś 11 bajtów i tam program nigdy nic nie będzie...
"Jeżeli potrzeba, mogę wklejić zdjęcia oraz cały program. " To wklej, bo z tego co przedstawiłeś wiemy tylko że program gdzieś "skacze", ale gdzie?
Witam, to jest podchwytliwe pytanie? [syntax=vbnet]suma_ok_nok = licznik_ok + licznik_nok procentowo_ok = licznik_ok * 100 procentowo_ok = procentowo_ok / suma_ok_nok [/syntax] Pozdrawiam.
Co wyświetla ci lcd??
Ponieważ Fusing zwraca zmienną tekstową więc deklaracja zmiennych stanowiących wynik tej instrukcji powinna być następująca: Dim V As String * 6 Dim A As String * 6 Dim P As String * 6 Dim R As String * 6 Dim Vod As String * 6 Zmienne są wystarczająco długie dla zakresu 99.9. Jeśli wartość przekracza 100 powinno być String * 7
Nie podałes symbolu wyświetlacza. Niektóre potrzebują ujemnego napięcia dla kontrastu, natomiast jeszcze inne mają zamienione + z - np. WM-C1602 A i jeszcze jedno napisałes ze dałes ok.5V - mało to precyzyjne. No i ten reset na schemacie mi się nie podoba, ja bym to podpioł do +5V przez rezystor 10kΩ. Napisz czy udało ci się prawidłowo zaprogramowac...
No,ale nie podałeś jaki procesor. W Bascomie można ustawić rejestry Timera "ręcznie"- a nie przez config. Zamiast czegoś takiego: "TCCR1A = &H00 'See datasheet for details "TCCR1B = &H0C 'See datasheet for details można ustawić to po "bascomowemu"- patrząc w DS. set TCCR1A.cs12 set TCCR1A.wgm12 Itp. Zamiast config ustawiasz poszczególne bity w rejestrach...
Po prostu spróbuj, nie wybuchnie ... (chyba) :)
Witam 1.Diody D1 D2 1n4148 od elektrozaworów w obecnym połączeniu nie spełniają swojej roli, chyba że zostaną zamienione na diody zenera. 2.Nieodfiltrowane zasilanie mikrokontrolera, brak chociażby prostego filtru LC na zasilaniu 3.Nóżki mikrokontrolera nieodsprzęgnięte za wyjątkiem jednej? 4.Brak kondensatora na nóżce reset 5.Płytka pcb jest do przeprojektowania...
Jak napisałem wcześniej LCD jest wyposażony w cyrylicę. Problemem jest jak tą cyrylicę wpisac do programu bezpośrednio z klawiatury. a co ma wspólnego cyrylica wpisywana z klawiatury z tą cyrylicą w LCD ??? otóż nie ma nic wspólnego poza tym, że mowa o znakach cyrylicy. Nawet jeśli już być miał możliwość pisania jak to mówisz bukw na PC to ich kody...
ja zrobil bym cs takeigo: Dim X As Byte set p2 jazda: if p2.6 = 0 then set X if p2.4 = 0 then reset X if x = 1 then wyświetlana = first if x = 0 then wyświetlana = second odczytaj z ds`a first odczytaj z ds`a second lcd wyświetlana goto jazda: Mam nadzieje ze pomoże to co zmieniłem zaznaczyłem. Sprawdz. jak i napisz jaki bedze rezultat
Zapis LCD(0, Index) dałem umownie bo nie wiedziałem jak będziesz to wyświetlał. Wstaw swój Lcdtext Seq(index), 0, Index * 8... w pętlę For...Next wyświetlania i gra. :)
A od czego jest HELP !? "Przeznaczenie: Zwraca określoną liczbę znaków z tekstu począwszy od lewej strony. Składnia: zmienna = LEFT( tekst , il_znaków ) gdzie zmiennazmienna tekstowa, do której przepisane będą skopiowane znaki, teksttekst z którego skopiowane będą znaki, il_znakówilość kopiowanych znaków. Opis: Zobacz także: RIGHT , MID Przykład: Dim...
Ehh.. Nie znam bascoma ale jak po prostu trzeba zamienić miejsca to Zamiast [syntax=basic4gl]A=Wart And &B00001111 Shift Wart , Right , 4 B = Wart[/syntax] Zrób [syntax=basic4gl]B=Wart And &B00001111 Shift Wart , Right , 4 A = Wart[/syntax]
Hmm... Miałem ten sam problem ale to było jakiś czas temu i na innym wyświetlaczu nie pamiętam już jak to rozwiązałem. Może popróbuj z ograniczeniem ilości kolorów do ilości obsługiwanej przez wyświetlacz to też można znaleźć w GIMPIE.
Po resecie WR daj 15ms zamiast 5ms. Chinole tak mają.
Wyświetlacz LCD ma być nad czterocyfrowym wyświetlaczem LED, z nie poza płytką. Nie możesz sugerować się rys. 3.1 na stronie 56, bo jest to tylko schemat ideowy. Powinien być zamontowny zgodnie z rys. 3.2 na stronie 57, a więc cały wyświetlacz LCD znajduje się w obrębie płytki testowej nad czterocyfrowym wyświetlaczem LED, a więc go zasłania. Na rysunku...
Tworzysz zmienną sting * 20 i tworzysz tablice byte(20) adresujesz je tak samo i poleceniem lcd chr(byte(a)) stawiasz znak z wybranego miejsca ze stinga.
Temp_liczba musi być typu Word a nie Byte.
Masz dwie możliwości, możesz pobrać nowszą wersje BASCOM'a lub dopisać taką linie: [syntax=basic4gl]$lib "xmega.lib" : $external _xmegafix_clear : $external _xmegafix_rol_r1014[/syntax]
Dim Koniec As Byte Koniec = 0 Do Locate 4 , 3 If Pina.0 = 0 Then Lcd Chr(0); Waitms 10 Else Lcd Chr(1); Waitms 10 End If If Pina.1 = 1 Then Koniec = 1 End If Loop Until Koniec = 1
Pomnóż przez 2, zaokrąglij do wartości całkowitych, podziel przez 2, i wyświetl z rozdzielczością do 1 miejsca po przecinku.
Witam. Spróbuj nie czyścić ekranu starego wyniku poprzez CLS, ale zrób np. tak: ..... If Generator = 10 Then Wynik = Generator - Czujnik Generator = 0 Czujnik = 0 Locate 1,1 Lcd "WYNICZEK= ";" " 'tu jest 6 spacji między 2 i 3 cydzysłowiem Locate 1,11 Lcd Wynik End If Loop ..... Na dobrą sprawę ciąg "WYNICZEK= " jest stały i nie ma sensu go cały czas...
Long = GetAdc(0) Single = Long * 0.01955 String = Fusing(Single, "##.##") LCD String; "V"
Kolega potrzebuje po prostu wartości liczby w kodzie BCD jak pisał poprzednik i BCD, HEX i liczby dziesiętne pokrywają się w zakresie 0-9. W takim razie wystarczy wysłać 4 najmłodsze bity na wejście 7447 albo całą liczbę bo i tak podrt wyjściowy jest podłączony tylko to 4 końcówek 7447. Co do wartości powyżej 10 to zaproponowałbym aby użyć wejścia BI/RBO...
W przerwniu i programie głównym używasz zmiennych zadeklarowanych jako word. Myślę, ze tu leży pies pogrzebany. W C wystarczy użyc volatile i atomic_block. W Bascim? Był taki na Elektrodzie (niveasoft) co wiedział w jaki tajemniczy sposób Bascom zarządza takimi zmiennymi. Myślę, że nie masz wyjścia, tylko przed odczytej w programie głównym zmiennej...
Bo bascom nie używa lini rw, podepnij ją zamiast do up bezpośrednio do gnd
Dodaj średnik po print chr(a).Zobacz ,czy to coś da.
...Chodzi mi o to że chce wyświetlić na Lcd znak którego wartośc mam zapisaną w bajcie np D1 - wartość binarna Np w D1 jest 0111000 i chce aby na wyświetlaczy pokazało sie " p " Jak to zrobić ? :) Piotr Takie "cuda" robi się za pomocą polecenia Chr() :D Jeśli w zmiennej jest zapisany kod ASCII jakiegoś znaku , to by wyświetlić właśnie ten znak na LCD...
Wyłącz JTAG'a w fuse'ach i po kłopocie... Pozdrawiam...
Przyczyny mogą być różne: a) uszkodzony wyświetlacz (ale to mało prawdopodobne) b) atmega się nie programuje Spróbuj napisać jej program, dzięki któremu dioda LED będzie mrugała, wtedy zobaczymy czy uC się programuje czy też nie. Pozdrawiam
Witam, Twój schemat przypomina trochę schematy z gazet - maksymalne upchanie elementów, co mocno utrudnia czytanie - tylko że tam jest to podyktowane ograniczonym miejscem. Ogólnie robi się tak - wejścia układu po lewej, wyjścia układu po prawej. Sygnały "płyną" z lewej na prawą. Punkty znajdujące się wyżej na schemacie mają zwykle wyższy potencjał...
No więc jaki z tego wniosek ?
generalnie mozna to chyba na 2 sposoby zrobic: 1. tara =Fusing(w, "###.&&") 2. wyifowac mniej wiecej na zasadzie: if (tara>=10) locate x,y; if (tara>=100).... .... edit: w 2. oczywiscie o wartość chodzi ;]
Rzeczywiście masz dokładnie tak w kodzie? Z tym znakiem "=" ? No i co konkretnie nie działa? Nie kompiluje się? Zły znak wyświetla?
Mikrokontroler Atiny2313 + wyświetlacz LCD + język programowania BASCOM AVR = wyświetlam co chce na wyświetlaczu. Przy 3V ten model wyświetlacza nie będzie działał
Sprawdź w polskim helpie "config lcdpin" Dodano po 3 A jaką wartość ma lcd1 i lcd2?
Na oko gosub Przedpetla: wygląda na podprogram , ale nie znalazłem "declaresub Przedpetla" Z podprogramu wychodzi się przez "end sub" , a z przerwania przez "return" ( chyba, bo dawno w basicu nic nie pisałem) , ilość Loop do DO jest przerażająca tak się tego raczej nie robi i ogólnie chaos. Lepiej przemyśl program jeszcze raz. .. .. Declare sub podprogram1...
Tak ale zapisane binarnie. A to zupełnie co innego w tym przypadku. Jeśli chcesz zapis binarny to robisz binarny. A czy to będzie nkb czy bcd to już inna kwestia. W twoim kodzie jest wszystko ok. Kod jest kodem dziesiętnym w zapisie binarnym. Więc liczby drukowane są po "naszemu" używając cyfr. Jeśli chcesz BCD wydrukować w zapisie binarnym to najpierw...
Pokaż schemat to raz. Dwa: co to jest? Set Pinb.5 Set Pinb.6 Set Pinb.7 Tak po za tym chyba brakuje ci wartości początkowej timera0... Nie obraź się ale przy tym oscylatorze i preskalerze 64 otrzymasz przerwanie co najwyżej co 2ms... Na koniec zapamiętaj że program zawsze umieszcza się w znacznikach "code".
To wiele wyjaśnia. Spróbuj tak ;) [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 16 $framesize = 64 $baud = 9600 Config Lcd = 16x2 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.6 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5 Cursor Off : Cls Dim K1 As Byte Dim K2 As String * 20 Dim Id As String *...
tak o wyświetlanie :)
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
chcę zrobić tablicę z nazwami dni tygodnia do kalendarza. deklaruję dim tablica(7) as string * 12 Po co Ci aż 7 12-bajtowych stringów :?: Wystarczy: Dim Dzientygodnia As String *12 , Nrdnia As Byte ... Dzientygodnia=Lookupstr(Nrdnia,Tabli... '0=Pon, 1=Wtor, ... Lcd Dzientygodnia; ... Tablica: Data "poniedziałek", "wtorek"...
Może muszę dodać linie ,,i2crbyte"?
Za końcem programu: Nazwatablicy: data 'wartości kolejnych kolumn oddzielone przecinkami Odczytujesz poleceniem lookup. Np.: For X = 0 To 4 cyfra z 5 kolumn Portb = Lookup(x , Cyfra) Waitms Czaskol Next Portb = 0 'kolumna odstępu Waitms Czaskol Zauważ, że tu zmienna "cyfra" decyduje z ktorej tablicy odczytamy dane. ;)
Ale ja proponowałem 1000000Hz a nie 10000000Hz To jest 10x więcej! (przekopiowałem z postów-więc może się nie pomyliłem) Jeśli nie zmieniałeś fusebitów to daj: $crystal=1000000 Sprawdzam i liczę: 1MHz=1000000Hz. Uff. Może jeszcze nie mam ciężkiej sklerozy.
Kompiluje się bez tego $lib "mcsbyte.lib"
:D [syntax=basic4gl] Tabela: ' 0 1 2 3 4 5 6 7 8 9 Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144, 192 ' <-spróbuj dopisać [/syntax] , ale pomyśl też o takim warunku :P [syntax=basic4gl]Decr Sekjed If Sekjed = 255 Then Sekj = 9 Decr .. End If[/syntax]
Gdy załaduję ten program do procka to wyświetlacz robi się czarny. A gdy załaduje ten co sam napisałem to jest ok. Dlaczego nie che się nic wyświetlać?
Biblioteka której użyłeś nie ma możliwości dowolnej konfiguracji pinów. W załączniku masz bibliotekę prosto z Rosji :D Chiński wyświetlacz sam mi się uszkodził ale coś tam wyświetla :D http://obrazki.elektroda.pl/6257086800_1... Kod którego użyłem do zrobienia tego zdjęcia [syntax=vbnet] $regfile = "m8def.dat" ' specify the used micro...
Zgadza się jest wszystko,ale z wyświetlaczem tekstowym LCD. Ja zrobiłem to na LEDach i gubię się bo inaczej się to wyświetla.
1) Do Debounce dodaj dopiski SUB 2) Program prawdopodobnie wywala ci się na pierwszym Lookup od setek, szukasz po CYFRA zamiast TEMP (wywalenie to być nie musi ale może być problem) 3) Zrób najprostszy test: wywal te swoje lookupy, przyciski i resztę kombinacji. Na sztywno przypisz cyfry, zrób ich lookup i wyślij na wyświetlacz. Zobacz czy chociaż to...
Bo znak 0 to znak końca linii. 0 wyświetlane jako chr zostanie potraktowane jako znak o kodzie 0 a więc pójdzie do wyświetlacza. 0 "wyświetlane" jako String jest widziane jako znacznik końca textu a więc ten text nawet nie trafi do LCD. Jednym słowem LCD nawet by to wyświetlił, ale BASCOM kompiluje program tak żeby nie przepuszczał zera.
ok, już pracuję nad kodem, dużo błędów, chyba zaczynasz :P pewnie szybciej by było jakbym napisał to od nowa, ale niewiele się nauczysz w taki sposób :P
Przyczyną może być bascom :] Wykorzystujesz interface czterobitowy bez możliwości odczytu, więc program nie ma jak sprawdzić, czy wyświetlacz wykonał już żądaną operację. Zostało to rozwiązane tak, że program po prostu czeka pewien czas i być może ten czas oczekiwania jest za krótki. Spróbuj wstawić ten "Wait 1" za "Locate 2, 1" Zobacz też poleceie...
jeśli nasz zmienną typu integer to zmienne obliczjące cyfry też zmień na integer
Kolejność? Z = 3 Y = 2 + 3 X = Y + Z
W symulacji pomogło to: $hwstack = 64 $swstack = 64 $framesize = 64
Nie ma takiego kodu którego by się nie dało skrócić :P Przykład: Masz kod poniższy parę razy w źródle: If Sek = 60 Or Sek > 60 Then Sek = 0 Incr Minu End If If Minu = 60 Or Minu > 60 Then Minu = 0 Incr Hou End If If Hou = 24 Or Hou > 24 Then Minu = 0 Sek = 0 Hou = 0 End If Zrób z niego podprocedurę, albo pomyśl czy nie można by przechowywać...
Masz zapętlenie wywoływania podprogramów instrukcją GOSUB. każdy podprogram np: Wyswietlanie_alarmu_temp powinien być zakończony instrukcją RETURN. Jeśli tak nie masz to w nieskończoność wywołujesz kolejne podprogramy i po którymś cyklu kończy ci się rozmiar STOSU :( np HW_STACK. Dlatego program zaczyna wariować i gubić wartości zmiennych SOFT_STACK....
Witam Mam taki [url=http://www.artronic.pl/o_produkcie.... LED i nie umiem wyświetlać na nim cyfr, tzw. umiem ale nie tak jak to powinno się robić. Wyświetlam je tak [syntax=basic4gl]Portb = &B1100110 Portd.1 = 1[/syntax] a chcę pisać np. wys5 i wyświetli się liczba 5 To moje kody [syntax=basic4gl]Tabela: Data 63 , 6 , 91 , 79 , 63...
Witam; Na wstepie chciałbym zasygnalizować, że programowania w Bascom-ie ucze się dopiero od niedawna :) Mam takie pytanko: mam sobie wyświetlacz LCD 16*1 i prosty układ który sobie zlicza detale. Na wyświetlaczu pojawia się napis: ilość sztuk 123 jak zrobić żeby liczba którą wyświetla zawsze była wyrównana do prawej strony? Aktualnie zrobiłem coś takiego:...
Moim zdaniem nie da rady. Ktoś już na forum podłączał atmegę do wyświetlacza kolorowego LCD (od jakiegoś siemensa) i generalnie wyświetlenie sensownej animacji chyba się w końcu nie udało. A taki ekranik od komórki ma jakieś półtora cala. Nawet jakbyś podłączył ten TFT do atmegi, to wyświetlenie jednego ekranu będzie prawdopodobnie trwało ponad sekundę....
Jest rok 2015 teraz robi się to tak: DS18B20 moze być zasilany z linii transmisji bądź trzecim pinem. Jeśli masz podłaczone 5V na stałe podczas pracy programu czyli do DS`a idą trzy przewody to DS może dla Ciebie przygotować temperature i poczekać spokojnie aż ją odczytasz. Czyli każesz mu przygotować temperaturę i wracasz po nią za sekundę. Kiedy wracasz...
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
Czy nikt nie ma pojęcia co może być powodem?? Zwróć uwagę, że nie napisałeś jaki dokładnie komunikat błędu wyświetla Bascom.. więc jak mamy Ci pomóc?
Rozumiem, ale co z moimi pozostałymi wyświetlaniami, wspominałem wcześniej, że mam jeszcze case od 0 do 4 i je przełączam przyciskiem. A gdy wyrzucę mój select case display_lcd to nie będę miał możliwości ich wyświetlania...
Zainteresuj się poleceniem FUSING. Przeczytaj helpa i zobaczysz, że da się zrobić.
To pewnie wynika z tego że powstało dużo różnych AVR`ów. Jeśli na początku ktoś korzystał tylko z jednego typu to mógł sobie w IDE ustawić konfigurację dla stosów a nawet wyświetlacza LCD czy I2C. Stąd dla wstecznej kompatybilności dalej tak można zrobić. Na przykład ustawienia dla stosów są tutaj tylko moje są już zmienione bo mogę szybko wkleić to...
odłącz programator i zobacz czy będzie działać po resecie (bo użyłeś akurat linii które wykorzystywane są i do programatora ISP i do wyświetlacza. A programator czasami wymusza jakieś stany na swoich wyjściach - więc możesz mieć kaszankę na liniach danych wyświetlacza)
http://www.elektroda.net/download/pafile...
konfigurowanie wyswietlacza na 16*1a jest wygodne ale niestety zajmuje wiecej pamieci, mozna taki wyswietlacz zadeklarowac jako 16*1 i dzielisz go na 2*8 czyli pierwsze osiem znaków to linijka 1 znak od 1 do 8 drugie osiem to linijka 2 znaki od 1 do 8
Ale wyświetla temperaturę?
No więc tak. Program udało mi się zlepić po przeczytaniu kilku przykładów. Program oczywiście działa. Mam zaimplementowane 3 czcionki i mogę wyświetlić dowolny tekst. Chodzi mi o wyświetlenie grafiki dajmy przykład Bateria albo coś innego np logo jakieś. Oczywiście jeśli się da to może być grafika BGF. Niestety nie mogę tego opanować na OLED, ale powoli...
Zapoznaj się z $hwstack, $swstack i $framesize.
Może powiem do czego potrzebuje ten program. Buduję sekundnik na dwóch wyświetlaczach 7-segmentowych, ATMEDZE8 i przycisku. I miał by on działać na takiej zasadzie: jak naduszę przycisk to zaczyna naliczać sekundy jak naduszę drugi raz to zatrzyma naliczanie. Przez cały czas cyferki mają się wyświetlać.
Mam za zadanie z tego programu przerobić tak aby, zamiast wyświetlała się od razu cała linia - to ma po kolei wyświetlać się litera z danego wiersza tworząc dany napis.
Witam. Robię czujnik temp. do auta i wykorzystuje do tego seryjny termistor NTC przykręcony do obudowy silnika, wynik ma być wyświetlany na wyświetlaczu LED. Układ jest już zmontowany tylko zostało napisać program. Odczyt i przekształcenie na wart. temp. nie jest problemem ale za to wyświetlenie tego na multipleksowanym wyświetlaczu led przez układ...
Kolego w jakim języku piszesz? Do czego ma być ta biblioteka C++ Arduino a może Bascom ?
próbowałem tylko ze to musi być wtedy typu single bo word nie przyjmuje zmiennoprzecinkowej liczby czyli nie da sie pomnoży razy 10 próbowałem tez pozmieniać wszystkie typy na single ale też nie poszło
Właśnie adresu nie bylem pewien. Ale po zmianie nie ma efektów, dalej nic nie wyświetla
LCD podłączony pod port D, z portu B biorę zasilanie. Eeeee mam nadzieję że to z tym B to błąd...... port ma wydajność 20mA a ty ciągniesz z niego całe zasilanie? Może jeszcze dopowiesz że podświetlanie wyświetlacz też ma?
Wydobycie wartości wyświetlanej na wyświetlaczu? To znaczy że jednak coś wyświetla?
Kontrast dobrze, wyświetla krzaki.
[syntax=c] void LcdPrintChar(char character) { LcdSendData( character ); } void LcdSendData(unsigned char data) { LcdRSset; // RS=1 LcdSendNible( data >> 4 ); // Starsze 4 bity LcdSendNible( data ); // Młodsze 4 bity } void LcdSendNible(unsigned char data) { if ((data & 1) != 0) {LcdD4set;} else LcdD4clr; if ((data & 2) != 0) {LcdD5set;} else LcdD5clr;...
Ja stosuje takie wyświtlanie czasu: [syntax=basic4gl] Dim Wart_Bcd as Byte Wart_bcd = Makebcd(godziny) Lcd Bcd(wart_bcd) ; ":" Wart_bcd = Makebcd(minuty) Lcd Bcd(wart_bcd) [/syntax]
Wyrzuć obsługę LCD z przerwania, wyświetlanie wykonuj tylko w pętli głównej. W przerwaniu zmieniaj dane, które mają się wyświetlać i ewentualnie ustawiaj jakąś flagę, która da informację w pętli, że trzeba wyświetlić nowe dane. Przerwania powinny trwać jak najkrócej, wstawianie tam wyświetlania LCD, waitów itp. jest złym pomysłem.
(at)ElektrodaBot Napisz program w Bascom dla Atmega8, który będzie liczył pojedyncze impulsy w ciągu 24 godzin z zapamiętaniem najkrótszego odstępu między tymi impulsami, wynik wyświetlał na wyświetlaczu 2x16 opartym na HD44780.
Lcadat 70 , 0 , Rs_data , Czerwony , Czarny Popraw to na LCDAT. A czy upewniłeś się czy i jakie moduł nadaje znaki końca linii CLRF ? Jeśli procesor ma jeden uart to nie ma potrzeby otwierania kanału. Po drugie taka obsługa wyświetlania w petli nie jest dobra. LCD może się nie wyrabiać. Lepiej daj jakieś opóźnienie wyświetlania.
To nie jest takie proste jak by się wydawało. Ten sam program można napisać na 100 różnych sposobów. Nie da się tego przełożyć 1 na 1 W C musisz posiadać lub napisać bibliotekę do obsługi LCD a w Bascomie masz ją już napisaną przez kogoś innego i zaimplementowaną wewnątrz jako komendy. To tak samo jak nie da się przełożyć angielskiego bezpośrednio na...
I pilotach LG niektórych. Dokładnie: one 657 1605 zero 657 469 Takimi (średnio) długościami impulsów (w us) kodowane są zera i jedynki.
Dzięki sprawdzę co i jak
czy ten zapis: Readeeprom Txt , 0 spowoduje że Bascom sobie przeczyta cały text "napis1" ? Być może przeczyta, albo przeczyta z błędem. Unikaj addressu zeroweg dla EEPROM. Nie jest to wada/przyczyna spwodowana przez Bascom, ale 'od dawna' problem z AVR Atmel. na przykład: ................ cls Const Numds = 17 Dim Dispseq(numds) As String *...
Witam... Jesli moge w czyms pomoc... Dorzucam programik z wlasnego termometru. Wprawdzie wykorzystuje DS1820, ale latwo przerobic go na DS18B20 - przykladowe procedury i kody mozna znalezc na www.mcselec.com - bylo to na pewno. Mam nadzieje, ze przyda Ci sie... Pozdrawiam.
Witam Mam taki problem napisałem krótki program z helpa aby wyświetlać czas i datę. Problem w tym że na wyświetlaczy zamiast cyfr są same dziwne znaki jakby litery. Dodam że inny program (termometr na ds1820) przy tej samej konfiguracji lcd działa poprawnie. Co najciekawsze podczas symulacji w Bascomie czas i data jest wyświetlana prawidłowo. [syntax=jezyk_programowania]...
bascom wyświetlać ds18b20 bascom wyświetlać bascom wyświetlać temperatura
zakładanie nowych tematów radio winda sygnał sterujący pompy wspomagania
Pilot do kina domowego Technika HC210CE - naprawa lub zakup Wymiana sterownika świateł stopu w Piaggio MP3 500f