Nie znam się na bascomie, ale czy w petli do loop nie powinno być Pwm1a = X, b tak jak zostało napisane to wygląda jak by było z czytywanie raz z addc raz z pwm. I takie pytanie co do zadeklarowania częstotliwości czy to coś w ogóle da, w zasadzie funkcje delay i inne wykorzystujące opóźnienia po prostu wykonają się szybciej, czyli tak jak by zmniejszyć...
Przeglądając Twój program mam takie małe spostrzeżenie, a mianowicie w pętli głównej masz wywołaną procedurę Gettime - ' Call Gettime' - która działa na I2C. Co się stanie gdy podczas wykonywania procedury Gettime zostanie zgłoszone przerwanie od Timer'a?? Program przerywa wykonywanie procedury Gettime i skacze do obsługi Timera a tam jest wywoływana...
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.
Zegarek oprócz funkcji wyświetlania czasu ma pokazywać temperaturę i mieć możliwość sterowania z pilota (RC5). Normalnie (by default) Bascom używa Timer0 dla RC5. Jeżeli Timer0 masz zajęty do inego celu, więc potrzebujesz skonfigurować Timer2 dla RC5. e marcus
Pewnie w "fusach" masz ustawiony bit ckdiv8, powoduje on zmniejszenie częstotliwości taktowania ośmiokrotnie.
Dlaczego program główny jest podprogramem??? w _ustaw trzeba się odwołać do setdate: i settime: Trudno zrozumieć jak TO działa-dziwne że działa. Gdybyś dał własne komentarze a potem je "czytał ze zrozumieniem..."
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ś.
Rejestry przechowujące czas po uruchomieniu mają przypadkowe wartości. Musisz najpierw wpisać czas do zegara.
A skąd masz pewność że procesor pracuje z zegarem 16MHz? Odczytaj fusebity i zobacz jak skonfigurowany jest zegar.
Czy na początku programu ustawiłeś magistralę I2C: Config Scl = Portx.x Config Sda = Portx.x I2cinit Pisałem obsługę do zegara na tym układzie. Zobacz tutaj: [url=http://mirley.firlej.org/zegar_nixi...
Witam, tu w Zegarek docelowo będzie używany przez dziewczynę, więc musi być przejrzysty. - to już szowinizm...
Skoro jesteś początkujący szukaj artykułów o programowaniu w Bascom w archiwalnych numerach EdW (Mikroprocesorowa Ośla łączka). Wykorzystanie programów w innym języku moim zdaniem będzie trudne i bezcelowe. Bascom jest wyposażony w wiele gotowych procedur do obsługi LCD albo przetworników ADC i ma polski plik pomocy co jest dużą zaletą. Do odczytu temperatury...
Podstawa czasu - kwarc zegarkowy. Atmega8 bascom lub C, wyświetlacz lcd lub wyświetlacze 7 segmentowe. Kody zegarów są w internecie.
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 ***************** '***************************************...
Witam! Chciałem zaprezentować zegar mojego wykonania na uC Atmega8, soft został napisany w bascomie. http://obrazki.elektroda.net/76_12866477... http://obrazki.elektroda.net/48_12846569... http://obrazki.elektroda.net/32_12846578... http://obrazki.elektroda.net/17_12846578... http://obrazki.elektroda.net/81_12846578...
Dzięki. Pokombinuje coś z tym. Aktualnie walcze z timerami i próbą obliczenia prędkości z przyspieszenia i czasu na zegarze. Pozdrawiam
OK ;)
Na początku procedury przetwornika dodałem Disable Interrupts, a na końcu Enable Interrupts jednak nic to nie zmienia dalej zegar się zatrzymuje.
"Pewnie masz włączony w fusach dzielnik przez 8" Przecież ATmega8 nie ma dzielnika zegara.
Witam. Mam prosty program zegarka-termometru na lcd 2x16 atmega8 i kawrcu zegarkowym. Proszę o sprawdzenie programu. Pozdrawiam sjzwojtek [syntax=basic4gl]$regfile = "m8def.DAT" $crystal = 4000000 Config 1wire = Portd.7 'konfiguracja magistrali 1wire Config Pind.5 = Input Config Pind.0 = Input Config Pind.2 = Input Config Pind.6 = Input Set Portd.5...
delay w przerwaniu?! Nie przesadzasz? Dlaczego 2 razy ustawiasz TOIE2? Po co zerujesz TCNT2? Po co ustawiasz TOV2? Spróbuj najpierw sprawdzić ten kod z taktowaniem timera z podstawowego zegara, nie z kwarcu zegarkowego. Wtedy będziesz wiedział, czy problem leży w oprogramowaniu, czy w braku oscylacji.
wyłączyłeś podział przez 8 M8 nie ma dzielnika zegara.
W Bascom masz do tego dedykowane funkcje - poczytaj helpa - polecenia Config...
No właśnie jak odliczać te takty... Próbowałem za pomocą timera1 generować odpowiednie odcinki, ale już od pewnego czasu, nie wiedzieć czemu, wpisywanie wartości do licznika nie działa jak powinno. Ogólnie chodzi o to że przy zmierzonej częstotliwości obrotów np 10hz, wygenerować np 1000Hz...
W takim razie to co innego. Masz płytkę stykową więc zimne luty można chyba wykluczyć (no chyba że przy lcd?). Atmega 8 nie ma przypadkiem bitu odpowiedzialnego za podział częstotliwości zegara przez 8?
Mógłbym porzucić bascoma, gdybym tylko umiał przepisać ten programik (znaczy ten wkład) na inny język, ale też nie umiem. A z wyszukiwarki korzystałem, lecz niewiele mi to mówi. w zakładce Locks and Fusebits to wygląda zupełnie inaczej. Chyba, że da się najpierw wrzucić program tym Bascomem, a dopiero potem poprzestawiać bity, jakimś innym. (żebym jeszcze...
Zapomnij o takim pasaniu programów - w obojętnie jakim języku programowania. Przerwania są po to aby umieszczać tam króciutkie fragmenty kody, które zabierają bardzo mało czasu - na prawdę bardzo mało czasu. A ty cały swój program umieściłeś w obsłudze przerwania Timera - czyli wszystko postawiłeś do góry nogami i się dziwisz, że coś ci nie działa w...
Tego nie widziałem. Znalazłem za to informację że dotyczy to rezonatora pracującego jako generator wytwarzający główny sygnał zegarowy: http://obrazki.elektroda.net/9_123515576... A po drugie, akurat w ATMega8 jest błąd w krzemie i te wewnętrzne kondensatory nie działają (tzn. FuseBit ich nie włącza). Użycie rezonatora jako źródła sygnału dla...
Rezystorami 3k3 lub 4k7 podciąga się linię danych i linię zegara do Vcc.
Nie pomogło... No nic, będę jeszcze szukał i próbował, ale dziękuje za pomoc i pomysły. Jeśli uda się uruchomić zegar to dam znać.
Program działa i nawet licznik się zatrzymuje tylko jaką mam pewność że jest to 250ms? chodzi mi o to żeby uzyskać jak największą dokładność. Dzięki za ten przykład, spróbuję... Nie wiem dokładnie , do czego Ci to potrzebne ale przykład z przerwaniem , który podałem wcześniej działa z dokładnością do ~2 cykli zegara(500)ns.Czy to niezbyt dokładnie...
Na poczatku daj dyrektywe $crystal=1000000. ATmega fabrycznie pracuje z wewnetrzny zegarem 1MHz mimo podpietego kwarcu. Trzeba przestawic fusebity zeby zmusic procek do pracy z kwarcem. Pozdro Dexter
Zupełnie inaczej. Obsługa przerwania, która tylko ustawia znaczniki, zupełnie nie ma sensu. W przerwaniu timera zgłaszanym np. 50 (20..100) razy na sekundę, czy poprzednio przycisk był zwolniony, a teraz jest wciśnięty. Jeśli tak - ustaw znacznik do ew. wykorzystania w ew. pętli zdarzeń (to dość nieszczęśliwe rozwiązanie, ale w Bascom i u początkujących...
zrobiłem tak i chyba juz nie gubi sekund ale teraz mruga tak szybko że ledwie widać godzine :( czy nie da sie tego zrobić tak żeby wyświetlacz się odświeżał dokładnie gdy zmienia sie sekundnik ??
Witam, Program w zasadzie jest ok, jedyne do czego bym się doczepił to umieszczenie polecenia "Start Watchdog" w głównej pętli programu, zamiast przed, a w pętli tylko polecenie "Reset Watchdog". Po drugie widać, ze za bardzo nie zależy Ci na oszczędności prądu (zegar 8MHz) to ja bym nie wyłączał przetwornika adc, bo po włączeniu pierwszy pomiar jest...
Getrc5(address , Command) Command = Command And &B01111111 Set Odebr_kod odebr_kod zawsze w tym przypadku masz 1 niezależnie czy kod przyszedł czy nie widzę że odbiornik podłączyłeś do int0. nie ma sensu programować tego przerwania. przekombinowałeś i program działa ci źle. wywal całą obsługę przerwania int0. . Pomieszało ci się coś z bascomem...
Witam W samochodzie podpinasz się dzielnikiem do zegarów do styku nr 6 wtyku B. Dobrze było by na początek spr miernikiem napięcie jakie tam występuje przy pełnym i pustym (może być rezerwa) zbiorniku. Potem trzeba dobrać dzielnik o odpowiedniej proporcji i o takiej łącznej oporności aby nie fałszował wskazań zegara. Środek dzielnika podpinasz do uC...
Nie wiem czy wiesz, ale PB5 w Tiny13 to Reset, chyba że tę funkcję pinu wyłączysz. Skorzystaj, po prostu, z innego pinu i odpowiednio zmień w kodzie. Nie zapomnij podciągnąć pinu Reset do VCC jakimś 10K-15K rezystorem. http://obrazki.elektroda.pl/2324408600_1... Dodatkowo, żeby dobrze liczył czas, powinieneś zmienić w kodzie wartość...
Sprawdzałeś na starszej wersji BASCOM'a?
Właśnie przed chwilą też uruchomiłem zegar na ATMega8 choć wykorzystujący kwarc 32kHz (tzw. zegarkowy) niezależny od generatora głównego procesora. Jeżeli chcesz pozostać przy swoim pomyśle (równie dobrym) to w BASCOM-mie po kompilacji przejdź do opcji programatora gdzie będziesz miał trzy zakładki FlashROM ,EEPROM i Lock and Fuse Bits. Więc wybierz...
Zmieniłem wartość Load Timer na 100 i dalej program idzie w "krzaki" chyba zacznę generować sygnał dla samego zegara a ten PWM daruje.
Do tego najlepiej użyć PWMa. Na medze ósmej musisz uruchomić timer1. [syntax=basic4gl] config timer1 = PWM , pwm = 10 , compare a pwm = clear up , compare b pwm = disconnect , prescale = 1 Dim opu as word do for opu = 0 to 1023 pwm1a = opu waitms 3 next opu for opu = 1023 to 0 step -1 pwm1a = opu waitms 3 next opu loop end [/syntax] To tak na szybko....
witam. Po pierwsze podczas "gadania" z DSem wyłącz przerwania (na czas konwersji temperatury znów je włacz oczywiście), nie możesz bowiem transmisji 1wire zakłucać przerwaniami, w reszcie działania programu przerwania zostaw włączone, po drugie zatrzymania przerwań moą mieć wpływ na pracę zegara....będzie się późnić. A może by tak odczytywać DSa co...
Używam procesora Atmega8, i programuję w Bascom Czy ktoś wie jak zablokować wewnętrzny zegar, w ten sposób aby procesor używał tylko zewnętrznego? :?:
Kurna, ale jazda Internet mi sfiksował, godzinę szukałem tego posta, zapisałem go już do ulubionych, żeby nie szukać jak głupi. O co chodzi z tym pomógł i punktami na forum, bo nie czaję. Mam neta od niedawna, a informatyki się uczyłem w czasach, 486SX. Do odliczania czasu wcale nie trzeba układu RTC, daje to tylko tyle, że można go zasilać z osobnej...
Wszystko zależy jak rozwiązano w danym przypadku sposób liczenia interwałów taktowania zegara, ale typowo w elektronicznych układach odmierzających czas są montowane te typowe kwarce 32768 kHz w cylindrycznej oprawce. Owe kwarce znajdziesz w zegarkach czy to wskazówkowych kwarcowych z budzikiem czy też w płytach głównych PC :) Jeżeli przycisk masz na...
Mój błąd, już poprawiłem:D
Skoro puściłeś przez ULN2803A to za pewne zapomniałeś o pull-up dlatego "wisi". Jeśli chodzi o rezystor to ok 10k.
No cóż, jeśli chcesz nadal brnąć w ślepy zaułek i nie przekonują Ciebie wskazane argumenty , to oczywiście działaj tak dalej. Jednak, gdy przyjdzie Ci zrealizować jakiś projekt, w którym napotkasz na ograniczenia BASCOMa i zostaniesz "z ręką w nocniku", wtedy zrozumiesz jak potworny błąd zrobiłeś i ile czasu straciłeś, tak jak wielu przed Tobą :) Powodzenia...
Jak jest z dokładnością zegarka RTC w Atmega8? Słyszałem plotki, że nie chodzi to zbyt idealnie. Potrzebuję zrobić zegar do zliczania tylko dni i zastanawiam się czy jest sens stosować zewnętrzny układ RTC. Układ musi mieć podtrzymanie zegara z baterii/kondensatora w przypadku zaniku zasilania. Śmiało możesz użyć np. Timer1 w trybie CTC jako generatora...
Dla kwarcu 4MHz jest to prescaler 64 i początkowa wartość licznika: 193 Dla kwarcu 8MHz prescaler to: 64 i początkowa wartość licznika: 131 To pokazuje kalkulator. Chciałoby się zakrzyknąć : a nie mówiłem :-P Aby wpisać do Timer2 początkową wartość, to używamy poleceń: TCNT2=początkowa_wartosc Timer2= początkowa_wartosc Counter2=początkowa_wartosc...
$regfile = "m8def.DAT" $crystal = 4000000 Config Lcdmode = Port Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 do lcd " CGYYICG" loop end. i cz napewno procek chodzi na zewnętrznym kwarcu, może chodzi na wewnętrznym zegarze 1Mhz....
Nauczyć się pisać oprogramowanie w języku; do wyboru, Bascom, C++, ASM
Chodzi mi jak napisać kod w bascomie do procka Atmega8 żeby zliczał takty zegara podczas występowania stanu niskiego.
1. Nawet jak by była wybrana inna opcja niż druga to procesor i tak przyjął by dowolny sygnał zegarowy. Może być od kilku Hz do 20MHz. Podaj z 1...20MHz i będzie dobrze. 2. Deklaracja w BASCOMie niema nic do rzeczy. To tylko informacja dla kompilatora o spodziewanej częstotliwości taktowania. Możesz zadeklarować i 1Hz i 100000000000000Hz a program dalej...
Witam. Poniżej zamieściłem program w bascomie który właśnie pisze (jeszcze nie skończony) i mam taki oto problem: Twój problem , to notoryczne ignorowanie pliku pomocy Bascoma ;) Powiedz mi , co to ca dziwolągi przy definiowaniu :?: '----KONFIGORACJA WYSWIETLACZA----.' Config Lcdpin = Pin , Db4 = Pa.5 , Db5 = Pa.4 , Db6 = Pa.3 , Db7 = Pa.2 , E = Pa.6...
W zasadzie co ten program robi? Bascom jest wolny- ale procesor wykonuje instrukcje co 0.125us przy tym zegarze. Załóżmy 1000 cykli w pętli- zajmie mu 125us policzenie stanów 0 na wejściu i co dalej? Od wykrycia 0 powinien zblokować na jakiś czas zmianę stanu, odliczyć czas w ms a nie w us i zmienić stan wyjścia. Timer i ewentualnie przerwanie.
Przeanalizuj ten fragment i pomyśl co trzeba usunąć, bo tego nie używasz: If Wys_on = 1 Then Cyfra1 = _hour / 10 Cyfra2 = _hour Mod 10 Cyfra3 = _min / 10 Cyfra4 = _min Mod 10 Else Cyfra1 = 11 Cyfra2 = 11 Cyfra3 = 11 Cyfra4 = 11 End If
No, tak dobrze to nie jest. AVR-y (a w nich timery) nie mogą poprawnie zliczać impulsów o częstotliwości większej niż połowa częstotliwości zegara zakladając na wejsciu wypełnienie przebiegu 50%. Niezbędne będzie zatem zastosowanie preskalera. Proponowałbym ATMEGA8 z kwarcem 16MHz i z prescalerem /4 zbudowanym np z cyfrówki 74F74. Mamy zatem poniżej...
Witam Zwykle w zegarach potrzebna jest kropka, więc potrzebny Ci jest ósmy bit. Pozdrawiam
Jeśli nie potrafisz to zrób to prościej. Podłącz zewnętrzny kwarc 32,768kHz (zegarkowy); Config Clock = Soft Procedura zegara używa specjalnych zmiennych: _day , _month, _year , _sec, _hour, _min Wszystkie są typu Byte. Można je modyfikować bezpośrednio: _sec = 1 Sprawdź, o ile się spieszy (opóźnia). Różnicę koryguj warunkiem któregoś dnia np o północy.
Hmm, ale typ układu? Jak to się ma np. do PCF8583 (zegar) i pamięci At24Cxx (eeprom) - adresy bazwoe takie same...
Fredy - coś przekombinowałeś. Nie znam składni Bascom, ale to będzie coś raczej jak: if (m and 4) = 4 then Może wystarczy w warunku "m and 4" - nie wiem, jak Bascom ewaluuje wartości Boolowskie i nie chcę tego wiedzieć. A teraz napisz to dla potomnych w poprawnej składni Bascom... Z góry dziękuję.
http://www.elektroda.pl/rtvforum/topic32... http://www.elektroda.pl/rtvforum/topic10... http://www.elektroda.pl/rtvforum/topic22... Na początek może jakiś AVR, np. atmega8
Siema, Moje gratulacje :D Po raz pierwszy chyba widzę na forum projekt zegara bez PCF'a i na dodatek nie napisany w bascomie... (Mój będzie kolejny jak wyląduje w obudowie :P). Jak widać jeśli "się chce" to można zbudować układ, który jest w miarę optymalnie zaprojektowany- nie mam się do czego doczepić... Dodał bym jedynie kondziorki przy kwarcu 32768Hz......
No widzisz, zawsze tak robię, nawet przy skomplikowanych projektach. Na płytce jest wiele innych rzeczy, m.in RTC i zasilanie do niego. Te 2 elementy po lewej stronie uC to są przyciski do ustawiania godziny. I nie mam zwyczaju osobnego nazywania każdego elementu, także na płytce jest "lekki" chaos... :| (at)tronics: docelowo ma tam być wyświetlana...
c1 to przerwanie na nodze procesora atmega8 pod tytułem "ICP" Portb.0 wystarczy że zamiast pod int0 podepniesz się tutaj.
Witam. Jestem już dawno zalogowany na elektrodzie ale jeszcze nic nie napisałem więc czas zacząć. Odnośnie programu w BASCOM'ie to mogę z przyjemnością pomóc rozwiązać kilka problemów. Sam wykonywałem podobny układ dla znajomego (timer fotograficzny) było to na mikrokontrolerz AT89C2051. Nie jest zbyt dokładny ale takie miał założenia. Jeśli się na...
Rezonator nie był na kablach (po co?) był zaraz obok, ale brak kondensatorka 100nF wystarczył, aby zegar źle działał.
Nową ATmega8515 musi wykryć. Programator: http://mirley.firlej.org/programator_stk... Program: PonyProg 2000, BASCOM-AVR
No mam, z wewnętrznego zegara. Ustawione w fuse bitach
The calibrated internal RC Oscillator provides a fixed 1.0, 2.0, 4.0, or 8.0MHz clock. Przyniesiona ze sklepu M8 pracuje na wewnętrznym zegarze 1 MHz! Spróbuj $crystal = 1000000
Kolega R-MIK nie wspomniał o najdokładniejszym zegarze na Ziemi, mianowicie o pulsarowym zegarze w Gdańsku. Kolego janek1815, pisałem o oprogramowaniu, nie o konkretnym języku programowania. Czytajcie proszę uważniej moje posty. Zastanawiam się, dokąd zmierzamy w tej dyskusji. Czy dyskusja jest na temat ? Nie jest to mój pierwszy zegar. Były zegary...
Zrobiłeś to co sugerowałem z GND? Pokaż ujęcie z drugiej strony oraz zdjęcie tak, by można sprawdzić podłączenie do programatora. BASCOM + zegar OK, ale kolejne już sobie odpuść.
To tak prosto sie pisze w dwóch linijkch wyjasnień, tylko ja bym wolał kod w bascomie :cry:
Delay- to się czasem ustawia w Bascomie dla wolnych zegarów procesora. No to jak dla Atmega8 chodziło i nic nie było zmieniane to nie wiem. Zrób undo- zaprogramuj Atmega8. Czymkolwiek. ATmega16 jest prawie taka sama.
Bascoma nie znam więc nie będę się w tym temacie wypowiadał. Natomiast uwaga co do multipleksowania: To nie ma sensu. 1.Nie będziesz mógł uśpić procesora, bo będzie musiał się zajmować odświeżaniem stanu diod. 2.Obniżenie poboru prądu dostajesz z tego, że każda dioda pracuje np. przez 1/10czasu. To samo możesz uzyskać zwiększając odpowiednio rezystor,...
Ja chyba zaraz zaczne czytać książkę o bascom i zrobie to na atmega8, 24c16 i LCD 2*16...
Kolega Xury ma oczywiście rację. Dziękuje za pomoc. Przy Atmega32 wejście podczerwieni połączone jest z PD6 (ICP1) a nie PD5 (OC1A) a przy Atmega8 powinno być (ICP1) PB0. Program działa na Atmega8 prawidłowo przy wewn. zegarze 8MHz, przy 10MHz nie zawsze łapał kody pilota. Temat zamykam.
Jeśli chodzi o zegar to szczerze nie wiem o co Ci chodzi. DS1307 którego Wybrałeś to jest właśnie RTC liczy on czas niezależnie od tego czy ma zasilanie czy nie, po to jest bateria obok niego. Zamiast przekaźników lepiej użyć Triaka i optotriaka. Po co ten potencjometr na schemacie? Nie lepiej użyć normalnego zasilacza tylko taki z gniazdem zapalniczki?...
Prawdopodobnie podczas inicjalizacji pojawiają się zmiany na przewodach, co powoduje rozsynchronizowanie się nadajnika i odbiornika - nie ma wyraźnego końca bajtu, więc utrata jednego impulsu zegara (lub nadmiarowy impuls) spowoduje przesunięcie się danych pomiędzy nadajnikiem a odbiornikiem. Wyglądać to będzie tak, że wszystkie bajty będą przesunięte...
Ma być External Cristal Oscilator 3.0-8.0MHz w/g doc2502.pdf (s.24), czyli CKSEL0-3 niezaprogramowane (1111). Fusebit KL(SUT1:SUT2) też najlepiej dać na "11". Fusebit "F" (CKOPT) z Fusebits High można dla stabilniejszego zegara zaprogramować (czyli 0).
A czy przypadkiem w procesorze atmega 8 nie ma w fuse bitach bitu dzielącego zegar przez 8 ? Trzeba go wyłączyć.
Hej, Jeśli chcesz płynnie regulować współczynnik wypełnienia to musisz wybrać jeden z modów PWM i wtedy będziesz skazany na jedną z kilku częstotliwości wynikających z zegara systemowego i tego jak ustawisz prescaler, Jeśli chcesz płynnie regulować częstotliwość to wybierasz mod CTC(clear timer on compare) ale będziesz miał wtedy stałe wypełnienie,...
w ten sposób to raczej nie przejdzie chodzi o to że timer1 działa jako przerwanie a gdy wykorzystuje do obliczania impulsów drugiego tajmera czyli timer0 to dzieją się cyrki wyśiwetla mi np co druga sekunde itd wszystko to na atmega8
Moze te procki nie sa jeszcze do konca zdechle. Na poczatku podlacz zewnetrzny zegar do wejscia rezonatora - moze procek ozyje.
jeśli zle ustawiłeś fuse bity od zegara i nie chodzi to spróbuj podpiąć Xtal2 z tego działającego procka z Xtal1 tego niedziałającego i wtedy spróbuj ustawić na wewnętrzny. potem podłącz do niego kwarc i przestaw na zewnętrzny kwarc. z tego co pamiętam to w bascomie stawiasz ostatnią pozycje (1111) ale to jeszcze musisz sprawdzić. co do tego at90s8515...
nie pomogę Ci z bascomem... nie używam i nie mam zamiaru.
A jaki masz wogóle kod? Skoro masz zegar RTC to po co Ci wait(które jest niedokładne i NIE SŁUŻY DO ODMIERZANIA CZASU)? Sygnał zegarowy nie idzie magistralą I2c - nią komunikujesz się z zegarem i odczytujesz odpowiednie rejestry zawierające dane o godzinach i minutach.
'Atmega8 $regfile = "m8def.dat" $crystal = 8000000 . Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Clock = Soft Enable Interrupts Time$ = "00:00:00" Do Lcd Time$ Wait 1 Loop End 'i juz masz zegarek Dopisz do tego zmienne pomocnicze...
http://obrazki.elektroda.net/96_12810965... Witam! W wolnych chwilach postanowiłem zmajstrować sobie zegarek,który to w całości zaprojektowałem samemu włącznie z programem napisanym w BASCOMIE. Zegar posiada funkcję budzika oraz podtrzymanie czasu po zaniku zasilania (bateria CR2032). Oraz skromnie 5 przycisków do ustawiania czasu i budzika...
Zachęcam do zapoznania sie z datasheetem dostępnym na stronie Atmela. Według niej w trybie idle zatrzymany zostaje zegar CPU, zegar Timerów działa nie przerwanie.
NIE wolno robić czegoś takiego żeby zmienna co chwile była zapisywana do EEPROM-u dlatego że on ma określoną ilość zapisów minimum 100.000 / + . Ja bym si polecił jakiś SRam na i2C albo SPI z podtrzymaniem bateryjnym może być nawet zegar RTC PCF8583 . Co do karty i komunikacji z PC tu [url=http://www.dharmanitech.com/2009/01...
http://obrazki.elektroda.net/22_12752238... Witam. Dzisiaj chciałbym zaprezentować mój projekt zegara VFD na lampie IW-18. Jest to kontynuacja wątku kolegi Pier -> http://obrazki.elektroda.net/95_12752233... Wszystko tak szybko się odbywa że wyświetlacz w ogóle nie miga :D Program został napisany w BASCOMie - zajmuje ~64% pamięci Flash....
Poniżej program. Nie forsuj wyświetlacza dużą częstotliwością zegara. Na początek ustaw Megę na nie więcej niż 2MHz.
Zastosuj dostępny kwarc zegarowy 4194304Hz. Config Timer1 = Timer , Prescale = 64 Timer przepełni się co 1 s bez wartości początkowej! Włączasz go i zapominasz, że istnieje. W przerwaniu tylko Incr sekunda. Mam zegar na ATMEGA8 z budzikiem ustawiany z pilota RC5. Chodzi ok.
Chyba przypadkowo zablokowałem procka. Połączenia są OK, próbowałem z różnymi ustawieniami S_SCK. Tak ustawiłem bity do wcześniej wrzuconego programu http://obrazki.elektroda.pl/8533311200_1... wg Burn-O-Mat pola zaznaczone - bit=0 zaprogramowany, pole odznaczone - bit=1 niezaprogramowany. Wgrany był program zegara, wykorzystujący zewnętrzny...
To jest dokladnie 100 taktow zegara 8MHz czyli ustawiasz tryb CTC z preskaleram =1 a wyjscie jako "zmieniaj na przeciwny".
Witam. Korzystam z programatora MultiTool, który symuluje stk500. Nowa ATmega88PA identyfikuje się prawidłowo z ustawieniami na wewnętrzny rezonator 8MHz z preskalerem przez 8. Po przestawieniu na wewnętrzny rezonator 128kHz przestaje się odzywać. Co ciekawe po wgraniu fuse bitów pokazuje już nie 128kHz tylko EXTERNAL CLOCK. Podejrzewam, że jakiś błąd...
Witam Rozwiązanie z 4046 i dodatkowym dzielnikiem odpada. Trzeba kombinować z przeróbką Twojego patentu, lub z PLL. Dziś wieczorem będę robić coś w tym kierunku. Na warsztat biorę ATmega8 z zegarem 8Mhz, zobaczymy co z tego wyjdzie. Pozdrawaim
bascom zegar atmega8 zegar bascom atmega8 atmega8 zegar bascom
schemat woltomierza analogowego dioda kierunek przewodzenia programy skanera brother
momenty dokrecania samsung rb34k6232ss
Montaż kół zębatych w zegarku kwarcowym zasilanym AAA Odkurzacz workowy czy bezworkowy - który wybrać?