Witam. mam problem ...... Więc moje pytanie brzmi czy jest możliwość programowej zmiany prescale podczas działania programu ? A jeśli da się to w czym może być problem ? Z góry dziękuje za pomoc Sprobuj RESET prescaler -> Set Bit1 w SFIOR Nie mam w tej chwili czasu na dokladniejszy opis, wiec przeanalizuj ta opcje w DS. albo tu: str. 143 http://books.google.ca/books?id=TE54lJ7X...
Witam Walczę z programem w Bascomie (coraz mniej mi się on podoba) listing poniżej. Docelowo będzie to zegar na lampach nixe. Projekt bazujący na mirley, ale zmianę ustawień chcę zrobić na impulsatorze. Dlaczego funkcja Zmiana_godziny i Zmiana_minuty nie zwraca mi wartości? Edytowałem post umieszczając w tytule znacznik
Config Pinb.3 = Output 'Config Timer0 = Pwm , Prescale = 1 , Compare Pwm = Clear Down Set Tccr0.pwm0 Set Tccr0.com00 Set Tccr0.com01 Set Tccr0.cs00 Ocr0 = 127 'T2 już normalnie ;) Config Timer2 = Pwm , Prescale = 1 , Compare Pwm = Clear Down Ocr2 = 127
Widzę że muszę trochę sprostować. 1. Nawet kosmicznie często wywoływane przerwanie zdąży się wykonać choć by nie wiem jak długo ono trwało, bo przerwania po wejściu w obsługę jakiegoś przerwania są blokowane i odblokowywane są dopiero po zakończeniu się obsługi tego przerwania. Więc twierdzenie że przerwanie nie zdąży się wykonać w ciągu 128us bo samo...
Mówisz masz na timerze. $regfile = "m16def.dat" $crystal = 1000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Timer1 = Timer , Prescale = 1024 Enable Interrupts Enable Timer1 Start Timer1 On Timer1 Odmierz_czas Const T = 6942 Config Portb.1 = Output : Portb.1 = 1 : Led Alias Portb.1 Config Portb.2 = Input : Portb.2 = 1 :...
BlueDraco nie w tym rzecz. Janoo0 ja steruje silnikiem za pomocą L298 i problem wydaje mi się rozwiązany (nie testowałem jeszcze wszystkich silników). Sprawa była taka że mostek może przyjąć sygnał max 50KHz, przy prescale = 1 częstotliwość PWM równa się częstotliwości krwarcu czyli 16MHz (trochę za dużo :)). Po zmianie prescalera na 1024 silnik zaczął...
Tylko, że ja pytam o problemy Bascoma z USARTem. Procek bez problemu działa na 4MHz. Jednak pokaż jak masz ustawione fuse? $crystal to chyba tylko informuje program jak taktowany jest procesor a nie przestawia jego częstotliwości, wpisz 8000000 i powinno zadziałać prawidłowo. To się zgadza ale, w tym uC masz specjalny rejestr "CLKPR – Clock Prescale...
Witam sprawdź ten kod co prawda są inne numery portów i inny procek ale jak zmienisz powinno działać. Problem jest jeden w momencie jak naciskasz przycisk i zmieniasz końcówkę na WYJŚCIE to stan tego pinu Musi być (0) Niski , żeby nie zrobić zwarcia. '$sim $regfile = "attiny2313.dat" $crystal = 11059200 $baud = 9600 enable interrupts 'włącz...
A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Przerwanie0 Dim Tmp As Word Tmp = 0 Dim Ptimer1 As Word Ptimer1 = 0 Do If Klawisz = 0 Then If Ptimer1 = 0 Then Ptimer1 = 100 End If If Ptimer1 < 95 And Klawisz = 0 Then Tmp = 1 End If End If If Tmp = 1 And Ptimer1 < 85 And Ptimer1 > 70 Then If Klawisz = 1 Then...
Zastosowałem się do instrukcji i dalej nic mi nie wychodzi.Przepraszam ,że zawracam głowe ale ja dopiero się uczę i to moje pierwsze pisanie. Dodano po 7 Teraz wygląda to tak: $regfile = "2313def.dat" $crystal = 800000 Config Pind.0 = Output Config Pind.1 = Output Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s Dim Licz_8ms As...
Oczywiście że przekompilowałem. Jedynym pomysłem, jaki przychodzi mi teraz do głowy jest zmiana kolejności w deklaracji Timer1 Timer1 = Pwm ,Prescale = 1 , Pwm = 10 , Compare A Pwm = Clear Down Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1 Dla AT90S8515 nie miało to znaczenia, ale może dla ATmegi jest to istotne. Niestety nie mogę...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
Po tej zmianie działa dobrze , pisałem program na podstawie kodu z zestwu AVT5266 w tym kodzie i projekcie był zastosowany kwarc 8 MHz i wpis Prescale w kodzie było 1 ,a także był wpis Enable Timer1. Też atmega 8 sterował Driverem L293. Aplikacja wysyła litery od 0 do 9 - max prędkość to litra q Aplikacja pochodzi z Sklepu PLAY. Problem rozwiązany Dzięki
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
Witam. Mam pytanie. Ja mam kwarc 12 MHz i jak wyliczyć te liczby i czy coś zmieniać w prescale. Dziękuję za odpowiedz i pozdrawiam. $crystal = 12000000 i oczywiscie zmiana sposobu taktowania i czestotliwosci w FuseBitach jezeli masz ATmege.
Mam inny pilot który bankowo nadaje w RC5.I nic.Zero reakcji W takim razie po co przy konfiguracji Getrc5 można zmienić domyślny Timer0 na Timer2? Czy tylko po to żeby zwolnić Timer0 jeśli jest używany do innej funkcji? i co nam daje zmiana mnożnika PRESCALE określana przy funkcji GETRC5? W gruncie rzeczy chodzi mi o to że mam parę projektów wykorzystujących...
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1...
Udało mi się odpalić program z książki Pana Wiązani, ale tam timet odmierza 1s Jak to przeliczyć? Jest jakiś na to wzór? Rzeczywiście musiało się 'udac odpalić' bo ten program nie jest pozbawiony błędów (!) \ A jak zrobić żeby odmierzał np 10 sekund? Zmiana preskalera wydłużyła max do 2sekund czas. Aby timer1 odmierzył inne/dowolne interwały czasu,...
Witam. [syntax=basic4gl]Ustaw F_CPU na 8000000 Hz 'Declarujemy zmienną np.Licz Dim Licz As Byte Config timer0 = Timer , Prescale = 256 Enable Interrupts Load Timer0 , 250 '--przerwanie będzie co 8ms On Timer0 Przerwanie 'W przerwaniu: Przerwanie: Load Timer0 , 250 Incr Licz If licz = 125 Then Licz = 0 Toggle Portb.6 '--- zmiana stanu co 1sek End If...
[syntax=basic4gl]'KONFIGURACJA PRZERWAN PROCESORA Config Timer0 = Timer , Prescale = 256 Enable Interrupts On Timer0 Odmierz_1s Enable Timer0 Load Timer0 = 144 Odmierz_1s: Load Timer0 = 144 Incr Licz_5ms If Licz_5ms = 200 Then Licz_5ms = 0[/syntax] Jeśli tak napiszę kod w Bascom przy zastosowaniu kwarcu 7.3728 MHz to przerwanie odmierz_1s będzie faktycznie...
Witam mam prosty program. Timer zlicza naciśnięcia przycisku. Problem polega na tym że po jednokrotnym naciśnięciu wartość zwiększa się o jakąś ilość (nie zawsze o 1). Jak temu zaradzić? np. żeby zmiana stanu licznika była możliwa tylko co określony odcinek czasu. [syntax=basic4gl]Config Pinb.0 = Input Set Portb.0 Config Timer0 = Counter , Edge = Falling...
a może plynnie ?? . . Config Timer1 = Pwm , Pwm = 10 , Prescale = 8 , Compare A Pwm = Clear Down Config Adc = Single , Prescaler = Auto , Reference = Avcc . . . Wartosca = Getadc(2) If Wartosca > Pwm1a Then Waitms 1 Incr Pwm1a Elseif Wartosca < Pwm1a Then Waitms 1 Decr Pwm1a End If Coś w tym stylu działa mi bezproblemowo. Wartość 0v -0,...
Zastosowałem następujące modyfikacje: - dodałem diodę zwrotną + kondensator, - zmianiłem częstotliwość proca z 4Mhz na 1Mhz Zmiana współczynnika prescale na inną niż 1, przy próbach powodowała: - miganie napisów na wyświetlaczu LCD i jego podświetlania (2 pozostałe pwm wykorzystywane są do ustawienia kontrastu i jasności podświewtlania LCD), - mniej...
Witam od 2 godzin draże problem i już troszkę jestem bezradny. Sprawa tyczy się procesora jak w temacie czyli ATmegi169 i Timera1 w niej. Chcę wywołać najprostsze przerwanie po przepełnieniu i żadnym sposobem mi się nie udaje. To że wszytko jest poprawnie testuję tak ze po podmienieniu w kodzie 1 na 0 (zmiana z timera1 na timer0) wszytko zaczyna ładnie...
Dzięki za odpowiedź! nie ma powodu, żeby nie była powtarzalna Czyli bez różnicy, którą wersję zrobię bo nic poza tym interwałem nie będzie. Zatem biorę się za zrobienie na gotowo i spróbuję dwie wersje; waitms i timer. Drążę prosty temat, bo ten wzorzec ma iść do GUM, oni sprawdzą, zapłacę, wystawią świadectwo, zaplombują i koniec grzebania. Zamierzam...
Pojawiły się małe komplikacje. Po podłączeniu 4 wentylatorów odświeżanie jest tak duże ,że wynik zmienia się bardzo szybko i na ostatnich 2 cyfrach widać tylko 88. Dziwne jest to że po podłączeniu 1 odświeża np. co 1 sec po podłączeniu 2 już co 500 ms a po 4 to chyba co 50 ms. Zmiana PRESCALE nic nie daje. Nie sprawdziłem tego wcześniej bo nie miałem...
Odświeżam bo zmiana czasu jest rozwiązana w Bascom-ie bezpośrednio na dowolnej ATMega. Nie potrzeba zewnętrznego RTC. [syntax=vbnet] $regfile = "m32def.dat" 'procesor $crystal = 11059200 $hwstack = 64 $swstack = 64 $framesize = 64 $lib "Datetime.lbx" Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.1 , Db6 = Portb.0 , Db7 = Portd.6 , E = Portb.4 ,...
Witam. Mam problem z porgramemem w Bascomie, Do tej pory wszystko działało poprawnie aż do poewnego momentu zaczeły sie jakies anomalie. Mianowicie, program nie reaguje na zminanę na porcie A w podprogramie zamkanie_awaryjne, zamykanie i otwieranie, gdy wciskam przycski i wysyłam stam przez RS232 to odczytuje poprawnie ale w Do Loopp Until Kpz=1 nie...
Nadal nie rozumiem kwestii konfigurowania timera tak aby zliczał tyle ile chcę. Poczytałem parę wątków i nadal nie wychodzi. Aktulanie na Atmega16 z taktowaniem 4MHz staram sie uzyskać przerwanie co 100ms. Dla testów wyświetlam zmiany na LCD [syntax=basic4gl] $regfile = "m16def.dat" $lib "I2C.LBX" '$lib "mcsbyte.lbx" $lib "Ds1307clock.lib" $crystal...
bascom charakteryzuje sie latwoscia programowania o ile w asemblerze musisz dobrze znac budowe procka to w bascomie az taka duza wiedza nie jest potrzebna <co moze jednak nie jest az takim duzym plusem :roll: >chac np uruchomic licznik w asemblerze trzeba wpisac odpowiednie stany w odpowiednie rejestry natomiast w bascomie zalatwiaja to wpisane...
Pobawiłem się dziś chwilkę programowym PWM. Jest to rozwiązanie na 8 kanałów - 25 może być ciężko pociągnąć ale oczywiście możesz próbować rozbudować program i zmienić częstotliwość zegara czy wywołania przerwań. Pierwszy to demonstracja tworzenia w zasadzie dowolnie biegnącego światła - dane umieszczamy w liniach Data (wartości od 0 zgaszone do 8 max...
Witam Odświeżę wątek. Dodałem układ UDN2981A pomiędzy Atmege a wyświetlacze, wyrzuciłem tranzystory które sterowały anodami oraz ich rezystory z baz. Działa całkiem nieźle. Jest jedno ale... jasność. Migotanie nie widać, ale jasność jest słaba, tzn. gdy nie ma dużego słońca to ujdzie, podobnie jak w nocy. Zastanawiam się, czy pomoże coś zmiana częstotliwości...
Witam. Potrzebuje licznik co 1us sprawdzam poprawność działania na 1s i jakoś nie działa program do odliczania 1s działa : $regfile = "m8def.dat" $crystal = 8000000 Config Portd.1 = Output Config Timer2 = Timer , Async = Off , Prescale = 64 Dim Licznik2 As Integer On Timer2 Tim2_int Enable Timer2 Enable Interrupts Timer2 = 6 Licznik2 = 0 Do...
Może wkleję cały kod : $regfile "m32def.dat" $crystal = 8000000 Dim Zmianna As Byte Dim Porownanie As Byte Config Portc.1 = Output Config Timer0 = Timer , Prescale = 1 Config Int0 = Rising On Int0 Zero Porownanie = 255 Enable Interrupts Enable Timer0 Counter0 = 255 Glowny: Set Portd.2 Start Timer0 Do Loop End Zero: Stop Timer0 Reset...
Witam serdecznie. Próbuje stworzyć generator PWM o zmiennym wypełnieniu i zmiennej częstotliwości. Generator ten chce stworzyć na ATmega32 12MHz w języku BASCOM. Zmian dokonywać będzie można przez dwa potencjometry. Mam już napisany program ale niestety sygnał na oscyloskopie wariuje. Co jakiś czas jest przebicie innych wartości. Walczyłem z tym dość...
Witam. Chciałem w celach edukacyjnych zrobić częstotliwościomierz. Ponieważ nie mam za bardzo skąd wziąć zewnętrznych impulsów postanowiłem, że jeden pin procka będzie je generował, a przerwanie int0 będzie liczyć ile tych impulsów było. Do odmierzenia czasu posłużył timer1, który ma odliczyć sekundę (więc wynik od razu w Hz). Po upływie sekundy ma...
No nie, niestety. Mimo pomocy w kompilacji, program nie specjalnie działa. Przy ustawieniach jak wyżej podane znalazłem tylko jedną wartość Pwm_led(1) = 99, dla której serwo samo strobując zmienia pozycję z dowolnej na maksymalną. Dla prescale=1024 nie reaguje wcale. Ponieważ przy ustawieniach: [syntax=basic4gl] Ocr2a = 90 Ocr2b = 90 Tccr2a = &B10100011...
Oto kod jednego z programów z którym mam problemy: 'C029f.bas Generator impulsów prostokątnych ' UWAGA! Wejsciem EN(able) modułu LCD steruje końcówka PB.1 ' do wyjscia PB.3 dołączona przez rezystor 1k anoda diody LED (katoda do masy) Dim Impuls As Word , Przerwa As Word , Czas As Single , Zmiana As Bit , Napis As String * 9 Config Timer1...
Jak dla mnie to powinno być tak. Nie mam kompilatora pod rękom nie jestem pewien czy jest dobrze ale to mniej więcej to. Kod: $regfile = "m8def.dat" $crystal = 1000000 Config Portd = Input ' ustawiam we/wy Dim A As byte 'po co marnować pamięć A = 0 Config Timer0 = Timer , Prescale = 1024 Enable Timer0 Enable Interrupts Do If Pind.4 =...
Witam Potrzebuję zrobić zegar na ATMEGA8535 i nie mogę uruchomić pracy asynchronicznej. Kwarc zegarkowy podłączony do XTAL1/2. Program wstępny poniżej. Analogiczny program (ze zmianą ASSR.5 = 1) dla ATMEGA88 działa poprawnie. Proszę o pomoc. Pozdrawiam Jacek Program napisany w "BASCOM AVR" [syntax=basic4gl][/syntax] $regfile = "m8535.dat" $crystal =...
Witam Udało mi sie uzyskać w miarę płynną regulacje na podanym przezemnie wyżej schemacie PC817 zastoswałem gdyż był pod ręką a PC814 jeszcze nie dotarł Ale docelowo chciał bym zastosować ten drugi zmieniłem też program teraz procedura przerwania i timera wygląda następująco [syntax=vbnet] $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack...
Witam :) Po kilku dniach zabawy udało mi się zbudować układ składający się z ATMEGA16 (kwarc zewnętrzny 8 MHZ, rs232) i: - czujnika podającego na pin A1 napięcie 0.2-4.7V - czujinka podającego częstotliwość 4-40kHz na pin PBO. Po przestudiowaniu podstaw BASCOMu i lekturze forum udało mi się napisać oddzielne programy do obsługi tych czujników. Jednak...
Której? PLL czy tej z dwoma Timerami? Ta z PLL jest bardzo zamotana (albo inaczej - zamotana nie jest ale wymaga dużej ingerencji procesora. A to bardzo spowalnia program główny więc trzeba to napisać a assemblerze i własnie to powoduje zamotanie). Podam więc ten drugi sposób: $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 64 '---------------------------------------...
Podsumowując projekt na moim przykładzie: najprościej dać kwarc 16 mhz i do tego 2 kondensatory 33 pF a potem skompilować wsad drakerusa zmieniając przy tym na $crystal = 16000000 i Config Timer1 = Timer , Prescale = 256. Przy użyciu wbudowanego RC o częstotliwości 4 mhz zegar bardzo się późni i nie polecam tego choć i tak przy 16 mhz jest to u mnie...
Mam taki timer ale jak przypisać żeby po odliczeniu czasu przekaźnik się wyłączył. [syntax=vbnet] $regfile = "m16adef.dat" $crystal = 8000000 'OSCYLATOR 8MHZ Config Lcd = 16 * 2 'KONFIGURACJA TYPU WYSWIETLACZA Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Pina.2 = Input 'S1 Config...
Więc sprawdziłem i takie wyniki. Testowane na układzie i oscyloskopie 2 kanałowym. Zmiana opóźnienia If Licznik = 1 Then do 1000 daje włąśnie to opóźnienie lecz mam uszkodzona podstawę czasu w oscyloskopie i nie bardzo jestem w stanie sprawdzić ile trwa. Po podaniu impulsu czas zmian portów wydłuża się i skraca zgodznie z watroscia 1 do 1000. Lecz działa...
Chyba znalazłem problem, powoli sobie zaczynam przypominać po latach, jednak analfabetyzm wsteczny zrobił swoje .Jestem na etapie nauki .Proszę o opinie czy dobrze kombinuję : mam kwarc 8Mhz pomiar robię na 8 kHz 8 000 000 / 8 = 1 000 000 /8 000 =125 Licznik zdąży zliczyć do 125 ? a chcę liczyć przesunięcie +- 90 st. więc lipa ? Może większy kwarc lub...
Może nie umie wstawiać? $regfile = "m88def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Config Portd = &B00001111 'portd 0 1 2 3 jako wyjscia portd 4 jako 1wire 5 6 7 jako wejscia Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portd.3 =...
Spróbuj zamiast Timebase zrobić Load Timer0, 31250 (nie będzie przeskakiwał po kodzie ponad 30 tys razy tylko zliczy wewnętrzne tyle impulsów i po przepełnieniu przejdzie do podprogramu), w ogóle ustawiłbym Prescale na wartość około sekundy chyba, że chcesz mieć jak najdokładniej. [syntax=basic4gl]$regfile = "m8adef.dat" $crystal = 8000000 $hwstack...
Nie rozumie twojego postu . W warunkach kempingu nie wezne sieci . Zmodyfikuje aby przelaczalo na zmiane. $regfile = "m8def.dat" 'atmega 8 $crystal = 8000000 '8 mhz 'INNE KONFIGURACJE Config Timer1 = Timer , Prescale = 256 Config Portd = Output On Timer1 Juz '625 Enable Interrupts Enable Timer1 Load Timer1 = 624 ' powinnno byc 625 ale 0 to...
Dzień dobry, Popełniłem prosty programik na ATtiny2313. Przy naciśnięciu któregoś z guzików (Pind.0 lub Pind.1), zmienia się wartość rejestru Pwm1a - porównywanie ze stanem timera1. Dzięki temu uzyskujemy efekt rampy i rosnącą częstotliwość na wyjściu. Niestety program działa o tyle dziwnie, że czasami się zacina - tzn czasami zmiana częstotliwości...
pomyślałem że wykorzystam 2 przerwania, złączyłęm razem int0 i int1. jedno bedzie wykrywac opadajace zbocze a drugie rosnące. efektem miał być ciąg licz np "345,12,345,32,463,12" gdzie kazda liczba oznaczałą by długość kolejnego impulsu otrzymywanego z czujnika. napisałem kod: $regfile = "m16def.dat" $crystal = 16000000 Config Lcdpin = Pin...
tu masz trochę opisane w tym [url=http://www.elektroda.pl/rtvforum/to... wprawdzie bascom ale zasada i ustawienie PWM są tam gotowe do podglądnięcia, przy okazji troche teorii, warto poczytać. Należy pamiętać że częstotliwość kwarcu jest ściśle powiązana z częstotliwościa PWM a to dalej powiązane jest w częstotliwościa wystawiania...
Ale Bascom przecież łyka instrukcje asm. Napisz mu np coś takiego: OCR4AH=00 OCR4AL=12 Sprawdź może też z małymi literami. Jeśli to nie zadziała to można podać mu to jako wstawkę asm. Być może nie opisali jeszcze tych rejestrów w tym kompilatorze. Też tak zrobiłem, ale mam problem z podziałem 16 bitowej liczby na dwie 8bitowe. Nie wiem czy robię to...
Panowie to jest mój pierwszy program w Bascomie, więc nie zabijajcie mnie od razu. Wiem roi się tam od GOTO , wiem to zbrodnia ale tym zajmę się później. Teraz powiem o co chodzi. To jest program : http://obrazki.elektroda.pl/8911396900_1...
Witam buduje taką mini stacje pogodową i zatrzymałem się z obsługą ds-a co w tym może być nie tak ? W książce którą posiadam jest tylko obsluga 1820. Docelowo mają być 2 czujniki na 2 liniach. Zrobie to dublując kod . Jednak przy jednym nic nie działa wyświetlacz zostaje cały czarny bez czujnika , i z nim też . Oto kod: '###STACJA POGODOWA BY GEGE97##################################...
Próbowałem ustawić prescale timera 1 na 8 co powinno dać przerwanie co 32,768ms i w przerwaniu zwiększałem liczniki mikro\milisekund co eliminowałoby opóźnienie przed zmianą wartości licznka. Wynik bez większych zmian - również około 1s\2h, może minimalnie mniej. Przerw: Timer1 = Timer1 + 49911 Incr S If S = 60 Then S = 0 Incr M End If If M = 60...
Witam! Przypuszczam, że masz źle ustawione tzw. fuse bity. Domyślnie ATtiny2313 pracuje z wewnętrznym generatorem 8MHz i prescalerem 8, co daje w wyniku 1 MHz. W programie jest 4 MHz, można zmienić w programie na $Crystal=1000000 i zobaczyć co wtedy się bedzie działo. Dodatkowo, przy pomocy potencjometru wyregulować kontrast wyswietlacza. Powodzenia...
Z mieniłem program żeby podprogram nie wywoływał sam siebie: [syntax=basic4gl]'---PROCESOR-----------... $regfile = "M32Def.dat" Wait 2 $crystal = 16000000 $hwstack = 128 $swstack = 64 $framesize = 64 '---WYŚWIETLACZ-------------------------... $lib "glcdKS108.lib"...
Witam ponownie. Panowie znajdźcie lepszy sposób na bicie postów. Niestety mój angielski jest za słaby żeby zrozumieć różnice, a i jestem zbyt zielony by bawić się z fusbitami (jeżeli taki jest mój problem). Trochę zmodyfikowałem mój kod i wszystko działa tak jak powinno, lecz nadal nie wiem czemu potrzebne są takie zmiany. Dim Mili As Byte Dim Mili1...
Witam, potrzebuje zbudować generator z 2 częstotliwosciami rzędu kilku 1-2kHz. Do tego celu przeznaczyłem Timer1 i rejestry OCR1A i OCR1B i tryb CTC. Generator będzie miał dodatkowo zmieniane wypełniania impulsów, wiec zbudowałem sobie taki odo program: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 'Stos Systemowy , Gosub...
Poprawiłem timer. Usunąłem deklaracje zmiennych dla K1-K5. Ale nadal problem leży w warunkach, bynajmniej tak wskazuje kompilator BASCOM a. Wskazuje również że wszystkie 3 błędy leżą w 61 linii kodu. Jak bym nie liczył nie mogę dopatrzyć się tych błędów. Poprawiony kod: $regfile = "ATtiny2313.dat" $crystal = 16000000 'Kwarc w Hz Config Timer1...
Mam maly problem ze zliczaniem czasu stanu niskiego na pinie INT0. Napisalem programik ale nie chce on liczyc czasu. A zmienna Ilecykli czasem zawiera wartosci ujemne, i ogolnie pokazuje jakies nieprawdziwe wartosci. bede wdzieczny za pomoc $regfile = "m48def.dat" $crystal = 8000000 $baud = 4800 Config Timer1 = Timer , Prescale = 1 On Timer1...
$regfile = "2313def.dat" $crystal = 4000000 Config Timer1 = Timer, Prescale = 1, Compare A = Toggle, Clear Timer = 1 Declare Sub _1 Declare Sub _0 Nosna_on = &B01000000 Nosna_off = &B11000000 Compare1a = 55 Tccr1a = Nosna_off Timer1 = 0 Do _1 : _1 : _0 'bity startu i toggle bit _0 : _0 : _0 : _0 : _0 '5 bitow adresu...
Witam! Od kilku dni siedze i nie mogę nic wymyśleć :( Bez ogrudek - podaje źródło: $regfile = "m16def.dat" $crystal = 8000000 'definiowanie zmiennych i stałych Dim T As Integer Dim Licznik_przerwan As Byte Dim Dioda As Bit 'konfigurowanie interfejsu 1Wire Config 1wire = Portd.1 'konfiguracja wyświetlacza Config Lcdpin = Pin , Db4 = Portc.6...
Dyskusja schodzi z tematu więc założyłem nowy temat do wygadania się: http://www.elektroda.pl/rtvforum/topic32... A teraz jeszcze na temat. Zegar wskazuje czas prawidłowo ale nie przerzuca daty przy zmianie doby czyli po minięciu godz. 23:59:59 Funkcja Secofday() przybiera o godz. 00:00:00 wartość 0. Chciałem więc to wykorzystać do zwiększenia...
Witam, Napisałem kawałek programu który ma generować przebieg na porcie b.0 około 9ms - stan wysoki około 4,5ms - stan niski Użyłem do tego licznika, żeby odmierzał czas, dokładność tutaj akurat nie ma znaczenia. Problem w tym że nie działa to jak należy, tzn wykonuje się tylko jeden podprogram. Wiem że jest coś nie tak, bo po przepełnieniu licznika,...
Już pisałem (pod źródłami) co jest nie tak... Co do Xtal to w każdym języku jest to istotne... Jeżeli zmieniasz kwarc to piszesz program od nowa ? A tak jak uzależnisz wartości zmiennych od Xtal i prescale to zmieniasz definicje na początku, a program działa dalej prawidłowo... No to poprawiony kod (niesprawdzony ;) ) : CONST T1_Prescale = 1024 CONST...
A może by tak? $regfile = "2313def.DAT" $crystal = 11059200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7 Cursor Off Config Portd.6 = 1 Config Portd.0 = 0 Portd.0 = 1 Portd.6 = 1 Dim Czestotliwosc As Long Const Licznik = 22336 Config Timer1 = Timer , Prescale...
Witam ostatnio założyłem temat [url=http://www.elektroda.pl/rtvforum/to... ale przez moje nie dopatrzenie zostało no wyrzucony dziękuje wszystkim za pomoc chwilowo (po poprawkach) zegarek wygląda tak [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 Config Timer0 = Timer , Prescale = 256 On Timer0 Przerwanie Dim Licz As Byte...
Napisałem kod dla zegara cyfrowego w Bascom. Ogólnie działa jak należy. Mam tylko problem przede wszystkim z budzikiem. Chcę aby podczas alarmu naciśnięcie przycisku 1(PORTD.0) wyłączało alarm(chodzi o sam dźwięk). Program nie reaguje. Nie mam pojęcia czy jest to wina tego, że nie nadąża z wykonaniem polecenia (za długie przerwania?) 2) Aktywowanie...
Witam Chciałm zrobić automatyczną regulację obrotów silnika. Pierwszy silnik napędza drugi silnik który pracuje jako prądnica i muszę wraz ze zmianą obciążenia prądnicy regulować obroty silnika tak aby uzyskać stałe napięcie na wyjściu prądnicy. Do sterowania zastosowałem Atmegę 8. Napisałem taki programik i niby działa, ale ... regulacja jest zbyt...
1. Pokaż CAŁY kod. 2. Zdajesz sobie sprawę, że parametry timera można zmieniać skokowo co 1 bit - policz sobie jakie wartości będą wpisywane do rejestrów, które nim sterują przy różnych parametrach wejściowych - być może Twoje operacje powodują że np. zmiana częstotliwości o paręset Hz to zmiana o 1 bit - wtedy trzeba inaczej dobrać prescaler itp. Warto...
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny . Nie było by w tym nic niezwykłego ( ustawiony...
Witam. W temacie mikroprocesorów jestem dalej początkującym, i dlatego zwracam się do was z prośbą o pomoc. Nie będę ukrywał, że porwałem się kolejny raz z motyką na Słońce, ale dla mnie tylko takie wyprawy są cenne. Jednak przechodząc do problemu. Wydaje się być błahy, ale siedzę całą noc nad tym programem, i może nie potrafię trzeźwo myśleć. Funkcja...
Usiadłem przy Atmedze328P i uruchomiłem SPWM dla Twojego przykładu. Zdefiniowałem następujące wyjścia sygnałów: - PD0 - sterowanie lewym dolnym MOSFETem mostka H - PD1 - sterowanie prawym dolnym MOSFETem mostka H - PD5 - sterowanie lewym górnym MOSFETem mostka H - PD6 - sterowanie prawym górnym MOSFETem mostka H Wyjścia PD5 i PD6 są niezmienialne, ze...
Witam Mam problem ze zmuszeniem licznika T0 w bascomie do pracy z częstotliwością większą niż 25kHz. $regfile="m8def.dat" $crystal="8000000" Config portd.0= output Config timer0=timer,prescaler=1 Enable interrupts enable timer0 start timer0 on timer0 nosna do loop end nosna: load timer0,1 toggle portd.0 return Program napisany...
wymieniłem procesor i zamieniłem kolejność kodu z: [syntax=basic4gl] Config Portc = Input DDRC = &B0000000 PORTC = 0 Config Adc = Single , Prescaler = Auto , Reference = Avcc[/syntax] na: [syntax=basic4gl] Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portc = Input DDRC = &B0000000 PORTC = 0 [/syntax] coś pomogło :) chyba zmiana kodu...
Zdravim muzu mit prosbu....jsem tak trochu amater a nejde mi zkompilovat jeden zdrojacek v BascomAVR a hlasi mi to chybu na "Enable Timer1" jako "Unknown interrupt source $regfile = "m8def.dat" $crystal = 16000000 '----------------------KONFIGURACJA-----... Const Falloff = 1 Const Lcd_offset = 1 Const Czulosc = 20 '----------------------STAŁE------------...
Witam Piszę program do sterownika pieca Wszystko po włączeniu działa przez około 15min a później na wyświetlaczu pojawiają się dziwne znaki także znak z Deflcdchar który nie jest używany tylko zdeklarowany. Przyczyna jest chyba tylko wyświetlacza ponieważ po przystawieniu zapałki do czujnika DS18B20 program działa prawidłowo i włącza alarm jednak wyświetlacz...
Witam! Mam problem z programem w bascom'ie. Chce generować przebieg prostokątny na jednym z wyjść mikrokontrolera, lecz częstotliwość przebiegu wygenerowanego ni jak się ma do częstotliwości która powinna być wygenerowana. Częstotliwość obliczam dzieląc częstotliwość taktowania kwarcu (w moim przypadku 8MHz) przez podział pleksera ustawiony w timer0...
Witam. Chciałem zrobić sterownik wzmacniacza audio na bazie kitu AVT2829. Szczególnie zależy mi na uczeniu się dowolnego pilota. Zrobiłem płytkę przystosowałem do niej program, użyłem większego procesora (atmega8) no i program działa ale strasznie ułomnie. Procedura zapamiętania kodów z pilota przebiega jak należy ale już samo działanie jest strasznie...
Alez jest komentarz, ze liczby sa nieprawidlowe. Wklepalem byle co, zeby pozniej sobie dokladne wartosci obliczyc, a nie zawracac sobie glowy duperelami w tamtym czasie. Co masz na mysli piszac "chlapniesz"? Chlapanie tutaj na forum czy w swoim kodzie? :) Hm skoro widzisz jeszce jakies kwiatki, to bede wdzieczny, jesli sie nimi podzielisz ze mna. :)...
Witam, trzeci dzień męczę się z obsługą ADC w ATmega88PA. Buduję układ gdzie chce sprawdzać, czy jest właściwe napięcie zasilania i czy bateria awaryjna ma właściwe napięcie. Oto mój kod i schemat pomiaru https://obrazki.elektroda.pl/4066899200_... Pomiar napięcia 12V za pomocą dzielnika, napięcie odniesienia 1,1V z ATmega88. Pomiar...
Witam! Od pewnego czasu usiłuje napisać program do obsługi zegara na pcf8583 i wyświetlaczach siedmiosegmentowych lecz bez efektu. Jest sporo tematów tego typu, ale większość zegarów realizowana jest na LCD. Główny problem polega na wyświetleniu czasu na wyświetlaczach 7segmentowych. Proszę o jakąkolwiek pomoc i podpowiedzi. Schemat układu: http://obrazki.elektroda.net/13_12708371...
Wielkie dzięki!. przeoczyłem odświeżanie. troszkę powalczyłem w nocy z pisaniem kodu i wyszedł mi taki oto niedziałający zegarek: Dodano po 15 Poprawiłem program w zakresie powrotu z podprogramu. Miałem źle przypisane piny klawiatury w podprogramach. Nadal mam duchy, a naciskanie klawiszy powoduje okresowe przygasanie wyświetlacza, co rozumiem, bo mam...
Witam, ostatnimi czasy potrzebowałem wykonać projekcik do sterowania jasnością diody. Przeczesałem elektrodę, kawałek polskiego internetu i książkę do Bascoma. Układ, który wykonałem działa poprawnie, ale gorzej jest z softem. Niestety nie bardzo wiem gdzie szukać rozwiązania problemu. Attiny2113 działa na wewnętrznym oscylatorze. Oto mój kod. For A...
Zmieniłem w liniach z Load na Timer1 = A ale nic to nie dało nadal 10us. Podejrzewam że nie pracuje z preskalerem =1 prawidłowo. Gdzieś czytałem z rok temu że kod programu będzie pracował z zegarem 14MHz (tak jest u mnie) a Timery z 8Mhz. Prawda czy nie ?. Z obliczeń na kalk.exe do wyliczania Timerów jeden cykl Timera przy 14Mhz to około 0.07us.Czyżby...
Dzięki kolego za kod, widzę że jest to kod obsługi jakiegoś zegarka, bardzo podobny kod znajduje się u M.Wiązania. 'Program multipleksowego sterowania czterema wyświetlaczami '7-segmentowymi LED poprzez dekoder 4543 'cyfra załadowana do A będzie wyświetlana na wyświetlaczu 1 'cyfra załadowana do B będzie wyświetlana na wyświetlaczu 2 'cyfra załadowana...
trol.six kiedyś robiłem UART i wysyłałem duże ilości typu byte przy małym transferze , chodziło dobrze a tu dosłownie wysyłam 2 byte i problem....może dał byś jakiś przykład Zrobiłem tak i jakby trochę lepiej(zmiana zegara na 16MHz i Noss=0) nadajnik: [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 16...
Witam. Znalazłem coś innego i po modyfikacji działa jak powinno . Przypisany jeden klawisz pod PB.2 wysyłający LewyALT + Q. Jest też zmiana u gnieździe usb D- PD.3 na PD.4. [syntax=vbnet] 'Author : Rick Richard 'www : http://www.sloservers.com/swusb 'Created : Jul 29, 2009 'Version : 1.00 '***************************************...
Witam, Mam pewien problem z ATMEGĄ8 i serwem MG90S. $regfile = "m8def.dat" $crystal = 1000000 Config Servos = 1 , Servo1 = Portb.1 , Reload = 10 Config Adc = Single , Prescaler = 128 , Reference = Avcc Start Adc Dim W As Integer Config Pinb.1 = Output Dim I As Byte Dim I2 As Integer I = 150 Servo(1) = I Enable Interrupts Do 'W = Getadc(0)...
No i przedobrzyłem Dokonałem optymalizacji kodu, oszczędzając kilkanaście procent pamięci FLASH, ale... sygnał z pilota NEC ( takie małe płaskie na baterie pastylkową ) przestał być odbierany - brak jakiejkolwiek reakcji na naciśnięcie przycisku w pilocie. Poniżej kod: Print Command w przerwaniu Infrared , żeby sprawdzić, czy coś odbiera - reakcji brak,...
Czy Kolega będzie może wiedział co jest nie tak od strony programistycznej ? Tzn. jeśli wyświetlam stałe wartości to jest ok, podobnie jak wyświetlam w pętli For... Next od 1 do 59. Dodałem jeszcze obsługę LCD, żeby widzieć, co się dzieje z czasem. Ale jak podepnę do tego PCF8563 i odczytuje czas z niego, a dopiero później wysyłam do SAA1064 to jest...
Dobra, skończyłem jak na razie "pracę" nad programem. Więcej było gapienia się w niezrozumiałe funkcje i polecenia ale już prawie program czaje w całości :) Oznaczyłem go jako V.2.2 ^^ Zmiany: *Możliwość ustawienia skrajnych temperatur uruchamiających alarm *kasowanie alarmu poprzez wejście do menu i zapisanie zmiennych *zmiana stopnia regulacji zmiennych...
Popełniłem taki oto kod jak poniżej. W założeniu ma to być zegarek stawiany pilotem, oraz z dwoma DS18B20. Założyłem sobie, że nie użyję żadnego Wait, ani Gosub. Mam jednak jeden problem z odświeżaniem czasu na LCD. Niby dwukropki migają co sekundę, ale sekundy nie są wyświetlane poprawnie. Przez pewien czas jest niby dobrze, ale czasem jakby pomija...
Ello, Generalnie jak dla mnie długość życia procka nie ma wiekszego znaczenia. Po kombinacjach z komendami powstalo coś takiego: [syntax=basic4gl]$crystal = 8000000 'Deklaracja częstotliwości kwarcu $regfile "attiny2313.dat" 'deklaracja modelu procesora Declare Sub Zwieksz 'Deklaracja procedury zwiększającej stan rejestru porównania Declare Sub Zmniejsz...
Witam panowie od razu podkreślę że jeszcze uczę się bascoma więc proszę nie krzyczeć i nie usuwać tego postu do kosza Siedzę już nad tym 3 dzień i efekt mojej pracy nie najgorszy ale mam parę pytań po pewnych rzeczy nie rozumiem i nie mogę rozwiązać. Więc tak założeniem był pomiar temperatury przez ds18b20 wyświetlenie je na LCD i 4 wyświetlaczach 7...
Dorzucam wspomnianą konfiguracje timera1. [syntax=basic4gl] Config Timer1 = Timer , Prescale = 64 On Timer1 Odmierzanie_czasu 'na rezonatorze 11059200 Hz Timer1 = 48256 'przerwanie wywolywane co 100 ms 10razy na sekunde Start Timer1 Enable Timer1 On Urxc Odbieranie_rs: 'odbieranie znakow z UARTA Enable Urxc On Utxc Wysylanie_rs: 'wysylanie znakow z...
zmiana prescale bascom bascom zmiana prescale bascom prescale
matryca iphone katalizator wydech bf240 głowica
wyszukiwanie parametryczne brother zacięcie papieru
Barton Fakon 4T - Wysokie obroty, niska prędkość Lexmark toner pokazuje 0 - co zrobić?