Więc tak potrzebuje wyświetlić liczbę w formacie x.x. I nie wiem jak to zrobić próbowałem tak iż daną liczbę mnożyłem razy dziesięć zaokrąglałem do liczby całkowitej funkcją round a następnie robiłem dzieliłem na dziesięć ale na wyświetlaczu lcd i tak pojawiało mi się kupę liczb po przecinku w formacie x.x00000001 lub podobne x.x999999991. Jak to zrobić...
"Program musi być na at89c2051"-dlaczego? To jest klon 8051 z małą ilością wyprowadzeń-programator do niego jest dość drogi. na "wyświetlaczu 16 segmentowym"-nie-to są dwa wyświetlacze 7-segmentowe(+kropka). Jaki fundusz możesz na to przeznaczyć? Bo jak musi być at89c2051-to inna odpowiedź. A jak np. attiny2313-to inna.
Najpierw spróbuj wyświetlić jakiekolwiek liczby. Będziesz wiedział, że działa multiplexowanie. Potem popracujesz nad resztą.
Czy ktoś mi może powiedzieć co w tym kodzie jest nie tak, że readeeprom nie działa? Program nei robi nic konkretnego. Powinien po prostu wyświetlić jedną liczbę na wszystkich wyświetlaczach ale z niewiadomych przyczyn tego nie robi. Kod: '****************************OPIS DZIAŁANIA PROGRAMU**************************** '***************************************...
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
Temp_liczba musi być typu Word a nie Byte.
Witam chciałbym zrobić układ zliczający impulsy.Miałby on liczyć do 16 bitów i mieć wyprowadzenia na zewnątrz z procka.Nie wiem tylko jak zrobić aby dwa zewnętrzne porty procesora Atmega16(np A i C) zachowywały sie jak jeden port 16 bitowy.Co trzeba byłoby zmienić w tym programie(program ten zlicza impulsy ale tylko obsługuje 8 bitów).Typ zmiennej wiem...
To znaczy że jak chce wrzucić wartość 325 do adresu 433 to mam napisać: Liczba = 433 Czas = 325 Writeeeprom Czas , Liczba Tak ? Właśnie tak :wink: Piotrek Sz.
Eh, a napisz coś takiego: [syntax=basic4gl] dim pwm_var as byte [/syntax] Tam gdzie deklarujesz resztę zmiennych, następnie przy wyświetlaniu: [syntax=basic4gl] pwm_var=cool1 lcd "Obroty"; str(pwm_var)[/syntax]
Witam, chciałem zrobić sobie zegarek na układzie RTC PCF8583 i uC Atmega8, po 1,5 tyg przeszukiwanie elektrody i testów różnych programów postanowiłem się poradzić. Na LCD pokazują się liczby trzycyfrowe. Ostatni program który testowałem: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 12000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize...
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 sumie można, lecz autor chciał mieć format byte, domyślam się że potrzebne to mu było do wyświetlania liczby na wyświetlaczach siedmiosegmentowych. Jeżeli tak, to Ciekawy jestem czy autor korzysta z lini Data i instrukcji lookup(), czy może z select case?
Witam, Jeśli nie musisz nie korzystaj ze zmiennych typu single, lepiej przeskalować int'a kilka razy (np zamiast 1,232 robisz 1232 a przy wyświetlaniu dodajesz przecinek) operacje na liczbach zmiennoprzecinkowych zjadają spora flash i czasu procesora. Pozdrawiam, Marcin
Zrób warunek, jeśli liczba >= 0 dostawiaj spację.
a mógłbyś mi dopisać, że jak czujnik nie jest podłączony albo się odłączy w trakcie to idzie prąd na PORTC.3 i na wyświetlaczu wyświetla się liczba 888 ??
Siemka! Musisz wziąść pod uwagę fakt, iż zmienna single przechowuje wartości zmiennoprzecinkowe ze skończoną dokładnością i to może być zauważalne przy niektórych operacjach na tego typu zmiennych. Poszukaj w helpie od Bascoma i poczytaj o kodowaniu liczb zmiennoprzecinkowych i wszystko Ci się wyjaśni:) Pozdrawiam!! Widzę że dałeś kod.:) Mi się wydaje...
Witam Potrzebuję zaokrąglić liczbę zmiennoprzecinkową do liczby całkowitej (do późniejszego wyświetlenia na wietlaczu LED (rozbijanie liczby na pojedyncze cyfry działa poprawnie). Do tego celu wykorzystałem funkcję Round. Zgodnie z instrukcją Bascoma należy zrobić to tak: [syntax=vbnet] dim A as Long, B as Long A=Round(B) [/syntax] Rozumiem, że gdyby...
No i tak właśnie zrobiłem z konieczności trzema ifami bo mam dwie takie zmienne... szkoda że nie ma jakiegoś polecenia, które by umożliwiało wyświetlanie zer nieznaczących
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...
wszystko pięknie tylko że ta opcja dodaje 0 przed samą cyfrą i znak + (wcześniej pokazałem przykłady jakie chcę uzyskać) Próbowałem też bez zera na początku i bez plusa (zastąpione spacjami) tylko wtedy tak jak mówię przy zmianie znaku liczba pływa
Faktycznie to nie będzie tak działać :) Próbuje to rozwiązać, na razie bezskutecznie, więc wszelkie rady jak wysłupać jedności liczby w kodzie binarnym mile widziane :D
Jak w temacie zaczynam swoją przygodę z bascomem i napotkałem pierwszy problem. Chciałbym na wyświetlaczu led wyświetlić zawartość rejestru eedr który będzie zwiększany z każdym naciśnięciem przycisku. Wszystko chodzi ok dopóki nie użyję polecenia lookup. Dopóki licznik liczy po swojemu i wartość EEDR jest przepisywana na port C to ok. Za każdym naciśnięciem...
Wielkie dzięki bedę testował Wyświetlanie zrealizuje w przerwaniu od timera tak bedzie najlepiej pozdrawiam
If zmienna<100 then Lcd " "; zmnienna 'Bez nieznaczącego zera Else Lcd zmnienna end if Lub If zmienna<100 then Lcd "0"; zmnienna 'Z nieznaczącym zerem Else Lcd zmnienna end if Trochę to jednak dziwne bo Lcd w Bascomie wyrównuje wyświetlanie do lewej. Będzie zatem w programie coś co powoduje inne zachowanie. Daj fragment programu...
bascomowa funkcja Rnd() potem zapisujesz wylosowane liczby w tablicy i przy kolejnym losowaniu sprawdzasz czy się nie powtarza jeśli się powtarza to losujesz jeszcze raz i znowu sprawdzasz, jeśli się nie powtarza to dopisujesz do tablicy wylosowanych i wyświetlasz na lcd
To nie zależy od rodzaju układu RTC. Po prostu wyświetlasz to jako zwykłą liczbę, więc odcina zera na początku.
A może coś takiego :) : [syntax=basic4gl]zmienna_tekstowa=str(li... zmienna_tekstowa=Format(zmienna_tekstowa... LCD zmienna_tekstowa [/syntax] Pozdrawiam
Jak można w Bascom x51 zmieniać (przesuwać) długość liczby wyświetlanej na LCD. Przykładowy program przedstawia problem. Jak przechodzę z liczby 100 na 99 to pozostaje nie potrzebne zero na wyświetlaczu , a jak przechodzi z 10 na 9 to pozostają dwa zera. Kolejny problem którego chcę się pozbyć to kreska za wyświetlaną liczbą „_”. Dim I As...
Czy jest funkcja szukania samych cyfr z buforu rs232? To są odpowiedzi z modułu SIM800. Bazuję na czymś takim: If Pinc.3 = 0 Then Waitms 750 Print "AT+CCLK?" ; Chr(13) ; 'zapytanie o datę i czas Waitms 50 Date_str = Mid(odb_txt , 20 , 8) Time_str = Mid(odb_txt , 29 , 8) End If Ale coś się dzieje i nawet wyświetla litery z odpowiedzi modułu. Da się jakoś...
Nie wiem co się dzieje , ale nie mogę poprzez komendę -- Lcd A -- napisać(wyświetlić) liczby większej od 9 . A jest zmienną typu Integer . Program jest prościutki i dotyczy tylko tego wyswietlania. Jakies pół roku temu pisałem program i wyświetlałem liczby z zakresu 21-69 i nic się nie działo . Symulator robi w tym punkcie stop i już. Żeby wyświetlić...
Dzień dobry. Jestem zielony jeżeli chodzi o podczerwień. Atmega 8 - taktowanie 8MHz, nadajnik (zwykła dioda ir wymontowana z pilota) podłączony wprost do zasilania (5V) poprzez rezystor 680ohm. odbiornik(scalony odbiornik podczerwieni wymontowany z telewizora) podłączony wprost po portd.0 . Odbiornik z nadajnikiem są oddalone od siebie o jakieś 2cm....
Teraz problem zrobił się bardziej skomplikowany, jako zmienną mam liczbę np. 3,6 i chcę ją wyświetlić na wyświetlaczu... Ciężko mi to zrobić w basomie.
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...
Ja traktuję liczbę stałoprzecinkową jako liczbę całkowitą gdzie sam ustalam w którym miejscu ma być przecinek ale tylko gdy przychodzi do wyświetlania. Działam na C dlatego taki przykład dam:[syntax=c]int zmienna; zmienna = 945 + 57; //np. 9,45 + 0,57 lub 94,5 + 5,7 zmienna = 2458023; //np. 24,58023 lub 2,458023 // zależny jak liczbę tą potraktujesz...
Podaj schemat bo może coś nie tak z podłączeniem. Jeszcze kilka spraw. Podciągnij programowo INT0 Robisz dziesięć pomiarów, a wyświetlasz tylko jeden. Możesz z tym coś zrobić np. zwiększyć czas "łapania" lub cześciej wyświetlać. Zrezygnuj z array, bo mi w symulatorze coś nie chciało to działać. Zamiast tego użyj drugiej zmiennej typu byte. Proponowałbym...
Nie wiem której biblioteki uzywasz i w jakim trybie bo najczęściej po SPI nie da się odczytywać nic z powrotem z wyświetlacza po to by read/modify/write. Standardowe fonty będą więc się zachowywać tak jak opisujesz. Możesz jednak użyć fontów graficznych. Je mozna nawet wyświetlać pod innym kątem (90st,180st). Bawiłem się tym bardzo dawno temu. https://obrazki.elektroda.pl/4740734300_...
Dzięki za podpowiedzi teraz wiem że double jest liczbą zmiennoprzecinkową i występuje jako liczba dodatnia jak i ujemna. Teraz zostaje tylko przeliczanie na liczbę ........... a to mi się wydaje jak na razie nie tak proste. To znaczy że nie wiem jak się za tą double zabrać. A może na początek bym się musiał nauczyć jak zamienić liczbę Integer (2bajty)...
Witam ! Podmień: [syntax=vbnet] Dim Liczh As Integer Dim Liczm As Integer Dim Liczs As Integer Dim Liczba As Integer [/syntax] Używaj okienko SYNTAX do wklejenia programu.
po pierwsze skąd wytrzasnąłeś: Enable Utxc ???? - to jest bez sensu poza tym po co taki mały bufor 6 znaków. Daj co najmniej 20 jak w przykładzie po kolejne pisałem ci o specjalnym doklejaniu na końcu PRINT'a znaku CR czyli Char(13) i średnika po tym - ale widzę, że albo kolega nie przeczytał tego co napisałem albo tak krótka pamięć ? ;) a u ciebie...
Ja bym wyszukiwanie zrobił tak Dim Ids(64) as Byte 'Maksymalna liczba czujników * 8 Dim I as Byte Dim J as Byte Dim L as Byte Dim Count as Byte Dim TempCount as Byte ' Wyszukiwanie Count = 0 TempCount = 1wirecount() If TempCount > 0 Then I = 1 J = I + 7 Ids(1) = 1wsearchfirst() Do If Ids(J) = Crc8(Ids(i),...
1) Zmieniłem na komórkę &B1001 i zapis jak i odczyt odbywa się poprawnie. Zarówno do tej komórki jak i następnej. (Zmienna typu word). 3) Tylko po co dodatkowo tworzyć dwie zmienne? Dodam, że do wyświetlacza podział zmiennej word na bajtowe nie jest używany. 4) Syf albo optymalizacja. Dając zmienne pomocnicze program działa tak samo. Problem nadal tkwi,...
Odpowiadając na pytania kolegi. Otóż i tak w najbliższym czasie w BASCOM AVR będę pisał na nowo soft do zestawu J-239 Jabela (dziecinada ten oryginał :not:), bo mam zamiar wywalić z niego oryginalny proc (AT89C2051 nie wiadomo po co taktowany 12MHz :?: ) i wstawić ATTiny 2313, bo się da, i będę i tak zmuszony pisać procedury translacji liczby z bin,...
No tak masz racje. Poprawiłem. Teoretycznie według danych nie powinno być i2cstop po pierwszym wysłaniu danych. Sprawdziłem i to. Nie działa. Dodam tylko, że 165 to liczba bo zdekodowaniu makedec. W rzeczywistości są wysłane same jedynki w BCD.
Witam, w Bascomie uśywając komendy deflcdchar można wyświetlić dowolny znak, u mnie neatomiast w miejscu tego znaku pojawia się bliżej nieokreślone coś, ani to znak, ani liczba, ani litera, po prostu jakieś krzaki... Jak można sobie z tym poradzić, nadmienię, że LCD działa poprawnie, bo wszystko elegancko wyświetla, tylko to coś.. Pozdrawiam
... Jutro zrobię ten układzik na kawałku uniwersalnej i zobaczę czy działa, narazie dzięki za pomoc i dobranoc :D Mnie natomiast zastanawia, dlaczego podałeś $crystal = 8000000 , a nie np. $crystal = 3000000 czy też dowolną inną liczbę :?:
Jeśli liczba sztuk będzie wzrastać to OK, ale przy przejściu ze 100 na 99 wyświetli 199. Może rezultat = FORMAT( zmienna , "maska" ) pomoże!
Akurat też buduje termometr na ds18b20 tylko że w Bascomie, ja też miałem problem z ujemną temperatura. Co do ujemnej temperatury trzeba do obliczeń zamienić ujemną liczbę na dodatnią bo ds podaje np . dla 0 stopni zwraca wartość 0 co mnoży się dalej * 0,0625 daje 0 ale dalej dla ujemnych daje wartość -1 , -2 , -3 itd. Trzeba otrzymany wynik zamienić...
NA "setki" "dziesiatki" i "jednosci" NIE WIEM JAK ZROBIC, zeby przy malych predkosciach (ponizej 10km/h) wartosc na wyswietlaczach byla zmieniana co 1 sekunde (4xtimer1) Dim Speed As Byte ' Prędkość Dim Tmp As Byte Dim I As Byte Dim Index As Byte Dim Mmv as Byte *** Rozbicie na 3 cyfry *** Dim Cyfry(3) As Byte Speed = 147 ' W Polsce to zakazane...
Witam! Ostatnio zabrałem sie za robienie elektronicznej kostki do gry na µC atmega8 + wyświetlacz lcd 4 * 20 linii (duży ale tylko taki mam xD). No i z cała konstrukcja nie mam problemów, ogólnie z napisaniem programu w bascomie też nie. Nie licząc małego wyjątku... Jak w bascomie będzie wyglądał program który po naciśnięciu przycisku s1 będzie...
Ten pierwszy programik (na wait) działa poprawienie i jest to sprawdzone poprzez wyjście OC1A mikrokontrolera, więc nie trzeba żadnych przerwań. Zrobiłem obrotomierz samochodowy (na hallotronie unipolarnym przyczepionym do przewodu HV), jednak obrotomierz wyświetla obroty od 800- 1100 obr/min. Jak można programowo zredukować przekłamania? Pzdr
[syntax=basic4gl] $crystal = 4000000 Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111100 Portd = &B1111111 Config Timer0 = Timer , Prescale = 64 Enable Timer0 Enable Interrupts On Timer0 Co1ms Dim Liczba As Single Dim Ktorywysw As Bit Dim Lol As Byte Dim Jednostki As Byte Dim Dziesiatki As Byte Dim Pomoc As Bit Dim Aaa As Word Dim...
Nie bardzo mogę sobie wyobrazić jak masz te wyświetlacze podłączone. Ja bym zrobił tak że 3 pinami portu C wybierałbym który aktualnie ma się wyświetlacz świecić a 7 pinami z portu B wyświetlał cyfrę na wybranym wyświetlaczu. Tylko trzeba to robić co najmniej kilkadziesiąt razy na sekundę. Ale za każdym razem wyświetlasz tylko jedną cyfrę. Liczbę trzycyfrową...
Najprościej zrobić to tak: wyliczasz napięcie z proporcji, ale nie do 20 tylko do 2000. Następnie dzielisz to przez 100 a wynik zapisujesz do liczby całkowitej - masz to co przed przecinkiem. Potem mnożysz to przez 100 i odejmujesz od pierwotnego napięcia - masz to co po przecinku. Wyświetlasz tak jak napisałeś. LCD przed_przecinkiem;",";po_przecinku;
:arrow: hunterhouse Znalazłem troche błędów (a nawet błąd w BASCOMie '51 :D ), mam teraz trochę czasu, więc się tym zajmę. Dobrze było by, gdybyś narysował schemat, to zrobię ci sterowanie LEDami ze skalą logarytmiczną. Wrzucę też, kilka rzeczy, które będziesz musiał sprawdzić, bo nie wiem jak działają w BASCOMie AVR (albo ściągnę BASCOMA :D , jeszcze...
Zrobilem sobie termometr na mikrokontrolerze (BASCOM AVR) z wyswietlaczami LED. W celu wyswietlenia temperatury chce wykorzystac konwersje na kod BCD. Czujnik temperatury to oczywiscie DS1820, wiec np. temperaturze 24,3 st. odpowiada liczba 243. Problem w tym, że bascomowe polecenie MAKEBCD dziala z liczbami z zakresu 0...99. W jaki sposob mozna zaradzic...
W ogóle skoro nie potrafisz odczytać tego co napisałem wyżej to znaczy że do końca nie rozumiesz co to tablica. Wyjaśnię najbardziej łopatologicznie. Wyobraź sobie, że tablica to pociąg z wagonami od 1 do 8. Każdy wagonik może przewozić daną liczbę. A cały pociąg ma swoją nazwę np. pociąg "Kopernik" Więc. Ds1(1)=9 Oznacza, że mamy tablicę o nazwie "Ds1",...
Widzę że trafiłem na ludzi chcących pomagać początkującym – jeszcze raz wielkie dzięki. Jak zrobić żeby podczas wprowadzania liczby, aktywne pole było jakoś zaznaczone ( gdzieś widziałem dolne podkreślenie. Ale nie wiem jak to zrobić ). Kolejny problem – zmodyfikowałem funkcję Dostar: która ma odliczać wprowadzoną liczbę do 0 i mam problem...
Witam. Udało mi się zdefiniować wszystkie liczby. Każda liczba to nowy podprogram, definiujący jakie znaki mają się pojawić w danej liczbie. Jak stworzyć program, który wyświetli np datę, temperaturę - ogólnie ciąg cyfr. Pierwsza cyfra na ekranie pokazuje sie w całości, następne niestety znikają poza ekranem albo robią się krzaczki kiedy wywołam po...
Witam, Używam w Bascomie polecenia: Dane_uart1 = Inkey() Gdy chcę wyświetlić dane na LCDku to wyświetla mi liczbę po liczbie. Np. Gdy wysyłam do tego procka za pomocą polecenia PRINT "1234" To otrzymuję kolejno 1, 2, 3, 4 . Chciałem otrzymać 1234 a nie kolejne liczby w stringu. Już trochę się z tym męczę i proszę o pomoc w tej sprawie....
Witam. Posiadam taki oto wyświetlacz vfd: http://obrazki.elektroda.net/88_12337754... Jest to wyświetlacz z czternastoma segmentami na jedno pole, może wyświetlać liczby oraz litery, jest bez sterownika, wiem jak go podłączyć (co i gdzie) lecz nie wiem jak tym sterować z procesora (np.atmega8). Czy potrzeba jakiś dodatkowy układ między procesorem...
Kwarc wstaw w obu przypadkach nawet 16MHz. Baudrate jest zależna w zasadzie od jego dzielnika niż od kwarcu. Nie szalej też z dużą szybkością bo błędy mogą wyskoczyć, zacznij od 4800 bps. Połączenie po UART masz zrobić sprzętowo! Timer niech ci obsługuje multiplexing, główna pętla programu sprawdzanie czy w UART coś przyszło i przepisywanie do tablicy....
Mam liczbę np. 5813 i che ja zapisać w tablicy w postaci szesnastkowe int wynik Ale 5813 ma sie nijak (w sensie standardów liczbowych) do 0x6D, 0x7F, 0x06, 0x4F. 5813 dec = 16B5 hex. Nie ma w C wyimaginowanych konwersji na kody 7-seg. Musisz zrobić to na dra razy. 1. Skonwertować liczbę 5813 na łańcuch znaków. Zrobisz to przy użyciu sprintf. 2. Pobierać...
Nie ma tego w Helpie bo to nie jest żadna funkcja czy komenda. Po prostu to narysuje spacje na poprzednim texcie jeżeli przypadkowo napis by się skrócił. Bez tego po skróceniu napisu nowy napis będzie wyświetlony dobrze, ale na LCD pozostanie trochę starego napisu co da wrażenie wyświetlania większej liczby. Ale to jest sposób pośredni. Najlepiej użyć...
W twoim programie wg BASCOM-AVR są błędy: Error : 42 Line : 31 Numeric parameter expected Error : 42 Line : 32 Numeric parameter expected Error : 124 Line : 32 LOOP expected Popraw program. Przepraszam za wcześniejsze błędy. Poniżej prezentuję poprawiony kod: [syntax=text] $regfile = "m8def.dat" $crystal = 16000000 $hwstack = 32 $swstack...
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. Ja mam to zrobione tak: '------------ obliczanie cyfr 1-4 do wyświetlenia -------------------------- Cyfra(1) = Nastaw / 1000 'tysiące Cyfra(2) = Nastaw Mod 1000 Cyfra(2) = Cyfra(2) / 100 'setki Cyfra(3) = Nastaw Mod 100 Cyfra(3) = Cyfra(3) / 10 'dziesiątki Cyfra(4) = Nastaw Mod 10 'jedności '--------------- wygaszanie zer nieznaczących -------------------------------...
Eksperymentuje, więc na razie nie ma komentarzy. Temperatury dodatnie i wilgotność poprawnie wyświetla. Poniżej 0*C to już głupoty typu: 3480*C Sumę kontrolną usunąłem, bo nie wyświetliło ani razu ERROR. Mybyte = T + H 'dodajemy wartości temperatury i wilgotności If Mybyte <> Crc Then 'jeśli suma kontrolna się nie zgadza Lcd "error"...
Czy ktoś stosował zmienne typu DOUBLE? Próbuje od pewnego czasu i dzieją się dziwne rzeczy Dim Aa As Double Dim B As Double Aa = 5 / 6 Print Aa B = Sin(0.2) Print B Zmienna Aa zawsze ma wartość zero. Zmienna B pokazuje się jako B=0198669330795061 Przypomina raczej łańcuch niż liczbę (brak przecinka) Po kompilacji w raporcie nie wyświetla typu zmiennej...
Hmm, to znaczy że bym musiał uruchomić drugi timer (8 bitowy). Z tego co pamiętam, to przy maksymalnym dzielniku wychodzi 1 albo 2 sekundy. I w momencie przepełnienia sprawdzać prędkość? Co do pokazywania zer to ogarnąłem wykrywając przepełnienie timera 3 i w tym momencie wyświetlanie zer. cóż wiem , że program pewnie wg Ciebie (z resztą wg mnie też)...
Zdefiniuj zmienną Temp jako Word. Jak ci ma wyświetlić 600 jesli zmiena Byte może przyjąc max wartość 255. Właśnie powyżej tej wartości będą ci sie wyświetlać dziwne rzeczy. No to może wytłumaczę jak to zrobić na zmiennej typu Byte według wyżej wspomnianej ideii. $crystal = 4000000 $regfile "attiny2313.dat" Dim Pomiar As Single Dim Temp As...
Super. Wielkie dzięki. Nie spodziewałem się tak szybkiej pomocy. Będę chciał dziś wieczorem przetestować programik i dam znać. Oczywiście nie mam nic przeciwko optymalizacji i dostosuje się do niej :) Podoba mi się twoje koncepcja. Jeżeli mogę dopytać. Większość postów które czytałem związane były z multipleksowaniem, czyli wyświetlanie liczb przez...
Witam.Wiem że ten temat był wałkowany wiele razy ale czy ten program jest poprawny i wyświetli zmienną [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 Config Pinc.2 = Input ' informuje proc że PD.2 jako wejście Pinc.2 = 1 Config Pinc.3 = Input ' informuje proc że PD.3 jako wejście Pinc.3 = 1 Sw1 Alias Pinc.2 Sw2 Alias Pinc.3 Dim Liczba As...
Witam, próbuję napisać, by wyświetlić ciąg cyfr, które są przypisywane do zmiennej za pomocą klawiszy tzn.od 0 do 9. Jeżeli zastosuję zwykłe locate lcd, to wyświetlają mi się w tym samym miejscu, a ja chcę aby każde liczba, która jest przypisana do każdego klawisza wyświetlała się w ciągu, w jednej linii, czyli coś takiego 25684789 itp .jak to można...
kaka22 -> a po co ci załapywać podstawy do tego gdy działasz w Bascomie. Nie potrzeba , co ty chcesz jeszcze dekodować skoro Bascom jak na dłoni podaje ci zdekodowany sygnał ... czyli naciskasz na pilocie klawisz 1 a w bascomie przylatuje ci kod tego klawisza - zdaje się że też akurat 1, naciskasz 2 to przylatuje i wyświetla się 2 - dla klawiszy nie...
pewnie, że się da pominąć to miganie wyświetlacza LCD. Szczególnie LCD. Wystarczy zamiast stosowania CLS dla całego wyświetlacza zastosować polecenie LOCATE y,x i wyświetlać konkretne wartości w konkretnym miejscu. Za taką wartością można dać jeszcze spację albo dwie aby w razie czego kasować końcówkę liczby w przypadku gdy np wyświetla ci się 100 a...
TSOPy są bardzo chimeryczne, mogą się zatkać. Wymień na nowy i sprawdź. TSOPy firmy VISHAY to najlepsze z najlepszych odbiorników podczerwieni ;) .... zatykać ??? a co to znaczy? .... gdybym powiedział, że użyłem ich kilkaset to bym skłamał, gdybym powiedział, że użyłem ich kilka tysięcy to bym już przesadził - ale coś pomiędzy kilkaset a kilka tysięcy...
(...) ' 5 Data 250 ' 6 Data 131 ' 7 Data 251 ' 8 Data 219 ' 9 Wstępna ocena dostępnych informacji W kodzie widzimy dwa liczniki (Liczba_ok i Liczba_nok) zadeklarowane jako zmienne typu Word, a także tablice na cyfry (Cyfra_ok i Cyfra_nok) jako typ Byte. Z punktu widzenia zakresu wartości samych liczników (od 0 do 999) nie powinno to powodować błędów...
Bascom wiecznie żywy! Widziałem ogłoszenie "profesjonalnej" firmy, wymaganiem była znajomość BASCOM :-) Wracając do tematu, zera na "piechotę", można wygasić na wiele sposobów. Dla małych liczb, a z takimi mamy tu do czynienia można dać warunki if [syntax=vbnet] if( liczba < 10 ) .... else if( liczba < 100 ) .... else if( liczba < 1000 ) .......
Hm... najprostsze bez testowania transmisji to np: Najpierw ustawiasz mniejszą szybkość transmisji (wymaga sprawdzenia), ponieważ przykład będzie dla obsługi liczb w przerwaniu, co zajmie jakiś czas. Wysyłasz liczbe dwubajtową, w nadajniku zamieniasz ją na zwykłą dziesiętną i wysyłasz np w takiej sekwencji: A00123Z czyli znak 'A' (liczba 65) startuje...
Może stąd że nie czyścisz wyświetlacza przed wyświetleniem nowej wartości. To było przyczyną, sądziłem że funkcja itoa konwertując liczbę jedno czy dwucyfrową na tablicę znaków char (kilkuelementową) puste pola wypełni białymi znakami. Nie dzieje się tak, to co wydawało się być skonwertowaną liczbą w rzeczywistości zawierało śmieci z poprzedniej liczby...
Odświeżę temat, postanowiłem w święta pobawić się tymi RFM12B, dwa odrębne układy, połączone w/g schematu z pierwszej strony tego tematu, probram w Bascomie, modyfikacja polegająca na : Spi_cs Alias Portb.2 ' SS-Pin Config Spi_cs = Output Spi_sdo Alias Pinb.4 ' MISO-PIN Set Spi_cs Spiinit no i d... nadajnik ma zaprogramowane wysyłać liczby od 1 do 200...
Załaczam kod, który działa. odbiera dane z portu szeregowego i wyswietla je w MsgBox(). Zwróć jedynie uwagę na zdarzenieSerialPort1_DataReceived. Zmień w nim ilośc bajtów po której mają zostać odczytane dane z BUFORA portu szeregowego. Początkowo bowiem dane trafiają do bufora (każdy bajt oddzielnie wywołuje przerwanie i trafia do bufora) a stamtąd...
Witam wszystkich. Jestem początkujący jeżeli chodzi o programowanie, bascom-a mniej-więcej rozumiem, ale nie mam pojęcia jak zrobić coś takiego- wyświetlanie pionowe na wyświetlaczu. Przypuśćmy że mam wyświetlacz 2x 16, przetwornik A/C. Chciałbym aby wartość przekładała się na liczbę właśnie tych słupków ( locate 1,1 i locate 2,1 ). Z tego co pamiętam,...
A może podeszłaby instrukcja zmienna1 = MAKEBCD( zmienna2 ) gdzie: zmienna1zmienna, do której zapisana będzie liczba w formacie bcd, zmienna2zmienna zawierająca liczbę dziesiętną. Format BCD to coś takiego, że w 4 najstarszych bitach zakodowana jest binarnie liczba dziesiątek a w 4 młodszych liczba jedności. Normalny zakres liczby 8 bitowej to 0-255...
Dzięki. Mam kolejny problem. Spotkałeś się może z tym, że wyświetla w bascomie błąd w konkretnej linii, a jak się tam przechodzi to linia jest pusta? "Source variable does not match the target variable" i rzeczywiście, mam takie wstawki w których zmienna word ma się równać zmiennym byte + byte, ale to wszystko liczby, można tak robić. edit: okazało...
Witam ponownie , Chciał bym podziękować koledze submariner za nakierowanie na właściwe myślenie przede wszystkim w sposobie dzielenia liczby na pozycje ( setki, dziesiątki, jedności ) po dość długim kombinowaniu się udało się ułożyć program który prawidłowo wyświetla liczbę na 3 wyświetlaczach 7-dmio segmentowych. Pozostało mi jedynie przekształcić...
Dzięki (at)szelus za listing programu, myślałem że dam rade zrozumieć coś z C ale myliłem się :) nie rozumię tego programiku. Mam jeszcze pytanie odnośnie: 1. skalujesz zmienną "a" do postaci z zakresu 0-32 2. dzielisz "a/2" ( w assemblerze komenda div ab przy b=2 ) 3. wyświetlasz a pełnych kwadratów 4. jeśli była reszta z dzielenia (w asm b<>0)...
Witam, chcialem przeprowadzić transmisje szeregową miedzy dwoma mikrokontrolerami. Na poczatek jeeden mial wysylac do drugiego liczbe a tamten mial ją wyświetlac na wyświetlaczu alfanumerycznym. Gdy odłacze linie wchodzaca do mikrokontrolera który ma sterować wyświetlaniem, wyświetlacz nic nie wyświetla ( i to jest OK) ale gdy podłacze go do linie TXd...
jak chcesz do 1 miejsca po przecinku, to mnożysz liczbę zmiennoprzecinkową przez 10 (jak do dwóch miejsc, to przez 100, itd.) zamieniasz ją na człkowitą i masz dwie (no w sumie to trzy) drogi. 1. zamieniasz liczbę całkowitą na tekst, wyświetlasz wszystko oprócz ostatniej cyfry (ostatnich dwóch, trzech...) wyświetlasz kropkę i dopiero ostatnią (ostatnie)...
http://obrazki.elektroda.pl/7794468400_1... Witam. Chciałbym zaprezentować układ który zrobiłem, kilka dni temu. Inspiracją do zrobienia tego układu, był napisany przeze mnie kilka lat temu program w PHP, który losował liczbę, a my odgadywaliśmy tą liczbę. Jako, że od kilku miesięcy interesuję się uC, to postanowiłem zrobić coś podobnego....
Atmega8 czy atmega8L, ta pierwsza ma zakres napięć od 4,5-5,5V częstotliwość pracy 0-16MHz, ta druga 2,7-5,5V częstotliwość pracy 0-8MHz, pierwsza strona noty. Jeśli używasz wersji zwykłej bez L to masz za małe napięcie. Jeśli chcesz sprawdzić prędkość procka to możesz skonfigurować jakiś timer to pracy w trybie PWM i porównać częstotliwość na wyjściu...
Chcę użyć ten wyświetlacz do ładowarki akumulatorków lub akumulatorów ołowiowych. Wyświetlacz ma pole do wyświetlania przekazanego ładunku (liczba 4-ro cyfrowa) oraz napięcia (liczba 2 cyfrowa + jedno miejsce po przecinku). Jak mając np. pomiar napięcia przekazać go razem z pozostałymi bitami do wyświetlenia? Jak podzielić zawartość zmiennej na poszczególne...
Witam Napisałem prosty programik do testowania pamięci zgodnie z sugestiami kolegów.Coś chyba znacznie pokopałem bo zapisuje do eeproma liczbę 1000 i po odczytaniu z pamięci wyświetla się zupełnie coś innego!! 2819lub 1279. Czy ktoś jest odważny by prześledzić podpowiedzieć co jest źle??Próbowałem zamieniać zmienne Y,X ze sobą i kiszka jeszcze większa.Wyświetla...
Sprawdź czy przypadkiem nie ma błędu wynikającego z innego rozłożenia wyprowadzeń dla segmentów w wyświetlaczach . Chodzi o jedności i setki , bo liczba segmentów które świecą się zgadza , tyle że świeci inny segment . Zapal kolejno po jednym segmencie zmieniając tablice (label ) świeci ci tylko to co ma wartość zero zrób z 3 po kolei 0b11111110 , 0b11111101...
Witam. Mamy np. kawałek kodu : [syntax=vbnet]Dim F As Word ' jakaś zmienna Dim F_lcd As String * 10 ' zmienna do wyświetlania na LCD Dim Pierwsza As String * 1 ' ? zmienne do wydzielenia Dim Druga As String * 1 ' ? i wyświetlania na wyświetlaczach 7-seg Dim Trzecia As String * 1 ' ? ' itd F_lcd = Str(f) ' tekstowa reprezentacja danej liczby Locate 1...
Teoretycznie można to zrobić. Wyświetlaj znaki w przerwaniu - co przerwanie zmieniając ich definicję. Uprzedzam, że może migać. Myślę, ze w ten sposób możesz zwiększyć liczbę generowanych znaków do maks 16. Kiedyś robiłem podobne coś, ale efekty nie były zbyt ładne. Wymaga to trochę przemyślenia. http://www.elektroda.pl/rtvforum/topic17...
Program to komputer pokładowy w samochodzie. Wszystko wyświetlane na LCD od siemensa, program do wyświetlania napisany przez Ciebie :) I teraz tak: program do wyświetlania wyświetla to, co ma w zmiennej Text (as string * 13). W kilku podprogramach obliczam przejechaną drogę, spalanie, itd. Jak obliczam spalanie, to mam np. wynik 115 (co oznacza 11,5...
No powiem ci stary że działa rewelacyjnie ,ale... No właśnie jest zawsze jakieś ale. Wprowadziłem kilka zmian dotyczących obliczeń , wskazuje teraz prawidłowe odczyty obrotów tylko że gdy zatrzyma się wentylator to zaczyna wyświetlać 314008 lub inne takie tam . dzieje się też tak, jeśli nie podłączone są żadne wentylatory ,wtedy w 4 miejscach odczytu...
Witam wspólnotę chciałbym zaznaczyć że z wykształcenia jestem mechanikiem, a z programowaniem nie miałem wcześniej styczności. Przeczytałem książeczkę która mowiła o programowaniu w jezyku bascom, i stworzyłem taki o to kod programu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 'licznik do odmierzania...
Przeanalizowałem twoje przerwanie i faktycznie jest lepsze. Zrobiłem jeszcze drugiego "data" - liczby z kropkami i dodałem ifa: if kropka1=1 then Portb = Lookup(jednosci , Tabela) else Portb = Lookup(jednosci , Tabela1) Wszystko działa OK. Dzięki -=Marcin=-
wyświetlanie liczby bascom liczby bascom wyświetlanie
instrukcja obsługi zegara przebarwi kolor zacisk hamulcowy ręczny
sterownik świateł dziennych proste uklady elektroniki
Wskaźnik smarowania silnika Opel Zafira 1.8 benzyna - przyczyny i diagnostyka Kierownica do Renault Master II - kompatybilne modele