na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '***************************************... '-------------------- konfiguracje ----------------------------------------... $regfile...
Witajcie. Robię malutkie projekty korzystając z Bascoma. Do tej pory wyłącznie na 2313 i jakoś sobie radziłem. W nowym projekcie postanowiłem zastosować Atmega8535 i od razu natrafiłem na problem. Mianowicie po włączeniu przerwań od Timer0 nic nie działa jak powinno. Pomimo tego że procedura obsługi wyświetlacza jest wołana z obsługi przerwania na wyświetlaczu...
Witam Pytanie 1: Zrobiłem coś takiego że jeśli odebrano znak to jest wygenerowane przerwanie Urxc następnie przed instrukcją INPUTBIN uruchamiam przerwanie Timer0 jako licznik czasu który chcę wykorzystać do przeterminowania czasu odebranego znaku. bo INPUTBIN B(1), 6 oczekuje na 6 bajtów. Jak wysyłam całe 6bajtów to działa poprawnie, a jeśli bym wysłał...
pisze w baskomie, zawsze pokazuje 1 Config Int0 = Falling Config Pind.2 = Input On Int0 Grc5 Dim I As Byte Dim S As String * 15 Config Timer0 = Timer , Prescale = 64 Cursor Off Home Upperline Dim Address As Byte , Command As Byte , Fl As Bit Cls Enable Interrupts Enable Int0 Enable Timer0 On Timer0 G_rc5k Lcd "RC5...V1,2" Fl = 0 Do If Fl = 1 Then Fl...
Wydaje mi się że tutaj chodzi o same cyferki! W końcu dostajecie 9+9+9+9 = 36, moje podejżenie polegało na tym że zamiast reagować na cztery dziewiątki If zareaguje o jeden za późno. Spróbuj zatrzymać timer0 wcześniej, może się okazać że w tym kryje się błąd Właśnie o to mi chodzi, czyli w którum miejscu go najlepiej zatrzymać? Dodano po 10 oto początek...
Witam, szukałem w archiwum, w fack'u i w paru innych miejscach, ale wciąż nie moge dojść jak działa Timer. Napisałem krótki program ktory miał mi generować jedną sekunde - wstępnie o to mi chodzi. '$sim $crystal = 18432000 '18432000/12=1536000 'Konfiguracja wyświetlacza Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7...
faktycznie macie rację troche mało napisałem, sorki, teraz sie poprawię ok tak mniejwięcej wyglada ta część programu config clock=soft time$=00:00:00 config timer0=timer prescale=1024 enable interrupts enable timer0 on timer0 program_odlicznie do główny program lcd time$ start timer0 loop program_odlicznie: wiem oczywiście, że czas do przerwanie to...
Drodzy koledzy, Programując uC ATTINY13 natknąłem się na pewien problem związany z obsługą przerwania od czasomierza. Poniżej krótko co program mniej więcej ma robić. Do jednego z wejść mikrokontrolera doprowadzony jest sygnał. Pojawiają się tam impulsy o różnej długości i na dodatek w różnych odstepach czasu. Zadaniem programu ma być wygenerowanie...
a gdzie start timer0 :D
A może by tak umieścić na początku programu instrukcję Start Timer0?
witam chce odmierzyć 1 s za pomocą timer0 w procku Atmega8, robię to tak: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Timer0 = Timer , Prescale = 256 On Timer0 Sekunda Enable Interrupts Enable Timer0 Start Timer0...
Gdzie Start Timer0
Którą wersję Bascoma używasz? 1.11.8.1 Nic nie poradzę że pod ustawieniami ATMega16, ATMega161, ATMega162 nie działa. Pod ATMega161 licznik ożył ale nie generowały się przerwania. Dziwne - ale prawdziwe. A jak zamiast start TIMER0- wpiszesz do rejestru TCCR0 CS02=1, CS01=1 a CS00=0-to będziesz miał lepiej. Być może by zadziało... albo i nie bo wydaje...
A gdzie masz polecenie Start Timer0? Nie musi byc. Od momentu: Config Timer0 = Timer ,.... Timer startuje liczenie czasu w/g. zadanej konfiguracji. A jak autor mierzy ten czas? (8.2 ms).. Jezeli dioda jest indykatorem zmiany stanu pinu/portu wyjsciowego to nalezy odwrocic polaryzacje diody i wtedy zapali sie ona na stale po uplywie ok. 8.9 ms.od momentu...
Jest to mój pierwszy program z użyciem timera i nie mam pojęcia dlaczego nie działa, wydaje mi się że wszystko jest ok a jednak po wgraniu do mikrokontrolera nie ma żadnej reakcji. $regfile "attiny2313.dat" $crystal = 1000000 Config Timer0 = Timer , Prescale = 1024 Dim T1 As Byte T1 = 0 Dim T2 As Byte T2 = 0 Dim T3 As Byte T3 = 0 On Timer0...
Lepiej by było jakbyś podzielił prescaler na 256 albo na 1024. I po co pod włączeniem przerwania masz i enable timer0 i start timer0? Wystarczy start timer0.
Witam. Mam problem z przerwaniami. Chcę przerwaniem INT0 uruchomić timer0 a przerwaniem INT1 go zatrzymać. Czy jest taka możliwość? [syntax=basic4gl] $regfile = "m8adef.dat" $crystal = 8000000 Config Lcd = 16 * 2 Cursor Off Config Lcdpin = Pin , Db7 = Portc.5 , Db6 = Portc.4 , Db5 = Portc.3 , Db4 = Portc.2 , E = Portc.1 , Rs = Portc.0 Config Timer0...
Witam, Jestem początkujący jeśli chodzi o programowanie ARM wiec proszę o wyrozumiałość. Mam problem z procesorem LPC 1768, konkretnie jest to płytka Mini DK-2. Od pewnego czasu walczę z problemami w przerwaniach i nie mogę sobie poradzić. Przewertowałem setki tematów na forach polskich i zagranicznych, być może źle szukałem, wiec każda wskazówka i...
Ta linijka w sumie nie ma potrzeby istnieć. Według mnie wystarczy wywołać: Timer0_Init()' i potem Timer0_RegisterCallbackFunction( jakaś funkcja ) i powinno chodzić. Jednak nic się nie dzieje. Samo Timer0_Init wygląda tak: void Timer0_Init(void) { //mt char i; uint8_t i; // Initialize array of callback functions for (i=0; i<TIMER0_NUM_CALLBACKS;...
Zamieszczam przyklad programu napisanego na kolanie, zmienia stan lini PC3 co okolo (LicznikMax*10ms ) - wychodzi co ok. 100 ms Gdybyś miał wątpliwości to podniosłem moje kości z krzesła przed komputerem po płytkę z AtMega32 i sprawdziłem w ukladzie - DZIAŁA! Kompilowany pod ICC626, polecam "Wizarda" ,pomaga w minute ustawić co potrzeba bez sięgania...
Witam, pisałem w ostatnim czasie na tym forum wielokrotnie problemy wciąż dotyczą tego samego projektu. Tym razem do przerwania USART_RXC_vect wstawiłem ifa sprawdzającego czy ma transmitować dane czy nie. Bez tego warunku wszystko działa lecz wtedy nie mogę kontrolować startu i końca wysyłania. Poniżej kod przerwania timera i przerwania od USART. Jak...
Po dluzszej przerwie i irytacji wynikajacej z nieznajomosci C i keila znow wzialem sie za ten programik. Stwierdzilem ze odmierzanie czasu "na sztywno" i zczytywanie kolejnych bitow jest kiepskim rozwiazaniem i sprobowalem najpierw zmierzyc czas pomiedzy kolejnymi bitami a pozniej zczytywac w oparciu o ta wartosc. Nabazgralem programik, troche ogarnalem...
Próbuje nauczyć się obsługi timerów ale nawet taki prosty programik mi nie działa, co jest nie tak, jakiś błąd w kodzie czy może coś innego. Teoretycznie przerwanie powinno wystąpić co 0,26sek, x 10 (incr I) = 2,6sek powinna dioda zmienić stan na portb.4. Przerwanie liczyłem na kalkulatorze przerwań a program po wgraniu nie działa, dioda ani się nie...
Hej, Piszę, ponieważ mam problem z jednoczesną obsługą Timera, UART'a i ADC w lpc1769 (CodeSourcery, a moduł z Propoxa). Moduł przerwań Timera działa bez zarzutu, dla przykładu migam sobie diodką, kod inicjujący poniżej: [syntax=cpp] LPC_SC->PCONP |= (1 << 1); //Power up Timer 0 LPC_SC->PCLKSEL0 |= (1 << 3); // Clock for timer = CCLK...
Witam Początek inicjalizacji Timer0 wygląda tak: LPC_TIM0->TCR |= 1<<0; // start timera a następnie zawartość licznika kilka razy przepisuje do zmiennej tc_val tc_val=LPC_TIM0->TC; gdy ustawie podzielnik dla taktowania Timer0 na 1 (czyli pełne CCLK 100MHz) LPC_SC->PCLKSEL0 |= 1<<2; otrzymuje takie wartości licznika oraz czas trwania...
Witam Kontynuuję zabawę z przerwaniami (Attiny13). Jednak mam pewne wątpliwości... Czy procedura jest ok? ISR(TIMER0_COMPA_vect)//chyba ok, ewentualnie: _COMPB { } Linkier daje ostrzeżenie... 'TIMER0_COMPA_vect' appears to be a misspelled signal handler Nie widzę błędu... ;\ Podczas symulacji dostaje błąd: AVR Simulator: Stack...
Najtrudniej analizuje się własny kod, bo zawsze patrzy się przez pryzmat wiedzy o tym co on powinien robić i nie dostrzega się drobnych błędów :) Zgadzam się z tym w 100%. Przy Bascomie rzadko sięgałem do PDF'ów kontrolerów, przy C nie da się bez tego wszystkiego zrobić. Bez tych 500 "przekręceń" licznika nawet w Bascom by nie poszło, jak zwykle zbyt...
Witam Temat: Licznik przesłanych bajtów z programatora (JDM) do kości pamięci 24c512 (i2c) Moje rozwiązanie: Wiemy że pamięć ma 65536 komórek a więc żeby ją zapełnić trzeba wysłać 65536 startów. Ponieważ z pamięci korzysta też procek 89c4051, jest do niej podłączony, można wykorzystać 2 piny do detekcji startu - licznik 0 (bo licznik 1 jest zarezerwowany...
W załączniku plik hex zawierający program z Twojego pierwszego postu, skompilowany w AVR Studio 4 dla Atmega128 optymalizacja -0s. Spróbuj zanim cokolwiek będziesz przeinstalowywał. Build started 6.9.2012 at 03:59:00 avr-gcc -mmcu=atmega128 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT dd.o...
Witajcie moi drodzy Dziś przedstawią moją minimalną płytkę uruchomieniową dla PIC18F4450 i PIC18F45K50 wykonaną w SMD. Zawiera ona zasadniczo tylko to co jest niezbędne by uruchomić tego PICa. Motywacja projektu Projekt powstał tylko dlatego, że korzystam dość dużo z PICów, a stare rozwiązania (wykonane montażem przewlekanym, często co gorsza na płytkach...
mam takie pytanko w atmega 16 niewiem w jaki sposób włanczać i wyłanczać timer niewiem któr rejestr dego dokonuje , a może one chodzą cały czas bo jeśli ustawie timer na to żeby zliczał (timer0) impulsy zegara sys. i włanczał przerwanie gdy zgodzie się jego wartość z rejestrem OCR0 ale od kiedy on ma się włączyć ktury bit to ustawia ? nobo leci sobie...
Czy taki program obliczy mi dobrze czas? $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 Cls Config Timer1 = Timer , Prescale = 256 On Timer1 Odmierz_2s Dim Licz As Byte Enable Interrupts Enable Timer1 Start Timer1...
Gdzie masz komendę start timer0 załadowałeś wartość odblokowałeś przerwania ale nie uruchomiłeś licznika .... A do czasu 1s proponowałbym licznik 16 bitowy z podzieleniem f zegarowej przez 64 dostaniesz 1s bez liczenia ...
Witam! Próbuje sie skomunikować z Timerem 0 w mikrokontrolerze at89s8253 poprzez poniższy program.. ORG 0000H LJMP START ORG 000BH LJMP OBS_T0;WEKTOR PRZERWANIA LICZNIKA TO START: AKTYWACJA: JNB P1.2,WLACZ_T0 JMP AKTYWACJA WLACZ_T0: MOV A,#00010001B MOV TMOD,A MOV A,#00001010B MOV IE,A MOV A,#0 MOV TL0,A MOV TH0,A SETB EA SETB ET0 CLR TF0...
Oferta Kamami.pl - ZL3AVR. Zamiast Mega32 wkładasz Mega16 i to wszystko. Nie będzie jednak działo złącze JTAG (M16 go nie posiada), sprzętowy I2C (M16 go nie posiada), oraz domyślnie skonfigurowane wyjście DAC (brak PWM w liczniku TIMER0, ale da się podłączyć do innego np. TIMER2, który go ma) jak chcesz komplet lub ściągnąć schemat (płytkę da sie nawet...
Zbudowałem układ, który mierzy temp. z trzech ds18b20 i wyświetla na lcd. Problem zaczyna się gdy włączę przerwania od timera0 (który tylko w tle odmierza sobie odcinki czasu po 8ms), a mianowicie mierzona temperatura jest nie prawidłowa a później zaczyna się krzaczyć lcd. Ma to być sterownik pieca CO więc potrzebuję odliczać krótkie odcinki czasu na...
Witam. To mój pierwszy post na forum. Mam na Imię Bartek i, jako samouk, elektroniką zajmuję się czysto amatorsko i hobbystycznie. Konstruuję spowalniacz do serw modelarskich, lecz napotkałem problem, z którym borykam się od dłuższego czasu. Aktualnie, aby zidentyfikować istotę problemu, "zdegradowałem" swoje docelowe rozwiązanie do następującej postaci...
Niestety dalej to samo. Gdy nie wpisuje TOIE2 to wyświetlacz startuje ale nie działają mi te rzeczy powiązane z Timer2.
Witam szanownych kolegów. Problem następujący: Poniżej jest programik, który działa następująco: Po otrzymaniu przez UART1 literki "l" uruchamia timer, który co 0.1s uruchamia przerwanie od porównania. W tymże przerwaniu inkrementuje sobie licznik index_dac, wyświetla jego wartość. Po spełnieniu warunku index >=10, timer powinien się wyłączyć wysyłając...
No i coś mi te znaczniki nie działają... Zaraz jakiś moderator mnie tu zlinczuje... :) Więc tak - po zmianie na "start timer0" wywala mi się na linii "config timer0..." z błędem ".EQU not found, probably using functions that are not supported by selected chip [TCCR0]" No to znaczy chyba, że muszę ręcznie wpisywać, kurka wodna... Aha, a tak w ogóle,...
Witam serdecznie kolegów. Mam taki oto problem. Do portu PB2(OC0A) mam podłączoną diodę LED czerwoną poprzez rezystor 470Ω. Mikrokontroler pracuje na wewnętrznym generatorze na 8MHz. Konfiguruję TIMER/COUNTER0 do pracy w trybie FAST PWM. A moim celem jest regulacja jasności świecenia diodą od 0 do max. I tu pojawia się problem bo tak jak mogę nastawić...
Witam, mój problem polega na tym, że chcę włączyć tryb CTC dla Timer0. Próbuję to zrobić (ASM i C) i w efekcie licznik się nie zeruje na wertości TOP, ale leci do MAX (255). Jednak tak samo napisany kod dla Timer1 już działa zerując licznik po osiągnięciu wartości TOP (np. 50). TIMER1 CTC MODE: [syntax=asm] ldi r16, 0x63 ; out OCR1AL, r16 ; ldi r16,...
Timer nie dziala poprawnie , Powinna występować zmiana stanu diody co 1s, a przerwanie co 1ms. Kod programu z przerwaniem: [[syntax=c] int main (void) { DDRB |= (1 << PB3); TCCR0A |= (1 << WGM01); // Configure timer 1 for CTC mode TIMSK0 |= (1 << OCIE0A); // Enable CTC interrupt sei(); // Enable global interrupts OCR0A = 150; // Set...
Witam! Od niedawna zmagam się z problemem którego nie mogę rozwiązać, dlatego zwracam się do was z prośbą o pomoc.A więc tak: potrzebuję zrobić odmierzanie czasu.Zamysł jest taki: taktuję Timer0 (8 bitowy) zegarem 4Mhz bez preskalera.Licznik przepełnia się po 256 taktach zegara czylo flaga przepełnienia ustawiana jest co 64us.Następnie wywoływane jest...
Mikrokontroler: , dlaczego taki? więc niejaki mirekk36 odpowie, dlatego, że: 1. ATmega88 to dużo nowsza wersja ATmega8 2. posiada wiele ciekawszych możliwości niż m8, a do najważniejszych można zaliczyć fakt, iż Timer0 posiada kilka trybów pracy w przeciwieństwie do m8. Może na początku to dla ciebie nie dużo będzie znaczyć, ale gdy tylko się podciągniesz...
Zdaje sobie sprawę że powinno się dobierać procesor do zastosowania ale czasem trzeba się dostosować. Co do inkrementowania to nie wyraziłem się jasno chodzi oto ze zegar tyka co 0,5 s i gdy stan licznika startuje od 11 to gdy się przepełni 79999 razy mam prawie idealną sekunde dzięki temu w obsłudze przerwania zewnętrznego wystarczy odczytać stan licznika...
Próbuję zrobić emulator dekodera PT2272 (dekoder pilotów radiowych), transmisja nie jest zbyt skomplikowana i wykonanie kodera było proste. Problem zaczyna sie po stronie odbiorczej. Na przebiegu zaznaczyłem wszystkie 4 stany jakie występują w słowie kodowym. Są to odpowiednio "0" "1" "T" i ostatni synchronizujący. Napisałem programik i coś nie wykrywa...
Witam. Mam drobny problem i nie wiem jak go ugryźć. Atmega32 kwarc 16mhz W przerwaniu odczytuję klawiaturę ps2 i w między czasie robię wyświetlanie na matrycy w Timerze z preskalerem 64. I jeszcze mam uruchomione PWM. Jesli wyświetlanie zrobie w pętli głównej i wyłaczę timer to klawiatura czyta się prawidłowo ale jeśli uruchomię timer to wówczas czyta...
Przede wszystkim to zastanów się dlaczego do generowania nośnej usilnie chcesz pisać jakiś kod programu i obciążać tym program główny procesora, skoro można to zrobić CZYSTO sprzętowo za pomocą timera. Tylko nie Timera0 bo ATmega8 jest biedna w porównaniu do ATmegai88 gdyż timer0 nie posiada w niej trybu CTC. Tymczasem masz jeszcze timer2 i wystarczy...
Witam Od pewnego czasu zmagam się z problemem odbioru danych przez procesor ATmega32 w kodzie Menchester. Opisze w skrócie jak działa poniższy układ. W przerwaniu (tryb CTC) timera 0 znajduje się funkcja obsługująca trzy wyświetlacze LED (wspólna Anoda) oraz funkcja skanująca klawiaturę. Katody wyświetlaczy podłączone są pod PORTB, anody pod piny PD5,...
Witam, popełniłem takowy program do sterowania ogrzewaniem i zapętliłem się nieco na funkcji start/stop odliczania pozostałego czasu do wyłączenia urządzenia. Poniżej fragment kodu: [syntax=basic4gl]'----------------------... GLOWNA----------------------------------... Do If Flaga_4ms = 1 Then 'co 4ms Flaga_4ms = 0 End If If Flaga_100ms =...
Nie za wiele swojego programu pokazałeś, więc trudno powiedzieć gdzie masz błąd. Masz przykład jak powinno wyglądać przerwanie.[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Interrupts Enable Timer0 Start Timer0 On Timer0 Timer_przerwanie Do ........ Loop Timer_przerwanie: ............ Return [/syntax]
Mam taki kłopot (Bascom + Atmega128) ; Korzystam z PWM w trybie FAST. Uruchamiam sobie to normalnie ; Tcnt0 = 0 Ocr0 = 0 Tccr0 = &B01101010 'timer0 in fast pwm mode, prescale = 8 10kHz Ocr0 = 0 Następnie zmieniam zależnie od potrzeb wypełnienie, przez wpis do OCR0. Na koniec wyłączam PWM ; Ocr0 = 0 Tccr0 = &B00000000 Tcnt0 = 0 PWM startuje zawsze od...
Dzięki za kalkulator i wyjaśnienie Napisałem kod z timer1 do odmierzania odcinków czasu po 10 sekund. 10 sekund świeci led i następne 10 sekund nie świeci i tak w kółko. Oto kod: ...................... Jaki błąd popełniłem w tym kodzie? ............ Ale taki sam efekt. Przecież początkowa wartość licznika to 55771, końcowa 65536. Po 9765 krokach ma...
Witam. Ostatnio zainteresował mnie pomiar natężenia światła, potrzebuję go do wykonania projektu. Pomiar dokonuje czujnikiem TSL235R, który podaje mi odpowiedź w formie częstotliwości. Chciałbym aby ktoś przyjrzał się temu co narazie wklepałem do kompilatora, bo nie jestem pewien, czy wszystko będzie grało? Może zacznę od kodu, wtedy zadam pytania itp....
Witam Napisałem prosty program używający timera1 i timera 2 do zliczania częstotliwości, Chciałbym użyć dodatkowo serwa do mojego projektu ale używając intrukcji Servo coś nie tak dzieje się z serwem . Po włączeniu zasilania ciągle pracuje i próbuje przekręcić się o 360 stopni "ciągle pracuje". Kiedy w kodzie spełniony jest warunek i uruchamia się komenda...
Witam, jestem w trakcie wykonywania projektu na podstawie: W tym projekcie jest podany kod źródłowy, ale ja piszę własny od podstaw w BASCOM. Doszedłem do timera i trochę stanąłem w miejscu. Musze ustawić jakoś Timer, tak żeby aktywował on się po przyciśnięciu przycisku START i co sekundy zmniejszał ilość sekund, aż dojdzie do 00:00. Po przyciśnięciu...
Witam ponieważ w programie będe używał polecenia CONFIG SERVOS co powoduje iż Timer0 jest zajęty przez tę komendę potrzebuje zamienić wykorzystany wcześniej timer0 do przerwań na timer1 aby timer0 był wolny do sterowania serwem. Pozamieniałem w programie komendy timer0 na timer1 odpaliłem układ w symulatorze i nie działa. Dopiero uczę się programować...
Moim zdaniem teraz program powinien działać poprawnie. Skoro nie działa należy dodać pewne elementy porządkowe. Jednym z nich jest włączanie i wyłączanie Timera0, a drugim resetowanie licznika preskalera Timera0. Ten pierwszy powinien polegać na tym, że Timer 0 powinien startować w momencie przerwania Timer1, a zatrzymywać się, w momencie odliczenia...
Witajcie, próbuję wyrzucać wartość z regulatora pid (avr221) do wypełnienia pwm na timerze0. Poczyniłem następujące kroki: [syntax=c] #define PWMH ((PINB)&(1<<PB3)) ... struct GLOBAL_FLAGS { //! True when PID control loop should run one time uint8_t pidTimer:1; uint8_t dummy:7; } gFlags = {0, 0}; struct PID_DATA pidData; #define TIME_INTERVAL...
Witam. Trochę inny procek ATmega644 [syntax=c] TCCR1B |= (1 << WGM12); // Mode 4, CTC on OCR1A TIMSK1 |= (1 << OCIE1A); //Set interrupt on compare match TCCR1B |= (1 << CS12) | (1 << CS10); // set prescaler to 1024 and start the timer| (1 << CS11);// OCR1A = 976*8; //wartość do której zlicza licznik [/syntax]
Witam. Wybacz ale chce mi się rozpisywać. Ustawianie 1 sekundy dla zegara 16MHz [syntax=c] OCR1A = 0x3D08; TCCR1B |= (1 << WGM12); // Mode 4, CTC on OCR1A TIMSK1 |= (1 << OCIE1A); //Set interrupt on compare match TCCR1B |= (1 << CS12) | (1 << CS10); // set prescaler to 1024 and start the timer[/syntax] to co wychodzi z prescalera...
Witam wszystkich Elektrodowiczów! Chcę uruchomić Timer na ARMie LPC11C24. Zrobiłem standardową inicjalizację Timera, jak w każdym przypadku, ale on nie chce ruszyć za żadne skarby. Zegar magistral AHB jest ustawiony na 48 MHz (kwarc zewnętrzny 12 MHz, dzielnik PLL P = 2, M = 4 i dzielnik AHB = 1). Prosty programik, który będzie migał diodą LED co 1...
Absolutnie żadne Start Timer0 nie jest tu potrzebne. Wystarczy, że tak będzie skonfigurowane przerwanie: [syntax=basic4gl]Config Timer0 = Timer , Prescale = 256 On Timer0 Sekunda Const Przerwanie = 131 Counter0=Przerwanie Enable Timer0 Enable Interrupts . . . end Sekunda: Counter0=Counter0+131 . . . Return [/syntax] ...i unikaj jak ognia "drukowania"...
Jeszcze raz dzięki ZbeeGin , ręczna obsługa rejestrów Timera0 działa jak powinna, rozwiązałem to podprogramami, i umieszczam, tak dla potomnych ;-) $regfile = "m1280def.dat" $crystal = 16000000 $baud = 9600 Dim Temp_tccr0b As Byte Declare Sub Stop_timer0 Declare Sub Start_timer0 Dim A As Integer , B As Single Dim S As String * 7 A = 0 Config...
No tak, nie sprecyzowalem. Na razie efekt miał być taki że switch (PD.0) miał włączać timer. Docelowo będą dwa switche, jeden włącza (PD.0) a drugi wyłącza (PD. 1) timer. Przeanalizuj więc ten przykład: [syntax=basic4gl] 'Timer0 measures time interval betwneen two falling edges: 'input#1 - PIND.0, -START Timer0 (S1) 'Input#2 - PIND.1 -STOP Timer0 (S2)...
Witam. Dawno nie pisałem w BASCOM-ie a zdecydowałem się na niego bo myślałem, że tak będzie szybciej i prościej. Nic bardziej błędnego. Do napisania był dwu-trybowy program uśredniający do nieco przerobionego radiometru SOSNA. Ale nie w tym rzecz. O ile kod który zamieszczam powstał w miarę szybko o tyle błędu nie potrafię wyeliminować 3 dzień. Po krótce...program...
Witam potrzebuje zrobic program ktory bedzie w odpowiednich odstepach czasu wywolywal przerwanie i w tym przerwaniu bede sobie mogl wykonywac dalsze funkcje problem w tym ze nie dizala mi taki najbardziej podstawowy program Symuluje to w proteusie i nie chce zapalac pinub.1 chodzi mi o taki test powinna sie pojawic 1 na pb.1 przy wywolaniu przerwania...
Pisząc program stanąłem przed problemem odbioru kodu RC5 z pilota ale z użyciem przerwania. O ile w BASCOM 8051 GETRC5 w przerwaniu działa doskonale, to w BASCOM AVR jest to kompletna porażka. Wadą Bascomowej funkcji GETRC5 jest: 1) Dziadowskie działanie w przerwaniu (niby działa ale traci pierwszy pakiet z pilota) 2) Zastosowanie jej w programie powoduje...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
Hej, Próbuję zrobić menu ustawień swojego sterownika i kompletnie mi to nie wychodzi :( Menu ma być sterowane pilotem NEC (pilot działa poprawnie) Jak ja to sobie wymyśliłem: 1. ekran główny (tu jest OK) - przycisk strzałka w lewo przełącza ekran na zegar "MAXI" - przycisk strzałka w prawo przełącza na ekran główny - przycisk strzałka w górę blokuje...
al777 zgadzam rozumiem wszystko i sie zgadzam. Wszystko sie wydaje zrozumiałe ale w asm. 1: /***************************************... 2: Timer0 powoduje mruganie diody LED dokładnie co 1sek. 3: Program powoduje mruganie diody LED w ten sposób, Ŝe dioda LED świeci 4: przez 1 sek i jest zgaszona przez 1 sekundę....
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył" Postanowiłem napisać coś co rozwiąże problemy poprzednika....
Użyj jakiegoś timera i przerwania, powiedzmy TIMER0. Policzmy trochę. Zakładam zegar 8Mhz. Jezeli uzyjemy preskalera 256 to czas co jaki zostanie wywołane to przerwanie to 256*256/8000000=0,008. Ilość taktów co jakie zostanie wywołane przerwanie to 256*256=65536 (pierwsze 256 wynika z tego, ze licznik jest 8 bitowy drugie to preskaler) Żeby odliczyć...
Cześć. Napisałem swój pierwszy program na przerwaniach, ale nie działa on do końca tak jak zamierzałem. Układ jest taki, że pod port B mam podpiętą diodę/diody, a pod wejście wywołujące przerwanie PD3 (INT1) mam podłączony oscylator o zmiennej częstotliwości w zakresie od 0 do +/- 30Hz. Program miał polegać na tym, że powyżej granicznej częstotliwości...
Nie wiem dlaczego ale nie potrafie poprawnie uruchomic Timer w Bascomie. W efekcie mojej konfiguracji Timer uruchamia sie z jakąś losową ( wg mnie ) częstotliowścią i nie potrafie go zmienić na np 1HZ Kwarc 3.6864 MHz Czy ktoś mógłby podesłać lub umieścić gotowy plik bascoma 8051 z uruchomionym timerem ( obojętnie którym ) w trybie autoreload który...
Witajcie. Moje pytanie dotyczy dziwnego zachowania się procka 89C4051 ze skompilowanym w Bascomie programie: w programie używam zmiennej Temp, którą inicjuję przed główną pętlą Do Loop programu "Temp = 25" a przy pierwszym wywołaniu w programie ma nie wiadomo dlaczego wartość 105 (choć nie była zmieniana). Nie wspomnę już o tym, że port P1.6 na chwilę...
Na forum znalasłem program do odczytu kodów klawiszy do pilota NEC. Z tego co widzę to autor nie przejmował się zbyt dokłądnością. Nie wszystko tutaj rozumiem, mógłby ktoś w kilku słowach opisać jak to działa? Przepełnienie występuje co 96us co 96us wykonuje się etykieta tikers (nie wiem po co ta pętla 1200), to jest czas w którym powinien zostać odebrany...
Najprościej to chyba tak: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #define TIMERSTART 6 volatile uint8_t FLAGA_50 = 0; volatile uint8_t FLAGA_1000 = 0; // funkcja obslugi przerwania TIMER0_OVF 8MHz / 64 * 250 wychodzi co 2ms // dla innego taktowania nalezy ustawic inny preskaler i/lub inne liczniki stawiania flag ISR(TIMER0_OVF_vect)...
Witam, Tu: znajduje się opis powielacza czasu automatu schodowego. Obiecałem tam, że na bazie tamtego układu opracuję „inteligentny” automat schodowy, i oto jest :). Jego „inteligentność” jest zawarta w założeniach do projektu: 1. Ma być podłączony równolegle do przycisków oświetlenia, najlepiej w jednym z nich, 2. Ma być zasilany...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...
Witam. Robię obrotomierz na 89c2051. Założenie jest takie żeby było jak najmniej elementów. Na wejście timera dałem tranzystor npn. Na jego bazę daje impulsy sterowania cewką zapłonową. Obrotomierz ma być do motocykla 4T 1 cylinder, więc jeden impuls to jeden obrót. Jak układ testuję na transformatorze podpiętym do sieci to ładnie pokazuje wynik "obr...
Pamietaj ze w FreeRTosie przerwan nie mozna obslugiwac w " zwyczajny sposob" tzn funkcjami ktore automatycznie odkladaja dane na stos a potem je zdejmuja itp. Nalezy wykorzystac makra portENTER_SWITCHING_ISR() i portEXIT_SWITCHING_ISR Przyklad przerwania od timera: Inicjalizacja timera void timer_init ( void ) { portENTER_CRITICAL(); //* Open timer0...
Niedawno miałem podobny problem i kolega ZUMEK mi pomógł przerobił swój program na moje potrzeby może tobie sie przyda do wyciągniecia wniosków u mnie działa bezproblemowo: $regfile = 89c2051.dat $crystal = 11059200 Const Displays = 4 ' liczba wyswietlaczy LED Const Cyclespushall = 45 'ilosc cykli od przepelnienia T0 , do jego "przeladowania" Const...
To jest fragment kodu, którego używałem , żęby zrobić obsługę licznik, ale nie działa w symulacji $sim $regfile = "m8def.dat" 'Informacja dla kompilatora. $crystal = 8000000 'Też dla kompilatora,zastosujemy kwarc zewnętrzny 10MHz. Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E =...
Nie jestem, bo kompletnie nie znam C. To dla mnie czarna magia. Widzę, że muszę zrekonstruować program i coś pozmieniać. Znalazłem coś równie ciekawego. Procedura w Bascom opracowana na podstawie plików w ASM '---------------------------------------... 'name : TB_peda_debouncer_BP_V1.bas 'date :...
' ****************************************... ' * * ' * Mega 8 PAL Video Test Pattern 64 Colours ( noninterlaced ) * ' * * ' * V3.1.38 (c) 2008 Moshtech * ' * * ' ****************************************... ' ' Device -> Analog Devices AD722 or...
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 dokładnie 9-14 sekundach wyłącza mi się lcd. Nie wiem w czym jest problem:( A o to program $regfile = "m8def.dat" $crystal = 8000000 '$sim Config...
obliczy sobie autor bo poddałem mu sposób z Timer1 o ile przeczytał:) Poniewaz jego processor jest taktowany 8 MHz - co latwo wywnioskowac z liczb ktore podal na wstepie, spokojnie te 15 minut uzyska z Timerem0. czesciowy code: .............. const Timer0Reload = 250 config timer0=timer, prescale = 1024 load timer0 , Timer0Reload on ovf0 Timer0_isr...
No więc wymyśliłem coś takiego: $regfile = "attiny13.dat" $crystal = 1000000 Config Pinb.3 = Output Config Pinb.4 = Output Dim A As Byte Dim B As Byte Config Timer0 = Counter , Edge = Rising Do Timer0 = 0 Start Timer0 wait 1 Stop Timer0 Timer0 = A If A > 3 Then For B = 1 To 20 Pulseout Portb , 3 , 250000 Waitms 250 Pulseout Portb , 4 ,...
Witam. Po dłuższej przerwie wracam do tematu stabilizatora. Zmagając się z regulatorem na wzmacniaczach operacyjnych postanowiłem jednak pójść w stronę regulatora na mikroprocesorze. W sieci znalazłem program PID-a w Bascomie na Atmege8, w którym wyłączyłem człon różniczkujący. Regulator działa średnio dobrze tzn. obroty wciąż oscylują wokół wartości...
Witam. Mając trochę wolnego czasu postanowiłem wrócić do zmagań z PIDem. W sieci znalazłem program PIDa w Bascomie na Atmegę8 (maluszek Attiny2313 okazał się niestety za mały). W programie wyłączyłem różniczkowanie - aby było łatwiej. Program działa dość dobrze tzn. obroty utrzymują się na żądanym poziomie ale troszkę oscylują wokół wartości zadanej....
Mam taki problem, że zrobiłem projekt Odbiornika Morsa na ATmedze8. W oryginalnym projekcie jest kwarc 10 MHz, a ja użyłem 10.240 MHz gdyż taki miałem w domu, a sklepu elektronicznego w mojej okolicy nie ma. Jak podłącze ten odbiornik do komputera i z programu morsik coś wysyłam to np. "adrian" dekoduje poprawnie, a "jarek" już nie, tylko na LCD pojawia...
Witam, mam kod: [syntax=basic4gl] Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Disconnect , Compare B Pwm = Clear Down , Prescale = 8 Config Timer2 = Timer , Async = Off , Prescale = 1024 , Compare = Disconnect , Pwm = Off , Clear Timer = 1 Config Timer3 = Timer , Prescale = 256 Config Int6 = Change On Ovf0...
[syntax=basic4gl] $regfile = "M32def.dat" $crystal = 16000000 '************************* WYSWIETLANIE-porty ********************************** Lcd_port_ddr0 Alias Ddrb Lcd_port1 Alias Portb Lcd_port_ddr1 Alias Ddrb Lcd_rs Alias Portb.lcd_rs_number Lcd_reset Alias Portb.lcd_reset_number Lcd_cs Alias Portb.lcd_cs_number Lcd_sck Alias Portb.lcd_sck_number...
Witam, znalazłem taki sobie kod w necie [syntax=basic4gl] $regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000 $baud = 9600 $hwstack = 64 $swstack = 64 $framesize = 64 '---------------------------------------... 'konfiguracja wyświetlacza Config Lcd = 16 * 4 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5...
Witam, postanowiłem dodać do programu pomiar temperatury mam czujnik DS18B20 , tylko że kod programu odpowiedzialny za sterowanie czujnikiem opóźnia działanie encodera ,gdzie jest tutaj błąd może czegoś nie uwzględniłem w tym kodzie ? poniżej cały kod [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
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, Jak można zainicjować dwa odrębne pola tekstowe tak aby wyświetlały dwie zmienne wysłane przez UART -Atmegi kod VB [syntax=basic4gl] Option Explicit On Imports System Imports Microsoft.VisualBasic Imports System.Configuration.ConfigurationSettin... Imports System.Windows.Forms Imports System.IO Imports System.Data Public Class Form1 Public comm_stat...
bibliotek KS108, a kod taki [syntax=basic4gl] $regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000 $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space $lib "glcdKS108.lbx" 'First we define that we use...
Ponownie powróciłem do tego projektu. Program po zmianach przez Niveasoft . Zostały wprowadzone następujące zmiany "Dopisałem rok 15 jako początkowy i przerobiłem sposób sterowania impulsem. Teraz impuls ma długość sekundy, ale nie zawiesza multipleksowania wyświetlaczy." Ustawia się na początku rok na 15 przed synchronizacją z DCF , a po synchronizacji...
Trochę z obawą prezentuję kolejny już na elektrodzie sterownik oświetlenia, no bo ileż tego już tutaj było? A jednak nie znalazłem rozwiązania mnie zadowalającego, dlatego też powstał niżej prezentowany układ, powstał ponieważ klasyczne lampy z czujnikami ruchu mają pewną zasadniczą wadę: nie dają się w żaden sposób sterować, a ja chciałem mieć możliwość...
Chciałbym Wam dzisiaj udostępnić krótki opis nadajnika IR w standardzie NEC wraz z odbiornikiem. Cały zestaw składa się z pilota, odbiornika TSOP, diody IR oraz 3 przewodów. Zestaw ten można zakupić już poniżej 1$ wraz z przesyłką. Wymiary pilota to ok. 85x40x6,5mm, wymiary odbiornika 20x15x13mm. Pilot wymaga baterii CR2025 (czasem idzie kupić zestaw...
Znalazłem w swoim archiwum , taki oto program zegarka.Przerobiłem go troszkę , by pasował do Twojego schematu. $regfile = "89c2051.dat" Const Xtal = 11059200 'z takim kwarcem jest "dość" dokładny ;) $crystal = Xtal Const Sysclock = Xtal / 12 Const Timer0value = 65536 -(sysclock / 200) '200 przerwań od T0 na sekundę Seg...
z ta kalibracjo to ciekawy temat ,ale jak podepne czujnik do termometru zrobionego na rs232 to temperature pokazuje idealnie,a ten kwarc to faktycznie 12.902400 ,tylko zmieniłem go na 11,059 oczywiscie tez zmieniając w kompilatorze. Wybacz kolego , ale Cię troszkę "obsztorcuje" :D 1)Twierdzisz , że używasz DS1820 (9-bit) , a temperaturę obliczasz jak...
Witam Mam pewien problem z timerami, jesli dobrze rozumiem dokumentacje to przy kazdym przejsciu wartosci rejestru TMR z 0xFFFF na 0x0000 powinno wystapic przerwanie. Napialem prosty program wywolujacy przerwanie przy pomocy timera0 i niestety wartosc ta musi przjesc przez zero kilkaset razy zanim wystapi przerwanie. Korzystam ze sprzetowaego debuggera,...
Hej Czas powinien byc liczony timerami po to one sa. EDIT Oki czyli widzę to tak: Timer 1 mode=1 'liczy swoje Timer0 mode=3 'dwa liczniki 8-bitowe TL0-impulsy,TH0-zegar No dobra i co teraz? Przejrzałem helpa i forum i o mode=3 zbyt wiele nie znalazłem ;) Na mode=1 nie ma problemów. Jak startuje counter, a jak timer pod T0? Jak odczytuje ich wartości?...
Problem wyniknął z mojego poprzedniego tematu... ;) Wszelakie przykłady jakie znajduję na necie dotyczą timera w trybie 1-2, a nie potrafię znaleźć nic w "3" :| Chcę użyć timer0 jako "podwójny licznik": 8-bitowy licznik impulsów i 8 bitowy licznik czasu. Wg. dokumentacji: No dobra, ale jak to wygląda w praktyce? Jeśli mam 1/2 licznika i 1/2 timera to...
Cześć. Postanowiłem zrobić sterownik do ładowarki, który to ma dwa tryby -automat - ładuje aż prąd nie spadnie na mniej niż 15A z możliwością przerwania i wyświetlania parametrów ładowania -ustawianie na czas, w którym ładowarki nie interesują parametry tylko czas, jaki pozostał Wszystko działa tylko problem polega na tym, że LCD przestaje reagować,...
Cześć. Mam taki problem napisałem sobie program który steruje ładowarką. Jeśli ustawie mu: cksel=0100 , sut=00 to nie działa program - nic sie nie dzieje. a jeśli ustawię: cksel=0100 , sut=10 wtedy działa ale źle liczy czas Program robiony na szybko wiec może ma gdzieś błąd ewentualnie co poprawić w nim?? $crystal = 8000000 $regfile = "m8def.dat"...
Zacznę może od początku... Chcę odczytać kody IR z pilota do LG. W manualu znalałem opis transmisji IR w TV LG. I po porównaniu wygląda to na kod protokół NEC. Ale jest mała różnica... Pewnie jedna-setna ms nie robi różnicy? :) Znalazłem taki kod: '***************************************... '* Filename : IR NEC...
Witam.. Od godziny próbuję dojść czemu wyświetlacz tak niemiłosiernie mruga. Gdyby ktoś mógł rzucić na to okiem: $regfile = "attiny2313.dat" 'model proca $crystal = 1000000 'taktowanie Dim Cyfra As Integer Dim Her As Byte Declare Sub Wyswietl Declare Sub Pokaz Dim A As Byte Config Portb = Output 'port b jako wyjścia Portb = &B00000000 'stan...
oto fragment mojego kodu: 'STEROWNIK PIECA C.O. ATMEGA8 $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 1024 On Timer0 Timer0_pelny Config Portb.7 = Output Config Portb.6 = Output Config Portc.4 = Input Config Portc.5 = Input Config Portd.7 = Output Config Portd.6 = Output Config Portd.5 = Output Config Portd.4...
Bardzo bym prosil o podpowiedz co nie gra w tym kodzie, bo juz walcze z tym 3 dzien: #define INT_TWI 1<<19 #define PRZERWANIE_LEVEL4 #define TIMER0_INTERRUPT_LEVEL 0 __irq void timer0_c_irq_handler(void) //przerwanie FIQ { AT91C_BASE_TC0->TC_SR; LCD_wyswietl(wsk_tablica); AT91C_BASE_AIC->AIC_EOICR=1<<AT...
Toż to BASCOM! '$sim $regfile = "ATtiny2313.dat" $crystal = 20000000 $hwstack = 64 $swstack = 16 $framesize = 32 Enable Interrupts Config Int1 = Falling Enable Int1 'włączenie przerwania On Int1 Imp Config Timer1 = Timer , Prescale = 64 Enable Timer1 'włączenie przerwania On Timer1 Wylacz Stop Timer1 Config Timer0 = Timer , Prescale = 1024...
problem mój polega na nieprawidłowym wyswietlaniu cyfr . o ile w zakresie 0-99 wszystko jest ok., to powyżej 100 ma same zera : wyswietlacz ma 3 cyfry led-7-segmentowe i w założeniach ma liczyć czas od 0 do 999 sek pełny kod: '$sim $regfile = "m8def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o Config Portd...
Mój problem trochę zazębia sie z tym wątkiem, dlatego tutaj go opiszę. Atmega16 z wyświetlaczem podpiętym do portu C (JTAG wyłączony). Po kompilacji programu, wgraniu programu do procesora i ustawieniu fuse bitów 0xff i 0xc9 na wyświetlaczu LCD w pierwszej linii świecą się tylko prostokąty. Reset procesora niczego nie zmienia. LCD podłączony poprawnie,...
witam serdecznie Tak używam przerwań (z TIMER0), ale są uruchamiane tylko gdy są potrzebne tzn. wykorzystuję do tego instrukcję Start/Stop Timer0. Co ciekawe ten fragment co wyżej to fragment większej części programu i jak zamienię pętle "do loop " na np. [syntax=vb] while a=0 i tutaj to co wyżej..... wend[/syntax] oraz dodam drugi warunek [syntax=vb]...
Witam. Już mnie krew zalewa. Nie potrafię sobie poradzić z problemem. Prawdopodobnie ktoś szybko znajdzie błąd, ale ja już nie mam siły do tego. Problemem jest wybudzenie mikrokontrolera z power_down przez przerwanie zewnętrzne INT1. INT0 działa bez problemu, natomiast nie potrafię zmusić do tej czynności INT1. Celem jest wybudzanie mikrokontrolera...
Witam, Już od dość długiego czasu mam problem ze sterowaniem silnika używając mikrokontrolera Atmega16A. Myślałem, że wina leży w kodzie programu, ale wysłałem zapytanie do AvrFreaks i tam nic złego nie znaleźli. Wniosek: Najprawdopodobniej wina leży w elektronice. Konfiguracja: Atmega16A, 8MHz kwarc, FUSE: wyłączony JTAG, CKSEL3..0=1111, CKOPT=0,SUT10=11...
Zrobiłem na piechotę (kod z elektrody) gdzie jest to normalnie na licznikach zrobione ale kod mimo, że się kompiluje nie chce działać. [syntax=basic4gl] [ $regfile = "attiny2313.dat" $crystal = 8000000 'Konfiguracja portow /0-input /1-output / z lewej MSB 'PortD.3 lub PortD.2 musisz ustawić jako input, sa to wejscia INT1 i INT0 'do ktorego bedzie podlaczone...
Dla ułatwienia walczę z wave 8 bitowym mono 44100 Hz. W głośniczku słychać burczenie. Kod wygląda tak: [syntax=c] #define BUF_SIZE 512 uint16_t buf[2][512]; volatile uint8_t nr_buf = 0;// indeks aktywnego buforu volatile uint8_t can_read = 1; UINT play(char fn) { FIL fil; char *wsk_buf = &buf[0][0]; UINT rb = 0 ; if ( f_open(&fil, "44mono8.wav",...
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 tesciowa, co zmusilo mnie do czasowej ewakuacji z domu do...
(at)BlueDraco: poczytałem, brakowało LPC_GPIOINT->IO2IntEnR |= 1<<12; Teraz wiem że trzeba włączyć rekacje na poziomy które chcemy reagować, myślałem że LPC_GPIOINT->IO2IntEnF |= (1<<12) włącza reakcje na 2 poziomy i dopiero w przerwaniu odpowiednio sie reaguje. (at)atom1477: Pewnie mogę w pętli cał czas sprawdzać stan wejścia [syntax=c]...
Możesz mi podpowiedzieć z jeszcze jedna rzeczą, chcę po naciśnięciu klawisza na pilocie bądź przycisku żeby program wskoczył do podprogramu Sel_out tak żeby działał tylko wybór Out_l ; Out_r ; Out_rl. Wyjście z podprogramu z pomocą tego samego klawisza i przycisku co wejście. Próbowałem z do loop until ale program się dziwnie zacinał. Dodałem cały program....
Siedzę na problemem od kilku dni i nie mogę się dopatrzeć błędu. Dla niecierpliwych - sam problem opisany jest na samym końcu. Próbuję odczytywać dane z czujnika AM2302 z użyciem timera (timerów). Czujnik posiada jedną linię danych typu OC (lub coś w pobliżu). Komunikacja polega na tym, że master (MCU) w celu wybudzenia czujnika generuje stan niski...
$crystal = 10000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Dim Ccount As Byte Dim Maincounter As Long Dim C_counter As Word Dim Tuning As Word Config Pind.2 = Input Config Pind.5 = Input Config Pind.6 = Output Config Pinb.0 = Output Load Timer0 20 Set Portd.6...
czesc w zalaczniku masz fajny program do obliczania czsow przerwan dla procesorow AVR w praktyce wyglada to np tak: ustawiasz timer0 tak zeby przerwanie wystepowalo co 2 ms config timer0 = timer, prescale = 64 ... ... counter0 = 6 start timer0 przy kwarcu 8MHz, timerze0 (8 bitow) i preskalerze 64, timer zwiekszany jest co 8 us 256 - 6 = 250 :) 250 *...
Witam. Mam wersję demo BASCOM−a AVR, W edw Nr.5/2000 jest zamieszczony schemat wraz z kodem zródłowym Mikroprocesorowego miernika częstotliwości na AT90s2313 (AVT-3003). Mam prośbe o skompilowanie mi tego programu. Jeżeli bedzie ktoś chętny to zamieszcze wersje zródło na forum lub przeslę emailem. A może macie już wersję gotową Hex Pozdrawiam...
Ok. Bez problemowo usypiam go poleceniem IDLE i budze TIMER0, jednak zależy mi na tym aby układ spał przez dłuższy czas niż jedno przepełnienie licznika Timer0. Próbuje jakoś sensownie usypiać go kilkakrotnia w ten sposób: $regfile = "m32def.dat" $crystal = 1000000 Config Timer0 = Timer , Prescale = 1024 On Timer0 Tim0_wakeup Enable Timer0 Enable Interrupts...
No i Bascom kolejny raz poległ ;) prawie identyczny program w Fastavr daje przerwanie co 1,3 us ;) czyli mam juz przebieg o czestotliwosci 380kHz, nie wspominając już o różnicach w objętości programu ;) plik ASM generowany przez fastavr ;FastAVR Basic Compiler, ver.4.0.1, by MicroDesign ;Created 11:07:00, 05-12-2005 ; .include"C:\FastAVR\inc\m16def....
A dlaczego nie w Bascomi'e ? Tylko bez ideologi. Jeśli coś działa, tak jak miało działać, to co za różnica jak to jest to jest zrobione. Obiecany przykład nieprofesjonalnej transmisji. Ale działąjącej. Kod jest wyjęty z większego programu, pozbawiony deklaracji zmiennych i konfiguracji pin'ów na początku. Kod z mastera wysyłający do slave'a. Config...
Zbudowałem miernik częstotliwości w oparciu o projekt Z.Raabe . Niestety nie działa on poprawie, powyżej częstotliwości 255Hz pokazuje częstotliwość 0Hz. Podejrzewam błąd w programie, niestety nie mogę go zlokalizować :/ Proszę o pomoc. Config Timer0 = Counter , Gate = External , Mode = 1 Config Timer1 = Timer , Gate = Internal , Mode = 1 Config Lcd...
Witam. Robię sobie wyświetlacz widmowy do roweru. Wszystko jest na 89c2051. Zrobiłem już tak że mam synchronizację obrotu koła i napis zaczyna się zaraz po zrobieniu pełnego obrotu (zastosowałem hallotron w połączeniu z int0). Wszystko spoko tylko im szybciej się jedzie to napis bardziej się rozjeżdża. Wpadłem na pomysł żeby zależnie od czasu obrotu...
Napisałem taki program , który steruje pracą licznika za pomocą dwóch przycisków podłączonych do portów z wykorzystaniem przerwania INT0 , 1 . Naciśnięcie przycisku S1 (P3.2) powoduje rozpoczęcie zliczania impulsów , a S2 (P3.3) zatrzymanie i wyświetlenie wyniku.Wszystko działa bezproblemowo , ale jest jedno ale..... . Naciśnięcie przycisku S1 powoduje...
Dzięki wszystkim za opinie :D W odpowiedzi na wasze pytania, płytki robię metodą termotransferową z użyciem folii, projektuje w Eagle'u, serwa tak jak ktoś napisał na allegro chodzą po 23zł i właśnie na allegro je kupowałem, niezła cena jak za takie małe i dość silne serwo. Tolerancja odstępu puknięć układu jest wystraczajaca, na początku opracowałem...
Witam ! Wykonalem niedawno sterownik pralki Amica, na atmega8. Wszystko super dziala z jednym szczegołem. Aktualnie regulacja predkosci silnika zrobiona jest na zasadzie włączania triaka z odpowiednim opóźnieniem względem zera sieci. To sie niestety nie sprawdza bo zaleznie od obciązenia bębna silnik ma różne obroty, i teraz pozostaje sprawdzanie napięcia...
Gdzie w programie mam to zmienić : $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B00111111 Config Portc = Output Config Portd = &B11110111 Portb = &B11000001 Portd = &B11101000 Config Sda = Portc.4 Config Scl = Portc.5 Enable Interrupts Config Timer0 = Timer , Prescale = 8 Start Timer0 On Timer0 Wyswietl Start Timer0 Dim...
Znalazłem 2 poniższe programy, jednak nie potrafię ich dostosować do schematu w 1 poście. Obydwa działają na lcd a mi zależy na wyświetlaczu led. $sim $large Config Lcd = 16 * 2 Config 1wire = P3.0 Config Timer0 = Counter , Gate = External , Mode = 1 Declare Sub Temp Declare Sub Read1820 Declare Sub Obroty Declare Sub Nap Deflcdchar 0 , 14 , 17 , 17...
Witam, zacząłem budowę ściemniacza do "halogenów" opartego na mikrokontrolerze, narazie wybór padł na Attiny15L bo taka była pod ręką. Docelowo Attiny2313 albo coś większego. Jestem na etapie testów i niestety nie wypadły one pomyślnie. Skonstruowałem taki układ: Wiem, że Attiny15L nie jest zbyt dobrym procesorem do BASCOM ponieważ nie posiada SRAM,...
Witam mam takie pytanie : czy dało by się przerobić program który jest poniżej żeby chodził na atmedze32 zamiast na at89c2051 a o to program : $crystal = 11059200 Config Lcd = 16 * 1a Cursor Off Config Timer1 = Timer , Gate = Internal , Mode = 1 Config Timer0 = Counter , Gate = Externel , Mode = 1 Dim Temp As Byte Dim R As Byte Dim Freq_compare As Word...
Potrzebuje emulator DS18B20 na atmega8 - mam na PC program do odczytu temp i chciałem w tym programie dodac inne parametry ( np wilgotnosc ) ale nie zmieniajac programu - w scrachpadzie bede wisyłał inne dane nie temperature. ( w bajtach temperatury lub bajtach uzytkownika wolnych 2szt) Aktualnie używam "lampomitari" , ale napisalem przeróbke programu...
emulator ruszył błędnie obliczyłem sume crc8 crc = crc8(mytemp(1),8) a miałem mytemp 8 na 8 master nie odbierał danych bo suma kontrolna sie nie zgadzała wrzucam kod prosze paniętać że autorem jest Vladimir I. Yershov Program jest jeszcze do poprawek to tylko prowizorka jest 1:08 w nocy i chciałem sie podzielić radoscią $regfile = "M8DEF.DAT" $crystal...
Witam, Bardzo proszę o sprawdzenie czy program jest poprawnie napisany. Nie korzystałem do tej pory z instrukcji Watchdog, więc nie mam pewności czy jest ona poprawnie umieszczona. Zadaniem programu jest stały pomiar napięcia i w razie wystąpienia spadku załączany jest przekaźnik na czas 2 minut. Jeżeli spadek będzie występował czały czas to przelaźnik...
Witam. Próbuję złożyć obrotomierz samochodowy na mikrokontrolerze Attiny2313. Wykorzystuję do tego kit z AVT2711. Chciałem wykorzystać program z tego układu. Różnica jest w mukrokontrolerach, a artukule jest 89C2051 a ja chcaiłem to zrobić na attiny i wynik pokazywać na wyświetlaczu alfa numerycznym. Jednak coś mi nie wychodzi. Odpalam układ na sucho...
Witam! Ponieważ potrzebuję miernik częstotliwości do 160MHz, postanowiłem przerobić nieco projekt AVT3003. Zamiast kwarcu 10Hhz i AT90s2313 włożyłem ATTiny2313 z generatorem kwarcowym 20MHz. Przy takim taktowaniu należało zmienić również program. W komentarzu ' moja zmiana wskazałem, co zmieniłem - trzy linie programu. Problem jest taki,że podłączony...
Witam serdecznie a czy nie dało by sie przerobić tego programu i schematu na Atmegę 8. Mam zamiar zrobić taki wykrywacz ale na Atmedze 8. Niewidziałem żednego projektu w oparciu o ten uC $regfile = "m8def.DAT" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5...
Witam Dla swoich potrzeb skonstruowałem sterownik za pomocą którego kontroluje stan wody która na wiosnę odwiedza moją piwnicę. Sterownik za pomocą czujnika poziomu mierzy mi ilość wody i jeżeli jej poziom przekroczy wartość 2,10 to informuje mnie LEDem oraz 10 sekundowym popiskiwaniem (1Hz) buzera. Ja natomiast ręcznie mogę ustawić czas od 1 do 40...
Ten kod jest wersją maksymalnie testową. Zawiera kupę niepotrzebnych rzeczy i jest w nim nieziemski bałagan - przepraszam. Jestem bardzo początkujący i próbuję pisać posługując się najprostszą składnią. Był pisany "na szybko", aby stwierdzić czy ta idea zadziała. I generalnia działa. Config Lcd = 16 * 2 $crystal = 1382400 ' fusebit ustaw xtal full swing...
Witam. Od jakiegoś czasu próbuje zbudować miernik głośności wyjścia słuchawkowego. Oczywiście wszystkie moje projekty jak do tej pory działają nie zbyt dobrze. pomyślałem że sięgnę po gotowca i znalazłem coś takiego: ----------------------------------------... 'name : BG30dB_LCD.bas 'copyright : (c)...