Temp_liczba musi być typu Word a nie Byte.
"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.
Zainteresuj się poleceniem FUSING. Przeczytaj helpa i zobaczysz, że da się zrobić.
wszystkie zmienne (te do wyświetlacza[setki,dziesiatki,jednosci] i ta wyświetlana liczba) powinny być tego samego typu np word lub integer Dim Setki As word Dim Dziesiatki As word Dim Jednosci As word Dim Wart As Word
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....
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...
zera zostaja bo ich nie kasujesz wcesniej tylko nadpisujesz. powyzej 99 liczba zajmuje 3 pozycje ponizej 100 juz tylko 2. jezeli nie usuniesz 3 to bedzie sie wyswietlac az nie nadpiszesz lub nie wyczyscisz wyswietlacza. For I = Licz To 0 Step -1 Locate 1 , 4 lcd " " Locate 1 , 4 Lcd I Waitms 5 Next I wyswietla 3 spacje, dziala szybciej niz cls bo nie...
waitms zdaje się korzysta właśnie z tego timera więc dlatego może masz ten problem. Spróbuj sobie wrzucić obsługę wyświetlacza w timer1 i wtedy waitms będzie może działał dobrze pozdrówka Robię to na Attiny 26L, wg pdfa on ma dwa timery. Być może ten drugi jest jakiś specjalny, póki co w programie po prostu pozmieniałem "timer0" na "timer1" i niestety...
http://obrazki.elektroda.net/22_12083708... Witam Chciałbym przedstawić wyświetlacz który powstał na szybko na płytce uniwersalnej. Pomysł powstał gdy przyszedł do mnie kolega i powiedział że fajnie byłoby mieć coś takiego na rowerze, nie zastanawiając się długo chwyciłem za lutownicę ;) Powstał pajęczak na zwykłych diodach red 5mm.Następnego...
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! Mam tu taki kawałek kodu: Dim Tick_time As Single Dim Length As Single Dim Mps As Integer Dim Fps As Integer Dim Fff As Single Dim Tick_count As Integer Dim Czas As Single Tick_time = 0.000096 Czas = Tick_count * Tick_time Mps = Length / Czas Fff = Length / Czas Fff = Fff * 10 Fps = Fff / 3 Tick_count = 0 Cls Lcd Mps Lcd " m/s " Lowerline...
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
Witam, zwracam się z prośbą odpowiedzenia na moje pytanie: $crystal.... . . . . . . Tabela: Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144 jak mogę wywołać na wyświetlaczu 7 segmentowym liczbę "1"? Wpadłem na pewien pomysł: jeśli cały wyświetlacz podłącze do portu (b) to czy jeśli napisze taką komendę: Portb = Lookup(1 , Tabela) to czy...
Cześc Ludzie podpowiedzcie jaka jest komenda w bascomie, aby wynik był wyświetlany trzy miejsca po przecinku Np. 1,235 3,483 Dzięki.
dołóż do kejsów case else: temp = 88 i daj znać co widać. Zajrzyj też do pomocy od bascom'a to Ci się trochę rozjaśni. Znajdziesz tam odpowiednie przykłady.
W jednym bajcie przechowuję sobie jakąś liczbę. Jeżeli jest mniejsza od 10 to chciałbym wyświetlić 01, 02,..., 09 zamiast 1, 2, ..., 9. Czyli jak wyświetlić liczbę razem z zerami nieznaczącymi? Pozdrawiam
Witam, Chciałem prosić bardziej zaawansowanych kolegów o sprawdzenie kodu jaki udało mi się napisać (co ciekawe nie przerobiłem do końca jeszcze żadnej książki o bascomie, ale miałem do czynienia z vb). Program ma liczyć od 1 do 56 i przełączać się na następną liczbę co 24h. Dodatkowo wstawiłem możliwość resetowania i zwiększenia liczby o 1. Debuger...
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:...
Witam! problem mam nastepujacy: wyswietlam zmienna na wyswietlaczu graficznym w punkcie: Lcdat 4 , 15 , Metry i teraz jak ta zmienna inkrementuje to ona zmienia swoja wartosc od 0-100 przez co liczba na wyswietlaczu sie powieksza(normalne) ale miejsce dziesiatek nie zmienia sie w kierunku prawym tylko lewym ;( glownie chodzi o to ze liczba zmienia sie...
Witam Mam zagwozdkę w sprawie wyświetlacza LCD. Posiadam Płytkę uruchomieniową z wyświetlaczem 4x20. I na wyświetlaczu ma mi się wyświetlać po kolei litery z danego napisu w danej linii. Podstawy program działa, tylko zastanawiam się jak to ugryść dalej. Proszę o pomoc. Piszę w bascomie, niedawno zacząłem przygodę dopiero co. Mój program na LCD to:...
Witam, mam taki błahy problem z wyświetlaczem LED. Posiadam 2 takie wyświetlacze: jeden dwu cyfrowy, a drugi cztero cyfrowy i tu jest problem: Jak liczyć piny (wyprowadzenia) tych wyświetlaczy, bo mam schematy do nich i tam są tylko numery pinów. Internet nie pomaga w tej sprawie.
wITAM. Napisałem program bo pomiaru temp. Problem mam taki, że na wyświetlaczu pojawia się więcej tekstów coś w tej formie: Temp = 21,1C Temp = 21,1C Temp = 21,1C Temp = 21,1C i tak przez cały wyswietlacz i przesuwa się w prawo. kod: $regfile = "m8def.dat" $crystal = 16000000 Config 1wire = Portb.1 'port do którego podpięty jest termetr Config Lcdpin...
Witam, mam za zadanie obliczyć pewne wartości a następnie wyświetlić je w odpowiedniej formie. Do wyświetlenia korzystam z funkcji mprintf, natomiast nie wiem jak zrobić żeby wynik pokazywał trzy cyfry po przecinku. Zmieniałem zmienne %f na inne, ale nie dało efektu. Ma ktoś jakiś pomysł? mprintf('To jest wynik pierwszego działania = %f [m] \n', p);
Witam wszystkich. Problem kształtuje się następująco: W programie wynik wrzucany jest do zmiennej typu SINGLE. Jest to wartość prędkości na poziomie około 2 m/s Wynik wyświetlany jest na wyświetlaczu LCD zawsze do 9 miejsca po przecinku: Np. 1.945674391 chciałbym, aby wyswietlanie było tylko dwa miejsca po przecinku, czyli np. 1.94, nie jest istotne...
Jak w Baskomie wyświetlić liczbę ( do np 100) w kodzie binarnym (01100100) na wyświetlaczu LCD.?.
Witam Mam problem z wyświetleniem na LCD zmiennej typu LONG. Zwiekszajac wartosc tej zmiennej na wyświetlaczu sekwencyjnie pojawiaja sie wartości 0-255.
Readeeprom W1 , Tabela Jaką wartość ma zmienna Tabela w momencie odczytu? Gdzie jest zadeklarowana? W instrukcji Readeeprom zmienna która u Ciebie nosi nazwę Tabela to adres w pamięci eeprom. Można nią czytać dane zapisane instrukcją Writeeeprom (lub inne o ile znasz adres pod którym są zapisane). Do odczytu danych po instrukcji Data służy Read. Ale:...
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.
Ja bym zasugerował przeniesienie tematu do odpowiedniego subforum.
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]
już sobie poradziłem, uczę się z książki Piotra Góreckiego "mikrokontrolery dla początkujących" i tam tak to było przedstawione. Dodałem zmienną i na normalnej zmiennej(1 bajtowej) chodzi bez problemu.
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?
..a kodu nie ma, bo właśnie zaczynam jego pisanie... No to cegiełka ode mnie :P Dim Liczba As Byte Dim Sdj As Byte Config Portb = &HFF Config Portc = &H0F Liczba = 234 '... Sdj = Liczba Mod 100 Portb = Makebcd(sdj) Sdj = Liczba / 100 Portc = Portc And &HF0 Portc = Portc Or Sdj '... Zakładam , że na DIS3 wyświetlane będą setki ;) Piotrek
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
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...
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...
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...
Proponuję wprowadzić opóźnienie w pętli.
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...
Zrób warunek, jeśli liczba >= 0 dostawiaj spację.
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
tak o wyświetlanie :)
Witam. Masz w złym miejscu Do i Loop oraz Lcd. Zobacz ze program powtórnie już nie wyświetla nic (zmiany liczb). No i skoro deklarujesz Sub`y to ich użyj czyli Sub Menu1 ........ End Sub, no i dawaj te deklaracje zawsze na początku programu, np. zaraz po zmiennych. Pozdrawiam
W procedurze wyświetlania zapisany jest warunek wygaszanie zer nie znaczących, a po przekroczeniu 255 cyfra setek wyświetla 0 i ono nie gaśnie. Czyli zmienna liczy się nadal, co wskazuje rzeczywiście na problem z wyświetlaniem a nie liczeniem. Po wpisaniu "na twardo" Liczba_nok = 987 Liczba_ok = 654 wyświetlacz pokazuje 287 i 154
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 ??
Zacznij od wrzucania emu wyświetlaczowi danych z terminala - sprawdź, czy to działa. Jeśli działa - zastanów się nad różnicami. Kidy Input kończy działanie? Nie znam Bascom, ale zgaduję, że po Enter, czyli CR. Czy nadajesz kod CR powysyłanej liczbie?
Witam Mam drobny problem a od godziny szukam już odpowiedzi i nic. Jak poprawnie wyświetlać na LCD wartość zmieniającą się w zakresie np 0 do 99 Chodzi o to, że wyświetlam godzinę gdzie wartości są liczbami 1 cyfrowymi to mam taką postać 15:4:6 zamiast 15:04:06
Do przeładowania Timer'a1 używaj: Int_timer1: Load Timer1 , 62500 [...] Return Mam jeszcze jedną regułę z przeszłości aby nie używać obsługi pamięci EEPROM w obsłudze przerwań (starsze wersje BASCOM'a przy rozbudowanych programach powodowały błędne działanie programu). Stosuję to do dziś dnia i nie mam zamiaru sprawdzać to w nowszych wersjach...
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...
No niestety to również nie działa: Z = Fusing(a , "#.##") Z = Format(z , "0000") Dalej jest wyświetlana liczba 1.26
Dalej nic nie dało. Nie wyświetla mi dziesiątych liczb. Wyświetlacz sprawny na 100%
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
Przy tych trzech cyfrach wyświetlanych to jednak zajmuje 30% więcej miejsca niż ta "pietro wyżej"....
[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 to co sobie wpiszesz jest obojętne bo to pobiera i tak z tablicy literę o numerze z kodu ASCII. Tam w tablicach jest każda litera z alfabetu znak itp. Tak np na 65 miejscu w każdej z tablic jest zapisana wartość taka żeby przy pobieraniu nr 64 (tablice liczy sie od 0) wyświetliła się litera A. Zobacz sobie to tak odczytaj każdą liczbe która jest...
To nie zależy od rodzaju układu RTC. Po prostu wyświetlasz to jako zwykłą liczbę, więc odcina zera na początku.
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ś...
na wyświetlaczu wskazane jest 9999 dlatego iż zostaly odwrucone wartości wyświetlanych lczb, aby timer liczący do przodu wzkazywał liczby do tyłu
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),...
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
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...
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ć...
Powinno działać tak jak chcesz: Est Alias Pind.4 Dim Zmienna As Byte , Licznik As Byte Cursor Off Config Portd.5 = Input Config Portd.6 = Input Config Portd.7 = Input Config Portb.0 = Input Config Portd.4 = Input Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portb.0 = 1 Portd.4 = 1 Cls Do Bitwait Est , Set Zmienna.0 = Pinb.0 Zmienna.1 = Pind.7 Zmienna.2 = Pind.6...
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",...
wyświetlać liczba bascom wyświetlać wyświetlać bascom
karta pamięci uszkodzona aparatura turnigy behringer inuke kanał
zwrotnice głośnikowe schemat płyta indukcyjna amica
Termet Silver Pro 20 kW - Optymalne ustawienia P3 i P04 Kenwood KX-4520: Problemy z licznikiem taśmy