Witam, napisałem prosty program obsługujący układ rtc PCF8583, wszystko działa niby poprawnie jednak gdy licznik sekund dochodzi do 59 i zwiększają się minuty przez 4 sekundy wyświatlacz LCD pokazuje krzaki w postaci FF i jakiś cyfr, po 4 sekundach odliczanie powraca do zamierzonego wyglądu. Czy jest ktoś w stanie mi pomóc ? Pozdrawiam https://filmy.elektroda.pl/83_1632655619...
http://obrazki.elektroda.pl/9838687700_1... Trochę z obawą prezentuję kolejny już na elektrodzie sterownik oświetlenia, no bo ileż tego już tutaj było? A jednak nie znalazłem rozwiązania mnie zadowalającego, dlatego też powstał niżej prezentowany układ, powstał ponieważ klasyczne lampy z czujnikami ruchu mają pewną zasadniczą wadę:...
http://obrazki.elektroda.net/38_11898903... Szczęśliwi czasu nie mierzą, jednak ja zrobiłem zegar. Sterowany mikrokontrolerem ATmega8, z zielonym 14 mm wyświetlaczem LED i kwarcem 32768 Hz. Zegar, który w tej chwili pokazuje godzinę 72.22 ;) , ale o tym później. Schemat Cyferki włączane są sekwencyjnie przez port C za pośrednictwem wtórników emiterowych...
Od razu zapomnij o Bascom i zacznij C lub Arduino z tych powodów: http://mikrokontrolery.blogspot.com/2011... To bardzo prosty program np. dla pinu PB0 mógłby wyglądać tak: Jak wyżej napisałem, nie mam czasu na naukę nowych języków. Takie proste programy wystarczą w bascomie. W miarę to znam jeżeli chodzi o wgrywanie programu...
1.Zadeklaruj jakąś zmienną jako licznik. 2.Ustaw sobie WAITMS by zajmował ok 1 sekundy. 3.Ustaw licznik by liczył do 60. Otrzymasz wtedy około 1 minutę. Potem pomnóż to 60 przez ilość minut jakie chcesz odliczyć i zamknij to wszystko w pętli przerwań. Nie jest to dokładny sposób odmierzania czasu. Dodano po 2 jeśli chcesz gotowca to napisz...
Hej wszystkim. Pytanie moje dotyczy przechowywania kilku zmiennych w pamięci ulotnej i ewentualny zapis wartości tych zmiennych do EEPROM w określonym momencie. Program napisany w Bascom i póki co nie mam ochoty przerzucać go do C więc muszę rozwiązać to na aktualnym etapie Otóż mam sobie 3 zmienne: [syntax=vbnet]Dim Czas_sekundy As Byte Dim Czas_minuty...
Mam taki problemik tutaj macie fragment kodu: 'C013b Prosty zegar z ustawianiem Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte , Maxi As Byte Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Migaj As Bit , Uniwers As Byte Config Portb = 255 : Portb = &B255 : Config Portd = &B1111100 : Portd = &B1111111...
'C012a Bardzo prosty stoper 0,1-sekundowy Dim Dziesek As Byte , Sekjed As Byte , Sekdzies As Byte , Minjed As Byte Dim 100ms As Byte , Ktorywysw As Byte , Licz As Bit Config Portb = 255 : Portb = &B11111111 : Config Portd = &B1111100 : Portd = &B1111111 Config Timer0 = Timer , Prescale = 64 : Enable Interrupts : Enable Timer0 Dziesek...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
Witam wszystkich wszech wiedzących. Mam taki drobny problem, otóż w zestawie uruchomieniowym zl11avt zaprogramowałem mikrokontroler attiny 2313 żeby na wyświetlaczach led był zegarek z budzikiem. Po zastanowieniu sie zobaczyłem że mam 4 porty wolne i mogę wykorzystać je do czego chce. Chciałbym żeby to był normalny zegarek ale gdy na PD2. (wolnym) pojawi...
Pisanie na kilkanaście minut i zobacz że lepiej to wygląda niż twoja sieczka. Do tego możesz teraz bardzo łatwo dodawać sobie kolejne efekty. Jak nie zadziała to sobie popraw :-) [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Portd.0 = Input Config Portd.1 = Input Config Portd.2 = Input Config Portd.3 = Input Config Portc = Output...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Witam. Jestem raczkujący jeśli chodzi o technikę Mikrokontrolerów. Od miesiąca posiadam zestaw EVB 4.3 z kursem AND-Tech. Zrobiłem prymitywne urządzenie do sterowania lampy. Potrzebuję je wzbogacić o funkcję zliczania czasu przebiegu tej lampy ( po to by wiedzieć ile już świeciła). Lampa ma ograniczony czas żywotności więc funkcja jest pożyteczna (pozwoli...
Tylko nie wywołuj w przerwaniach tak długich bloków instrukcji - lepiej ustaw flagę, która wskaże pętli głównej programu wykonać te instrukcje. Ale co tu możemy mówić, jak widać tylko wycinek programu. Zgadza się, dlatego wklejam nieco więcej Flaga_wybor jest co 10 sekund, Blokada zatrzymuje odczytywanie czujników na czas odbioru DCF77, zwłaszcza DS18B20...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
podziękuj redakcjii edw bo listingi są ich. zakłądam ze urzywasz bascom avr inne listingi do pobrania ze strony edw są to programy testowe do oślej łączki z kursu avr 'C018b Prosty zegar z budzikiem Dim Sekundy As Byte , Minuty As Byte , Godziny As Byte , Uniwers As Byte Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim Godzjed...
Dokonałem optymalizacji kodu, rozmiar zmniejszył się o 2 %. Pilot RC5 działa, można zmienić czas/date, obsługę wyświetlania przeniosłem do przerwania Ale mam kłopot z wyświetlaniem kropki [syntax=basic4gl] '************ Zegar 6 wyswietlaczy LED + PCF8563 $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 ' rozmiar stosu sprzętowego $swstack =...
może program nie jest bardzo dopieszczony ale działa . więc po kolei nie używam przerwań choć powinienem należy poprawić jeszcze pomiar temperatury ponieważ przy mniej niż 5 stopni czujnik nieco zawyża do jednej linijki należy dodać komende aby wynik z zmiennej był jeszcze odejmowany o 2 i sprawa załatwiona roździelczość to 1 stopień kalibracja polega...
Zamieszczony wcześniej kod jest sprawdzony - działa na atmega8 Również po pomyfikacjach portów działa na attiny2313 i zajmuje 65% flash, wiec jest jeszcze miejsce na jakieś "wodotryski". Używam Bascom demo w wersji chyba najnowszej: 1.11.8.7 build 001 MS windows XP SP-2 Program pod attiny2313 na płytce uruchomieniowej ZL11AVR (Płytka ZL2AVR pod megę...
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
tak wyglada teraz pogram 'zegarek v.1.0 Dim Godz1 As Byte , Godz2 As Byte , Minut1 As Byte , Minut2 As Byte Dim Sek1 As Byte , Sek2 As Byte , Wysw As Byte , Kropka As Bit , Po As Byte Dim Sekjed As Byte Config Portb = 255 : Portb = &B255 Config Portd = &B1111100 : Portd = &B1111111 Config Timer0 = Timer , Prescale = 64 Config Timer1 = Timer...
Alez jest komentarz, ze liczby sa nieprawidlowe. Wklepalem byle co, zeby pozniej sobie dokladne wartosci obliczyc, a nie zawracac sobie glowy duperelami w tamtym czasie. Co masz na mysli piszac "chlapniesz"? Chlapanie tutaj na forum czy w swoim kodzie? :) Hm skoro widzisz jeszce jakies kwiatki, to bede wdzieczny, jesli sie nimi podzielisz ze mna. :)...
Jak zwykle Kolega ma rację, wyrzucenie Waitms 750 załatwiło sprawę. Oczywiście wstawienie timera jest chyba najlepszym rozwiązaniem. Tylko coś nie tak mi wychodzi. Dołożyłem Timer co 800 milisekund [syntax=basic4gl] Sub Pomiar: Disable Interrupts If Flaga_delay_ds = 1 Then 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE I1 = 1wread(2) Flaga_delay_ds...
oj bardzo się mści :D ale i tak jak są dwa rejestry tj i tl to wolę wpisywać każdy osobno Dodano po 58 Zgadałem się z autorem tematu i napisałem programik, który jest w trakcie poprawek i będzie dostępny niebawem
Witam Musisz skonfigurować Timer i za jego pomocą odliczyć 4 minuty. $Crystal = 11059200 Config Timer1 = Timer, Prescale = 1024 Load Timer1 , 10800 On Timer1 Sekunda Config Pind.1 = Output : Wy Alias Portd.1 Config Pind.2 = Input : We Alias Portd.2 Dim Licznik_1 As Byte Dim Wsk As Bit Enable Timer1 Enable Interrupts Licznik_1=0 Wsk = 0 Do If...
na symulatorze nie masz co patrzeć. One są do niczego. Ok sprawdzę zaraz. Dodano po 18 ok sprawdziłem. Działa bez problemu. Sprawdzałem na płycie testowej a sygnał brałem z Timera2 skonfigurowanego jako PWM. Zmieniałem różnie Prescaler od 1 do 1024 i działało bez problemu.
W rodzinie mikrokontrolerow 8051 funkcje stopera realizuje jedynei licznik T2. WIec proponuje poczytac sobie o konfiguracji tego licznika.
Const odlicz=65436 rem dla zegara 12MHz odliczy tylko 100 impulsow (100us) dim licznik as word dim koniec as bit Config Timer1 = Timer , Mode = 1 , Gate = Internal On Timer1 etykieta Counter1 = odlicz do start timer1 bitwait koniec,set reset koniec rem petla powtarza sie co 100 us loop etykieta: licznik = counter1 rem To ma eliminowac czas od momentu...
Tu masz program pod ATtiny2313, jeśli potrafisz programować, to też potrafisz przerobić program na ATMegę: [syntax=basic4gl]' Bardzo prosty zegar bez możliwości ustawiania Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Migaj As Bit Config Portb = 255 : Portb = &B255...
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...
emarcus:: Czy Ciebie całkiem pogieło? Jak chcesz pomnożyć częstotliwość rozkazem MUL? Ewentualnie jak chcesz tym pomnożyć impulsy? Bez obrazy ale to zupełnie co innego. Dodano po 19 Na mój gust cos takiego: $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 64 '---------------------------------------...
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ć...
Naprawdę nikt nie jest w stanie nic pomoc ? Miało by to mniej więcej wyglądać tak: -sygnał podawany na ICP ma postać kwadratową -zbocze opadające powoduje zapis wartości timera do rejestru sprzętowego -odejmując kolejne wartości rejestru od siebie uzyskuję czas jaki upłynął między impulsami -obliczając odpowiednio czas uzyskuję ilość impulsów na minutę
Nie podałeś jeszcze jaki masz kwarc ale kiepsko to widzę... Timery 51 są 16bitowe (max), czyli mogą odliczyć najwyżej 65536 cykli maszynowych, ewentualni mogą zliczzać impulsy zewnętrzne ale to wymaga dodatkowego generatora. Zazwyczaj robi się to tak, że przerwanie jest np. co 10ms i czas 1s czy dowolny inny się odmierza przy pomocy licznika programowego.
Witam Jestem początkującym bascomowcem , napisałem program minutnika do kuchni i prosiłbym bardziej doświadczonych kolegów o rzucenie okiem na moją konstrukcję. Program działa poprawnie według moich założeń, zależy mi tylko na opiniach. Schematu nie rysowałem bo to prosta konstrukcja jedna dioda led , buzzer i trzy przełączniki . przełącznik S1 ustawia...
Witam ja bym zmienił kwarc na 12Mhz to będzie rozdzielczość co 1us i wtedy timer ustaw na 50ms (50000) i masz równy czas . Nie wiem jak jest w bascomie ale asemblerze instrukcją ORL THL,#wartość można skorygować wartość licznika żeby odmierzał równy czas.
Timer to dobry pomysł a w ogóle juz nie wspomne o łatwosci jego obsługi w BASCOM'ie, jeśli nie robiłeś tego jeszcze to nie martw sie przyjdzie Ci to napewno bez problemu. Jeżeli chodzi o dwa kanały no to po prostu wykozystasz dwa timery. Gorzej z odmierzaniem czasu bo timery się skończyły (no chyba że 89c52), w tym przypadku bez problem można by poradzić...
Zrobienie schematu na potrzeby forum to dosłownie pięć minut albo mniej... https://filmy.elektroda.pl/25_1478028608...
Własnie nie wiem jak to pomnozyc na osobnych zmiennych. W gre wchodza dwie zmienne minut bo sekundy sa caly czas 00. I teraz jak odniesc sie do zmienych minut zeby to pomnozyc przez 0.3 ?
No to zaczynamy po raz kolejny. Coś takiego jak stworzyłeś to niestety za szybko nie będzie działać. Mega z kwarcem rs 14 z groszami działa naprawdę szybko i można zrobić bardzo dużo w jedna sekundę. Do odbierania i wysyłania danych można sobie napisać własną procedurę - nawet w bascomie i jest ona sporo szybsza i działa rewelacyjnie. Deklarujemy przerwania...
ok, tylko najpierw uporam się z przyciskami i nastawami :P Dodano po 28 $regfile = "m8def.dat" $crystal = 8000000 Config Portd = Output 'podłaczony wyświetlacz 'Config Pinb.0 = Output ' anoda 1 źle! nazwa pin służy do odczytu wartości 'Config Pinb.1 = Output 'anoda 2 źle! aby ustawić należy się posłużyć nazwą Portb.x 'Config Pinb.2 = Input...
Możesz podłączyć poprzez rezystory bezpośrednio do portów, tylko trzeba pamiętać, że diody mogą wziąć 20mA i to teoretycznie pin ma wytrzymać, ale też chyba nie można brać więcej niż 100mA na cały port. To tyle teorii a w praktyce to sam sprawdzisz i pewnie procek to zniesie. Wprowadziłbym jednak pewna optymalizację. Wyświetlacze podłącz do portów PB...
zacznijmy od tego, ze kod umieszczamy w klamrach Dodano po 10 to jest kod na jedna sekunde $regfile = "m8def.dat" $crystal = 8000000 Config Pind.7 = Output Portd.7 = 0 Przekaznik Alias Portd.7 Config Timer1 = Timer , Prescale = 256 On Timer1 Sekunda Enable Interrupts Enable Timer1 Load Timer1 = 31250 Do Loop End Sekunda: Load Timer1 =...
Niestety Kolego "elektronik.b" nie rozumiesz tego programu, wklepujesz co popadnie i to nie zadziała. Jak na początek przygody z mikrokontrolerami wybrałeś sobie FATALNIE napisany program... nie robi się multipleksowania w pętli głównej i to jeszcze odlicza interwały pauzami. Nawet jak w jakiś cudowny sposób ogarniesz wyświetlanie bez migania, to ten...
Na początek wystarczy , ale w dalszej pracy oczywiście że enkoder połączony ze śrubą . Ma to być do stołu do szlifierki płaszczyzn z zaznaczanym początkiem i końcem Dodano po 36 A docelowo całość ma działać bez komputera
Jest taki sobie termometr - moduł ma BT222 podłączany przez złącze http://obrazki.elektroda.pl/1320347600_1... Wgrywam do niego kod Bascom: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 '$baud = 9600 ' predkość transmisji $hwstack = 64 ' rozmiar stosu sprzętowego $swstack = 24 ' rozmiar stosu programowego $framesize = 48...
sprawdze plik i dam znać Dodano po 1 działa bez problemu ale zrobie SFXa bedzie łatwiej
Fajnie ze się odezwałeś jak mogę spytać to ma być to zawsze tak : Wart_ADC*wartość nap. ref/1023 licznik 16bit lub 255 licznik 8bit czy się mylę? Dodano po 11 wywala błąd "35" spodziewano się 3 parametrów Dodano po 12 Wielkie podziękowanie Kolego działa pokazuje 0-5.115 wygląda to tak: Dodano po 11 Niestety nie całkiem bo dioda zachowuje się tak jak...
2. jak podejsc do temamtu restartu urzadzenia? np. rozswietlamy ledy pomiedzy 09:00 a 11:00. Wyłączamy urządzenie i włączamy. i jak teraz określić stan przy starczie w jakim powiny być poziomy wysycenia? Skoro wiesz która jest godzina to przed pętlą główną sprawdź czy nie jesteś w rzeczonym przedziale i ustaw licznik odliczający minuty. W pętli głównej...
odnośnie 3 punktu:na jakiej zasadzie się wklepuje wartość licznika, poprostu wpisuje? czym jest ona ograniczona? Dodano po 9 a krótki kurs do tego kalkulatora?? ;p
No teraz matematyka prosta została. Licznik będzie zawierał ilość obrotów na 100 ms. Potem ten wynik razy 10 i masz obroty na sekundę, potem razy 60 i masz obroty na minutę i tak dalej.
Nie,ma liczyć litry tak jak dystrybutor . Dodano po 2 Nie wiem w jaki sposób dodawac litry do zmiennej po przekroczeniu okreslonej liczby impulsów z przepływomierza to co znalazłem to liczone wszystkie w czasie a tu chyba chodzi o przepełnienie licznika Czas tu nie ma znaczenia! Użyj dowolny timer w charakterze licznika (Counter), i tak jak sugerowano...
Widzisz ja zajmuje sie programowaniem w Assamblerze nie w c(BASCOM), moje pytanie bardziej brzmialo jak ustawic rejestry od licznika(np T0) zeby pracowal on jako generator, reszta ukladu(tj ladowanie itp, to juz wiem jak wykonac), otoz generator ten ma miec T=0.02s(czyli 50Hz), ma to byc przebieg prostokatny o wypelnieniu 50%, negacje tegozsygnalu bede...
Kurde nadal nie kumam włącznik (przycisk) jest oznaczony jako Wl_wiatrak Ogólny warunek czy ma działać (wł/wył) Wiatr_ena Załączanie wiatraka OUT do przekaźnika Wiatrak Ustawiany czas pracy w sekundach w menu W_czas I z tego trzeba poskładać - chyba to wszystko co jest potrzebne ten kod po prostu na stałe wł i wył przekaźnik If Wiatr_ena = 1 Then Wiatrak...
Sory post piotra5000 przeoczyłem .Bylem przekonany że weiscie T0 to noga 14 .licznik działa tak jak powinien -jedna poprawka Pind.4=input:reset Portd.4 i opornik podciagający do + przy koletorze fototranzystora . Dodano po 2 Mam rozwiązaną sprawe liczenia dlugości przewodu. Dziekuje wszystkim za zainteresowanie tematem.
Mam mały problem - nie potrafię przenieśc kodu z bascoma do avr c (eclipse). Tzn, wiem ze nie przeniosą go 1:1 chodzi mi raczej o ogólne zasady, szkielet: chodzi o zapis do pamięci eeprom stanu licznika - licznik sie zmienia przy pomocy przycisków góra/dół - przy wyłaczeniu zasilania oczywiście jego zawartośc jest kasowana. Oczywiście zapis przy każdej...
A liczy cały czas tak w ogóle, czy chwilę po tym jak puścisz przycik? Poczytaj o funkcji debounce - usuwanie drgań z przycisku...Może to tego wina... I poczemu w tym ifie masz pom?? Nie wystarczy if impuls=o then incr... ;lcd...? Dodano po 2 No i co to robi w tym dziale (vhdl pla etc...?)
(at)dondu No i niestety sama próba uśpienia kończy się tylko uspaniem uc. Procesor nie chce się wybudzać od przepełnienia Timera2. Aby mikrokontroler wybudził się z power save musi mieć podłączony zewnętrzny kwarc 32,768kHz, a timer2 ustawiony do pracy w trybie asynchronicznym. Szczegóły podałem Ci w linkach. Przeanalizuj kod programu szczególnie w...
chodzi o dokładnośc na licznikach robiłem i chodzą róznie a ja chce zroić zegar dokładny a nie bylejaki z tolerancją na dzień 5 minut
Tearaz idź na całość :P i zrób takie coś http://obrazki.elektroda.pl/7079600200_1... Kod to taki szkic uproszczony. Musisz podopisywać [syntax=basic4gl] 'Ustaw Timer na 4ms Const Dodajemy = 1 Const Odejmujemy = 2 Const Stop_ = 3 Const Ustawiamy = 4 '..itd '*** START *** Do 'co 1sec If Flaga1s = 1 Then Flaga1s = 0 Select Case Co_robimy...
Panowie, chyba juz wszystko zostało napisane. Dyskutujemy o rodzajach czujników i ich zasadach działania, a nikt nie zamieścił kawałka kodu. Od początku tylko o to proszę. Na razie chce przetestować tylko impulsowy przebieg na LED IR i jego odczyt, bez konkretnych częstotliwości, porównywania z tłem itd. Jest ktoś w stanie? Wszelkie dostępne możliwości...
Po wylaczeniu sprezarki zmieniasz zmienna np "status" na 1 i odpalasz timer. W przerwaniu (tak na prawde po ilus przerwaniach ) zmieniasz status zmiennej na 0. I tylko jak starus==0, mozesz ponownie wlaczyc sprezarke. Na bascomie sie nie znam ale tak bym to napisal w C ;) A kilka przerwan musi minac bo przy powiedzmy 1sekundzie opoznienie jakie mozesz...
a czy dla Ciebie to bez różnicy że Timer0 jest licznikiem 8 bitowym a Timer1 16 bitowym? Dodano po 5 konfigurujesz Timer0 - config timer0 = timer, prescale = 64 a ładujesz timer1 - timer1 =55536 jak to ma ruszyć
Zgadzam się z kolegą. Używanie polecenia wait to tak jakbyś strzelał z działa przeciwpancernego do muchy... Przykładowe skonfigurowanie licznika 16-bitowego w BASCOM tak żeby zliczał do 1s przy częstotliwości taktowania 16MHz: ( wszystkie ustawienia konfiguracyjne oraz deklaracja zmiennych ) Config Timer1 = Timer , Prescale = 256 ' konfiguracja licznika...
Z tego co widzę to właściwie odczyt tego układu na magistrali I2C jest typowy i rzeczywiście adres 162 jest podstawowy, Co do braku rozdzielenia! Masz po kolei 8 bajtów zaczynając od sekundy, a kończąc na roku i to od razu w BCD :) super wygoda. Każde ACK po bajcie odczytu samo podnosi licznik więc jeśli po czterech pierwszych odczytach nie dasz ACK...
Kod w C, ale powinieneś łatwo dojść co i jak: [syntax=c] for(uint8_t count=0;count<8;count++) { if(zezwolNaOdliczanie&&(1<<... { if(!OdliczanieMinuty[count]&&!Od... { if(OdliczanieGodziny[count]) { OdliczanieMinuty[count]=60; OdliczanieGodziny[count]--; } } if(!OdliczanieSekundy[count]) { if(OdliczanieMinuty[count])...
Konfigurujesz timer2, do atmegi podpinasz kwarc zegarkowy (tosc1,tosc2), pomiary dodajesz a=a+pomiar gdy chcesz wyświetlić robisz p=moc/czas, albo czekasz godzinę albo minutę i mnożysz razy 60 jak ci sie podoba. Timer2 z kwarcem 32k, bo jest najdokładniejszy, możesz np timer0 i prescale ustawić tak by mniej więcej co sekundę robił przerwanie.
Niemcy i my mamy tę samą strefę czasową. Zapewne tak, tylko, że oni w nadawanym sygnale nie dodają/odejmują godziny. Wysyłają tylko DCF77TIMEZONE i samemu należy to obsłużyć. Znalazłem coś takiego: res = DCF77TimeZone() Res The target variable that is assigned with the result. The result will be: - 0: when there is no valid DCF77 data yet - 1: when...
To jest proste jak świński ogon :D ahahahaha, ale napisz kawałek kodu. Czy masz tam jakiś LCD czy nie, czy masz tam jakiś Timer ustawiony do odmierzania sekundy czy Wait`ujesz :D Czy w dokumentacji czujnika pisze, że nadaje tez na końcu niewidoczne w terminalu znaki 13 lub 10? EDIT: aaa masz tu taki prosty. Napisałem przy śniadaniu więc błąd mógł się...
Witam! Na podstawie informacji zawartych w książce "Programowanie mikrokontrolerów w języku Bascom" jak i wiedzy, którą udało mi się przyswoić piszę proste programy. Ostatnio zacząłem się interesować PWM'em jako sterownikiem wentylatora lub regulatorem oświetlenia. Oto program: [syntax=basic4gl]$regfile = "m8adef.dat" $crystal = 8000000 Config Pinb.1...
Może nie umie wstawiać? $regfile = "m88def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Config Portd = &B00001111 'portd 0 1 2 3 jako wyjscia portd 4 jako 1wire 5 6 7 jako wejscia Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portd.3 =...
no to: -ustaw PORTC jako wyjścia - a w pętli przerwania tam gdzie zmieniasz LED wyślij na PORTC dolny bajt naszej liczby losowej np. tak: PORTC = liczba_RND & 0xff; Dodano po 2 bZDURĘ NAPISAŁEM WIĘC TU MASZ POPRAWNY KOD: [syntax=c]if(LED_pozyc_licznik_przerwan&... //jezeli licznik nie jest pelny { LED_pozyc_licznik_przerwan++; //zwieksz o 1...
Uwaga! Instrukcja SOUND nie jest przeznaczona do generowania przebiegów o określonej częstotliwości. W tym celu najlepiej użyć przerwań jednego z sprzętowych liczników. (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005 Dodano po 3 xury właśnie o coś takiego mi chodziło ;) właśnie zabieram się do sprawdzania kodu :)
Panowie dzięki za pomoc :) Wprowdzie Histerezę ustawiłem na sztywno w procedurze, ale Wasza pomoc naprowadziła mnie na to rozwiązanie - dzięki. Problem z czułością rozwiązałem w ten sposób: If Flaga = 1 Then If Temperatura > Temp_max Then Set Portb.0 Flaga = 0 End If Else If Temperatura < Temp_min Then Reset Portb.0 Flaga = 1 Incr Oddech End If...
Ja bym zdeassemblował kod i zobaczył jak BASCOM robi to na Timerze0 i tak samo bym to zrobił na Timerze2 ;) Dodano po 13 Na początek: $regfile = "M16def.dat" $hwstack = 32 $swstack = 32 $framesize = 32 $crystal = 16000000 '---------------------------------------... Dim Licznik_servo As Byte Dim Servo As...
Dzięki za szybką odp. Niestety jestem "mocno" początkujący :-) a do tego z bardzo słabym angielskim ,czytałem o tym na forum ale niewiele z tego zrozumiałem tzn. Wyczytałem z DS że trzeba ustawić CS20-1, 21-0, 22-1 to prescaler 128 AS-0 ,EXCLK-0 tylko nie mam zielonego pojęcia jak to zrobić w Bascom domyślam się że trzeba napisać coś w stylu ASSR=00100000...
Przeznaczenie: Zatrzymuje działanie programu lub określone urządzenie. Składnia: STOP STOP urządzenie gdzie: urządzenienazwa symboliczna uruchamianego urządzenia. Opis: Pierwszy format instrukcji powoduje zatrzymanie działania programu. W tym celu jest wykonywana pusta pętla, podobnie jak w instrukcji END. Jednak przy instrukcji STOP nie są wyłączane...
O ile kojarzę, to pamięć RAM nie jest czyszczona podczas resetu, więc zegarek conajwyżej odrobinkę się spóźni. Oczywiście to pod warunkiem, że na początku programu zmienne nie będą czyszczone. Gorzej jak reset wystąpi w momencie gdy jeden z liczników został zmieniony (np. minuty) a drugi jeszcze nie. Co do zjawiska przypadkowych resetów mam takie samo...
W Twoim programie w asm nie widzę odkładania na stos adresu powrotu podczas przerwań. Program może przez to się gubić. Dodano po 27 Poprawiłem troche Twój kod w asm. W symulacji licznik pięknie zlicza jeśli nie bedzie działało to będzie oznaczało ze problem jest z wyświetlaniem. Spróbuj teraz :P
Dobrze by było, gdyby przekaźnik wyłączający światła dzienne był nie zależny od programu, ani program od niego. Taki kierunek w wersji modułowej pasował by do każdego auta. Kierunkowskaz ma 2-3Hz i w tym minimalnym czasie musi zmieścić się Twoja sekwencja. Pomijam już fakt stosowania takiej niehomologowanej lampy (bo zaraz się ktoś doczepi ;) ) Dodano...
Witam Mam wyświetlacz 4*20 oraz klawiaturę na PCF8574. Potrzebuję mieć menu: Czas - godziny - minuty Data - dzień - miesiąc - rok - dzień tygodnia Czujniki - Ilość czujników - Id czujników Pomiary - czas pomiarów Wyjście Mam do wykorzystania 5 klawiszy oznaczonych jako: góra/dól, lewo/prawo oraz Enter. Założenie jest takie, że Enter ma wchodzić do menu,...
A da sie zaprogramowac mikrokontroler w jezyku C, ale przez program BASCOM AVR? A jezeli nie, to jakim programem programuje sie mikrokontrolery w jezyku C? Dodano po 3 No chyba ze mozna jakos zrobic tak ze będe sobie przełączał ze na moim 2*16 albo bedzie sie wyswietlac temp data i zegar (program napisałem) a po przełączeniu wyswietlą sie dane z licznika...
roko musisz zmienić tok rozumowania według mojej wiedzy liczniki działają niezależnie czyli liczą a procesor robi swoje ale przerwanie zmusza procesor do wykonania czynności innych czyli obsługi przerwania czyli obliczenia tej jednej sekundy Dodano po 7 czyli procesorek liczy i liczy aż minie sekundka Dodano po 16 czyli Przerwanie_timer: zajmnie czas...
Witam Tak wygląda mój kod; [syntax=vb] '############# Petla_glowna ############# Do Gosub Sprawdzenie_klawiszy If Flaga_ok = 1 Then Flaga_ok = 0 Gosub Menu End If Loop End[/syntax] [syntax=vb] '############# Przerwanie ############# Przerwanie: Incr Licznik_p If Licznik_p = 1 Then Gosub Odczyt_temp_1 End If If Licznik_p = 2 Then Gosub Odczyt_temp_2...
Witam Jestem w trakcie robienia zagara nixie ze strony http://mirley.firlej.org/zegar_nixie Mikrokontrolerem jest Atmega8 a wkład zrobiony na Bascomie. Potrzebuję dodać opcję chwilowego wyłączenia lamp, w celu zabezpieczenia lamp przed zatruciem. Bardzo proszę o pomoc. To kod: '************* Konfiguracja uC ***************** '***************************************...
Obecnie taki odbiór rozwiązuję inaczej, ale w Twoim wydaniu coś czuję że to nie odbiór danych przy taktowaniu 16MHz zajmuje dużo czasu a bardziej wyświetlanie tego na LCD. Jeśli by Ci to odpowiadało to możesz: odebrac dane, i zrobić z nich tą tablice stringów po czym ustawić jakąś flagę "Refresh_lcd" Potem w każdym przejściu pętli wyświetlać/odświeżać...
Witam serdecznie! To jest mój pierwszy post na elektrodzie. Jestem początkującym Bascomowcem. Szukałem długo w necie rozwiązań typu "Tap tempo" dla AVR pod Bascom. Niestety nie było. Napisałem własny programik i działa. 'mój pierwszy program typu "metronom" 'z "nabijaniem tempa 1 przyciskiem 'Działa, ale czy da się prościej? $regfile...
Bascom tablice numeruje od 1. Można w nim zrobić tylko tablice jednowymiarowe. Ale masz w Atmedze128 4 liczniki. Nigdy nie robiłem nic na ATmega128. Ale właśnie ściągnąłem datasheet i widzę że timer3 ma 3 rejestry OCR timer1 2 rejestry timer2 i timer0 po 1 rejestrze. To razem osiem. A jeszcze pojemność liczników ustawiana-to jeszcze 4. To są różne częstotliwości...
' D.CH.ELECTRONICS INC ' Program sterownika rolety licznikiem jest port EEDR Config Portb = &B11111100 ' ustawiam pind.7 i 6 jako wejści dla S1 i S2 Portb = &B11111111 ' stan spoczynkowy Dodano po 9 Tak wygląda kod źródłowy do tego układu. Układ steruje pracą silnika DC pracującego na napięciu 12V. Sterowanie odbywa się poprzez zmianę polaryzacji za...
emarcus da się wogóle zastosować Twój pomysł w pętli? Próbuję i za każdym razem inne efekty :( Raz skonfigurowany i zastartowany timer1 lub inny, liczy impulsy lub przedzialy czasowe wg tej zadanej konfiguracji w kolko; nikomu to nie przeszkadza. Nie musisz go zatrzymywac lub startowac znow. Jesli zachodzi potrzeba wykorzystania jego uslug, wystarczy...
co to znaczy zegarek, licznik czasu rzeczywistego? Nie wiem czy do konca rozumiem twoj problem, bo chyba sam dokladnie nie wiesz co piszesz. Przerwanie moze ci sie wywolywac w roznych okresach czasu poniewaz timer0 i timer1 roznia sie iloscia bitow w counterze Dodano po 2 timer0 jest 8 bitowy, a timer1 16 bitowy Dodano po 1 i timer0 nie ma wyjsc na...
... Jak ustawić timer aby w poniższym programie aby robił pomiar ciśnienia co minutę ?... Przy taktowaniu 16MHz raczej musiał skorzystać z dodatkowego licznika programowego w przerwaniu, bo nawet Timer1 (16-o bitowy) z preskalerem 1024 to nadal będzie 15625 tyknięć na sekundę i bezpośrednio mógłbyś uzyskać co najwyżej lekko ponad 4-o sekundowy interwał.
Witam Chciałem zapytać, czy jest możliwość sprawdzenia, czy odbiornik DCF77 odebrał popranie sygnał DCF77 ? Występują sporadycznie u mnie takie sytuacje, że w nocy odbiornik DCF77 nie złapie sygnału i ponieważ mam na sztywno ustawioną aktualizacje, do PCF8563 zapisuje wartości Bhour, Bmin, Bsec, które niestety nieco się "rozbiegły" ( przeważnie minuty...
:D Reszta nie reszta w każdym razie działa jak licznik. :D Po każdej pętli jest podwyższone o 1 i wyświetla kolejne znaki. No ale nie o to tu chodzi. Ważne jest żeby wyświetlić więcej znaczków niż 8 A może można zrobić tak szybko CLS i zamianę znaków żeby nie było widać mrugania wyświetlacza?? Dodano po 1 A nie ma CLS TEXT albo coś takiego??
Jestem początkujący, studiuje Oślą Łączkę z EdW, zainstalowałem najnowszą wersie Bascoma Demo. Kupiłem płytkę AVT3500, złożyłem ją i wszystko działa poprawnie aż do tematu liczniki i niebogę załadować programu przykładowego, bo nie chce się wykonać funkcja ON TIMER0, gdy ją skasuje to program się ładuje, ale bez niej nie zadziała, a jeśli ona jest to...
Witam. Ostatnio postanowiłem napisać NA uC ATMEGA32 w języku BASCOM basic licznik rowerowy. Mam już znaczną część kodu, ale natrafiłem na problem. W zmiennej czas_jazdy_total przechowuję ogólny czas jazdy wyrażony w sekundach. Niestety taka postać nie jest przyjemna dla oka, więc należałoby zamienić ją do formatu godziny - minuty - sekundy. Tylko teraz...
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]...
Przerwanie od RFM12 [syntax=basic4gl] '*************************************** Przerwanie INT2 - od RFM12 Int2_rfm: Disable Int2 Disable Interrupts Flaga_rfm = 1 Sd_card = 1 ' zablokowany zapis do karty SD Gosub Rf12_receive D1 = Received_data ' ciag inicjujacy - $TEMP / $DATA Gosub Rf12_receive D2 = Received_data ' ciag inicjujacy - $TEMP / $DATA Gosub...
Witam. Mam następujący problem... Chce zrobić sobie na uP attiny2313 (płytka startowa avt3500) stoper i timer w jednym, z dokładnością do dziesiątych części sekundy, na LED. Dołączyłem do wyjść goldpin mojej płytki dodatkowe 2 przyciski bistabilne, pod porty PIND.2 oraz PIND.3, sterują one wyborem stoper/timer oraz gdy je "odklikujemy" zerują stan licznika....
licznik minut połączenia licznik minut połączeń licznik bascom
płyn wspomagania astra demontaż mastercook głośnik wymiana magnesu
whirlpool pralka świeci serwis whirlpool pralka świeci serwis
Lokalizacja bezpieczników kierunkowskazów Renault Trafic II Renault Trafic 2 - Szybkie miganie lewego kierunkowskazu