Tak wiem że należy odpalić timer na początku i zatrzymać na końcu i odczytać jego wartość.. no nic. Dziękuję za wypowiedzi tak czy inaczej.. Odp. kol. Draco była troche sarkastyczna, bo na tak prostą procedurę nikt, kto ma choć troche rozeznania w tej dziedzinie chyba (!) nie szuka pomocy. Mopzesz to zrobić na kilka sposobów: 1. mierzyc czas metodą...
(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.
przykład zmienna1=liczba.8 oznacza ze zmienna1 przyjmie wartość bitu osiem ( tu będzie 1) twojego słowa 101101100 licząc od prawej strony, liczenie zaczynamy od pozycji zero.
GPIOB->BSRR=0b00000000000000000000000... //ustawi 1 na PB.0 bez zmiany pozostałych pinów? GPIOB->BSRR=0b00000000000000010000000... //wpisze 0 na PB.0 bez zmiany pozostałych pinów? Jednak wolę Bascom niż zabawę w liczenie 32 bitów To nie Bascom, nic nie trzeba liczyć. Piny mają zdefiniowane nazwy symboliczne np. w odniesieniu do...
Ale po co cokolwiek kalibrować skoro liczenie różniczki jest właśnie taką samokalibracją? Tło ma wartość x i pociągu nie ma w zakresie czujników - sygnał jest = 0 (pomijając oczywiście błędy pomiaru etc.). Nieważne czy jest pełne słońce czy środek nocy bez latarni. Każda zmiana natężenia (pojawiający się pociąg) "odchyli" znacznie pomiar i to jest właśnie...
Witam, niestety ale chyba coś jest nie tak? Na wstępie należałoby wyjaśnić że nie ma czegoś takiego jak "automatyczne przeładowanie timera" (reload/load timer1 powiedzmy). Termin ten jest związany z procedurą konfiguracji timerów występującą tylko w trybie "Normal", gdzie każdorazowo początkowa wartość timera musi być wpisana przez processor. Taka...
Pisze programik w bascomie (51'), który między innymi ma zliczać czas od włączenia układu. T0 i T1 będą wykorzystane do liczenia impulsów (ale to dopiero później) Wymyśliłem sobie, że czas będzie mierzony na podstawie licznika w głownej pętli programu tzn: Do Debounce P3.0 , 0 , Przycisk , Sub Gosub Opcja Incr Czas Waitms 50 Wczas = Czas * 20 Loop No,...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
... Ale niestety jak na razie pisze tylko tak jak potrafie :( No tak ... hmmm ... każdy orze , jak moż... umie ;) Męcze się z tym co kolega tutaj podał, teraz odświerzanie to raz na sekunde :( Dopisałem to do podprogramu "save" aby na bieżąco, od razu po obliczeniu uaktualniał dany słupek, tzn Nie wiem czy zauważyłeś , ale podany przeze mnie "podprogram"...
Można zadeklarować prawidłowo zmienną eeram W ten sposób Dim Adres_er(size_t_mac) As Eram Byte At Adres_p_mac Poprzez komende AT znam adres, po jaki będzie się odwoływać zmienna eeram w pamięci. Niestety, ale z Eepromem ten numer nie przejdzie , ponieważ Bascom ignoruje etykiety w Eepromie. Deklaruje, jakie wartości powinny być zapisane w eeram...
A ile maksymalnie możesz (chcesz) policzyć bo np: przy kwarcu 12Mhz taktów zegara po 10s jest 120 000 000, taktów maszynowych 10 000 000. Widzisz, że liczby robią się dosyć poważne wiec ten LCD musi mieć dużo miejsca do wyświetlenia. Do liczenia najlepiej użyć timera w trybie 16bitów. Za każdym razem jak policzy do końca wiesz że taktów zegara było...
Witam. Muszę napisać program, który będzie zliczał ilośc wystąpień 1 na porcie P1.1 i P1.0 procka 8051. Na tej podstawie ma wypisywać Na LCD 2*16 w pierwszej linii Temperaturę, a drugiej Nateżenie światła. Zrobilem cos takiego : Dim Inputlight As Integer Dim Inputtemp As Integer Dim I As Integer Dim Port0 As Integer Dim Port1 As Integer Config Lcd =...
zrobilem ukladzik na atmedze32 i pcf8583(taki mialem juz gotowy schemat) ale w kodzie ktorego uzywam(tez gotowy z sieci bo sam jeszcze za bardzo nie potrafie pisac programow) nie ma czesci odpowiedzialnej za zegar i kalendarz oraz ich ustawien. czy moglby ktos podrzucic gotowy kod pod bascoma, ktory by dzialal pod pcf8583?? znalazlem a archiwum kilka...
Witam Napisałem program który zlicza impulsy z przycisku ale nie chce mi wyświetlać wyniku, wyskakuje taki komunikat: Error : 35 Line :30 3 parameters expected a to jest ten program: Dim J As Byte , D As Byte , S As Byte , T As Byte Dim Wynik As Byte Config Portb = 255 : Portb = &B11111111 Config Portd = &B1111100 : Portd = &B1111111 Cls Do...
(...) żdy zasilany z osobnego źródła i odseparowany transoptorami PC817. Ze względu na ich szybkość oraz niską wartość prądów je sterujących 1mA zegar musi być obniżony do 10KHz ma. Chcę zrezygnować z polecenia: waitus 100 w zamian zrealizować to w obsłudze timer0 a w główną pętle przeznaczyć na inne cele. Rozumiem, że chcesz optymalizować swoje oprogramowanie...
Witam. Mam w zmiennej bitowej jakąś liczbę z zakresu 0-60, np. 34. Czy można tą liczbę rozbić na 2 cyfry - przypisując do pierwszej zmiennej bajtowej cyfrę 3, a do drugiej 4? Czy są jakieś instrukcje w Bascomie, czy muszę to robić za pomocą SELECT CASE: Select case liczba ... case 34 Cyfra1=3 Cyfra2=4 .... End select
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 mam problem z zapisem w programie następującego wielomianu: y = 3,627*V1 do potęgi 6 - 38,63*V1 do potęgi 5 + 167,9*V1 do potęgi 4 - 382,0*V1 do potęgi 3 + 475,2*V1 do potęgi 2 - 307,4*V1 + 101,2 Wynik y ma być wyświetlany na LCD. Próbowałem tak, ale wychodzi zły wynik: $regfile = "m16def.dat" 'informuje kompilator o pliku $crystal =...
Witam, aktualnie borykam się z drobnym kłopotem w działaniach arytmetycznych :-) Ni jak matematycznie nie wychodzi poprawnie przeliczanie Sytuacja jest taka: Wprowadzamy liczbę do 2000 [syntax=basic4gl] Dim Ilosc As Integer [/syntax] Wprowadzamy dzielnik [syntax=bascom] Dim Cycle As Byte [/syntax] Uzyskujemy Dawka w wyniku działania Ilosc/cycle [syntax=basic4gl]...
Witam. W jaki sposób można w kompilatorze Bascom zapisywać w jednej linii więcej niż 2 operacje matematyczne - tj. dodawanie, odejmowanie, iloczyn 2 zmiennych itp.. Bo mam złożone działania, a dzielenie tego na poszczególne kroki mające za każdym razem tylko 2 zmienne które przykładowo mnożę jest bardzo uciążliwe i muszę stosować dodatkowe zmienne pomocnicze......
Witam Szanownych Kolegow... Czy posiada ktos moze opracowana procedure dodawania liczb calkowitych (wprowadzanych z klawiatury) w Bascom? Liczby sa 2 cyfrowe. Poczatkowa liczba jest zero. jesli mam operacje dodawania, wynik jest zwiekszany i zapamietany, podobnie z odejmowaniem... Bardzo prosze o pomoc.
witam mam taki problemik bo wyczerpały mi się pomysły potrzebuje zrobić licznik na wejściu x który zlicza liczbe a następnie zapisuje ją sobie i licznik sie zeruje i od początku. Niedawno bawie sie w bascomie i nieumię sobie ztym poradzić za pomoc bardzo dziękuje.
Te coś takiego , to jest układ do resetowania procesora w momencie włączenia zasilania i nie służy do eliminacji drgań S1 (R10 jest nie potrzebny). Jak chcesz zliczać szybkie impulsy to zrób to na zewnętrznych przerwaniach , jeżeli ma to być tylko liczenie ile razy przycisk został naciśnięty , to powinno wystarczyć If Pinc.4 = 0 Then waitms 200 Incr...
Nie ma rejestru który by to zliczał. Chyba że podepniesz wyjście OC1A do wejścia innego Timera, np. T0. Tylko że nie masz już Timerów 16-to bitowych a tylko 8-mio bitowe. Praktycznie więc zostaje tylko zliczanie zmiennej. W BASCOMie przerwanie będzie się wykonywało ze 100 cykli. Minimalna wartość jaką możesz więc wpisać do OCR1A żeby nie zwiesić programu...
Cześć Sprawa dotyczy funkcji Incr w bascom Chcę uzyskać w efekcie liczenie co kilka wartości. Na zasadzie funkcji For i step licz od 0 do 100 co 2 a Ja potrzebuje licz co 2 (lub dowolna wartość np 3 czy 10) To nie działa co napisze Incr Licznik Step 2 Jak to zastąpić ? Dziękuję Grzesiek
Najprosciej jest odpalić symulacje programową i jadąc krok po kroku patrzeć co się dzieje z czasem. Albo dissasembler i liczenie kroków :)
Lcd "<- " ; Liczba_krokow ; " "
Liczenie impulsów samo w sobie jest bezsensowne.. jak już to liczy sie impulsy przez określony czas albo podczas jakiegoś warunku itp, możliwości jest tak dużo że bascom niezostał w to wyposażony (bynajmniej ja tyle wiem). impulsy najłatwiej można zliczać za pomocą zewnętrznego przerwania, przez czas działania timera, timer uruhomić, uruhomić przerwanie,...
Attiny25? Czy liczniki da się skonfigurować tak aby obsłużyć 3 kanały pwm z dowolnym wypełnieniem? (nie zaglądałem w note, nie wiem jakie ma liczniki i ile, tiny13 ma jeden). Proszę bardzo, program można naspiać w C. Wykrywanie przysłonięcia światła wg mojego planu miało by wyglądać tak, że program co chwile robił by pomiar, liczył średnią (np z 32...
Trochę OT, ale jest to kolejny przykład na dzielną walkę Bascomowców z problemami nieistniejącymi w normalnych językach. W każdym języku opartym o etap linkowania nie ma problemu aby dowiedzieć się, gdzie kończą się poszczególne elementy programu. Co do rozwiazania - oczywiście nie wiem jak to obejść w Bascomie, ale pomysł typu liczyć CRC z całego FLASHa...
Deklarujesz zmienną do liczenia czasu po wciśnięciu przycisku. Gdy puścisz przycisk, określona wartość wykonuje GOSUB do wykonania zadania(LCD czy sterowanie portami) i zeruje zmienną. Kolejne naciśnięcie przycisku zaczyna liczenie od początku i czeka na puszczenie przycisku. Możesz też wykorzystać TIMER do liczenia czasu.
Nie piszesz czy to ma być liczenie w jednostce czasu ani jakie zbocze Cię interesuje (opadające/narastające)... Jeśli to tylko zwykłe liczenie impulsów to rozwiązanie jest wprost banalne. Najpierw określ jakie zbocze ma liczyć. Odczytujesz stan portu i czekasz na jego zmianę jeśli się zmieni wtedy "INCR coś tam", czekasz na powrót do zbocza i wracasz...
Myślę, że same studia na magistra inżyniera elektronika starczą tylko na wstępną orientację w temacie. Sygnały na kablu są zniekształcane, a trzeba, żeby układ zrekonstruował oryginalny i go zdekodował. Wgryzałem się w temat struktury pakietu na Ethernecie, jak pojawił się na cienkim koncentryku - mam opis w katalogu Intela (z 1987 roku), pooglądałem...
po mojemu powinieneś zmienić "Inc" na "Incr" Inc jest mnemonikiem asemblerowym i działa na bajcie Incr jest poleceniem Bascom i powinien działać na longu.
Moim zdaniem przyczyna leży w obsłudze przerwania. Przerwanie INT0 jest uruchamiane opadającym zboczem (Falling) CHA zmiana sie 1 -> 0. Dodatkowo w przerwaniu są instrukcje sprawdzające czy kanały są w stanie 00. Stan 11 jest pomijany. By móc rejestrować zmiany 0 -> 1 można ustawić przerwanie INT1 na wyzwalanie zboczem narastającym (Rising) i sprawdzać...
Właśnie o to chodzi że zmienna ma ciągle inną długość,jest to licznik rewersyjny i dlatego wymysliłem kasowanie spacjami w ilości maksymalnego rozmiaru wyświetlanej liczby.W przerwaniu mam zrobione liczenie do enkodera a wyświetlanie jest wywoływane z pętli głównej jako procedura więc nie ma kolizji.
No to jest progres poczytałem kilka "chłopsko" napisanych pdfów i jest światło w tunelu. Chyba nawet zrozumiałem wszystko. Wiem dlaczego problem ze zrozumieniem miałem... Doszukiwałem się czegoś z kosmosu a tu takie proste zagadnienie. Natomiast chciałbym poradzić się odnośnie samego liczenia spalania chwilowego. Wychodzą mi dość wielkie liczby po kalibracji....
Dzielnik przez 8 i 9 możesz zrobić na którymś timerze sprzętowym wbudowanym w procesor. A realizacja dzielnika przez 8,5 musi być programowa: Próbkujesz sygnał wejściowy i każda zmiana stanu sygnału wejściowego powoduje inkrementacje zmiennej co daję dwie inkrementacje na okres sygnału (stan wysoki i stan niski liczone osobno). A dalej pozostaje wykrycie...
Czesc.! Mam problem chce w Bascom napisac program.ale nie wienm jak. Portc.0=input Portc.1=output Portc.2=output Na Porcie c.0 jest przycisk ,na dwuch kolejnych portach Portc.1 i Portc.2 mam wyjscia Led. teraz : Port c.0 jest aktywny jeden z portow C.1 jest tez aktywny. Na porcie wejsciowym sa liczone impulsy jezeli ich bylo np: 100 to liczenie i wyjscie...
Jak już mówimy o podpięciu enkodera do osi silnika to linuxcnc załatwia sprzężenie sam, bez żadnej dodatkowej elektroniki. Mach tego nie potrafi, ale jest już takiego typu gotowe urządzenie serwo-enkoder. A liczenie kroków wychodzących z komputera nie ma większego sensu, bo w prawdzie licząc kroki z pc mamy szansę na koniec pracy otrzymać informację...
W zapisie binarnym liczenie zaczynamy jakby od prawej strony. Taki zapis : ale już PORTD.2 jest wyjściem z aktywnym stopniem wyjściowym Kiedy zwierasz taki pin do masy to robisz zwarcie. Pind.2 zadziała oczywiście jako wejście ale zwierasz stopień wyjściowy procesora co może się skończyć źle :D
Witam Mam sygnał z pinu PCF8583 (INT), który zmienia swój stan na przeciwny co sekundę. Chciałem napisać program, który zacznie liczyć impulsy (stan niski) doprowadzony z wyjścia PCF8583 do nogi procesora, jak policzy np. 5 takich impulsów, to zaświeci led. Pierwotnie miało to służyć do opóźnienia włączenia podświetlenia w LCD, ale użyłem Waitms i osiągnąłem...
Czy widziałeś kiedyś wrzutnik monet (czytnik) Samo liczenie monet nie jest tak skomplikowane jak stworzenie wrzutnika który rozpozna czy dana moneta jest 1, 2, 5 , 0,50 , 0,20 , 0,10 PLN czy nie jest to po prostu blacha. Chyba ze skorzystasz z gotowego wrzutnika i dopiero wtedy jego kanały (wyjścia ) podłączysz pod swój układ. Niektóre wrzutniki mają...
1) tak 2) tak 3) nie wiem o co chodzi ;) 4) Wszystko jest w datasheecie ladnie opisane, mozesz tez sciagnac sobie program avrcalc jak nie chce ci sie samemu liczyc ;)
Właśnie zabieram się za taki projekt, ale o BASCOMie zapomnij. Jest za wolny i za mało efektywny. Najlepiej napisać wszystko w asm, ew. C. OK, nie wiem ile wiesz na temat cyfrowego przetwarzania sygnałów, ale z grubsza rzecz biorąc robisz tak: 1. Próbkujesz sygnał akustyczny z wybraną częstotliwością, lecz musi być ona dwukrotnie większa niż szerokość...
On będzie się zwiększał o 1 w tym przypadku, bo wartość przesunięcia przekazywana do funkcji też się tak zwiększa. Jeśli jednak np. zacząłbyś przesuwać w prawo to funkcja nie działałaby prawidłowo, poza tym musiałbyś tą wartość zapamiętać poza funkcją dla danego napisu (tak, jak teraz przesuniecie ). Dlatego trzeba to liczyć.
Witam, przepraszam że dopiero teraz odpisuje ale dopiero teraz znalazłem troche czasu na wznowienie projektu. Dziękuje za pomoc. Wcześniej miałem zrobione tak: Select Case Text Case 0 : Pion = Lookup(linia_zmian , Dig_0 ) ...itd... Case 104 : Pion = Lookup(linia_zmian , Big_pz2 ) End Select A tablice znaków wyglądały tak: Dig_0:...
- PROGRAM GŁÓWNY ---> naciskam przycisk np. portd.1 i wchodzę w USTAWIENIA1 ----> naciskam kolejny raz klawisz portd.1 i wchodze w USTAWIENIA2 Witam. Robiłem cos podobnego ale na 89c2051 - wiadomo mało portów. Dlatego menu zrobiłem inaczej. W pętli głównej zrobiłem odwołanie do wejścia i napisałem: if P1.0 = 0 then call Ustawienia else call praca end...
Przepraszam za dłuższą nieobecność. Nie mając nic nowego (i mądrego) nie pisałem. Ale w międzyczasie polutowałem zestaw startowy, a ostatnio napisałem inny program, który umożliwia (w zamyśle) liczenie dokładniej częstotliwości dla "paczki" impulsów, tym razem około 500 Hz. Wiem, że to dosyć skomplikowany tok myślenia, pewnie można to zrobić prościej,...
Właśnie, tylko teraz czy liczenie tego czasu między impulsami w przerwaniu INT0 będzie pokazywać dobre wyniki. Jak widać wcześniej już próbowałem tak liczyć i pokazuje bzdurne wyniki, to mój obecny kod: [syntax=vb]'--------------------KONFIGUR... $regfile = "m16def.dat" 'informuje kompilator o pliku $crystal...
Zapomniałem dodać, że muszę jeszcze zliczać sygnały z ośmiu wejść w czasie rzeczywistym (przyjmuje się, że 1000/sek). A jakie doświadczenie z uC posiadasz Kolego? Po postach sądząc niezbyt wielkie, Języki: C (MCS51, AVR, MC68k) E Amos Pascal (PC) Bascom CUPL Asembler i maszynowy: 6502 Z80 MCS51 MSC48 MC68k AVR Z8 PIC Zaprojektowane urządzenia oparte...
No niestety trzeba będzie trochę popracować... :D Proponuję tak (attiny13): 0. konfigurujesz porty, włączasz pullupy na pinach z przyciskami 1. procesor czeka w uśpieniu na pin change interrupt 2. po obudzeniu sprawdzasz jaki kod wysłać, wyłączasz przerwanie pin change 3. w pętli wysyłasz kolejne bity włączając i wyłączając PWM (opis kodu RC5 [url=http://www.ustr.net/infrared/index....
u mnie to nie działa, odpinam rs232 na czas programowania po isp - w m128 isp wisi na uarcie1 i na wszelki wypadek wyciągam wtyczke db9, jutro przetestuję to na innym procku - mam jakąś m32 na innej płytce i wtedy zobaczę - u mnie transmisja między SIM300 a uC jest na maxach232 z dwóch stron, przyznam, że nie testowałem czy bez maxów wpięte bezpośrednio...
Witam, Na początku dzieki za wszelkie wskazówki - nie sądzilem ze ktokolwiek zechce pomóc :] Pilocik jest na tyle malutki i na tyle fajniutki (zailany pastylką CR2025) ze szkoda mi go troche psuc by sie dowiedziec co tam siedzi :P raczej jest sklajany albo na jakies zatrzaski zlozony do kupy bo srubek nie widac :| Podlaczulem sobie pod wejście karty...
witam :D w ręce wpadł mi wyświetlacz graficzny 240x128 . wcześniej podłączyłem już wyświetlacz na sterowniku ks. ale tu jest trochę inaczej. z czego się zorientowałem potrzebuje on dodatkowego zasilania (dla kontrastu). Nie jestem także pewien z której strony zacząć liczenie pinów tak by przypadkiem nie podłączyć go odwrotnie .... oto zdjęcia: cały...
Przerobiłem program na ATtiny2313 dodałem jeszcze jeden przycisk i ustawiłem baud dla TX i RX przeliczyłem Compare0a (za pomocą kalkulatora z MkAvrCalculator) nie bawiłem się już w ręczne liczenie :) Zmieniłem też ustawienia portów gdzie wpisałem już w konfigurację portu podciąganie dla D1 teraz wygląda to tak[syntax=vbnet]$regfile = "attiny2313.dat"...
Nie wiem czy kod w Bascom na coś Ci się przyda ale właśnie na takiej zasadzie jak w tym programie zrobiony mam pomiar prędkości wiatru w moim pozycjonerze. Troszkę inaczej wykorzystuję tu timery niż założyłeś ale... Zostawiłem Ci tylko fragment odpowiedzialny za liczenie impulsów i dodałem obsługę wyświetlacza. Program jest na tyle prosty, że z interpretacją...
Witam mam przed sobą kod w Bascomie, komputera samochodowego, liczacego spalanie itd...Nie rozumiem jednego fragmentu: Poczatek: Timer1 = 0 Start Timer1 Do If Pind.5 = 0 Then Incr Impw ' PinD.5 = nóżka T1(11) Loop Until Timer1 = 15067 Stop Timer1 Impw - impulsy wtryskiwacza Jak sie domyslam kod ten ma liczyc czas trwania kiedy wlaczony jest...
bascom liczenie impuls liczenie impulsów bascom bascom liczenie obrót
zabezpieczenie przesterować próbnik wtryskiwacza paliwa ceramiczna ariston
mikrofalówka samsung zwarcie mikrofalówka samsung zwarcie
Panasonic TH-55DS630 TV: 1 Red Blink, Backlight Flashes 3 Times, Boards TNPA6072P, TNPA6073LDP, TNP4G587A ESP32 AP server na socketach – przykładowy kod Arduino, TCP echo, LED, select()