Hej! Zobaczcie jak ja to robię, może komuś sie to przyda: 'Powiedzmy ze zmienna Liczba(single) wynosi 22.62555426 Temp = Int(liczba) ' dzieki temu poleceniu odcinam czesc setna czyli ' zmiennej Temp(byte) przypisuje liczbę 22 Liczba = Frac(liczba) ' dzieki temu poleceniu odcinam czesc ' dziesiętną czyli zmiennej Liczba(single) przypisuje ' liczbe 0.62555426...
Witam Kolego Unreal89. Pracuję pod Bascomem 8051 i nie spotkałem się z funkcją, o której wspominasz. Przejrzałem pliki help'a i tam również nic nie znalazłem. Zainteresowany jestem z jakiego powodu odpada komenda "fusing"? Dla czego pytam? Pozwolę sobie obszerniej skomentować zaprezentowany listing. 1. Termometr DS18B20 przechowuje informacje o temperaturze...
Witam Mam problem z przypisaniem danej wartości do danego wyświetlacza. Konkretnie Wyświetlacz 1 wartość 1, wyświetlacz 2 wart 2 Sam układ znaków podłączenie wyświetlacza itp jest ok. Jedyne co mi się udało to albo wyświetla mi na danym wyświetlaczu 0 a na reszcie 888 albo zgaszę jedną cyfrę a w reszcie same 0. Jak poprawnie wpisać wartość do konkretnego...
Zwykle bardzo łatwo jest zastąpić operacje na liczbach zmiennoprzecinkowych, operacjami na liczbach całkowitych. U ciebie w kodzie masz taki kwiatek: Pomoc3 = Cykl / Y Prc = Pomoc3 * 100 Czyli najpierw liczysz wartość która u ciebie jest ułamkiem, a póżniej praktycznie zamieniasz ją na liczbę całkowitą. A wystarczy zamienić kolejność i operować na liczbach...
Witam, mam problem bo nie wiem jak wyświetlić dwie zmienne w tym samym miejscu na wyświetlaczu to jest kawałek kodu Dodano po 2 Wymyśliłem licznik [syntax=basic4gl] Wyswietlacz: If Pind.1 = 0 Or Pind.3 = 0 Then Do If Pind.1 = 0 Or Pind.3 = 0 Then Licz_ok = 0 Incr Licz_ok End If Locate 1 , 7 : Lcd Zmienna If Licz_ok = 255 Then Exit Do Loop [/syntax]...
Witam panowie od razu podkreślę że jeszcze uczę się bascoma więc proszę nie krzyczeć i nie usuwać tego postu do kosza Siedzę już nad tym 3 dzień i efekt mojej pracy nie najgorszy ale mam parę pytań po pewnych rzeczy nie rozumiem i nie mogę rozwiązać. Więc tak założeniem był pomiar temperatury przez ds18b20 wyświetlenie je na LCD i 4 wyświetlaczach 7...
Pomnóż przez 2, zaokrąglij do wartości całkowitych, podziel przez 2, i wyświetl z rozdzielczością do 1 miejsca po przecinku.
Poczytaj helpa o funkcjach Fusing i Format.
- powyżej 10W: "Pwej= Tak będzie się wyświetlało jeżeli pierwszym bajtem zmiennej String Pwej będzie 0. Zero jest końcem łańcucha (dwie możliwości takiego błędu już podałem stos, albo nadpisanie przez inny łańcuch ;)). Nie piszesz też jaka wersja Bascoma to jest, może w którejś wersji był błąd z funkcją Fusing. Możesz podglądnąć co się dzieje z Pwej...
...Czy istnieje jakiś sposób, aby ostateczną zmienną 'Ss' (string) zapisać w zmiennej typu Single (lub innej?) aby umozliwic porównanie jej z tą zapisaną w eepromie? A może ktoś zna inną metodę na rozwiązanie tego problemu? Z Twojej wypowiedzi wynika , że nie wiele masz wspólnego z programowaniem uC - ale mniejsza z tym. Zmienna string jest potrzebna...
Tak wyświetla wartośc temperatury I2 z dokładnościa do jednego miejsca po przecinku. Rozumiem że po przecinku jest zawsze 0? Sprawdź czy przed wyświetleniem nie masz nigdzie uzytej funkcji format lub fussing dla zmiennej I2.
Potrzebowałem zamienić zmienną typu single na zmienną tekstową typu integer Zmsingle = 20.5 Zmtekstowa = Zmsingle Następnie wyświetliłem ją na LCD i otrzymałem Zmtekstowa = 20 Co się stało z ułamkiem? To normalne przy takiej konwersji?
Tak na szybko mam takie rozwiązanie: Dim Go_s As String * 2 , Mi_s As String * 2 , Se_s As String * 2 Go_s = Str(godzina) Mi_s = Str(minuta) Se_s = Str(sekunda) Lcd Format(go_s , "00") ; ":" ; Format(mi_s , "00") ; ":" ; Format(se_s , "00") Wartości...
Odgrzewam kotleta. Jeżeli potrzebne jest wyświetlenie tylko części całkowitej zmiennej na np. wyświetlaczu LCD to proponuję: [syntax=basic4gl] Dim A As Single Dim B As String * 5 Dim C As String * 3 'mamy zmienną single np. 123.4567 B = Fusing(a, "#.#") C = Left (b , 3) ' Lcd C ' wynik 123 [/syntax]
Witam. Czy jest w Bascomie jakaś procedura która bezpośrednio sprawdza, czy liczba przechowywana w zmiennej single jest całkowita (naturalna)? Ewentualnie jak przy użyciu jak najmniejszej liczby kroków pośrednich sprawdzić czy wartość po kropce dziesiętnej ma wartość 0? Chcę użyć tego jako warunku i gdy single zawiera część ułamkową wyświetlić z maską...
Sorki. Wiem, że temat był, ale w końcu nie doszliśmy do consensusu. Powedzcie mi jak załadować te nazwy i ceny do pamięci zewnętrznej. To ma 2,41 kb a ja musze mieć 2kb (procesor 2051). Proszę pomocy Przykro mi o tym pisać , ale nawet jeśli użyjesz zewnętrznej pamięci , to i tak programu nie zmieścisz w 2kB.Powinieneś zapomnieć o zmiennych SINGLE i...
Takie mam problemik. Otóż mam w stringu wartość typu "843.30" ............... Potrzebuję toto zamienić na wartość liczbową, więc przepisuję do zmiennej typu SINGLE. .................. Round(x) zaokrągla do pełnych wartości, więc nie pomaga... To zależy do czego chcesz ten wynik użyc. Aby wyświetlic go na display lub print, spórbuj tak: [code][syntax=basic4gl]...
Racja, mój bład. Mam taki kod. $regfile = "m16def.dat" $crystal = 16000000 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Config Lcd = 16 * 2 Config Portc = Output Set Portc.1 Cursor Off Config 1wire = Portd.5 ' + jumper J2 B-C Dim Odczyt(2) As Byte , A As Byte , Licznik...
Siemka! Tak patrzę w ten Twój kod i pewnych rzeczy nie kumam, ale spróbujmy go przeanalizować. - Resetujesz 1-Wire i wykonujesz polecenie konwersji po czym czekasz 750ms i super :) tylko zastanawiam się po co odczekujesz kolejne 750ms po poleceniu odczytu scratchpad? To jest niepotrzebne, możesz odczytywać dane od razu. Poza tym rozbijanie Waitms 750...
Witam Panowie Dzięki za zainteresowanie i poświęcenie czasu . Dzięki użyciu FLAGI "B" program w pętli głównej nie marnuje czasu na LCD i wyświetlanie wyniku zmiennej A . Nie najlepszy to przykład dla przedstawienia konceptu stosowania flag. Poniżej masz trochę zmodyfikowany twój przykład reagujący wyświetleniem wyniku V z pomiaru ADC tylko w przypadku...
(at)ziguś - masz zmienną float (dobra, single, ważne że zmiennoprzecinkowa). Fusing jedynie określa ile ma mieć miejsc po przecinku. Chcesz nie mieć ich wcale to musisz przepisać wartość zmiennoprzecinkową do stałoliczbowej jak pokazano w language fundamentals: http://avrhelp.mcselec.com/index.html?la... Na samym końcu ;)
Mam problem ze zmuszeniem wyświetlaczy 7 segmentowych do współpracy z przetwornikiem. Programy osobno działają - jak przypiszę ma sztywno zmiennej U1 jakąś wartość to ładnie wyświetla, tak samo na wyświetlaczu LCD mogę odczytać napięcie z ADC. Zakładam, że robię jakiś durnowaty błąd i mam coś namieszane z kolejnością. W związku z tym proszę, aby ktoś...
CO ma byc na tym porcie B? Dałeś tam jeden wyswietlacz 7segmentowy? Fakt, w twoim programie w zmiennej W dostajesz wartosc napiecia mierzonego, ale a) rzutujesz single na word? Po co? Nie chcesz miec dokladnosci 0.5v? b) Aktualnie wyswietlasz JEDNA cyfre na jeden wolt :).....Do 9v jest ok, ale jak pokazesz wartosc 11v?....
Witam Dzięki (at)leon1313 twój sposób działa, to jest to czego chciałem :) genialny w swojej prostocie. Wyswietlanie: If Temperatura <> Temperatura2 Then Temperatura2 = Temperatura Cls Locate 1 , 1 : Lcd "Temp=" Locate 1 , 6 : Lcd Temperatura ; Chr(1) ; "C" 'wyświetl wynik ze zmiennej Single Cursor Off End...
Złego jest to, że nie jest to mój wynik czasu zapisany jako jedna zmienna w postaci dziesiętnej. Potrzebuję tego, aby później porównywać ten wynik zapisanymi z innymi danymi i zależności od tego czasu zmierzonego będzie wykonywać inne zadania. Nie wiem jak to rozwiązać. Więc tak jak pisałem: przeformatuj wynik! Zmień wymiar zmiennej 'Del' na: Dim Del...
W swoich programach często mam linijkę: [syntax=vbnet] Dim Help_b As Byte, Help_i As Integer, Help_w As Word ' itp[/syntax] Nie muszę się potem zastanawiać i takie podręczne, znane na pamieć, powodują że nie musisz powoływać nowych. Następną rzeczą jest to że w Bascom nie musisz rzutować zmiennych na typ string jeśli chcesz je wyświetlić na LCD. Robi...
tak wiem ze mozna podzielic to przez tysiac, ale jezeli zmienna pokazujaca napiecie w mV bedzie rowna 1235 to na wyswietlaczu pokaze mi sie 1 a nie 1,235 i wlasnie nie wiem jak to zrobic, bo chyba nie ma zmiennej ktora uwzglednialaby liczby z przecinkiem Spojrz na ten przykladowy kod, zasymuluj go, zobacz wynik: Dim A1 As Single Dim B1 As Single A1...
Piszę tutaj, bo jestem już zdesperowany. Jak patrzę na układ podpięty do programatora, to aż mi już się niemiło robi. Ale do rzeczy i od początku. Znalazłem w sieci taki kod: [syntax=basic4gl] Dim Pll As Single Dim Fset As Word Dim Dane As Byte Dim A As Single [...] Nastaw: Pll = A I2cinit I2cstart I2cwbyte &HC0 Pll = Pll * 100000 Pll = Pll + 225000...
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...
Witam. Oto KOD: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z książki "Mikrokontrolery dla Początkujących" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwości pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 ,...
Witam, właśnie zabrałem się za budowę termostatu- ma być oparty na układzie DS18B20 i napisałem prosty program w Bascomie Config 1wire = Portd.5 ' + jumper J2 B-C Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj...
Witam. Żeby trochę usystematyzować: - posiadam enkoder 100pulsów/obrót - spodziewam się wyniku na wyświetlaczu z rozdzielczością powiedzmy 1/10 obrotu Poczyniłem taki krok, że zmienną Encounter zmieniłem jak Single. Dodatkowo wstawiłem linijkę Encounter=Encounter/100 poza pętlą Do...Loop według sugestii Kolegi. Niestety nadal wyświetlana jest ilość...
Witam Pytanie natury technicznej... Przedstawiam wycinek programu, odczyt z 2 portów adc konwersja i potrzeba wyświetlenia wyniku pomiaru w formacie 0.00. Zauważyłem problem pojawiący się gdy w programie występują dwie instrukcje FUSING pracujące niezaleznie nad rożnymi danymi... coś mi sie zdaje że instrukcja FUSING korzysta ze zmiennych wewnętrznych...
Witam Testuje termometr na dwóch Ds18b20 i żeby wynik wyświetlany był trzech wyświetlaczach 7seg. LED. Ma działać tak że najpierw pokazuje na 3 sekundy 1 temperaturę a po tym czasie na kolejne 3 sekundy pokazuje 2 temperaturę. Linie 1 wire podciągnąłem z rezystorem 3,3K do +5V. Wszystko działa temperatury się zmieniają i wyświetlają ale co jakiś czas...
Witam! Wiem że problem był wałkowany setki razy,ale jakoś nie mogę sobie z nim poradzić. Posiadam zestaw uruchomieniowy zvl11 na którym to prowadzę kurs oślej łączki. Wrzuciłem wsad podany niżej do uP i odczyt z ds18b20 jaki otrzymuje to "Temp= -0.0625oC" i pod wpływem ogrzewania nic się nie zminia. W zwiazku z tym mam kilka pytań. Mianowicie czy w...
więc ja tez mam zapytanko jak w bascomie zrobić coś takiego aby zapisac dane z tabeli załozmy mam cos takiego U Dodano po 1 tych danych oczywiscie ma być dużo wiecej i miejsc po przecinku też np do 4 miejsc po przecinku ...jeśli miałoby to jakies znaczenie przy wprowadzaniu danych taka informacja:) Witam Można ale jest to procedura dość pamięciożerna....
Witam zainstalowałem najnowszą wersję bascoma 1.11.8.3 i chcę skompilowac program z kursu mikroprocesorowej oslej łączki co32g jest to podwójny termometr , wgrywałem go starą wersją bascoma do procka 90s2313 i działał. Teraz chcę skompilowac soft pod ATtiny2313 i wyskakuje mi Error file not found , co robie nie tak za pomoc dziękuję a to soft ' C032g...
Witam Mam problem z programem, który został umieszczony w książce (osła łączka). Program został napisany pod attiny2313 lecz niestety podczas kompilacji wyskakuje błąd: Reserved word may not be used Proszę kod umieścić w znacznikach code! Robak
Spróbuj oto ten kod: '---------------------------------------... ' ' Termometr z DS18B20 ' '---------------------------------------... $regfile = "Attiny2313.DAT" $crystal = 2000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6...
Proszę o pomoc w wyjaśnieniu jak wyświetlić na LCD wartość odczytaną komendą getADC. oto kod programu: Config Adc = Single , Prescaler = Auto 'Now give power to the chip On Adc Adc_isr Nosave Enable Adc Enable Interrupts Dim W As Word , Channel As Byte Channel = 7 'now read A/D value from channel 0 Do Channel = 7 'idle will put the micro into sleep....
Witam. Otóż chciałem zastąpić słynny Waitms 750 następującym kodem, który znalazłem w Elektronice Praktycznej: Idea działania mechanizmu pomiarowego dla czujnika DS18S20 Obsługa zegara programowego odmierzającego czas ok.500ms i sterującego pomiarem temperatury. [syntax=basic4gl]Dim clock As Word Do If Clock = 0 Then 'Inicjacja pomiaru (konwersji temperatury)...
Masz poprawiony. Kompiluje się resztę popraw sam. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaku stopnia Config 1wire = Portb.0 ' konfiguracja...
Witam, mam mały problem: jest sobie program który ma za zadanie wyświetlać 2 zmienne na wyświetlaczu LCD. Pomiar 1 zmiennej trwa 750ms, pomiar 2 zmiennej trwa 100ms. Chcąc wyświetlić obie zmienne używam polecenia Call pomiar1 oraz Call pomiar2 . Jeżeli mam tak napisany program to odświeżanie wyświetlanych wyników mam co 850ms. Chciałbym, aby odświeżanie...
Żeby mikroprocesor pokazywał wartość w Woltach, trzeba przemnożyć wynik ADC przez działanie VREF/1023, wychodzi to około 0.0049. Jako, że czujnik lm35 daje 10mV na stopień, to autor tego programu, który przedstawiłeś pominął mnożenie wpierw wyniku przez 0.0049, by potem pomnożyć go przez 1000 (autor chciał uzyskać wynik np. 239 dla temperatury 23,9,...
Zegarek oprócz funkcji wyświetlania czasu ma pokazywać temperaturę i mieć możliwość sterowania z pilota (RC5). Tutaj pierwsze pytanie, czy GETRC5() wprowadza jakieś opóźnienia? Mam na myśli to czy nie zakłóci to zliczania czasu. Dodatkowo obawiam się, że będzie problem z płynnym sterowaniem, a to dlatego, że nie jest podłączony pod INT0 albo INT1 http://obrazki.elektroda.pl/5338684500_1...
$crystal = 1000000 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.3 , Db6 = Portd.2 , Db7 = Portd.1 , E = Portd.6 , Rs = Portd.7 Config Lcd = 20 * 4 Cursor Off Config Adc = Single , Prescaler = Auto , Reference = Avcc Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single , Napis As String * 5 Dim Wart_ac As Integer...
1. jakie masz źródło napięcia podawanego na wej przetwornika? jeżeli jest to w potencjometr sprawdź odczyty bezpośrednie powinny być z zakresu 1....1023. Zastosuj potencjometr wieloobrotowy będziesz mógł dokładnie sprawdzić odczyty i ich stabilność . Gdy już będziesz miał stabilny odczyt to mierząc napięcie w zakresie 0 .. 5 V napięcie U = 5000 * wartość_odczytana...
Witam Szykuje do swojego projektu transmisję po RS między dwoma mikrokontrolerami Udało mi się już coś uruchomić ale chciałbym się upewnić czy wszystko robię ok Nadawanie zrobiłem tak: 'projekt regulatora temperatury $regfile = "m8def.dat" $crystal = 8000000 $baud = 2400 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2...
Kolego neo_84 Sprawdziłem Twój program , jest zagmatwany jakiś taki nieczytelny. Powinieneś maksymalnie opisywać kod ,a poszczególne odrębne funkcje umieszczać osobno aby jak najbardziej program był czytelny nie tylko dla Ciebie , ale i dla innych elektroników (to bardzo pomaga!) Podam Ci szkielet kodu jaki ja stosuję przy multipleksowaniu i odczycie...
Mateusz a powiedz mi czy w Twoim programie robi różnicę to czy zastosuję LS020 czy L2F50?? Te wyświetlacze maja najprawdopodobniej inne procedury sterujące i inne biblioteki są do nich potrzebne. Mój program jest do LS020. I jak mogę edytować to co jest umieszczone w pamięci EEPROM czyli mniemam że obrazki i czcionki?? W EEPROM jest: $eeprom Data &H00...
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). kod: Bascom HELP "FUSING returns a formatted string of a single value." a zatem musiałbyś wprowadzić dodatkową zmienną np.: Dim Z As String * 10 i zamiast: Czas_2 = Fusing(czas_2 , "####.#########")...
Twoje działa, ale moje nie działa. Wklej mój kod w kompilator i zobacz co się dzieje [syntax=Bascom] $sim $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Cool As Word ' zmienna określająca wypełnienie...
konwersja zmiennej single bascom bascom wyświetlenie single bascom
oporność głośnik naprawa system vista zasilanie neonówki
symbol czujnika ruchu symbol czujnika ruchu
Panel dotykowy nie reaguje – czy można uruchomić bez serwisu? Diagnostyka HMI, smartfonów, paneli PC Toyota Yaris II D-4D – przewody nagrzewnicy z głowicy, układ chłodzenia, króciec, węże