Jaki masz programator? Ściągnij sobie lepiej MkAvrCalculator. Jest to naprawdę bardzo przyjemny programik i nie ma możliwości abyś źle ustawił fusebitów i zablokował procka. W bascomie ustawianie fusebitów jest dość trudne i może przysporzyć sporo kłopotów. Pozdrawiam.
Witam ogarnąłem już dużo na temat programowania w bascom, tylko mam kolejny problem, mianowicie chciałbym zaprogramować obsługę serwa pilotem nadającym w RC5 lecz gdy połączę obsługę rc5 i serwa mam takie błędy i nic nie działa: ........ Pojedynczo programy działają ok. ................. Rc5+ servo (nie działa) Pozdrawiam. Zauważ że zarówno 'Config...
] Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dlatego napisałem..."Nie znaczy to jednak..." w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość taktowania 8MHz i prescaler 256. Przecież czas (1 sec.) odmierzasz timerem0, który jest 8-bitowy...
OPIS FUNKCJI LOAD Action Load specified TIMER with a reload value. . . . It will do the calculation. (256-value) So LOAD TIMER0, 10 will load the TIMER0 with a value of 246 so that it will overflow after 10 ticks. TIMER1 is a 16 bit counter so it will be loaded with the value of 65536-value. Czyli u ciebie ładuje 65536 - 65436 = 100 Przepełnienie właśnie...
Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop End . O ile wyjaśnienie podane przez Tomq jest błędne(!) Load...
Tak co jeden cykl. Prescale jest 64 wiec nie tu chyba problem. Nic sie nie dzieje na wyswietlaczu a w symulatorze tez nie pokazuje zmian zmiennych. To nie jest jeden cykl, ani też 64 jakby wynikało z podziału prescalera. Wszystko można odczytac w symulatorze, tylko musisz potrafic posługiwac się jego ustawieniami i funkcjami. Poniżej masz przykład...
Witam. Mam problem ze startem TIMER'a Program: [syntax=basic4gl]$regfile = "m8def.dat" 'najpierw określamy typ proca $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portd.0 , E = Portc.1 , Rs = Portc.0 Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down...
Tylko jak teraz dopisać tą konfiguracje led? Tak jak chcaiłem z rgb zrobić
Zmieniłem FuseBity i faktycznie odmierza tak jak powinien. Napisany przeze mnie program niestety nie działa. Co ciekawe napisałem inny w celu sprawdzenia działania instrukcji warunkowych i pętli: [syntax=basic4gl] $regfile = "m8adef.dat" $crystal = 8000000 Config Pind.0 = Output Config Pind.1 = Output Przekaznik1 Alias Portd.0 Przekaznik2 Alias Portd.1...
http://obrazki.elektroda.pl/7139682100_1... Witajcie Wlasciwie jest to moj pierwszy temat na forum wiec prosze z gory o wyrozumialosc. Przepraszam rowniez, za brak polskich fontow, ale pomimo prob wielu nie ogarniam wiekszosci ogonkow z racji lokalizacji :/ Przyszly swieta, czas urlopu i odpoczynku... Niestety wraz ze swietami przybyla...
Spróbuj jej na początku dać disable timer0 , a na końcu enable timer0.
Zacznijmy od tego, że w Tiny2313 nie ma ADC więc tu pytanie jest bezprzedmiotowe :D W Tiny261 timery są ciut nowsze niż w przypadku Mega8 i Tiny13. Wystepują tam już podwójne rejestry dla Timera0. Są to odpowiednio A i B czyli COMPARE 0 A i COMPARE 0 B. Zero odbosi się właśnie do Timera 0 Ogólnie dla nowszych prockow AVR jest to normą że tych rejestrów...
1. BASCOM 2.0.7.5 2. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portd.7 , Rs = Portb.0 Config Timer0 = Timer , Prescale = 256 Enable Timer0 , On Timer0 Przerwanie Stop Timer0 Config Portb.5 = Output : Set Portb.5 'podświetlenie...
To źle w takim razie zrozumiałem Twój poprzedni post. Jednocześnie proszę o wyrozumiałość, ponieważ nigdy do tąd nie miałem doczynienia z pisaniem jakicholwiek programów, więc wszystko co czytam na ten temat jest dla mnie nowością. Za C nawet się nie biorę. Bascom wydał mi się najłatwiejszy do opanowania i dlatego zaopatrzyłem się w książkę Góreckiego...
"Tą" liczbę masz zapisaną w zmiennej Liczba_przerwan_tim0 a nie w ośmiobitowym (czego się chyba obawiałeś) rejestrze timera0 - więc nie ma problemu.
Nie bardzo jest co komentować, bo najważniejszej procedury (ISR) nie pokazałeś. Jedno jest pewne: Taka konstrukcja i wywołanie procedury 800_ms zakończy się opóźnieniem programu głównego o parę mikrosekund i tyle. Zmienna Licz_8ms będzie się inkrementować tzw. "sobie a muzom". Co więcej, nawet jakbyś poprawnie skonstruował tą procedurę to dalej zamiana...
[syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 Dim Co4ms As Byte Dim Flaga As Bit Config Pinb.1 = Output Config Timer0 = Timer , Prescale = 256 On Timer0 Zegar Enable Timer0 Start Timer0 Co4ms = 0 Flaga = 0 Portb.1 = 0 Do If Flaga = 1 Then Flaga = 0 Incr Co4ms End If If Co4ms = 250 Then Co4ms = 0 Toggle Portb.1 End If Loop Zegar: Set Flaga...
trzeba 4 postow na elektrodzie, zeby w koncu zabrac sie za datasheeta... niezle. 4\/3!! Takie rzeczy tylko w Bascomie A co ma Bascom do fuse bitów?
Piszecie, piszecie a nikt nie zobaczył jaki SYF jest w przerwaniu: [syntax=basic4gl] Wyswietl: For N = 1 To 4 Step 1 Portb = Lookup(n , Katody) Portd = Lookup(l(n) , Tablica) Waitms Czas Next N Load Timer0 , 125 Return [/syntax] Zjechaliście go za Waitms i słusznie, ale zobaczcie jak magicznie zrobił multipleksację na For-Next. Jajca niesamowite. Rekinisko,...
A tak w szczególe to na TIMER0 nie ma PWM w M8 . Jest natomiast na TIMER2
Mam takie coś. Co jest nie tak? $regfile = "m8def.dat" $crystal = 8000000 $sim Config Timer0 = Timer , Prescale = 64 Config Portd = Output Portd.0 = 0 Portd.1 = 0 Portd.2 = 0 Dim Sekundnik30 As Byte Dim Minutnik As Byte Dim W As Byte Led1 Alias Portd.0 Led2 Alias Portd.1 Led3 Alias Portd.2 Stop Timer0 Timer0 = 0 Do Start Timer0 Wait 1 Led1 = 1 Wait...
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 ***************** '***************************************...
Może sie komuś przyda ... działajacy kod sprawdzałem testowalem niby wszystko działa czestotliwosc PWM = 123 Hz $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output 'Konfiguracja 4 pinów wyjściowych PWM Config Pinb.2 = Output Config Pinb.3 = Output Config Pinb.4 = Output Dim Wyp(4) As Byte 'zmienne wypełnienia Dim Licz...
Witam , dzięki za podpowiedź :) jeśli chodzi o datascheet, to przeglądałem, ale nie od razu trzeba pojąć to w mgnieniu oka :) . Propozycja ZbeeGin wydaje się dużo prostsza i przejrzysta. zrozumiałem zasadę działania takiej konstrukcji, Timer0 ma być generatorem PWM a Timet1 ma odmierzać odcinki czasu i przepełnienie wysyłać na końcówkę taktującą Timer0....
Tak poza tematem, czy to sie nie pisze "Load Timer0, 100" ? i zrob timer0=cos na starcie i w przerwaniu.
BASCOM 8051 i BASCOM AVR odmennie traktują RC5 dlatego nie ma się co sugerować przykładami nie odnoszącymi się do właściwego kompilatora. W AVR, TIMER0 a INT0 są zupełnie niezależne. Nie ma tu opcji zewnętrznego bramkowania licznika jak w rodzinie 8051. W AVR w ogóle nie ma takiego rejestru jak TCON!
Myślę że forum jest nie tylko po to by pytać. Kolega zdążył zamknąć wątek i napisał że Bascom nie pozwolił na skonfigurowanie Timera i musiał to zrobić na rejestrach. Nie wiedział jak, a ja chciałbym dla potomnych zostawić instrukcję. Dołączyłem ten post i odblokowałem temat. Tak to wygląda i się kompiluje: [syntax=basic4gl]$regfile = "m128def.dat"...
Dziwne jest to że w starszej wersji ten kod działa, a raczej nie powinien :). W helpie pisze że funkcja GetRC5 wykorzystuje timer0 i przerwanie od tego timera. Umieszczenie tej funkcji w przerwaniu INT0 wydaje się być błędne. Przerwanie od timera się nie wykona, dopóki nie zakończy się obsługa przerwanie INT0.
Config Timer0 = Timer , Gate = Internal , Mod = 2 GATE ??? Syntax CONFIG TIMER0 = COUNTER , PRESCALE= 1|8|64|256|1024 , EDGE=RISING/FALLING , CLEAR TIMER = 1|0 CONFIG TIMER0 = TIMER , PRESCALE= 1|8|64|256|1024 Jednosci = Licznik Mod 10 Jednosci - byte Licznik - word ........ = nie da rady
Witam Procesor przechodzi w stan Powerdown po ustalonym czasie kiedy zmienna L=1. Ustawiłem wybudzanie z przycisku (podanie 0 na int0) no i nie działa . Przepatrzyłem już chyba wszystkie tematy na forum i robiłem z milion kombinacji. Już nie mam pojęcia co robić czy to może być wina BASCOM, procesora , prosilbym o konkretne wskazówki jak ustawić aby...
(...) timer1 wykorzystałem do multipleksowania wyświetlaczy, timer2 odpowiedzialny jest za odliczanie czasu asynchronicznie a timer0 służy do odbioru komend w RC5. Gdyby użyć jakiś zewnętrzny zegar RTC to by zwolnił ci sie jeden timer2. Zaś jako czujnik oświetlenia można by było użyć którejś z diod LED, wykorzystująć ją jako FOTODIODĘ. Pozdrawiam
Witam! Z pewnością chcesz wykorzystać mechanizm "polling" :) jak to się ładnie nazywa w dokumentacjach. Po pierwsze w ATmega8 nie ma flagi Tirf.0, jest natomiast flaga Tifr.0 o którą zapewne Ci chodzi, dlatego pewnie nie do końca che działać. ;) Pozatym aby używać przerwań w ATmega8 musisz też odblokować globalny system przerwań, ponieważ po starcie...
Witam serdecznie. Ostatni kod przepisałem żywcem z książki "Programowanie mikrokontrolerów w języku BASCOM" autorstwa Marcina Wiązania. Dioda miga ciut za wolno. Tu mi ręce opadają, dlatego zwracam się do Was o pomoc. Kod: Nie wierzę w to co napisałeś!!! Autor ksiązki nie zrobiłby takiego błędu... Podajesz błędne instrukcje, i oczekujesz poprawnej...
kolega john_t myli się co do możliwości swobodnego ustawiania priorytetów przerwań. Nie wiem czy zauważyłeś ale nie pisałem własnego tekstu tylko zacytowałem tłumaczenie z oryginalnego helpa Bascom AVR. Więc wg Ciebie to nie ja się mylę tylko autorzy helpa czyli (c) Zbigniew Gibek, 2002-2003 (c) MCS Electronics, 1999-2003 Pozdrawiam.
Szanowni Panowie! Mam prośbę, skupmy się na sednie problemu. Atmel wyraźnie wskazuje, że atmegę8 można zastąpić atmegą88. Przygotował stosowną notę, w której opisuje związane z tym problemy, link do noty został uprzejmie podany w jednym z wcześniejszych postów. Ja rozumiem, że procesory nie są idnetyczne, ale ... proszę o uwagę ... napisałem w moim...
Ustawiaj żądaną wartość i jak się nie będzie zgadzała z aktualna to samo się doreguluje ;) [syntax=vbnet]Dim Zadane_pwm As Byte, Aktualne_pwm As Byte On Timer0 Co_jakis_czas Do 'w celach prezentacji Zadane_pwm = 255 Wait 5 ' (przerwania przerywają Wait więc nie ma strachu) Zadane_pwm = 0 Wait 5 Loop Co_jakis_czas: Select case Aktualne_pwm Case Is <...
Config Timer0 = Timer , Prescale = 64 On Timer0 Odmierz_1s 'podprogram wykonywany podczas wystapienia przerwania Dim Licz_8ms As Byte 'deklaracja zmiennej Enable Interrupts 'aktywacja globalnego systemu przerwan Enable Timer0 'aktywacja timera0 Counter0 = 131 'wpisanie wartosci początkowej do timera0 Dim Sek As Byte 'deklaracja zmienna zawierajaca...
WItam :) Zwracam sie do szanownych doświadczonych kolegów o podpowiedź. Bawię się ostatnio mikrokontrolerkiem atmega8 w sterowanie servem (hitec hs-55). Program piszę w Bascomie i bardzo chciałbym załapać jak sensownie uzywać timera i przerwan (nie chcę uzywać bascomowskiego config servo). Po pierwsze... Czy na 8 mhz kwarcu mogę sterowanie sensownie...
Jestem świadomy ze kiedyś będę żałował, być może już żałuje bo jakoś nie potrafię nawet zacząć pisać w C. Napisałem cześć programu w Bascom działa mi funkcja sekund (zegar powinien pracować po podłączeniu mostka H) tylko mam problem z minutami. Rozumiem ze muszę tak przeliczyć częstotliwość aby możliwe było przemnożenie dla 1 s jak i 60 s. Kombinuje...
Witam wszystkich forumowiczów. Jestem początkujący w programowaniu AVR atmega8 w bascomie. I mam pytanie. Chciałbym aby przekaźnik podłączony (oczywiście przez tranzystor i rezystor)do portu D7 załączał się i rozłączał dokładnie co 1s. Chciałbym to zrobić na dokładnie identycznym schemacie postępowania programu taki jak napisałem gdyż łatwo mogę zmieniać...
próbowałem skompilować następujący kod: $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output Portb = &B00000000 Config Portd = Input Portd = &B11111111 Dim N As Integer Config Timer0 = Timer , Prescale = 64 Enable Interrupts Enable Timer0 On Timer0 Co_16ms Do Debounce Pind.2 , 0 , Pr_stop If N = 0 Then Portb.0 = 0 Debounce Pind.0...
Szkoda. Wprawdzie potrzebowałem 24MHz i ucieszyłem się że ten na 20MHz chodzi i na 24MHz. Ale liczyłem na to że jak zdobędę ten na 24MHz to łyknie ze 30MHz. Szczególnie że okazało się że 24MHz mi nie wystarczy. Wczoraj przypadkiem odkryłem w datasheecie dodatkowe rozkazy (muls, mulsu, fmul, fmuls, fmulsu, movx, lpm, Rx, Z, lpm, Rx, Z+). Pomoc BASCOMa...
Witam Mam taki program w symulatorze działa tak jak bym chciał czyli po nacisnięciu przycisku dioda sie zapala i po kilku sekundach gasnie ale po wgraniu do atmegi 8 niedziała prawidłowo czyli diode można zgasic i zapalić ale już nie gasnie po kilku sekundach.Czy ktoś wie czemu??? $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B11111111...
Hmm... Spróbuj regularnie migać LED, jednocześnie komunikując się z PC, obsługując pomiar temperatury za pomocą 1wire (DS18B20) i wyświetlać ją na LCD, używając waitXX... ;) Timer0 jak nic do zastosowania... Tymczasem małe co nieco w załączniku (miganie LED z użyciem timera), zarówno dla ATmega8, jak i na ATmega8515. Ponieważ ATmega8 nie posiada przerwania...
Witam. Chciałem w celach edukacyjnych zrobić częstotliwościomierz. Ponieważ nie mam za bardzo skąd wziąć zewnętrznych impulsów postanowiłem, że jeden pin procka będzie je generował, a przerwanie int0 będzie liczyć ile tych impulsów było. Do odmierzenia czasu posłużył timer1, który ma odliczyć sekundę (więc wynik od razu w Hz). Po upływie sekundy ma...
Witam, Chciałbym napisać jakiś najprostszy program w VB do obierania wartości zmiennej wysyłanej przez Atmegę, wysyłana jest zmienna Lngfreq Program wgrany na atmęgę poniżej [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13 encoder (reichelt.de) 'Author Georg Latzel, DL6GL 'Copyright (c) Georg...
Witam, Od kilku dni borykam się z problemem odbioru i wyświetlenia odebranej temperatury na wyświetlaczu odbiornika. Zmienną nadaje układ pomiarowy z atmega8 poleceniem print zmienna. Odbieram w terminalu ta zmienna bez problemu. Odbiornikiem jest również układ z atmega8 który na wyświetla odebraną temperaturę na wyświetlaczach 6 *7led . Wyświetla przez...
Spróbuj skompilować ten programik pod konkretny mikrokontroler. W Bascomie domyślenie masz ustawione AT90S2313. Użyj dyrektywy: $regfile = "m8def.dat" - dla ATMega8, $regfile = "2313def.dat" - dla AT90S2313, Może pomoże :)
Dzień dobry, Nie mogę dojść dlaczego emulator DS2050 działa na wewnętrznym oscylatorze 8Mhz a na kwarcu 8MHz zawiesza się i resetuje gdy tylko chcę odczytać z niego wartości. Kondensatory przy kwarcu 22pF. Fusebity: gdy clock 111101:Ext (czyli kwarc) to nie działa poprawnie. Próbowałem wszystkich ustawień kwarcu. Dlaczego tak się dzieje ? [syntax=Bascom]...
Działa błąd był w fusebitach pozdrawiam i dziękuję za owocną współpracę i cierpliwość podaje sprawny kod (prawie bo namieszałem w data) $regfile = "m8def.dat" $crystal = 1000000 Config Pind.1 = Input Config Pind.2 = Input Config Pind.3 = Input Config Pind.4 = Input Config Portc = Output Config Timer0 = Timer , Prescale = 1024 On Timer0 Przerwanie Dim...
Witam po długim poszukiwaniu w sieci natknąłem sie na taki układzik do pomiaru prędkości pocisku. Pierwsza myśl była żeby go przerobić do potrzeb modelarskich, przeróbka Hardware nie ma problemu. ale przy programowaniu bym potrzebowałem pomocy. Mam tylko fragment kodu w bascom który powinien mierzyć czas pomiędzy dwoma fototranzystorami na porcie d2...
timer0 atmega8 bascom timer0 timer0 bascom
wyzerowanie dysku pompa miele połowa matrycy działa
radia samochodowe bazar radia samochodowe bazar
Odpowietrzanie ekspresu kolbowego Gastroback Fender Bassman brak lampy 5AR4 – czy wzmacniacz zagra bez prostownika?