Więc tak. Odcinek 1 sekundy ma być bardzo dokładny, czy nie musi? Jeżeli procek będzie pędzony z wewnętrznego oscylatora, to czas 1 sekunda nie będzie bardzo dokładny. Musisz zmienić fusebity, aby procek był taktowany z 4MHz, bo teraz jak sam widzisz pracuje na 1MHz.
Fusebit C-ma być disabled.
Witam, chciałbym przy użyciu Atmega8 i zewnętrznego kwarcu odmierzać i zliczać setne części sekund, sekundę mogę łatwo wyłapać z timera1 według przykładowych obliczeń 4000000MHz / 256 = 15625 65536 - 15625 = 49911 lub 8000000Mhz / 256 = 31250 65536 - 31250 = 34286 Nie mam jednak pomysłu jak....... Z góry dziękuję za pomocne wypowiedzi. Aby odmierzac...
'do liczby 1536 trzeba by jeszcze coś dolożyć, na wykonanie instrukcji Zasadniczo nie trzeba nic dokładać, bo wartość timera jest inkrementowana sprzętowo od razu (w kolejnym cyklu maszynowym). Czyli już w trakcie obsługi przerwania. Jeżeli obsługa timera zmieści się w 255 cyklach maszynowych, to zmieniany jest tylko młodszy bajt timera - czyli w procedurze...
Zobacz to: Dim Przycisk As Word , Czas As Integer , Czas_zamka As Integer Czas_zamka = 0 Czas = 0 Do Debounce Pinb.1 , 0 , Licz , Sub If Przycisk > 0 Then Incr Czas If Czas = 300 Then Przycisk = 0 Czas = 0 End If If Przycisk = 3 Then Portb.2 = 1 If Portb.2 = 1 Then Incr Czas_zamka If Czas_zamka = 300 Then Portb.2 = 0 Czas_zamka = 0 End If Waitms...
Potrzebuje zrobić obsługe tego układu w bascomie. kompletnie nie wiem, jak go adresować, jestem początkujący, a notka niewiele mi mówi... Pozdrawiam To poczytaj właściwą notkę http://www.e-lab.de/downloads/DOCs/RTC85... Piotrek
Sekunda.0 to najmłodszy bit bajtu sekunda, taki dostęp do pojedynczych bitów bajtu pojawił się dopiero w jednej z wersji bascoma, stąd nie działa we wcześniejszych. Działa to dokładnie jak w przypadku odwoływania się do pinów portu - piszesz portd.1 - kiedy chodzi o drugi (po pierwszym - zerowym) bit bajtu Portd, w odpowiednim rejestrze
Ja wolę przerwania: Dim Sekunda as byte Config Timer1 = Timer , Prescale = 256 On Timer1 Odmierz_1s Enable Interrupts Enable Timer1 do loop end Odmierz_1s: Counter1 = Counter1 + 34286 Incr Sekunda Return Podałem ci "szkielet" programu do odmierzania 1 sekundy za pomocą timera1. Pamiętaj że procek musi go posiadać i musi być taktowany przez oscylator...
Najprościej będzie zmodyfikować program tak: [syntax=vbnet] Rez = Getadc(5) 'przechwycenie wartości napięć na wejściach ADC Pot_max = Getadc(4) If Rez >= Pot_max Then Wait 1 'wykrywanie przeciążenia Rez = Getadc(5) 'przechwycenie wartości napięć na wejściach ADC Pot_max = Getadc(4) If Rez >= Pot_max Then Reset Portd.0 'wyłączenie silnika Reset Portd.1...
Tylko ze skokami uważaj, bo zapchasz stos i wszystko stanie. Lepiej wprowadz jakąś zmienną logiczną i wykonywać skok względem tej zmiennej w programie a nie w obsłudze przerwania, a w obsłudze przerwania zmieniać tylko wartość tej zmiennej. Pozdrawiam, Konrad.
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. ;)
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...
Jeśli by to nie przeszkadzało to możesz podpiąć kwarc zegarkowy, wtedy na 8 bitowych licznikach na pewno zliczysz sekundę:)
jakie jest ustawienie rezonatora wewnętrznego w atmedze 8 nowej? 1MHz Zmienić to można tylko fusebitami. Jeśli się boisz to tymczasowo - dla prób - możesz zmienić: "Counter1 = Counter1 + 34286 " na "Counter1 = Counter1 + 61629". Będzie prawie sekunda.
Jeśli wyeliminujesz drgania przycisku, to najprościej to zrealizować podając wyjście przycisku na wejście zegarowe jednego timera (bedzie on zliczał ilość wciśnięć), a drugi timer wykorzystać do odmierzania czasów 1s - dokładnie co 1 s należy kasować licznik pierwszego timera. Ot i wszystko.
Wyobraź sobie, że przerwanie występuje co 500ms a do procka podłączona jest dioda. Co pół sekundy dioda zapala się i gaśnie. Okres przebiegu to będzie czas świecenia i wygaszenia diody czyli jedna sekunda. Jeśli przerwanie było by generowane co sekundę okres wynosił by wtedy dwie sekundy.
1. Nie wykluczyles drgan na przycisku s1 2. Zebys wykonac to co chcesz zrobic bedzie ci potrzebne przerwanie. 3. Dziwie sie, ze sprawnie dziala ci ten kod (chyba, ze specjalnie robisz sprawdzanie przycisku w petli, zeby nie bylo przerwania i wykonal kod do konca, a pozniej sprawdzil czy przycisk jest wcisniety. W tym przypadku przepraszam)
Chyba nie.
Wojtek - wchodzisz tutaj: [url=http://www.frank-zhao.com/cache/avr... z kalkulatorem 16MHZ z preskalerem 1024 oznacza że: - 1 sekunda nastąpi po 15625 cyknięciach timera - przerwanie następuje przy przepełnieniu jeśli wybierzesz OVERFLOW, ale może tez nastąpić przy COMPARE, od tego zależy jaką wartość wpiszesz do timera (czy odejmiesz...
Może dlatego, że częstotliwość kwarcu lub generatora wewnętrznego (nie wiem co używasz, sądzę że to drugie) jest niedokładna: http://mikrokontrolery.blogspot.com/2011... Programu nie sprawdziłem, bo z Bascom się nie lubimy :)
A Twój program nie chce działać? Jaki jest problem. To co w programie masz nieprawidłowo to odczyt stanu przycisku. Procedura odczytu przycisku powinna przewidywać takie sytuacje jak drgania styków lub przypadkowe zakłócenia na linii przycisku. Jedną z możliwość odczytu przycisku jest: [syntax=basic4gl]If Wejscie = 0 Then Waitms 100 If Wejscie = 0 Then...
nie wiem czy o to chodziło bo nie mam na czym uruchomić tego programu (tzn. mam Bascom ale nie mam zestawu '51), ale wg mnie dopiero ten program zadziała: $crystal = 16000000 '$default Xram $large Dim Cyfra(12) As Byte Dim Jedn_sekund As Byte Dim Tempo As Byte Config Timer0 = Timer , Gate = Internal , Mode = 1 Th0 = &Hd8 ' Tl0 = &Hd7 ' =10025 cykli...
No łap bo to akurat sekunda roboty. Sprawdziłem też bibliotekę. Moja kompiluje się w 2082 bez problemu.
Witam chciałbym aby w bascomie zaprogramować przycisk że po wciśnięciu i przytrzymaniu określoną liczbę sekund np 20 włączy program Czemu nie używasz kolego klawisza "szukaj" ? Niedawno była dyskusja na ten temat. http://www.elektroda.pl/rtvforum/topic18...
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 ;)
Witam serdecznie zrobiłem zegar na w/w procesorze i wyświetlaczach 7 segmentowych led. Sekundę odmierzam z wykorzystaniem Timera 2 w trybie asynchronicznym z dodatkowym kwarcem 32,768Khz. Multipleksowanie wyświetlaczy realizowane jest za pomocą timera0. Do tej pory wszystko działa świetnie, Chciałbym jednak dodać jeszcze zliczanie setnych sekundy i...
Watchdog w 89c51 zlicza 16384 cykli maszynowych (14-naście bitów) -czyli impulsów z wejścia zewnętrznego oscylatora/12. 2 sekundy możesz ustawić tylko 89S8252 (za pomocą przeskalera), ale on działa na zupełnie innej zasadzie - posiada wbudowany własny rezonaror RC. Ale jeżeli używasz Bascoma to wystarczy że odpowiednio często wpiszesz RESET WATCHDOG...
Co to za błędy, albo co wskazuje kompilator ? Dodano po 1 Co to za błędy, albo co wskazuje kompilator ?
Nie napisałeś jaki ma to być Modbus ascii czy rtu, kodu w bascomie nie posiadam ale może Ci coś podpowiem, więc tak jeśli chodzi o rtu jest to postać bitowa i ważne są odstępy czasu miedzy znakami oraz początkiem i końcem ramki, jak to zrealizować a no bardzo prosto ramkę składasz z ascii i posyłasz to na rs232/485 i będzie działało może nie jest to...
Hmm. Zegar odczytuje w pętli głównej, zegar jest odczytywany płynnie, nie ma przeskoków co 1-2 sekundy.
Juz znalazlem faktycznie FUSE Bits i tam jest wlacz/wylacz dzielenie przez 8. Bylo zal wiec wyl. i jest ok. Teraz sekunda to sekunda! Dzieki panowie! A tak przy okazjii Jest mozliwosc takiego zaprogramowania uC zeby wykonujac jedna petle kontrolowal takze stany wejsc i jezeli sie zmieni to opuszczl wykonywana petle i przechodzil do drugiej. Generalnie...
Witam Mam oto taki problem jak ww w temacie. Napisałem program na odmierzanie czasu przerwanie co 1 sekundę i ogólnie po wgraniu programu wszystko działa czas leci i jest wszystko OK. Lecz po chwili a Nie ma potrzeby az tak komplikowac tak wyjatkowo proste zadanje jak odmierzene czasu 1 sek. Po pierwsze: system ci sie blokuje juz po kilku sekundach...
Kolega Kuniarz dobrze napisał pomiar czasu z PCF to jedno a pomiar z timer-a to drugie... jedna sekunda nie rowna drugiej i dlatego co jakis czas moga wyjść bzdury... Dlatego według mnie trzeba wykorzystać pomiar z dokładnego źródła....
Są dwie sekundy, bo serwo ma zmieniać położenie co sekundę
No właśnie podejrzewałem , to że użyjesz Wait, który tak jakby "zawiesza" procesor na 25 sekund. Najlepiej by było użycie timera do ustalania czasu, ale wiem, że dla początkującego to za trudne. Podpowiem więc inne rozwiązanie: Daj w pętli głównej wait1. Następnie zwiększaj zmienną i napisz warunek kiedy osiągnie ona 25 (if then endif) oraz kolejny...
Programator już mam PROGRAMATOR AVR ISP pod USB.Książkę tez mam ale to nie jest takie proste i łatwe .A do czego jest to odwołanie. DDRB= 1
z tego co wiem to delay to komenda to odliczania czasu w mikrosekundach, a do dokładnego odliczania czasu należy używać funkcji Timer.
Czyli to ma zapobiec zatruwaniu lamp ? czy lepiej może wygasić lampy co jakiś czas na parę sekund ?
Witam. Kupilem wylacznik sensorowy "matrix plus" firmy BASCOM . Po zamontowaniu okazalo sie, blokada sama sie wylancza po ok. 14 sekundach tzn. niedziala i silnik przestaje pracowac. Co moze byc przyczyna?? To jest ta blokada. http://www.bascom.lodz.pl/product_info.p...
Banalne zadanie. A więc włączasz licznik(lepiej TIMER1-większa pojemność), tak, aby odliczał ci te 10sekund. Dajesz zmienną którą zwiększasz np co 1sekunde (zmienna o nazwie sekundy). W czasie odliczania do 10s w pętli głównej zliczasz impulsy przycisku i zwiększasz je w innej zmiennej (np. impulsy). Po 10 sekundach w zmiennej sekundy będzie10s a w...
Witam, Nie chesz chyba powiedzieć, że nie potrafisz zrobic tablicy w bascomie do sterowania siedmiosegmentowym wyświetlaczem ? Jak już chcesz pisać w bascomie to zorganizuj sobie np. artykuły z Bascom College.
Czy ktoś wie, do jakich do jakich minimalnych obrotów może spaść prędkość w czasie lotu ? To jest ten silnik : http://www.emodel.pl/emax-silnik-bl-2826... Obstawiam że poniżej 1 obrotu na sekundę nie zejdzie.
Light-I i tu sie myliłeś :) problem rozwiązałem: błąd leżał po stronie zasilania układu, ok 4,3V na caly moduł okazało się za mało, zbyt dużo innych układów w projekcie --- za duże obciążenie zasilacza i procek troche się pokręcił. Problem uważam za rozwiązany.
No tak dioda świeci jaśniej bo wcześniej jej prąd był ograniczany załączanym wewn. podciągniem do VCC a teraz jest pin normalnie ustawiony jako wyjście... Ale czy to znaczy że miga sobie co sekundę teraz ?
Odnoszę wrażenie iż chcesz napisać program uniwersalny Dozownik ślimakowy sam napisałeś jest precyzyjny a jak to się ma do zasuwy hydraulicznej dzięki której spada na wagę setki kilogramów Dodano po 12 Dlaczego chcesz wykorzystać do opóżnienia liczniki przecież w trakcie rozbudowy programu mogą okazać się bardzo potrzebne a wręcz niezbędne Dodano po...
Taki pomiar nic Ci nie da. Wentylator komputerowy daje 2 sygnały na obrót. Mój 4pin obraca się z prędkością 600 rpm przy PWM=0% oraz około 2k przy PWM=100%. Jestem przekonany, że sygnał z impulsatora idzie na 12V. Wstaw rezystor i diodę zenera w odpowiedniej konfiguracji. Z BASCOMem Ci nie pomogę, ale pamiętaj, że np 600 obrotów jest na minutę, a Ty...
83,333...... to jest poprawny podział. To nie jest podział. 83,(3) czyli osiemdziesiąt trzy i jedna trzecia milisekundy ma trwać okres tych impulsów. Wtedy po dwunastu impulsach minie jedna sekunda. Sposób podziału pokazał Mundi1970 , choć nie jest to sposób jedyny.
Brakuje tam deklaracji częstotliwości zegara np. "$crystal=8000000", program trochę dziwny, ale możesz dopisać jeszcze jakiś licznik wejść w procedurę "zwieksz" żeby wchodził tam np. co 100 taktów. Przy czym to będą BARDZO niedokładnie odliczane sekundy...
Witam! Zbudowałem sobie małego robota z serv HiTEC HS-322HD i działa zbyt szybko! Po zadaniu określonego położenia np. servo1=20 servo osiąga je bardzo szybko! Jak zrobić sterowanie prędkością serva w Bascomie? Chce aby servo osiągało zadane położenie np. po 2 sekundach! Dzięki!
$regfile "m8515.dat" $crystal = 8000000 Enable Timer1 Config Timer1 = Timer , Prescale = 256 On Timer1 Sekunda Timer1 = 34286 dim sek as byte do loop Sekunda: Timer1 = 34286 Incr Sek Return Powinna byc rowna sekunda (wyliczone przez kalkulator avr) Ps. Timer startuje w momencie jego konfiguracji wiec jesli nie chcesz go uzywac odrazu,...
Cała procedura wysyłania SMS'a może potrwać nawet 3 sekundy. Według dataschet 60 sekund.
nie wiem co u ciebie jest nie tak, ale u mnie w mode 1 w symulacji jest wszystko w pozadku tzn. widac jak sie zmieniaja TL1 iTH1. Nie moge tylko obliczyc jaka wartosc zaladowac do timera, aby wyliczal mi 1 sekunde. Doswiadczalnie zauwazylem ze moj program puzni sie 3 sekundy na minute! Co zrobilem nie tak. Pozdrawiam
Dokładnie tak jak pisze Kolega emarcus. W moim przykładzie w programie operujemy na zmiennych minuty, sekundy. Ale do programowania czasu konwertujemy i tak wszystko do sekund. W ogólności można zrobić odwrotnie, tj. używać tylko zmiennej wyrażonej w sekundach i np. co sekundę konwertować tę wartość na wartość minut i sekund w celu ich wyświetlenia,...
Nic nie pomogło. Ani sprawdzenie CRC ani dodanie kondensatorów, zmieniałem też czujnik i mikrokontroler. Jakieś inne propozycje? Błędny odczyt jest co mniej więcej 10-20 sekund.
Schemat mam z helpa. Nadal dioda swieci 3 sekundy i mrugnie i znowu swieci ;-(
Ciekawe ile czasu trwa błyskawica? Fotorezystor ma czas narastania 40-100ms. A czas przetwarzania sygnału przez procesor? A czas wysyłania kodu? A jaki jest czas reakcji aparatu po odebraniu sygnału? Takie urządzenia potrafią czasem długo "myśleć". Może zacząć od określenia wymagań fizycznych(w tym wypadku czasowych) Dodano po 8 Z VIKI: "Główny impuls...
Witam. Może spróbuj tak po wywołaniu przerwania ( u Ciebie co sekunda) Odczytaj termometr DS. A następnie wydaj rozkaz pomiaru temperatury. W następnym przerwaniu odczytasz go o tak w kółko.
Niestety po zmianie polecenia waitms ze 100 na 15 nic się nie zmienia. Wiąż przycisk działa raz po pół sekundy a raz po 3 sekundach.
witam w bascomie odczytuję sekundy z tego scalaczka i w wyniku mam 0,1,2,3,4,5,6,7,8,9,22,23,24,25,32,33,34... .... kawałek kodu odczytującego sekundy : I2cstart I2cwbyte &HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 I2crbyte S , Ack I2crbyte M , Ack I2crbyte H , Nack I2cstop T = Makebcd(s) co siędzieje ? z kwarcu na plus mam 33pF (bez niego to samo)...
A co się dzieje, jeśli zmienisz kolejność, czyli najpierw dasz same zera i po 5 sekundach sygnał do startu? Silnik grzecznie czeka 5 sekund?
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ę....
Ja uczyłem się na poniższym kodzie: Czy, jako początkujący wiedziałeś co to jest TCCR1A, TCCR1B, OCR1AH, OCR1AL i inne niezrozumiałe dla laika rzeczy ? Są to rejestry atmegi, dostępne w instrukcji PDF do niej. Więc po co karmisz nowicjusza takim przykładem ? Jestem pewien, że autor wątku nie ma bladego pojęcia o rejestrach atmegi. Mogłeś juz podać...
Niestety dość wolno, prosty program w Bascom, odczyt z karty SD: "Line Input" + funkcja "mid" -> z kwarcem 12Mhz okolo 3-4 sekundy, ale jakość jest bardzo dobra.
Spróbuj zapomnieć o komendzie wait. Poczytaj o timerach i przerwaniach. Logiczne jest że jak w podprogramie jest wait to na nic nie reaguje dopóki nie odliczy tych 5 sekund.
Zablokuj przerwania na czas odczytu temperatury, powinno pomoc. Druga opcja to wykorzystać przerwanie zegara i od razu po odczycie czasu wykonać odczyt temperatury i potem wysłać rozkaz konwersji temperatury do DS. Jak podczas nadawania po 1Wire program wykona jakieś przerwanie to będą problemy z DS (przynajmniej ja takie miałem)
wiem , że tak można tylko nie wiem jak mam napisać ten kawałek kodu :-)
co sekundę?
Nie ma pętli głównej bo chciałem wpisać dane do LCD raz aby go nie odświeżać. nawet jak mam w pętli wpisywanie i Wait 5 to resetuje sie ekran po okolo sekundzie. Sprawdze trop z watchdogiem
najlepiej odbierać i nadawać w przerwaniach od uart'u a nadawanie zaczynać przez wysłanie na magistralę np określonego bytu który powoduje że inne urządzenia które dokonują nasłuchu na magistrali są zablokowane na nadawanie danych przez np 2 sekundy oczekując w ciągu tego czasu danych które będą wysyłane
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ć...
Przy pierwszym naciśnięciu uruchomić Timer np. na dwie sekundy. Jeśli w tym czasie odbierzesz drugi znak, to zmienna=2*10+5. Jeśli nie to zmienna=2.
Po odebraniu i wykonaniu rozkazu wstaw przerwę (sekundę???)...(dobrze myślę?)
Wait to Delay_ms itd.itp. Jedna rzecz- opóżnienie w milisekundach w Bascomie to komenda Waitms. Komenda Wait to oczekiwanie w sekundach.
Bascom ma wbudowaną biblioteke która formatuje te cyferki automatycznie. Jesli się ja umiejetnie właczy to potem juz bez wysiłku pokazuje nazwę dnia tygodnia i inne przeliczenia. Jeśli wystarczy Ci tylko takie wyświetlanie czasu to napisz tak i po sprawie: [syntax=vbnet]Cls Lcd "Godzina:" If Godziny < 10 Then Lcd "0" : Lcd Godziny ; ":" If Minuty...
... czy częstotliwość pracy wewnętrznego RC ma wpływ na dokładność RTC? wydawało mi się że nie,ale jak symuluje to w bascomie to sekunda odliczana jest z różną długością... To jak jest w końcu? Jeśli ma to wpływ to na ile ustawic ten wewnętrzny oscylator??? Symulacja nie oddaje reali prawdziwej pracy układu, najważniejsze że masz tą sekundę (jako fakt...
Przecież kazał ci 256Hz podzielić przez pojemność Timera2 czyli 256 (kombinacji). Wychodzi 1 Hz czyli jeden cykl (przerwanie) na sekundę.
' Na początku kodu Index_tab=0 ...... ...... If Licznik = 1200 Then IF Index_tab=3 Then ' przesuniecie w tył jeżeli pozyskano co najmniej 3 pomiary Pomiar(1)=Pomiar(2) Pomiar(2)=Pomiar(3) Else ' Fragment kodu wykonywany dla Index_tab=0,1 i 2 Incr Index_tab IF Index_tab>3 Then Index_tab=3 End If Pomiar(index_tab)...
Witam, Jakim kwarcem kolega popędza ten układ? Podłącz diodę led do portu (przez rezystor) i migaj nią co 1 sekundę (programowo). Wtedy będziesz miał pewność, że procek popędzasz takim zegarem jak zadeklarowałeś.
Zainstalowałem ten MkavrCalculator ale pojawia mi sie jakiś błąd źle wgranego avr dude. . A pisałem żebyś poczytał na tej stronce i obejrzał filmik video, tam jest pokazane jak z zakładki "Ustawienia" tego programu można zainstalować prawidłowo avrdude w 5 sekund. No ale masz rację bez poczytania to się nic nie zrobi.
vcc mam 5V z zasilacza a gdn z zasilacza i z programatora gdn Dodano po 58 zrzuty z bascom
Wspominałeś o książkach, więc w książce Pana Wiązani "Programowanie mikrokontrolerów AVR w j.BASCOM" na str.159 jest przykład odmierzania 1 sekundy.
Najprościej opisał to chyba arktik1, taki algorytm byłby ok'. Jak już masz procek, to może coś więcej dopiszesz, niż tylko zapalanie i gaszenie lampki. Np. opóźnienie gaszenia lampki. Wchodzisz, zamykasz drzwi i lampka jeszcze się pali, wkładasz kluczyk, włączasz zapłon i dopiero wtedy gaśnie. Po zamknięciu centralnym włącza się na kilka sekund. To...
Tak jest pisany w Bascom. Tu też kompiluje plik do .hex.
Żeby mi się wyświetliła np: Godzina na kilka sekund po wciśnięciu przycisku.
Ostatni raz piszę... MAX232. Dodano po 36 elektronik101, ubiegłeś mnie o parę sekund :D
Coś czuję, że masz ustawiony wewnętrzny rezonator, a nie zewnętrzny kwarc! 5x8=30 sekund.
Do mikrokontrolera ATMega8535 podłączyłem rezonatr kwarcowy o częstotliwości 11,052 MHz i kondensatory 33pF. Nie wiem dlaczego jeżeli zapalam diodę na wyjściu portu na sekundę Waitms 1000 (Bascom), to nie trwa to przez sekundę tylko około 1,3-1,4s al;bo i dłużej. Co może być przyczyną. Poza tym maksymalna prędkość komunikacji z pecetem przez RS232 to...
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.
Pewnie że nie będzie działać, ustawiłeś Preskaler =256 a więc przy zegarze 16MHz przerwanie od Timer0 będzie pojawiać się z częstotliwością 62500 razy na sekundę. (16000000/256 = 62500). Zalałeś modem zapytaniami o CSQ i biedny nie ma czasu na odpowiedź.
Nie ma takiego. I nie będzie w ciągu najbliższych 100 lat. Dodano po 33 Chyba że chodzi Ci o zmianę rozszerzenia ;)
Fragment FT w nazwie programatora może wskazywać na to, że posiada on konwerter USB<--->RS232 Sprzętowy (a nie jak mój i piotrva). No faktycznie jest taka możliwość. W każdym razie samo programowanie to u mnie błyskawica. Nic się nie czeka, a kompletny proces programowania leci dosłownie w kilka sekund.
Ja proponuje at89c2051+lcd oparty na hd44780 + ds18b20... Poszukaj na necie jest tego pełno (kod+bin+schemat+pcb nawet). Jak nie znajdziesz to Ci narysuje. PS a masz czym zaprogramować ? Dodano po 59 PS w EDW którymś (bascom college) jest dokładny schemat jak podłączyć... (ja się z tamtąd uczyłem)
Rozwiń zakładkę 98DCBA i zrób printscreena. Zobaczymy co tam można wybrać. To niby proste ale ja też się boję :D Dodano po 55 Programmed 506 to nic takiego. U mne dochodziło do 10000...20000.
[quote="lukaskay"] a gdybym czas oczekiwania zwiększył do 15 s wtedy dokładność wzrosła by mi do 4 obr/min mogę użyć komendy: Wait 15 ?? ale wtedy chyba dojdzie do przepełnienia licznika?? quote] Przy twoich parametrach silnika el., oczywiscie ze dojdzie do przepelnienia licznika0. Ponadto uwazam ze stosowanie dyrektywy "Wait" w pomiarach nie jest najlepszym...
Na szybko napisany kod $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B11111111 Portb = &B11111111 Config Portc = &B00111000 Portc = &B00000000 Config Portd = &B11111111 Portd = &B11111111 Do 'pętla nieskończona Portd.0 = 1 'zaświeć lampkę Wait 1 'czekaj 1 sekundę Portd.0 = 0 'zgaś lampkę Wait 1 'czekaj 1 sekundę Loop End 'koniec...
Hej! Oto programik w Bascom-AVR. Jeżeli naciśniesz przycisk(portd.0) na mniej niż pieć sekund to zapli Ci się dioda(Portb.7), a jeżeli będziesz trzymał przycisk wciśnięty przez pięć sekund to przesunie Ci jedynkę po całym porcie b. Config Pind.0 = Input Config Portb = Output Dim I As Dim I=1 Program: Do If Pind.0 = 0 Then For I = 1 To 5 Wait 1 If Pind.0...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
odnosnie zegarka to ja bym to zrobil na timer1 - 16 bitowy licznik, i uzaleznil to od przepelnienia tylko nalezy ustawic preskaler na 256 wpisac poczatkowa counter=conter+34286 oczywiscie przy rezonatorze 8 MHz 8000000/256/(65536-34286) = 1 sekunda pozniej tylko zliczanie a i jeszcze jedna sprawa nalezalo by zmienic wartosc dwojkowa na kod BCD :)
Witam jestem początkujący w temacie bascom potrzebuję rozwiązać problem związany z błędnym odliczaniem zaprogramowanego czasu. Program przerobiony z działającego zegara ( samo odliczanie działa dobrze), tylko chcę żeby w 20 -stej sekundzie wyjście PIND.2 zostało załączone i w 45-tej sekundzie wyłączone. Teraz działa przypadkowo w 20 sekundzie zostaje...
Jeśli nie wykorzystujesz tych samych pinów co kwarc zegarkowy to nic się nie będzie gryzło... O ile dobrze pamiętam wystarczy podpiąć kwarc 32,768kHz bez kondensatorów pod TOSC1 i TOSC2... Raz po uruchomieniu uC odpalasz timer2 w trybie asynchronicznym i tylko włączasz albo wyłączasz przerwanie od przepełnienia... Ustawiasz preskaler tak żeby przepełnienie...
bascom licznik sekunda licznik sekunda bascom sekunda wyłancza
klimatyzacja eberspacher schemat rozrząd toyota siła elektromagnesu
lutownica arduino lutownica arduino
Renault Laguna 3 – losowe działanie wycieraczek przedniej szyby, manetka, czujnik deszczu, UCH, UPC LTC LXDVB103 – najnowszy firmware 2023, aktualizacja USB, poprawa DVB-T2/HEVC