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...
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.
Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte , gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu przerwania flaga globalnego zezwolenia...
Tylko mam pytanie bo nie jestem pewien, przy kwarcu 32.768kHz przepełnienie licznika odbywać się będzie równo co 1s ?? Co zrobić żeby przerwanie z przepełnienia było co 0.25s ?? Ustawić odpowiedni prescaler.Ponieważ timer jest 8'bitowy to przerwanie z prescalerem równym 1 będzie wywoływane 128 razy na sekundę. w M8 na T2 masz dostępne prescalery 1,8,32,64,128,256,1024....
Stos OK. Mówię Ci. Skasuj flagę przed "Enable INT1". Generalnie kolejność mam w kodzie taką: Config Int0 = Falling 'opadajace zbocze wywoluje przerwanie Config Int1 = Falling 'opadajace zbocze wywoluje przerwanie Config Timer0 = Timer , Prescale = 8 'konfiguracja Timer0 jako timera z preskalerem przez 8 'Przerwanie od przepelnienia Timer0 jest generowane...
Mam coś takiego: [syntax=basic4gl]Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz Dim Licz As Byte Enable Interrupts Enable Timer0 Load Timer0 = 250 Stop Timer0[/syntax] i przerwanie: [syntax=basic4gl]Odmierz: Load Timer0 = 250 Incr Licz If Licz = 150 Then Licz = 0 Toggle Buz End If Return[/syntax] tylko że to miga 1 sekunde a ja potrzebuje...
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). Proszę o naprowadzenie na właściwy kierunek osiągnięcia zamierzonego celu. kod: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
Czy wszystko będzie ok. trudno wyczuć. Zależy jaki zastosowałeś układ wykrywania przejścia przez zero. Jeżeli stan niski utrzymuje się przez większą część przebiegu i tylko w okolicach zera jest wysoki to dopóki jest stan niski to jest zgłaszane przerwanie. Jeżeli dodać do tego że przerwanie int0 ma najwyższy priorytet poza reset to przerwanie od timera...
Gdy już usuniesz wewnętrzną pętlę do..loop to zwróć uwagę, że stan przycisku będzie sprawdzany raz na 60s. Możesz zrobić sprawdzanie np. tak (co 1 sek.): dim x as byte ... do 'sprawdź przyciski if x=60 then x=0 toggle ... end if wait1 incr x loop end Albo wykorzystać timer lub przerwanie.
Witam, znalazłem kilka podobnych rozwiązanych tematów, ale nie do końca do konkretnego przypadku. Ma być takie coś: Wyświetla odpowiednie informacje na LCD - to działa Teraz ma poczekać 120 sekund i przejść do "Automatycznie3" - też działa Ma być jednak dodatkowo, że jak w przeciągu tych 120 sekund Cofn=0 (przypisany odpowiednio pin) to ma przejść do...
Cześć. Napotkałem ostatnio na pewien problem, mianowicie w momencie gdy wywołuję przerwanie w swoim układzie, to po jego obsłudze główny blok programu nie jest kontynuowany, tylko wszystko zaczyna się od początku (albo resetuje procek). W załączniku schemat urządzenia. Załącznik usunąłem. http://obrazki.elektroda.net/63_12624652... Przerwanie...
Mam sobie programik w ktorym co 400us wywolywane jest przerwanie. Obsluga przewania jest króciutka. W ukłądzie dołączony jest też LCD i 4 diody do portu. Co może być przyczyną że na portach LCD i diod pojawiają się dziwne stany w różnych momentach obsługi przerwania? Do tej pory nie używałem tego kontrolera i nie wiem o co może tu chodzić. Całkowicie...
Witam, W programie przedstawionym poniżej nie zostaje wywołana obsługa przerwania. Próbowałem na innych timerach tez bez skutku. AvrStudio 6, Atmega8a, optymalizacja O2. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include "utils.h" #include "display.h" int main(void) { LEDInit( ); Display(0); //Init Timer 0 TCNT0 = 6; TCCR0...
Witam Mam impulsy (ok.100 impulsów) trwające 0,4us i powtarzające się co 5us (PinB.0) impulsy "0" z wysokiego stanu do masy. W czasie trwania tego impulsu na PinD pojawia się 8 bitów, które chcę zapisać do tablicy a potem chce je przeglądać. Mam jakieś przerwania bo X się zwiększa i dane w tablicy też ale to nie te dane. Czy to jest wykonalne na Atmega168...
Witajcie, Zacząłem pisać ostatnio program w bascom, jednak nie działał, okazało się że część kodu odpowiedzialna za przejście do podprogramu nie działa, długo kombinowałem, wklejałem części kodu znalezionych w internecie, ale wciąż nie działa. Kod: [syntax=basic4gl] $regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize =...
Witam Pytanie moje brzmi , jak w bascomie zrobić , by procesor po odebraniu bajtu przez port szeregowy natychmiast odczytał , co to za bajt i od niego uwarunkował dalsze działenia. Dodam że procesor musi cały czas zajmowac się czymś innym. Wiem ze trzeba jakoś zapiąć do tego przerwanie od odbioru portu szeregowego , ale nie wiem jak to w bascomie zrobic....
Pewnie mi się dostanie ale nie mogę sobie dać rady z komendą w Bascomie, która po pojawieniu się sygnału z czujnika na wejściu procesora, spowoduje włączenie przekaźnika przez kolejne 5 sekund, a następnie go wyłączy. Zakładam, że to musi byc opcja Timer1 ale stworzenie działającej komendy mnie przerasta. Poniżej namiastka programu, który włącza przekaźnik...
Jestem początkujący. Dopiero uczę się programowania. Miał być to mój pierwszy samodzielny program. Podczas kompilacji występują 3 błędy: error : 7 error: 350 error: 127 wszystkie w line:0 Używam Bascom AVR w wersji 1.11.9.8 demo Poniżej zamieszczam moje wypociny. Niestety w pliku pomocy jest tylko opisany Error:7 http://obrazki.elektroda.net/42_12667718...
Witam, Atmega 8, Timer1. Używam instrukcji LOAD która skraca czas między przepełnieniami timera, a nie mogę uzyskać odpowiednio krótkiego czasu gdyż w pewnym momencie skracanie timera juz ic nie daje. Oto kod: [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 'Atmega 8 fusy E1 D9 => 1MHz internal RC $hwstack = 64 $swstack = 32 $framesize = 32...
Cześć napisałem program który działa ok ale tylko pozornie bo w symulacji. zawiesza mi sie na tej linijce jak go umieszcze w procku. .. .. Config Timer0 = Timer , Prescale = 64 Config Adc = Free , Prescaler = Auto , Reference = Avcc Start Adc Dim Sek As Byte Dim Minuta As Byte Dim Godzina As Byte Dim Krok As Byte Dim A As Integer Dim B As Byte Dim C...
Witam. Mam nastepujacy problem... napisalem programik generujacy przerwania od przepelnienia licznika. $crystal = 16000000 $regfile "m8def.dat" Config Portd.5 = Output Config Timer0 = Timer , Prescale = 8 On Timer0 Intr Enable Interrupts Enable Timer0 Portd.5 = 0 Do Loop End Intr: Load Counter0 = 5 Toggle Portd.5 Return Problem w tym ze...
Witam. Mam pewien problem z programem. Generalnie układ posiada 3 przyciski. Kontaktron - generuje przerwania (nie sugerować się nazwą, testuję to na zwykłym switchu) P_zeruj - Przycisk od zerowania wyniku P_mierz - Jeśli jest w stanie 1 to przerwania są włączone jeśli nie to wyłączone. I tu pojawia się problem. Jeśli P_mierz ustawię w stan 0, to przy...
Witam, Atmega 8, Timer1. Prosty generator: przerwanie od timera1 ze skróconym cyklem, pętla główna pusta, w przerwaniu zmieniam stan portu. Niby proste... Oto kod: http://obrazki.elektroda.pl/8467182600_1... Są to regularne skrócenia cyklu z 1.085ms na 0.6355ms. Proszę o wyjaśnienie co to jest i jak sie tego pozbyć?
Mam kłopot z obsługą przerwania INT0 w ATmega32. Chciałem, żeby były generowane zboczem opadającym. Na nogę ITN0 wchodzi sygnał prostokątny 1Hz z wypełnieniem 50%. Jest rezystor podciągający do +5V. Kod jak niżej. Powinno generować sygnały na beeperzerz podłaczonym do portu D ale nic się nie dzieje. Bascom odmawia skompilowania linijki zawierającej...
Stosy to dla mnie czarna magia, wiem tylko, że każdy przeskok wymaga zapisania adresu zwrotnego, ale nic poza tym :oops: No przy takim podprogramie to 1 megabajtowy stos to za mało :D, to się chyba nazywa rekurencja: [syntax=basic4gl]Petlapomiarowa: If Impulsy < 15 Then 'Jesli nie ruszono, wyswietlaj dalej napiecie Gosub Pomiaradc If Konwersja >...
Zrób to tak: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 Config Timer0 = Timer , Prescale = 256 'onfiguracja timera, przescaler 256 On Timer0 Odmierz_1s 'włączamy timer0 Dim Licz_8ms As Byte 'definiujemy zmienną pomocniczą Dim Sekundy As Byte Enable Interrupts 'włączamy zezwolenie na przerwanie Enable Timer0 Load Timer0 = 125 'ładujemy...
Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...
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...
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)
Witam. Proponuje zacząć projekt od zapoznania się z Timerami i z przerwaniami od nich. Następny krok to wyświetlacze LED sterowane multipleksowo. [url=http://diycenter.acid19.linuxpl.com... szczypta teorii na temat wyświetlaczy. Potem proponuję uruchomić wyświetlacze i wyświetlić na nich jakiekolwiek cyfry. Poniżej (tak...
Wracajac do tematu czy moglbym prosic przynajmniej o pseudo kod obslugi przykladowo drgania w przyciskach , wysterowania przekaznika np przez 2s oraz komunikacji 1wire jednym timerem (atmega8 ma az 2 timery wiec pewnie szybko skoncza sie jego mozliwosci chcac napisac kod bez zatrzymywania) Cały dowcip polega na tym że z tego 8 bitowego timera możesz...
[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Przerwanie0 Dim Tmp As Word Tmp = 0 Dim Ptimer1 As Word Ptimer1 = 0 Do If Klawisz = 0 Then If Ptimer1 = 0 Then Ptimer1 = 100 End If If Ptimer1 < 95 And Klawisz = 0 Then Tmp = 1 End If End If If Tmp = 1 And Ptimer1 < 85 And Ptimer1 > 70 Then If Klawisz = 1 Then...
Podepnę się pod wątek, bo temat pasuje :D atmega8 na wewnętrznym oscylatorze 8MHz i przerwanie zliczające sekundy: Config Timer0 = Timer , Prescale = 8 Load Timer0 = 100 'przerwanie co 0,1ms On Timer0 Odmierz_ms do loop end odmierz_ms: Load Timer0 = 100 Incr Licz_ms If Licz_ms = 10000 Then '10000*0,1ms=1s Licz_ms = 0 end if incr sekundy return Wszystko...
witam ponownie. Innym wyjściem jest zastosowanie przerwania z TIMER1 (16bit.) z preskalerem 1024, oraz ustawienie wartości początkowej po każdym przerwaniu na 55770, wtedy przerwanie będzie realizowane co 1,00003800 s, więc zdążysz ze wszystkim, a jeśli jeszcze wywołasz sprawdzenie temperatury zaraz po wykonaniu przerwania wtedy już napewno zegar będzie...
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
Ok, tylko co jeżeli chciałbym żeby był np taki efekt: dioda świeci 4 sekundy na zielono, pozniej 4 sekundy na czerwono i powiedzmy 4 sekundy na żółto, jeżeli czas świecenia zrealizuję za pomocą funkcji Wait , to nici z obsługi przycisku w petli głównej, jeżeli bym to zrobił przerwaniem zewnętrznym wówczas program najpierw obsługuje przerwanie i sterowanie...
Tylko dlaczego /128 ? Bo 32768kHz/128=256, co powoduje że impuls będzie generowany 256 razy na sekundę, a co tyle przepełnia się ośmiobitowy timer, więc przerwanie zostanie uruchomione co równą sekundę :) Co do przebiegów - też pewnie wina programu, timer nie został prawidłowo skonfigurowany i nie uruchamia kwarcu Dodano po 3 Jeszcze po "Enable Interrupts"...
Witam. Powinieneś zastosować przerwanie np. Timer1 do zliczania czasu. Sprawdzanie temperatury powinno dobywać się co sekundę lub dłużej. Załaczanie/odłaczanie pompki i innych elementów musi odbywać się w przerwaniu i powinno być sprawdzane wraz ze zmianą temperatury. Co do wyświetlania można zrobić to w przerwaniu lub nie.
Hmmm..Moze i myle asembler bo pisalem kilka prostych programow na 8051 ale wydaje mi sie ze trzeba obliczyc cos przeciez. Przeciez timer i jegoprescale, zlicza do ilus tam i jest przerwanie. Iles przerwan daje nam sek jak chcemy. Itd... Przynajmniej mi sie tak wydaje. Co do RTC to fajnie ze mozna ale jak to uruchomic w BASCOM`ie. No i jak z tym liczeniem...
Wiesz, co z tego, że podam, napisałem Ci na górze jak łatwo i przyjemnie to zrobić, to Ci się nie podobało, a że przerwanie lepsze, to ogólnie jasne, tyle, że, trzeba wiedzieć czym przerwanie jest i jak działa. (Nie, po tym co napisałeś, nie masz pojęcia). P.S. Czemu Wy ludzie uczący się bascoma nie spróbujecie skompilowac programu, aby zobaczyć czy...
DZIĘKI WIELKIE Jeżeli dobrze rozumiem to ustalam początkową wartość licznika i kiedy licznik się przepełni zostaje przerwana główna pętla i skok do podprogramu. W jaki sposób wyliczyć jaką musi mieć wartość zmienna aby występowało na wyjściu 8Hz? Czy są może jakiej jeszcze rozwiązania, bo jak zauważyłem to skok do podprogramu będzie wykonywani 8 razy...
Na elektrodzie było kilka(naście?) zegarków na ATmega8 w dziale DIY, z czego kilka widziałem oprogramowanych w BASCOM-ie. Zajrzyj na tamte tematy, na pewno ci się rozjaśni. Zegarki lepiej taktować rezonatorami zegarkowymi, bo takowe są do tego najlepiej przystosowane jakby nie było. Chociażby z racji częstotliwości 32768 Hz, które jest 15-tą potęgą...
P. S. Mam właśnie na stole taki termometr. Wyświetlacz jest multipleksowany timerem w przerwaniach co 8ms. Każde przerwanie powoduje jednokrotne uruchomienie innego fragmentu programu w pętli głównej, w tym innego fragmentu obsługi DS'a. Komunikacja z DS'em się wyrabia. Ale wprowadza Kolega jakieś opóźnienie pomiędzy tymi uruchomieniami ? Np. zliczanie...
Witam. Prescaler jest to dzielnik częstotliwości. Jeżeli użył byś kwarcu 8 MHz oraz timera 0 przepełnił by ci się on 31250 razy.Aby zmniejszyc częstotliwość wyrzucanych przerwań używa sie prescalera. Np ustawiając prescaler 64 uzyskasz przerwanie co 0,00204800 s. Co do drugiego pytania to w BASCOM'ie licznik się zeruje chyba że wpiszesz mu jakąś wartość....
To co piszesz jest słuszne i mądre, widzisz, jest tylko jeden problem - soft jest skomplikowany bardziej niż by się wydawało, atmega8 ma tylko 8kb flash a wszystkie przerwania Atmega8 są zajęte (w tym timer1 do zliczania pojedynczych sekund, int1 i timer2 wykorzystywany przez getrc5). Oczywiście zawsze można skonfigurować bufor wejściowy, np. gdy spodziewamy...
Przykładowo możesz wykorzystać dwa liczniki. Jeden do regulacji częstotliwości, a drugi do regulacji wypełnienia. - licznik pierwszy odlicza czas pomiędzy okresami od 1 sek dla 1Hz do 50 ms przy 20Hz. - licznik drugi oblicza czas trwania impulsu. Powiedzmy że zmiana stanu pinu X generuje przerwanie uruchamiające licznik drugi który po upływie zaprogramowanego...
Witam. Mam problem z przerwaniami w atmega8. Wcześniej nie potrzebowałem przerwań więc to zagadnienie mnie nie interesowało. Potrzebuję wywołać przerwanie zewnętrzne int0 które uruchomi timer1, a ten zacznie odmierzać czas. Napisałem coś takiego (oczywiście to część z większego projektu) '$sim $regfile = "m8def.dat" 'informuje kompilator o...
Tak jak piszesz. Przerwanie od Timera przelicz sobie aby się wykonywało odpowiednio szybko (mi zazwyczaj wystarcza ok 10 razy na sekundę) a w przerwaniu sprawdzaj stan przycisków. Jeśli jakiś jest wciśnięty - ustaw flagę a w programie głównym ją obsługuj. W Twoim przypadku, musisz napisać obsługę przerwania: Do tego czy da się zrobić tak żeby temperatura...
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...
Program który przedstawiłeś nijak się ma do tego co chcesz osiągnąć. Nie wiadomo co to za zmienna Time1 i po co jest porównywana z jakimiś dziwnymi wartościami. Zacznij może tak. Prescaler=64 to za mało żeby odmierzyć dwie sekundy - musi być co najmniej 256. Skoro impulsy przychodzą na PD.3 to aż się prosi żeby wykorzystać przerwanie Int1. W przerwaniu...
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...
Witam W projekcie wysyłanych będzie około 800bytów danych do PC i w PC bedzie na bieżąco wyświetlane. Do czego zmierzam. W czasie kiedy bedę obsługiwać przerwanie od Timer1 może pojawić się sygnał do PC, że dokonywana bedzie tramsm,isja. W atmega8 nie mozna ustawiać priorytetów przerwań w odróżnieniu do 8051. Kiedy pojawiało mi się przerwanie do timer1...
Witam W jaki sposób mogę skonfigurowac atmegę 8 aby odbiór rc5 zrealizować na timerze1.Ta timerze 0 mam odliczanie sekund oczywiście wprzerwaniu.Mam skonfigurowane tak: Config Int1 = Low Level , [timer = 1] Config Rc5 = Pind.3 [timer = 1] Enable Int1 Enable Interrupts On Int1 Rc5 Config Timer0 = Timer , Prescale = 1024 Enable Interrupts...
Głównie chodziło mi o sposób wysyłania poleceń 1 wire: Disable Int0 'wyłączenie przeszkadzającego przerwania 1wreset 1wwrite &HCC 1wwrite &H44 Capture = 1 Enable Int0 'załączenie przerwania po wszystkim Jeśli nie wiesz, które przerwanie może powodować u Ciebie problemy z 1 wire to możesz wyłączyć globalną obsługę przerwań. Czas po rozkazie odczytu temperatury...
Wpisałem polecenia wczytywania czasu z EPROM i zapisu. Różnica jest teraz taka, że co sekundę dostaję: 255:255:255 Wyświetlał ci wszędzie 255 bo taka jest wartośc każdej komórki "surowego" EEPROM (FF). Aby tego uniknąc proponowałem 'startowe wyzerowanie': Przy nagłym odcięciu zasilania z 14V IN czas jest zapisywany do EPROM. Natomiast coś dalej jest...
cls nie powinien tu być problemem. A przed wygłoszeniem opinii zapytałeś o częstotliwość sygnałów? Instrukcja CLS może zajmować np. 300ms. Czy 4 impulsy na sekundę to jest coś co przekracza możliwości AVR? A najlepiej sygnał taktujący zliczaniem podaj na pin INT0 lub INT1 i ustaw przerwanie żeby reagowało na zbocze. Bardzo dobre rozwiązanie, pod warunkiem,...
Witam, analizator zobaczył tylko ja specjalnie to zwęziłem żeby było widać zarys całego przebiegu,. Teraz tez już wiem, że pomysł stosowania przerzutnika D jest raczej bezcelowy. Bo i tak w programie trzeba sprawdzać stan na pinie kierunku. Oczywiście najlepszym rozwiązaniem jest zastosowanie bramek z histerezą. Jest jednak jeszcze druga kwestia, a...
Hmm dalej nie kumam do końca o co chodzi jestem początkujący ... Znalazłem taki program w książce do odmierzania 1 s tylko jak to do mojego programu dołączyć [syntax=basic4gl]'Przykład wykorzystania Timer0 do generowania w przerwaniu '1 sekundowych odcinków czasu 'Program co sekundę w przerwaniu zmienia na przeciwny stan linii 'PD0 sterującej diodą...
Witam Już dłuższy czas męczę się z banalnym jak mi się wydawało zagadnieniem wybudzania procesora z PowerDown. Wybudzanie chciałem zrealizować na wejsciu INT0. Samo wyzwalanie przerwania działa podczas pracy, gorzej w momencie kiedy ustawię PowerDown. Przerwanie juz się nie wykonuje. Poniżej fragment kodu [syntax=basic4gl] $regfile = "m8def.dat" $crystal...
Symulator Lasera http://images49.fotosik.pl/261/c05af04e8... Fot.0 Jedno ze zdjęć prototypu symulatora lasera Jest to opis kilku symulatorów zaprojektowanych i działających przeze mnie . Zarówno tych najprostszych opartych na popularnym tajmerze 555 , jak również do konstrukcji profesjonalnych opartych na mikrokontrolerach jednoukładowych...
Witam Piszę na atmedze8 w bascomie program do odczytywania danych z odbiornika GPS. GPS jest podłączony RSem do Atmegi, obsługuje go sprzętowy UART. Transmisja jest realizowana z prędkością 4800, megę taktuje zewnętrzny kwarc 7,3728 Mhz (ale na wewnętrzym 4 Mhz też próbowałem). Oto kod obcięty o parę chwilowo nieistotnych rzeczy (definicje zmiennych,...
Dzięki! Pytałem zapobiegawczo. Muszę wybrać temat pracy inżynierskiej. Kiedyś bawiłem się BASCOM-em, ale do przerwań nie doszedłem- pamiętam, że też miałem problemy z równoległym wykonywaniem zadań przez procesor, ale i moja wiedza była też mizerna. Ten program chcę napisać w AVR-GCC, bo to jest szeroko chwalone środowisko programistyczne i język programowania...
Witam wszystkich, Tak jak w temacie: Poszukuje sprawnego programu aby zrobić zegar LCD na ATMEGA8. Program musi być w języku bascom. Znalazłem coś takiego ale nie działa :/ Opoźnienie sekundy wynois jakies 4s 'Program zegara wykorzystującego przerwania od Timer1 'Przerwanie przepełnienia Timer1 jest generowane co 1 s '8 MHz/256/31250 = 1 s 'Przycisk...
Szukałem odpowiedzi na to pytanie, lecz nie znalazłem, wiec postanowiłem rozpocząć nowy temat. Otóż mam problem z liczeniem kanałów DMX, a dokładnie z timerem0 którego używam w tym celu. Mikrokontroler to jak w temacie ATmega8, częstotliwość taktowania 8 MHz, ustawienia sprzętowego UART 250 000 baud. Według specyfikacji DMX najpewniej rozpoznać nowy...
Świetny zegarek, starannie zrobiony i przemyślany. Do nextępnego projektu kilka uwag, wtedy zrobisz perfekt zegar: -dwukropek wygaszany + sterowalne kropki -wyświetlanie ujemnych i dodatnich temp. na tych samych pozycjach. Choćby płaska dioda jako minus Z tym dwukropkiem rzeczywiście mogłem go o jeden stopień przesunąć w bok no ale cóż następnym razem:)...
przerwać bascom atmega8 przerwać atmega8 bascom atmega8 przerwać bascom
sterownik myszy tracer praca palnik analiza termiczna
saunier duval niedźwiedź saunier duval niedźwiedź
Schemat prasy hydraulicznej Zodiak RSSE Kosmos Litera A nad L1 w liczniku elektronicznym - co oznacza?