Aha, to o silniki krokowe chodzi... W zasadzei nie znam mikrokontrolera, który nie potrafiłby sterować silnikiem krokowym, więc to nie żaden argument za ATmega. Zastanów się, co ma być tym "programem". Jeśli chcesz z PC ładować kompletny program do mkikrokontrolera, to szukaj pod hasłem bootloader...
Nie musowo być biegłym w BASCOMie. Wystarczy znajomość jednaj komendy z BASCOMa: On Timer. [syntax=vbnet] On Timer1 Timer1_handler ... Timer1_handler:... robisz pomiary ADC Return [/syntax] A do skonfigurowania Timera w tryb PWM Phase Correct wystarczy wpisać odpowiednie wartości do rejestrów...
Kol. Roko . Częściowo takie rzeczy pojawiły się już w polskiej pomocy do BASCOM-a On-Line. Obecnie jest jednak ona czasowo niedostępna. Przykład: BASCOM AVR - Tworzenie programu W trakcie edycji (...) Jak nie pisać programów. Dość często podczas przeglądania programów udostępnionych...
zgodnie z waszymi poradami zmodyfikowalem program: procedura unicjujaca po zmianie: void UARTInit() { UBRRH = (unsigned char)(UART_CONST>>8); UBRRL = (unsigned char)UART_CONST; /* Enable receiver and transmitter */ UCSRB = _BV(RXEN)...
Cześć, posiadam już skonfigurowane środowisko Eclipse pod Linuxem. Moja płytka to EVB 4.3(ATmega 32). Płytka posiada układ FT 232 oraz posiadam programator Sibita[url=]Link. Programator jest widoczny pod lsusb jako :ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART)...
Tak żebym mógł wsadzić jakiś obrazek a potem normalnie z niego korzystać bez czytania pojedynczych Bajtów. tak wystarczy, że wydasz polecenia takie jak: "wczytaj_wszystko_naraz" albo "pokaż_cały_obrazek_bez_ramki" itp , a żeby wsadzić obrazek do pamięci można wydać polecenie "wsadź_obrazek"...
Witam Mam dziwny problem nigdy mi się tak nie zdarzyło z poleceniem Wait/ waitms w Bascomie. Chodzi o to, że mam nowy procek Atmega 8 ustawiony fabrycznie na 1 Mhz i powinien odmierzać dokładnie 1 s na takim ustawieniu fabrycznym a ja wpisuje w programie np. waitms 100 to dioda zapala się na 5 sekund......
Bascom sam się nie zajmie resetowaniem Watchdog'a, jak słusznie zauważył Holy . Żeby z niego skorzystać najpierw trzeba go skonfigurować (ustawić stopień podziału - od tego zależy czas potrzebny na przepełnienie jego licznika) poleceniem CONFIG WATCHDOG = czas , później uruchomić: Start Watchdog...
komentarze ;) .EQU DATA = 5 ; zdefiniowanie pinu w uC na którym będzie sygnał DATA .EQU CLOCK = 6 ; -------------- || ---------------------------------- CLOCK .EQU CHIP_ENABLE = 7 ; ------------------|| ------------ CHIP_ENABLE ;parametry wejściowe ; ; 3 bajty danych do wysłania umieszczone...
Już udaje mi sie programować ten procek. Potzrebuje nastawów fusów dla rezonatora czeramicznego 8mhz (zewnętrzny). Podłaczony mam przez tranzystor npn buzzer(bez generatora), ale bardzo cicho gra. Urzywam polecenia sound. Może jakieś inne polecenie będzie lepsze? Pozdrawiam
polecenie 0x18 nie oznacza "przesuń zawartość wyświetlacza o 1 w lewo", ale zmienia tryb pracy na taki, że ciągłe wpisywanie danych przy skrajnie prawej pozycji powoduje wypychanie danych w lewo. Wyświetlacz nie ma pamięci ileś tam kilo, żeby pomieścić bardzo długie napisy tylko po to, żeby można go...
(at)takow drganie serwa podczas odbioru rc5 to normalna sprawa bo polecenie getrc5 w bascomie powoduje zablokowanie innych przerwan a wiec i obsluge serw. borykalem sie takze z tym problemem az wrzucilem rc5 do 90s2343 ktory po porcie szeregowym wysyla dana i powoduje przerwanie od usart ktore ma...
Wiem że wewnętrzny oscylator ma odchyły ale że aż takie?? Ładuje dobrą liczbę do timera ponieważ ładuję ją poleceniem Load a to polecenie odejmuje tą liczbę od 255 i ładuje ją do timera do tego gdybym do timera ładował za małą liczbe to na pewno by nie spóźniał. Może to zatrzymywanie timera coś da. Dziwi...
Odczytuje z 1wire kolejno 9 bajtów danych do tablicy. Temperatura to liczba 16bitowa, pierwsze 8 bitów zapisanych jest w 1 elemencie tablicy 8 kolejnych w 2gim. Jakim poleceniem mogę połączyć te te dwie liczby aby otrzymać jedną 16bitową? Czy może ktoś ma jakiś inny sposób aby odczytać temperaturę...
Witam, może się mylę ale wydaje mi się, że teoretycznie wszystko zrobiłeś zgodnie z notą aplikacyjną PDF tylko w jednym miejscu coś pomieszałeś: sbi EECR, 1<<EEMWE sbi EECR, 1<<EEWE a przecież w nocie masz: sbi EECR, EEMWE sbi EECR, EEWE przy poleceniu sbi podajemy jako...
Wyświetlacze muszą być takiej samej organizacji. Oczywiście musisz dodać CONFIG LCD = <jaki_wyświetlacz> by procedura inicjalizyjna wiedziała jakie masz wyświetlacze. Domyślnie jest przyjęty 16*2 (z opcji konfiguracji), i w przykładzie jest to pominięte. Samo CONFIG LCD możnaby zmieniać w...
Program działa, ale mam pytanie... Czy ktoś się spotkał że w czujnikach DS1820 temperatura jest wyższa o kilka stopni ? Ja dla sprawdzenia włożyłem czujnik w folii do lodowatej wody (woda z lodem), temperatura powinna wskazywać coś koło zera, jednak pokazywało minimalnie 5 st. C; dlatego też w czujniku...
Hmm , z tym rozpoczęciem programowania poprzez reset to lipna sprawa niestety. Moduły są rozsiane w róznych miejscach i właśnie dlatego założyłem ten temat. Myślałem że już może ktoś to zrobił wcześniej. Ja osobiście wolałbym użyć np. watchdoga do inicjacji wgrywania oprogramowania czyli : wysłać poprzez...
Chyba udało mi się rozwiązać problem (chyba :P). Informacje wysyłane zaczynają się u mnie od znaku $ i nigdy nie są dłuższe niż 13 znaków. W przerwaniu miałem obsługę czytywania każdego znaku z osobna i zapisywania kolejno do tablicy char[13]. Gdy tablica się zapełniła ustawiane były informujące obsługę...
No więc szukam i mecze się od paru dni mam : następujące problemy 1. Projekt, gdy użyje polecenia wynik=sin(4.822); kompilator się kompiluje natomiast gdy napiszę float abc=2.345; wynik=sin(abc); się nie kompiluje i wyskakuje komunikat c:/winavr-20081205/bin/../lib/gcc/av...
Zastosowanie kondensatora jako zabezpieczenie przed drganiem styków nie wydaje mi się zbyt dobrym pomysłem ponieważ gdy przycisk zostanie puszczony , procek będzie "myślał" jeszcze przez pewien czas (dopóki ten kondensator się nie rozładuje) że przycisk jest wciśnięty. Sam programuje w BASCOMIE ale...
Myślę, że nie zrozumiałeś o czym piszę. 16 wejść ADC to tylko wejścia do pomiaru np. wilgotności. Dobrze zrozumiałem, nie chciałem robić offtop, dlatego napisałem gdyby nawet wykorzystać wszystkie 4 porty, to będzie za mało. Musiał bym dużo więcej napisać o samej budowie instalacji by to wyjaśnić....
Temat archiwalny i kolega zapewne rozwiązał swój problem. W Bascom są dwa ciekawe polecenia: pulsein oraz pulseout. [syntax=vbnet] '--- odczyt impulsów Dim A as Byte Dim Freq as Byte Do Pulsein A , Pind , 2 , 0 If A <> 0 Then Incr Freq Else End If Print Freq Loop '---------i wysyłanie...
Witam. Uczę się pracować z mikrokontrolerami i wpadł mi pomysł na coś takiego: Podłączył bym atmega 8 do komputera przez rs232. Z komputera wysyłał bym komendy do atmega i np. Wysłał bym polecenie LED a atmega by zapaliła led. Czy to się da zrobić? Takie sterowanie z komputera? Jak to podłączyć jak napisać...
Witam, Mam problemz AtMega z tematu. Ustawiam konfigurację Timerów wg manualki: tryb CNC; prescaler; zezwolenie na przerwania CompareMatch. Po ustawieniu tego odblokowuję przerwania przez "sei();" i.. procesor się resetuje. Dodam też, że taki sam kod działa bez problemów na AtMega 16/32/64. Czy przy...
Witam. Mam zaprogramowana atmega8 poprawnym programem. Podczas jego testowania kilkakrotnie wlaczalem i wylaczalem zasilanie az w koncu za ktoryms razem atmega nie wlaczyla sie ( mialo krecic serwem tam i z powrotem). Pierwsze podejrzenie to brak zasilania, ale wszystko jest poprawnie, ze 3 razy sprawdzalem...
No i niestety nie działa. Pod INT0 i INT2 działa ale pod INT4 nie... Już mi się kończą pomysły.. Spróbuję jeszcze wyrzucić odczyt z przerwania i dać go w pętli. edit: Niestety nadal nie działa. Dodano po 1 Bardzo ciekawe zjawisko zaobserwowałem. Otóż dla testu skompilowałem program pod...
Przecież w BASCOM Basic jest polecenie SHIFTOUT, które wszystko załatwia.
tmf napisał: Znajdź właściwy plik include - komunikat oznacza, że w ścieżkach które są przeszukiwane nie ma pliku mega8.h Ciekawe że w moich projektach (używam linuksowego avr-gcc) nie dodaje plików nagłówkowych z uC, jedynie w opcjach kompilacji ustawiam rodzaj uC na jaki się kompiluje....
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print...
program dla atmega 128: ; ========================================... czekam_50ms ; powoduje skok do programu o podanej nazwie a po skończeniu powrót (polecenie ret) ; ========================================... ldi R16, 0b00011000 out TIFR,...
Czyli obraz na tych wyświetlaczach jest odświeżany non-stop i potrzeba pamięci aby z niej przepisywać "obrazek" do LCD tak? Tak to rozumiem. Rzeczywiście jeśli tak jest to "troszkę" atmega się nie nadaje. I tak też chyba w końcu zrobię. Zacznę się uczyć C bo mnie już nerwica łapie. Ale zanim coś...
Witam szanowne forum, nie jestem zagorzałym modelarzem jednak udało mi się popełnić projekt sterowania serwomechanizmami do helikoptera T-REX 600. Przedstawiony poniżej układ ma za zadanie z wykorzystaniem interfejsu USB -> FT232 -> Atmega 8 sterować wychyleniem serwomechanizmów oraz docelowo prędkością...
Witam. Na temat sterowania CO z Atmegi i programów w bascomie jest w sieci dużo. Opisów i problemów różnych też. Ja mam może trochę bardziej nietypowy problem. Otóż po pierwsze chcę opracować skuteczny algorytm sterowania według (może przesadzonych0 ale według mnie ważnych parametrów. Prosty odręczny...
Witam wszystkich. Mam taki problem steruję binarnie wyjściami cały port C w Atmega 8. Mam pytanie czy istnieje jakieś proste polecenie zmieniające stan powiedzmy portu PC3 na niski i z powrotem nie zmieniając pozostałych portów. Oczywiście nie wiedząc w jakim stanie są pozostałe porty :?:
Zacznijmy od schematów , w obu przypadkach niewłaściwe zasilanie mikrokontrolera , brak złącz programujących w odbiorniku nieprawidłowe podłączenie diod led (brak rezystorów ograniczających prąd ) , w nadajniku przyciski powinny mieć dodatkowe rezystory podciągające . Zastosowane moduły radiowe 433MHz...
Witam wszystkich. Potrzebuje waszej nieocenionej pomocy. Stałem się posiadaczem takiej pary: nadajnik - odbiornik: Zabawę swoją rozpocząłem od przesyłania danych "po kablu" - działa jak należy, dzięki nieocenionym zasobom elektrody. Przyszła pora, by zacząć przesyłać dane "bez kabelków",...
Witam wszystkich. Koledzy zwracam się do Was z prośba o pomoc z następującym problemem. Programuje amatorsko w bascomie, procesor to atmega 644p z 2 uartami sprzętowymi. Składam urządzenie, które będzie się komunikowało z dwoma pozostałymi i wymieniało dane za pomocą transmisji rs232. Mój problem dotyczy...
Kupilem 3 fabrycznie nowe procesory ATmega 328p. Odczytalem ich ustawienia przez usbASP. I tak odpowiednio : FUSbit : 62 D9 FF Lockbit : 3F Przy uzyciu programu MK_AVR_Calculator nie moglem ich zaprogramowac. Program je wykrywal, ale przy probie zapisu FUSbit pojawial sie blad RC=-1. Sprawdzilem,...
Może trochę uporządkujmy, żebyśmy wszyscy się dobrze rozumieli. Układ wygląda tak: nadajnik to xmega 128a3 + nrf, do nadajnika podpięty czujnik HTU21D, magistrala I2C. Powietrzem chcę przesłać dane z HTU. Odbiornik to Atmega32A + nrf, to co odbierze leci UARTem do Putty. Nazwałem temat "Atmega...
Witam Cztery mikroklocki atmega16 i 32 (x2) i 8. Niedawno działały bez zastrzeżeń. Dzisiaj wykrywa, wgrywa program - cała procedura przechodzi bezbłędnie - a procesory nie wykonują żadnego zadania. Ot tak z dnia na dzień bez większego powodu. Fusy w porządku, połączenia też. 10k podłączone do...
Witam , kiedyś napisałem w bascomie połączeni esp8266 z atmega... to działało :) aż pewnego dnia przestało działać :( Kolega odkopał temat a ja mam nadzieję znalazłem ciekawe rozwiązanie, jest to wsad do esp8266 który w samym kodzie ma obsługę ntp . Działanie proste po połączeniu esp z siecią...
1. Wszelkie deklaracje typu wait, o ile wiem, nie mogą mieć wartości większych od 255 2. Przypisanie wartości z kanału do zmiennej typu Long to nonsens ponieważ wartość odczytana wyniesie maxymalnie 1024 czyli wystarczy zadeklarować w jako Word 3. Napięcie referencyjne nie może być chyba mniejsze od...
po prostu po zresetowaniu portub.1 program automatycznie ustawia go (set) i dlatego nie widzisz "mrugania " diody... dodaj po resecie kolejne opoznienie wait, albo zamiast set,reset urzyj polecenie toggle ... Pozdrawiam
Czy chcesz ją wykorzystać jako zewnętrzną pamięć programu? Jeśli tak, to prosto się nie da. Musiałbyś wykonać coś a'la interpreter poleceń ładowanych z EEPROM'u. Na dane owszem. Pozdrawiam.
Zaprogramowałem Atmegę 16 jako klucz do deloka-philipsa.Działal do momentu ,gdy użyłem nowszej wersji Deloka.przestal działać .wiem ,ze ten program niszczy zawartość mikrokontolera.w tej chwili chcę przeprogramować.Uzywam Pony Prog 2.05.Otrzymuję komunikat ,że nie rozpoznaje mikrokontrolera.Nie reaguje...
Każdy układ mogący pracować na szynie I2C jest wyposażony przez producenta w adres. Podany zwykle w nocie katalogowej - możliwy do modyfikacji przy pomocy wyprowadzonych PINów młodszej części adresu. Adres można też odczytać w prosty sposób opisany w Elektronice dla Wszystkich dlatego nie będę tu przytaczał...
Witam! Od niedawna zacząłem sie bawic mikrokontrolerami... I mam problem :) Programuje w WinAVR (C++) i chciałbym napisać program, ktory powoli zalacza diode, a nastepnie ja wylaczal! Problem w tym, ze nigdzie nie moge znalezc przykladu... czy polecenia, ktore zmniejszaloby napiecie na wyjsciu pwm!! Prosze...
Ja mam podobny problem i takie same objawy. Tylko w moim przypadku używam kompilatora keil i przykładowych programów z książki K.Kardacha wiec pomyłka jest nie możliwa, wszystkie programy z tej ksiąki były zwykle pewne. Po podłączeniu nie ma nic, no chyba ze podkręcę kontrast wtedy mam rządek czarnych...
Nie będę już może wchodził w szczegóły, warto sobie zdać sprawę z jednego. Dyrektywy #define są poleceniami preprocesora, a nie kompilatora. Preprocesor po prostu wstawia wyrażenie po prawej strony #define w miejsce wyrażenia po lewej stronie, występującego w programie. Jeden przykład: #define M...
Witam Może moje pytanie wyda się głupie ale potrzebuje prostego assemblera nie AVR studio. Za pomocą, którego mógłbym kompilować pojedyncze pliki z wiersza poleceń. Miałem coś takiego do '51 a teraz zacząłem bawić się Atmega8 i wszędzie w necie tylko rozbudowane środowiska. Posiadam w warsztacie laptopa...
RW podpiete do masy ?? Czekasz odpowiednia ilosc czasu na wykonanie sie polecenia ?? Niektore zajmuja nawet powyzej 1,6 ms. Odczekujesz jakies 100ms od wlaczenia zasilania zanim podasz pierwsza komende ?? Pozdro Dexter
Witam. Potrzebuje zrobic cos takiego: Karta CF ----- Mikrokontroler ----- RTL8019 Ogólnie chodzi o cos takiego ze karta CF bedzie podpieta do mikrokontrolera a mikrokontroler do ethernet-u i chodzi mi o mozliwosc pobierania plikow z tej karty - moze byc poprzez http ale lepiej by bylo gdyby...
Dzieki, zadziałało.... ustawiłem ręcznie na wartość 0x0fff poleceniem: SPH = 0x0F; SPL = 0xff; gdyz pisze w C i procesor skacze....:D Co się stanie gdy zadeklaruje nisko wskaznik stosu. Czy może zaistnieć przypadek że Stos "przykryje " mi dane w SRAMie lub odwrotnie? Pozdrawiam Dominik
Nie polecam avr studio - nie warto żebyś nawet instalował jak do tej pory używasz asemblera. Masz pewnie albo pspad albo programmers notepad wiec ściagnij sobie avr asm 2 ( jedynka tez moze być ale ten ma np wiele poleceń w linii) i do tego plik helpa (tam sa też przykłady komend) i podłącz to wszystko...
Wydaj mi sie że brakuje ci polecenia => gate=internal Sprawdź: Config Timer1 = Timer , Gate = internal, Prescale = 1 Enable Interrupts : Enable Timer1 Aha, jeszcze => Start Timer1 hmmm... nie ustaliłeś trybu pracy licznika a instrukcja Load jest dla timera w trybie z automatycznym przeładowaniem
hm ..tylko jaki sens ma rekonfigurowac magistrale jak mozna jzu w poleceniach wpisac ktory pin do czego :)
czesc moja sugestia jest taka - weż po pierwsze obniz napiecie (choc u mnie sie komunikuje c45 oraz c35i na poziomie 5 volt) po drugie - ja bym radził po prostu najzwyczajniej w swiecie dac jakies opóźnienie po wyslaniu z ukontrolera polecenia " atd>2; czekaj (u mnie jest 3 sekundy) ath (at+chup)...
poszukaj na forum znajdziesz listing bez problemu. co do podlaczenia lini SDA(pin5)SCL(pin6) pcf8583 to podlaczasz do dowolnych wolnych lini procesora a w programie deklarujesz to polaczenie za pomoca polecenia : Config Scl = numerpinu Config Sda = numerpinu
Witam. Chce odkuryć temat. Mianowicie mam podobny problem. TSOF1736, ATmega8, standardowe taktowanie 1MHz, rezystor 3k pullup, int0. Zmienilem prescaler w tym programie z 8->1, oraz poprawilem wlaczanie przerwania od przepelnienia, wiec czasy powinny sie teraz zgadzac. Moj makefile: PRG = led OBJ =...
stosując polecenie wait nigdy nie uzyskasz dużej dokładności , do tego celu wykorzystuje się timery , pobierz z tej strony listing programów są przykłady zegarów również z wykorzystaniem programowego RTC
Witam jak w temacie . Mam pewien sterownik sterujacy klimatem zbudowany na Atmega32 wyswietlanie na LCD 16*2 jednak ilosc danych wyswietlanych powoduje ze aby uzyskac potrzebne wyniki musimy czekac nawet 10sek oraz jak wiadomo widocznosc wyswietlacza LCD nie jest zadawalajaca. 1.Jeden z uzytkownikow...
No Dobra program juz prawie napisałem i głowiłem sie nad wersja ze zmiennym PWM+f... ale z tego co mi odpisałes to wnioskuję ze coś tu mi nie gra... A nie możnaby programowo realizować ten restart co 80ms? Moze napisz dokładniej co to ma być a coś doradzimy :) Pozdro No wlasnie o to chodziło...
Polecenie pin x.x używamy gdy opisujemy wejście (gdy sprawdzamy jego stan) a portx.x gdy jest wyjściem (wystawiamy na nim określony stan. popraw to i bedzie dobrze. pozdrawiam Damian
:arrow: Bęben, polecenie wait w programie napędzanym przez Timer? Po odebraniu ostatniego bajtu informacji master nie wystawia znacznika ACK tylko NACK. Pomijam kwestie sterowania wyświetlaczy, którą trzeba spokojnie zrobić od nowa... najlepiej na spokojnie na kartce papieru ;).
Czy ktoś z Was spotkał sie z dziwnym działaniem portuC ATmegi16L ?? Mianowicie pisze program w C i po kompilacji tego samego programu tylko o działaniu wynikowym na portA wszystko działa OK a po kompilacji ze zmianą tylko portu na portC program nie działa. Sprawdzałem fuse-bity czy czasem debug nie...
witam Ja Ci moge podpowiedziec w jak sie to robi w BASCOM, bo nie napisales jakiego jezyka ma sie dotyczyc ta instrukcja, wiec... W BASCOM jest to dosc proste i robi sie tak : 1. Konfigurujesz przerwanie: config int1 = Low Lewel 2. wpisujesz polecenie On Int1 Nazwa_podprogramu Enable Interrupts Enable...
Miałem w planie zrobić sobie programator AVR na USB wg schematu ze strony . Zgodnie z instrukcją za pomocą mojego programatora chciałem ustawić fuse bity i po tej operacji nie moge już nic zrobić. Za pomocą programu uisp wykonałem takie polecenie do ustawenia tych bitów: uisp -dlpt=0x378 -dprog=bsd...
Zgadzam się z kolegą francus . Ksiazka jest na prawde godna polecenia. Warto wydac te niecale 60zł.
Z tego co wyliczyłem ostatnia zadeklarowana zmienna wchodzi na obszar zarezerwowany dla stosu i właśnie dlatego wyskakuje błąd braku pamięci. Zmniejsz rozmiar stosu a zobaczysz, że uda się skompilować bez błędów. Tak samo jak zwiększysz stos to jeszcze mniej zmiennych zadeklarujesz. Bardzo dużo projektów...
"Prosty program" już dawno napisany, wszystko działa, procesor, wejścia, wyjścia, procesor reaguje na sygnały z przycisków oraz z LPT. Problem ewidentnie dotyczy obsługi licznika. Jeśli dobrze zrozumiałem, program powinien zliczać zbocza opadające wejścia T0 i po dwóch takich impulsach ma nastąpić przepełnienie...
a jak kolega podpiął ten wyświetlacz dokładnie???, to już trzeba było zapodać też kawałek schematu z wyświetlaczem bo i tu mogą czaić się błędy. pierwszy, który przychodzi mi do głowy to to, że piszesz iż bezośrednio z pinu portu (twoje wyjście WYS) sterujesz jakimś bliżej nie określonym podświetleniem....
użyj sobie po pierwsze bufora wejściowego dla RS'a (zobacz w helpie dokładnie co i jak to się używa) Config Serialin = Buffered , Size = 20 to po pierwsze, potem możesz stosować sobie polecenie Ischarwaiting w programie dzięki czemu nie będziesz musiał zatrzymywać programu i czekać z poleceniem...
cześć przeglądnąłem Twój program...i myślę że można to było napisać dużo lepiej....np wykorzystać polecenie lookup..i tablice...no i coś z tymi wait'ami bo to one sprawiają że chodzi to tak jak chodzi...na przyklad rozdzielić procedurę określającą ilość zapalonych ledów od procedury wyświetlania.. Pozdrawiam...
Trzeba wykorzystać: - kwalifikatory bitowe dla zmiennej: np. Portb.1 = A.b i pętlę FOR b=7 TO 0 STEP -1 lub - polecenie SHIFTOUT.
programator posiada zworkę slow? jak tak to ją zewrzyj ;) jakim poleceniem programujesz? avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe1:m zaprogramuje go na 1mhz wew. oscylator ;] hmmm... może coś nie łączy jak powinno? ...
$crystal = 4000000 'deklaracja częstotliwości pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaki...
ale nie wiem jak do tego zaprzęgnąć timer, moze jakis przyklad? Dodano po 1 jakie polecenia wysylac do pcfów aby zapalic dany segment wiem...
marenc : niestety w przypadku zwarcia mosi z miso programator powinien wykryć brak układu (polecenie wejścia w tryb programowania jest zwracane z 8bitowym opóźnieniem), dodatkowo nie był by możliwy odczyt sygnatury. Co do prędkości zegara programatora: prędkość powinna być co najwyżej F_CPU/4. Osobiście...
Niestety polecenie ENCODER nie działa zawsze właściwie. Dlatego radzę zrezygnować z niego na rzecz samodzielnego programu obsługi.
Poszukuje jakichkolwiek danych i przykładowych aplikacji współpracujących z nm 7010b czy ktos ma cos do polecenia?
No to przecież nie mówię, że to jest jedyne zabezpieczenie. Takie zeszlifowanie nazw jest często spotykane. Co do zabezpieczeń procka to inna sprawa. Też jest. Jak ktoś chce to przecież może się pobawić i rozpracować układ nie bronię. Co do brakujących plików dll . Wystarczy użyć google i zassać...
1. Wszystkie zmienne modyfikowane w przerwaniu powinny być 'volatile'. 2. Po co wyłączać globalnie przerwania w procedurze obsługi przerwania? Poczytaj datasheet - one i tak są wyłączone. 3. Sugerowałbym nie żałować klawisza ENTER - kod, w którym w jednym wierszu jest kilka poleceń jest nieczytelny. 4....
Straszna sieczka. Jaki zestaw uruchomieniowy? "ale dioda nie świeci..."-a czy już świeci? Jak masz silnik unipolarny to za pomocą ULN można go wysterować-ewentualnie. Jakie napięcie i prąd silnika? Do silników krokowych w dzisiejszych czasach używa się specjalnych sterowników-wtedy procesor wysyła...
... Prosiłbym o rozjaśnienie jak należałoby to odbierać :) Jasnowidzem niestety nie jestem :cry: Nie mam pojęcia, co robią Twoje funkcje Uart_napisz() i USART_in(). Czy po wysłaniu kodu polecenia np. AT+CSQ, wysyłasz jeszcze znak końca linii :?: Bo jeżeli tego nie robisz, to telefon nadal czeka...
Witam, Natknąłem się na pewien problem, mianowicie chciałem w podprogramie monitorować stan wejść. Chodzi o to, że jeżeli wejście1 jest włączone, to na wyświetlaczu w pozycji 1,1 jest znak "*", jeżeli wejscie4 jest włączone, to na wyświetlaczu w pozycji 1,4 jest znak"*" itd., po ponownym podaniu napięcia...
Dzięki za odp. na razie udalo mi sie to zrobić przy użyciu polecenia _delay_ms() ze standardowej biblioteki, ale wiem, że to pójście na łatwiznę ;). Obsługe minut i wyświetlania juz w zasadzie skończyłem. Nie wiem, czy coś będę musiał zmieniać przy przejściu na timery.
Świecą się wszystkie, bo program działa "za szybko". Polecenie WaitMs nie używa timera, tylko czeka określoną ilość taktów, aby ta ilość była prawidłowa, kompilator musi "znać" taktowanie procesora. Na raz ma się świecić tylko jedna dioda, tylko co "chwilę" kolejna - przy odpowiednio małym czasie...
Właśnie i tego się bałem ze jak wcisnę przycisk i go trzymam to przełanczaja sie kolejne programy Tak to wlasnie jest gdy increamentacja lub decr. zmiennej jest umieszczona w petli 'do...loop' i jest warunkowana poziomem na okreslonym wejsciu. Za kazdym "obrotem' petli zawarte w niej...
GO TO WIEC nie mylić z poleceniami bascoma
Ale przecież ten kawałek kodu nie ma najmniejszego sensu. Nie wiem, co ty chcesz osiągnąć przez ciągłe powielanie tych samych poleceń :/ Pilot ten pilot nie działa poprawnie. Nie może działać, bo to nawet nie przypomina rc5. Poczytaj sobie o rc5. Koniecznie.
Witam kolegów. Kieruję się w sumie , z prośbą o pomoc . Dziecko wyjechało na wakacje , więc mam trochę czasu i postanowiłem coś "podłubać". Otóż zrodził mi się pomysł , stworzenia grajka i padło na mp3 . Czy duży stopień trudności jest stworzenia takiego ? Kieruje też pytanie odnośnie wyświetlacza...
Czytaj błędy - "Value doesn't fit into BYTE predkosc to możesz wydać polecenie waitms predkosc . Zadeklaruj zmienną predkosc jako typ integer i będziesz mógł przypisać 500. Zarówno wait, waitms jak i waitus przyjmują wartości typu całkowitego, czyli nie 0,5.
Maciek4141 --> przecież Freddie Chopin opisał ci jaki błąd robisz pisząc coś takiego: int main(void) { .... .... .... while(1) return 0; } a ty to usprawniasz jeszcze "lepiej" - lepiej piszę w cudzysłowiu ;) while(1); { return...
panpac ---> a co to oznacza u ciebie takie stwierdzenie: "Kwarc w procesorze mam 12MHz, ale kiedy zmienię" 1. co ty? zmieniasz fizycznie podłączony kwarc zewnętrzny z 12MHz na 10MHz ??? czy tylko wydaje ci się, że zmieniasz jakieś wyimaginowane taktowanie wewnętrzne oscylatora siedzącego w procku? 2....
Po prostu formularz przesyła różne wartości danej zmiennej w zależności co wybierzesz. Mogą to być także pojedyncze przyciski. Wykrywasz czy np. w spisie przekazywanych przez POST zmiennych jest reset=1 albo przekaznik2=0 itp. i z zależności od zmiennej i jej wartości podejmujemy działanie. W przykładzie...
janbernat --> ależ ja nie twierdzę żeby nie uczył się syn lutowania - bo to byłoby w ogóle bez sensu - racja. Tyle że warto zacząć od na prawdę czegoś prostego - na płytce stykowej może sobie od razu w przysłowiowe 5min złożyć układzik testowy i próbować pisać do niego program. A później albo równolegle...
Musisz posprawdzać sobie ile potrzeba Ci pamięci na stosy. Każde polecenie gosub odkłada dwa bajty na stos. Pamięć ta jest zwracana przy wyjściu z podprogramu, ale jeśli z tego podprogramu uruchamiany jest następny podprogram, to nie dość że pamięć nie jest zwracana (bo nie ma prawidłowego wyjścia z...
A czy to musi być z użyciem ADC? Bo po zastosowaniu tego układu na wyjściu otrzymujemy typowy sygnał jaki daje enkoder. W tym momencie wystarczy napisać zwykłą procedurę obsługi enkodera lub użyć bascomowego polecenia Encoder. To chyba prostsze niż bawić się ADC. No chyba, że autor postu koniecznie chce...
Witam, Jak ustawić bity rejestrów ATMEGA16 za pomocą Baskoma by na wyjściu oc1a oc1b pojawiły się dwa przebiegi, tak by jeden był odwrócony względem drugiego? Jak będzie wówczas działać regulacja wypełniania (tzn. polecenie pwm1a i pwm1b)? Jak ktoś zna jakiś projekt z podobym założeniem to...
Witam kolegów Kolego cinek_14 Przy rysowaniu schematu uzywaj polecenia NET a nie Wire Obudowy układów ustawiaj tak aby napisy lezały poziomo. Podaj schemat w pliku to go poprawię Co do programu , za bardzo rozbudowany Przykład rozwiązania menu Select Case Menu Case 0: ...
Myślałem, że jest wszystko w porządku lecz jak dodaje jeszcze jedno napięcie do wyświetlania na takiej samej zasadzie to dzieją mi się różne cuda min.: Testy przeprowadzam w symulatorze programowym. $regfile = "m8def.dat" $sim $crystal = 1000000 Config Lcd = 16 * 2 Config...
Pisałem ci na pierwszej stronie że da się to zrobić w Winampie . Też kiedyś się męczyłem z różnymi programami ale Winamp okazał się najlepszy . Rzeczywiście bardzo fajnie dało się przekonwertować pliki poprzez winampa. Miałem go na dysku a szukałem w necie nie wiadomo czego :D Nie zmienia to...
To , ze działa , nie musi oznaczać poprawności konstrukcyjnej. Wiekszośc pijanych kierowców trafia do domu nie powodując wypadków, ale czy to jest godne polecenia? I zapewniam Cię , ze do też może działać ( i działa ) od lat... A co jeśli z jakiś powodów ten stabilizator zostanie uszkodzony i nap. 24V...
Po wysłaniu poleceń GO_IDLE_STATE(0) oraz SEND_OP_COND(1) warto wysłać CRC_ON_OFF(59). Nie jestem pewien, czy odpowiedź R1 zawsze przychodzi jako drugi bajt po poleceniu - warto wstawić pętlę np 16 przebiegów, jeśli pojawi się bajt różny od 0xFF to ten właśnie zwrócić i przerwać. Polecenia wysyłać jako...
Ten krótszy programik nic specjalnego. ; Zapalanie diody LED .INCLUDE "m8def.inc" ;.INCLUDE "czekaj_ms.inc" ;.EQU SYS_FREQ = 1 ; czŕstotliwoťŠ pracy w MHz (dla opˇčnie˝ ;inicjacja stosu LDI R16, HIGH (RAMEND) OUT SPH, R16 LDI R16, LOW (RAMEND) OUT...
Po pierwsze to mieszasz mocno ;) config PORTD.2= input config pinb.5=output to w końcu Config PortX.x czy Config PinX.x ?????? zaczytaj w HELPIE Bascomicznym (bo coś słabo go przerzucałeś), że poszczególne piny ustawia się jako wejścia lub wyjścia tylko poleceniem Config PinX.x czyli...
Witam Faktycznie też miałem problem z dwukierunkową transmisją między modułami RFM12(B) z wykorzystaniem przerwań. Wyglądało to mniej więcej tak: Po włączeniu zasilania moduł był konfigurowany jako odbiornik i wszystko pięknie odbierał jak w trakcie pracy przełączyłem go na nadawanie to włączył...
Wymieniłem procesor w jednostce głównej i mogę przystąpić do testów. Chyba jednak nie rozumiem zasady działania sieci rs485. Mam w swoim systemie jednostkę główną, zasilacz oraz moduł gsm. Wszystkie mają wbudowane układy MAX485CN. Kiedy do modułu głównego podepnę zasilacz to komunikuja się aż...
A jeżeli bym podłączył ten przetwornik pod spi sprzętowe razem z karta SD i dane do przetwornika wysyłał bym przez polecenie SPIOUT :?: Albo jeszcze myślałem nad tym żeby kartę pamięci zostawić na sprzętowym a przetwornik dać na programowym i wtedy najwyżej zrezygnował bym z lcd i miał bym wolne programowe...
Witam po małej przerwie. Mam znów kilka pytań, ale proszę o wyrozumiałość, bo naprawdę dopiero zaczynam z u-kontrolerami. A więc tak, zrobiłem jak radziliście, niestety nie potrafie jeszcze pojąć w pełni timerów, chodź umiem już je ustawiać aby odliczały jakiś tam ''kwant'' czasu. Przeglądam forum...
Skoczyć można bardzo prosto: sprawdzasz gdzie dla danej konfiguracji jest wektor danego przerwania i skaczesz pod dany adres. Z danego adresu jest skok do funcji jego obsługi. Pytanie jest tylko, jakim poleceniem wykonać skok (RJMP/JMP/RCALL/ICALL/CALL czy jeszcze coś innego). Skoro używasz ISR_NAKED...
Konkretnie to chodzilo by mi o jakis przyklad sterowania tym przetwornikiem w Bascom-ie . Probowalem juz wysylac dane do dac-a przez polecenie SPIOUT ale niestety nie dziala , prosze o pomoc
W poprzednim poście pisałem że programator równoległy przy każdym wpisywaniu polecenia "avrpp -r" odczytywał inną wartość sygnatury i dalszy dostęp do zmian fusebitów i programowania był zablokowany. Miałem nadzieję że Atmega Fusebit Doctor uratuje mi procka, ale niestety Twórca tego wspaniałego urządzenia...
Mam dość nietypowy problem, nietypowy bo nie spotkałem się z nim na żadnym forum, ani na stronie o tej tematyce, które przewertowałem, a powoli doprowadza mnie to już do szału... :/ Problem polega na tym, że mój układ powinien wysyłać do komputera przez złącze COM pewne dane i pewne dane odbierać....
Użyj polecenia invoke na danym elemencie - to jest taka ikonka z narysowanymi czterema bramkami i strzałką. Wskazujesz na element na schemacie i pokażą ci się piny zasilania.
Problem rozgryzłem polegał na błędach wynikających z zastosowanego przeze mnie polecenia delay z nieznanych mi przyczyn nie działał tzn nie powodował żadnego opóźnienia. Zastosowałem procedurę zawartą w winavr. Reszta programu jest poprawna wystarczy wysłać po kolei wszystko co generuje dds configurator...
Przeanalizuj Swój program. Linijka po linijce. Nie masz głównej pętli. Po włączeniu program przelatuje tylko raz przez polecenia debounce. Potem już nigdy ich nie sprawdza. A pętle w subach są niepotrzebne.
Kolego Darres1 zastosowałem polecenie Append aby dane były zapisywane na końcu pliku. Gdy utworzę plik ręcznie z jednym znakiem w nim to dane są zapisywane. Niestety po kilkunastu zapisach program przestaje działać, a po próbie odczytania pliku w PC otrzymuję informację o uszkodzonym pliku. Jeśli kartę...
manekinen napisał: Nie dostałeś żadnej instrukcji z programatorem? Zainstalowałeś sterowniki? Instrukcji nie było (programator kupiłem na allegro), a skoro nie wiedziałem co to za programator, to nie szukałem sterowników. mirekk36 napisał: rozumiem, że można być początkującym ale powiedz panie...
Co może być przyczyną takiego działania? Czy to wina uC? . Skąd wam przychodzą od razu takie wnioski - wina uC? Szok! Wina to jest twojego programu i podejścia zapewne. A że nie raczyłeś pokazać choćby jego fragmentu to tylko tyle można powiedzieć. Na pewno nie trzeba wyłączać przerwań...
Polecenie w skrócie brzmi: Napisz program w asemblerze i w C, który wczytuje z tablicy kolejne liczby (bajty) i wyświetla je na diodach bit po bicie. Po każdym kolejnym bicie należy odczekać 5ms, dodatkowo po każdym bajcie należy odczekać 50ms. Wykorzystać przerwania licznika (timera). W asemblerze...
No to krok do przodu u mnie tez działa jeden warunek i wszystko gra serdeczne dzięki dla kolegi Marka jeszcze jak pisze może kolega mi podpowie jaki typ zmiennej jest widziany globalnie a raczej zewnętrznie .Mam funkcje w której mam zmienną funkcja co prawda jest umieszczona w innym pliku nagłówkowym...
Niepotrzebnie rysujesz sygnały (połączenia) tak grubą linią Net . Wystarczy taka grubość jaka jest domyślnie ustawiona w programie. Pobierz z biblioteki supply1,2 symbole masy ( GND ) i symbole zasilania dodatniego (tutaj +5V ) i zamień z tą niepotrzebnie ciągniętą linią zasilania po całym schemacie. Wtedy...
Absolutnie i zdecydowanie będzie ci to wszystko pięknie działało i to bez mrugnięcia oka czy serwa , i to bez żadnych układów DMA, bez żadnych sztuczek cyrkowych jeśli chodzi o pisanie takiego programu. Po prostu będzie działało - tylko trzeba zrobić podstawową i prostą obsługę RS232 (nadawanie i odbieranie)...
Witam wszystkich, Panowie mam takie pytanie dotyczące kawałka kodu odpowiedzialnego za transmisję danych programowym uartem. [syntax=basic4gl] dim sms as string*70 dim ss1 as string*20 dim ss2 as string*20 dim ss3 as string*20 dim i1 as integer dim i2 as integer dim i3 as integer Ss2 = Str(i2) Ss2...
Super, to już 1 etap zakończony:D Pozostaje już sama kwestia sterowania. Do tego celu ściągnąłem FT_prog 1.12 ze strony producenta. Po wgraniu sterowników w zaleności od coma pod niego konfiguruje program, oczywiście prędkość bitstopy itp te parametry znam. Co dalej? Pozostaje już tylko w wierszu...
Analizując kolejność wykonanych poleceń wynika, że: - sprawdzenie warunku czy SW_1 jest wciśniety - jest wciśnięty - ... następne warunki - koniec petli i wyzerowanie pytania i odpowiedzi - moment zgaszenia diody - Sw 1 nadal wduszony więc spełnienie warunku - zapalenie LED
Program jest wzięty z książki "Mikrokontrolery AVR, Język C, Podstawy programowania". Definiuję jako wyjście poleceniem DDRC.
Witam, Nie znam tego kodu w całości z tego co widzę to tak; 0111 bin to to samo co 7 dec. Cyfra 7 to tak naprawdę adres komórki w której znajduje się sekwencja bitów odpowiadająca za takie ustawienie pinów procesora aby wyświetlał cyfrę 7. Wydając polecenie wyświetlenia liczby X dajemy rozkaz...
Jak powyżej chciałbym zrealizować projekt komunikacji pomiędzy dwoma atmegami przez moduł rfm12b. Moduł ma być podpięty tak jak na schemacie z programing guide układów rfm12b screen poniżej: Przy czym w jednym z układów będzie wyprowadzone 5 przycisków na którychś z wolnych pinów po wciśnięciu przycisku...
Chcesz, żeby dowolne piny z różnych portów można było obsługiwać jak jeden port? Może po prostu użyj polecenia #define? Ewentualnie napisz funkcję, która będzie kolejne bity w portach ustawiać/kasować, a ty będziesz podawać żądaną wartość jako argument tej funkcji np. PORTX(0x33); void...
A tak dla ciekawości zastąp te 3 polecenia takimi: wdr Wdtcsr = &H1B Wdtcsr = &H0B
HIGH 0xD9 LOW 0xE1 Kwarcu nie ma. ///EDIT/// Przeczytałem. Wyczytałem, że portb 6/7 są nieaktywne, gdy korzysta się z zewnętrznego kwarcu (Polecenia zwracają "0"). I co to mi miało dać? ///EDIT2/// Nikt mi nie pomoże?
Robiłem taki generator tylko że na FPGA i błąd w timingu rzędu 1% psuł cały obraz. Żeby sobie tak sterować obrazem przez VGA + kolory to musisz mieć przetwornik , chociażby na rezystorach i do tego pamięć SRAM (żeby było prościej). Mogę Ci teraz pokazać ile będzie zajmował pamięci RAM sam bufor. Załóżmy...
Pierwsze co to chciałem podziękować za bogate wypowiedzi i własne sugestie. Powiem tak, macie Panowie racje w 100%. Przemyślałem to i doszedłem do wniosku że podczas pisania umieszczę coś na styl nr. seryjnego w każdym procku. Wyszukiwarkę też już rozkminiłem jak zrobić. Może tak w skrócie opisze jak...
Hexa zrobiłem w AVRStudio, ale to bez znaczenia skoro nie mogę go wgrać. Do wgrywania używam, a raczej próbuje AVRDude - odpalany w wierszu poleceń. Żeby korzystać z zewnętrznego kwarcu musze ustawić odpowiednio fusebity, a tego i tak nie mogę zrobić więc chyba nie w tym rzecz. EDIT: chyba, że problem...
Skoro na MOSI są impulsy, to raczej z giveio wszystko OK. Kwestia, czy wybrano właściwą konfigurację w avdude, zgodną ze schematem podłączeń, najlepiej zajrzeć do konfiguracji programatorów z " type = par; " w avrdude,conf, numery pinów LPT są tam podane wprost i w linii poleceń wybrać właściwe id...
Witam. Jak należy konfigurować poleceniem w Bascom Config PORTx=&Bxxxxxxxx i PORTx=&Bxxxxxxxx piny używane do np. taktowania procesora-np. xtal, lub piny używanego ADC lub LCD lub np, jakiegoś interfejsu? CZy gdy są wejściami - włączać R podciągające czy niech pin "wisi w powietrzu"?
No to ok. Załóżmy że stworzę bufor o rozmiarze 512 bajtów [syntax=c]char pamiec[512];[/syntax] i zacznę odczytywać plik w taki sposób: [syntax=c]res = pf_read(pamiec, sizeof(pamiec), &s1);[/syntax] z tym że pomijam nagłówek (z tego co wyczytałem jest to 40 bajtów) i zaczynam czytać od...
Ale zdaje się chodzi o to że jeśli masz podłączoną linię R/W do uC to pewnie przeprowadzasz inicjalizację(czy jakąkolwiek operację na LCD) z odczytem flagi zajętości LCD. Nie wczytywałem się jak to wygląda bo używam biblioteki bez odczytu tej flagi ale prawdopodobnie każda funkcja odczytuje flagę zajętości...
Witam! Wykonałem WebSerwer ze strony . Docelowo ma służyć do pomiaru temperatury i zapisywaniu wyników na serwerze. Udało mi się uruchomić moduł, zmierzyć temperaturę i wysłać GET z trzema wpisanymi na sztywno parametrami na inny serwer (cba.pl). Ale nie mogę sobie poradzić z wysłaniem GET z odczytanymi...
No włąśnie tu tkwił mój błąd w rozumowaniu.... po północnym siedzeniu doszedłęm do takich wniosków.. tzn nie łączyłem tego ze żeby uzyskać zero trzeba zapisać jedynkę. Jednocześnie chciałem przez ustawianie flagi wywoływać przerwanie a to jest chyba niewykonalne wiec i tu straciłem trochę czasu. Kwitując: Uruchomiłem.......
a jak sprawdzic czy 74hc595 odbierają jakieś polecenia ? od czego zacząć lokalizacje usterki? Ustawiłem fuse bit na 8Mhz wewnętrzny więcej nic nie przestawiałem . ale 74595 nie odbiera poleceń, to nie mikrokontroler tylko rejestr przesuwny, więc jeśli są do niego wsuwane dane przez procesor to powinny...
Hmm... Jeszcze jedną dziwną rzecz zauważyłem w tym module. Mianowicie chciałem dać trochę automatyki podczas włączania. Atmega najpierw sprawdza stan linii DSC_EN (stan wysoki wskazuje na włączenie modułu). Jeśli jest zero, ustawia linię TS ("włącznik") na stan wysoki i trzyma go do momentu pojawienie...
Może na zasadzie "koledze działają, to i u mnie powinny". :) Jak ja to lubię.. Nieważne, że nie mają prawa działać - komuś działały, więc muszą działać i u mnie. Timingi szyny HD44780 są dość dobrze określone - dane mają być stabilne PRZED zmianą stanu E na wysoki, minimalny czas trwania stanu wysokiego/niskiego...
Witam W swoim programie wykorzystuję klasyczny kod dla DS18B20. Pomiar, obliczenia i odczyt podzieliłem na dwie części, każda wyzwalana flagą od od Timer0. Najpierw w podprogramie wywołuję DS'y pierwszym wystąpienie flagi od Timer0, a w następnej wywołuję podprogram konwersji i obliczeń. [syntax=basic4gl] $reg...
1. Gdy zaimplementujemy mikrokontroler tak, aby linie np. PC0... PC6 były wyjściami to czy oznacza to, że na wyjściu tych pinów mogą pojawić się TYLKO I WYŁĄCZNIE dwa stany: -0V -5V ? Czy da się uzyskać na wyjściu np. 3V? 2. Drugie pytanie: jakimi komendami w języku programowania C uzyskać coś...
Bardzo dziękuję, teraz wszystko śmiga :) Dzięki też za polecenie bloga i oczywiście za punkty. Pozdrawiam!
Witam, mam problem z dopasowaniem programu na swoje potrzeby. Nie posiadam mikrokontrolera 89c2051 dla którego został stworzony owy program, programatora tym bardziej. Mam za to atmege8 do której chciałbym wszystko zaadoptować. Program źródłowy: