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
1. Jeśli używasz czyjegoś kodu, bądź łaskawy nie wycinać z niego informacji o licencji i prawach autorskich. '=======================================... '= MAX7456 Video overlay Demo = '= By EvertDekker.com 2009 = '= Created with Bascom-Avr: 1.11.9.3.001 license = '= No copyright for private use = '= Version 1.1 = '=======================================...
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
Wielkie dzięki za podpowiedż. Zmieniłem w ustawieniach programatora "port delay" na 100 oraz musiałem w programie wpisać częstotliwość "$crystal = 2000000" (co najmniej 2MHz) bo jak wpisałem poprawną 32768 to też BASCOM nie wykrywał mikrokontrolera. Po takich zmianach mikrokontroler z kwarcem zegarkowym jest przez BASCOM wykrywany. Pozdrawiam Jacek
Witam Problem nie tkwi w programie ale w prędkości taktowania procka - patrz jak wyżej. Po kompilacji programu wejdż kliknij programowarkę i programowanie ręczne - następnie kliknij zakładkę lock and fuse bits. Tutaj musisz znienić ustawienia fuse bits w oscylatorze na crystal fast rising power - bodajrze 1011 - ale to sprawdz . po tej zmianie zatwierdż...
Witam Mam taki problem: wrzucam malutki programik do Atmegi 8A: 'Program do wysyłania danych przez rs232 'Prędkość transmisji 9600 bodów $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Dim I As Byte I = 111 Do Print "Poszczegolne wartosci I:" Wait 2 Print "Wartosc I zapisana DEC:" ; I Wait 2 Print "Wartosc...
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 '---------------------------------------...
Witam Potrzebuję zbudować licznik który po zliczeniu określonej liczby impulsów wykona jakąs czynność. Jako generator impulsów wykorzystałem kontaktron magnes i filtr RC Początkowo napisałem program obrotościomierza i wszystko działa ok. A Teraz po małych zmianach nic nie zlicza. Wykorzystuję Timer1 $regfile = "m16def.dat" $crystal = 1000000...
Jeżeli to ma nic nie robić tylko generować impulsy, to po prostu może użyj Waitms. A jeżeli nie, zmieniaj wartość porównania w zależności od dodatkowej zmiennej. Np: $regfile = "m16def.dat" $crystal = 16000000 Dim A As Word 'Zmienna zwiększana i porównywana. Dim B As Byte 'Zmienna decydująca z jaką wartością będzie porównywana zmienna A. Config...
yy powinno być $crystal = 1000000 I na drodze do sukcesu stanął kolejny problem;/ kiedyś działał mi poprawnie programator,teraz przy samej próbie komunikacji wyskakuje mi komunikat: http://obrazki.elektroda.pl/2825440800_1... Kiedyś jak coś takiego miałem, to było spowodowane brakiem podpięcia drugiego GND w atmedze,teraz na pewno sa...
Propozycja zmian $regfile = "m8def.dat" 'program jest pisany na procesor atmega8 $crystal = 8000000 'procesor będzie pracował z kwarcem bądź na wewnętrznym oscylatorze 8Mhz '---------------------------------------... Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc. 4 , Db6 = Portc.3 ,...
Witam!!!! Próbowałem zmienic Bascomem w atmega32 Fuse bits na takie, aby pracował on na zewnetrznym kwarcu. I przestał odpowiadać. CO teraz zrobić aby działał?? Zrobiłem tak: wszedłem do opcji programowania i w zakładce "Lock and fuse bits" zminiłem w procku ostatnią funkce w części fuse bits (dotyczy ona chyba kwarcu) na external high power crystal...
OK, problem rozwiązałem, problem polegał na tym, że pilot ma przyciski "CD", "FM", "MW" i "AUX". Naciskając przypadkowo przycisk "FM" zmieniłem nadawane adresy i komendy, żeby wszystko wróciło do normy musiałem nacisnąć przycisk "CD". Jak widać więcej osób zgodziło się, że nie zrozumiało postu, więc przepraszam za nieścisły język. Program do testowania:...
No to tak. U mnie pamięć grafiki w LCD zaczynała się od 768. Stąd taka stała w programie. Wcześniej (od 0) była pamięć textu. Pixele są rysowane poziomo. Czyli każdy bajt reprezentuje 8 pixeli jako pozioma linia. I teraz dość nieprzyjemna rzecz. Mianowicie tryb wyświetlania zależy od trybu textu. Jak wybierzesz tryb 8-mio bitwy to każdy bajt będzie...
Mam taki początek: $regfile = "m128def.dat" $crystal = 8000000 $lib "glcdKS108.lbx" $include "funkcje.bas" Chciałbym 2 dolne pliki umieścić w folderze, w którym się znajduje główny plik .bas. Normalnie z tego co widzę, to BASCOM przeszukuje swoje własne katalogi w poszukiwaniu plików "dołączanych". A ja chce, żeby szukał w tym katalogu, w którym znajduje...
Cos mi tu nie pasuje ;) To jest tak prosty program , że musi działać , chyba że ... .Jesteś pewien na 100% , że procek pracuje na zewnętrznym kwarcu :?: Spróbuj z $crystal=1000000 , to nic nie kosztuje ;) Piotrek pracuje na zewnętrznym FusebitA987 1111:1111 $crystal=1000000 dałem bez zmian Cos mi tu nie pasuje ;) Poniżej ułamek w 100% działającego...
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 =...
Dziękuję wszystkim za pomoc, rozwiązaniem było zmiana fuse bitów - zmieniłem wewnętrzny oscylator na 8MHz i wszystko pięknie pokazuje. Kod gotowego programu dla kogoś kto miałby problem: [syntax=basic4gl]$regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5...
No to już dobrze :) Dodaj te linie definiujące stos z wcześniejszego posta. Może to one są winne. Którą masz wersję bascoma ? EDIT: Jak byś chciał go z 12Mhz pędzić to zmień linie: [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 12000000 Config Timer0 = Timer , Prescale = 64 Const Przerwanie = 219 '12MHz/64/37=5068Hz /32 poziomy PWM = ok 158Hz(PWM)...
Jeśli założyć, że przycisk podpięty do PORTD.1 i jeśli założyć, że dobrze zrozumiałem Twoją idee programu, bo namieszałeś okropnie, to... $regfile = "m8def.dat" $crystal = 1000000 Led Alias Portb.0 Config Pinb.0 = Output config Pinb.0 = input : Portb.0=1 Do if Pinb.0= 0 then Set Led Waitms 400 Reset Led Waitms 700 else Set Led Waitms 1000 Reset Led...
Poprzednik mnie uprzedził :) Poza tym jak przeanalizujesz mój program to sam zobaczysz, że mimo szybkich zmian na wejściu silnik będzie podążał za potencjometrem "z rezerwą". Właśnie po to jest tam zmienna doganiająca (tak ją kiedyś ochrzciłem ze względu na jej charakter), która ma za zadanie izolować (będzie się zmieniać płynnie z ustalonym opóźnieniem)...
Będzie działać na wewnętrznym. Mega8 prosto ze sklepu ma włączoną prędkość 1MHz, ale można ustawić 8MHz. Do takich zmian używam Burn-o-mat albo MkAVRcalculatora bo sa "przejrzystsze", ale da się też zrobić to prosto z Bascom`a Kliknij tam gdzie pisze Int Osc 1MHz i na rozwijanej liście poszukaj "Internal Osc 8MHz" z wartosciami 100100 (sto,sto) i naciśnij...
Witam Piotrva będę polemizował, cytat z manuala do Bascoma: 1. Zgłoszę to Markowi Albertsowi jako nieścisłość - ten zapis to zaszłość z procesorów 89C... które nie miały FB ani żadnych narzędzi do zegara - wtedy rzeczywiście $crystal oznaczało jaki kwarc jest podpięty do procesora fizycznie. Obecnie zaś, w wersji AVR nie z teorii, ale z PRAKTYKI wiem,...
Witam W programie AVR studio dokonałem zmiany Fuses aby uzyskać możliwość pracy procesora z zewnętrzym rezonatorem kwarcowym 4Mhz wybrałem opcję : Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 14 CK + 4.1 ms Po tej zmianie procesor pracuje ale strasznie wolno nawet zwykłe polecenie w bascom wait 1 trwa ok 5 sekund zamiast jednej oczywiście dokonałem...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.2 = Output Do Set Portb.2 Wait 1 Reset Portb.2 Wait 1 Loop End[/syntax] a po zmianie [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.2 = Output Do Set Portb.2 Waitms 500 Reset Portb.2 Waitms 500 Loop End [/syntax]
1. sprawdź taktowanie np. dając miganie diodą co 1s z wykorzystaniem polecenia wait 2. czy testowałeś mój program po zmianie odpowiednich wartości (regfile i crystal)?
Witam. Robię mini komputer pokładowy. Funkcje to pomiar poziomu paliwa, temperatury w i na zewnątrz, i napięcia aku. Na razie mam paliwo i jedną temperaturę. Poziom paliwa symuluje na razie potencjometrem. Do pewnego poziomu fajnie wypełnia mi kolejne kwadraty, jednak gdy zapełnię pierwszą linię, i przekręcę jeszcze trochę potencjometr, to wypełnia...
Witam. Napisałem program w bascomie, zwykły termometr z wyjściem na Mikroprocesor to Atmega8 + lcd + DS18b20. Wskazuje tylko tem:25.5oC ,brak reakcji na tem.Nie wiem ,gdzie zrobiłem błąd. Może jakaś podpowiedż. Poprawiłem SYNTAX - następnym razem proszę robić to prawidłowo: Instrukcja: http://www.elektroda.pl/rtvforum/viewtop...
Program kompiluje się prawidłowo na Atmega8. Kompiluje się także na ATiny2313 (należy usunąć linijkę: Config Serialout = Buffered , Size = 150) Ustawienia Atmega32: $regfile = "m32def.dat" $crystal = 8000000 -kwarc wewnętrzny 8MHz -wejście sygnału z odbiornika podczerwieni PD5 (OC1A) -wyjścia na przekaźnik i diody sygnalizujące PA1, PA2, PA3 skonfigurowane...
Witam, Buduję prosty miernik częstotliwości wg schematu crystal , ale tutaj za Chiny nie mogę się tego doszukać. Pytanie czy w kodzie asm trzeba gdzieś zmienić taktowanie? Czy może bez zmian będzie to działało poprawnie?
Nie, nie dziala szybciej! Zegar procesora to jego bóg - taki jaki bedzie zegar, tak szybko wykona sie kod. W bascomie oprocz metod pomiaru czasu (wait-y, delay, cokolwiek) lub funkcji, ktore je wykorzystują (najpewniej 1wire...) nie bedzie zadnych innych zmian w wykonywaniu kodu (no oprocz predkosci zegara...) $crystal deklaruje sie wlasnie po to ,...
Tak dokonałem parę zmian w programie, i przestawiłem to i owo. Teraz interpretacja komend z pilota powinna być wykonywana, co 0,5 sek. Dokonałem także małej zmiany w edytorze tekstu. Mianowicie teraz wszystkie znaki o numerze większym niż 127 są ignorowane i zastąpione spacją. Daje to ten efekt, że jak dojdziesz do końca tekstu to nie będzie tych czarnych...
Ok jakos sie dogadalem... z ta kostka problem? podciaglem mase solidnie;-) od uC do tego rtca... Moj program i zwraca mi takie cudo: adres:32 a to mi zupelnie nie lezy bo w/g noty adres ma 209:> Oco lotto? Dodano po 17 Hmm w sumie to juz sam nie wiem... generowalo kilka roznych liczb;-) znow cos poruszalem i przestalo cos mi smierdzi:> ide sprawdzic...
Nie to chciałem żebyś przetestował. Tylko to czy mój kod będzie wrażliwy na zmiany deklaracji rezonatora kwarcowego. Bo Twój kod wiemy że jest wrażliwy. To teraz sprawdź mój.
Witajcie Niedawno wyszperałem sobie z moich zasobów LCD 3.2" na sterowniku SSD1298. Z czystej ciekawości, może trochę z nudów i chęci nauki postanowiłem go ożywić :). Zrobiłem sobie płytkę o identycznych wymiarach jak LCD z atmega128. No i zaczeło się. Nadmienię iż program piszę w bascomie i pewnie wielu z was powie że nie nadaje się on do tego i zapewne...
Od początku, orłem z programowania nie jestem, ale coś tam stworzę. Kilka lat temu stworzyłem dość proste urządzonko na Attiny13A w trzech egzemplarzach. Teraz powstało zapotrzebowanie na jeszcze kilka sztuk i mam problem z kompilacją w Bascom. Oczywiście program bez zmian(ewentualnie wyłączona jedna funkcja). Bascom 2.0.7.8 wyrzuca błąd; Error : 22...
Witam ponownie. Do generacji przerwania, w czasie którego obliczana jest liczba pseudolosowa, wykorzystałem tym razem Timer1 - przerwanie wywoływane jest co około 0,5s. $regfile = "8535def.dat" $crystal = 8000000 $baud = 9600 Config Timer1 = Timer , Prescale = 64 Dim Losowa_waga As Integer On Timer1 Przerwanie_wagi Enable Interrupts : Enable Timer1...
Witam Podam prosty przykład programu w "BASCOM" i proszę o podanie zmian jakie należy wprowadzić, aby był "idle" oraz gdy "power down" i w jaki sposób wychodzić z tych stanów. Przykład programu: $regfile = "ATtiny2313.dat" $crystal = 8000000 Config PortB.0 = 1 'wyjście na diodę LED PortB.0 = 1 Config PortD.0 = 0 'wejście na mikrołącznik PortD.0 = 1...
Cały czas mówię o nowym :) $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'kwarc 8MHz Config Portc.4 = Output Set Portc.4 Do Toggle Portc.4 Wait 1 Loop
Witam Jestem początkujący z uC i bardzo proszę o pomoc. Mam płytkę testową $regfile = "m32def.dat" $crystal = 4000000 Config Com1 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 $baud = 19200 do Print "a" waitms 20 print "b" waitms 20 loop Jednak dostaje na terminal same krzaczki. Próbowałem...
masz rację, doczytałem to jeszcze gdzieś tu na forum :) Program z postu 1 dalej nie działa pomimo zmian proponowanych przez Was.... ale jutro się za to wezmę :) Dzisiaj już myślenie zawodzi :) ---EDIT---- Ehh to takie proste się okazało.... Już podaję rozwiązanie :) $regfile = "m8def.dat" $crystal = 1000000 Config Portc = Output Config Portd...
Po ciężkich zmaganiach z metodą losową dla kolorów postanowiłem porzucić ten pomysł i zastosować przewidywalny sposób który będzie się powtarzał co jakiś czas. Może i nie jest to rozwiązanie pierwsza klasa, ale działa. Nie stosowałem jednak korekcji gamma, bo przy rozdzielczości PWM 8 bitów i zastosowaniu płynnego rozjaśniania było widać przeskoki (mruganie)...
A potrafi ktoś obsługiwać ten timer2? Kolega wyżej objaśnił ci to dostatecznie w twoim ojczystym języku. Jeżeli masz z tym trudności to może to będzie pomocne: [code][syntax=basic4gl] ' Must use the internal RC oscillator at 8MHz or at 1MHz because ' a 32.768 kHz watch crystal must be connected between the TOSC1 and TOSC2 pins. ' $regfile = "m8def.dat"...
Wow! Moje gratulacje! Nawet jak na Bascom'a to wyczyn niezly ;) Podstawowy blad to ciagle powtarzanie tego samego fragmentu kodu ktory zajmuje sporo miejsca a wystarczy napisac jedna procedure i zwyczajnie sie do niej wielokrotnie odwolywac i w ten sposob jedynie wykonujemy skok do podprogramu ktory zajmuje zaledwie kilka bajtow zamiast jak wczesniej...
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...
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...
Ogarnełem CTC. Teraz nawet co 1s mam z wykorzystaniem ctc a program wygląda tak: [syntax=basic4gl]$regfile = "ATtiny24.DAT" ' specify the used micro $crystal = 8000000 ' used crystal frequency $hwstack = 32 ' default use 32 for the hardware stack $swstack = 32 'default use 10 for the SW stack $framesize = 32 'default use 40 for the frame space Config...
Jak widzę będzie się kolega zmagał z programem w Bascom. Jeżeli chodzi o one 1Wire to możemy podłączyć to na 2 sposoby: - z dwoma przewodami - wtedy używamy tylko lini DQ (linia DQ powinna być podciągnięta do zasilania poprzez rezystor 3k3 - 4k7 do zasilania ponieważ porty mikro kontrolera mają zbyt małą wydajność) i GND. Zasilanie odbywa się przez...
Witam! Napisałem sterownik do rgb (dioda z wspólnym +), niestety nie chciał pracować, więc zacząłem drążyć... Okazało się, że nawet taki program $regfile "attiny2313.dat" $crystal = 16000000 Config Portb = Output Config Portd = &B11110000 Portb = &B11111111 Portd = &B11111111 Config Timer0 = Timer , Prescale = 8 Enable Timer0 On Timer0 Przerwanie...
Jak się tak dokładnie przyjrzałem Twoim obliczeniom, to muszę stwierdzić, że nie rozumiesz istoty działania funkcji Load Timer :( Przykładzik: $regfile = "m8def.dat" $crystal = 4000000 Const Prescaler = 64 Const Interval = 1 / 1000 Const Reload_value = _xtal / Prescaler * Interval Config Timer2 = Timer , Prescale = Prescaler Load Timer2 ,...
Witam, co do tego wyjścia można zrobić to jeszcze łatwiej. Poniżej zamieszczam przykładowy kod. $crystal = 1000000 Declare Sub Normal Declare Sub Menu1 Declare Sub Menu2 Config Pinb.0 = Input Do Call Normal Loop End Sub Normal: Cls Lcd "NORMALNY" Do If Pinb.0 = 0 Then 'JEZELI NA PINIB.0 POJAWI SIE STAN NISKI Call Menu1 'WTEDY IDZEMY DO...
Witam Mam problem. Połączenia mam bezpośrednio od procesora do potencjometru: Pga4311 89s8252 SDI (pin 13)----------------P1.5 (MOSI) (pin 6) CS (pin 14)-----------------P1.4 (SS) (pin 5) SCLK (pin15)--------------P1.7 (SCK) (pin 8) Program w Bascomie, fragment: $regfile = "89s8252.dat" $crystal = 12000000 Config Spi = Hard , Interrupt = On...
Witam Za pomocą M16 komunikuje sie z expanderem PCF8574AP linie adresujące PCF są połączone z masą ,więc układ ma adres 112 oczywiście linie SDA i SCL są podciągniete do +5V rezystorami 4.7k Program : $regfile = "m16def.dat" $crystal = 14745600 $baud = 9600 '#######################################... Config...
Jako że nikt ci nie odpisał to: 1) prędkość na fusebitach i w programie ZAWSZE muszą być takie same 2) nie zadeklarowałes pinu rc5 jako input 3) wykonujesz dziwnego ifa zamiast wyświetlić cokolwiek z odebranych danych 4) weź pilot który na pewno nadaje RC5, np jakiś philipsa Powinno to być np tak: [syntax=basic4gl] $crystal = 1000000 $regfile "attiny2313.dat"...
Witam, w ramach wyzwania postanowiłem napisać program do kitu Jabel J-89 (timer mikroprocesorowy). Znalazłem na elektrodzie temat na którym ktoś się postanowił podzielić fajną bo prostą procedurą na sterowanie wyśiwietlaczy 7 segmentowych za pomocą rejestru przesuwnego 74164, https://www.elektroda.pl/rtvforum/topic4... przepisałem program,...
Wpisywanie $CRYSTAL bez rzeczywistej zmiany taktowania procesora będzie powodować, że wszelkie opóźnienia i obliczenia kompilatora dotyczące liczników nie będą zgodne ze stanem faktycznym. GETRC5() korzysta aktywnie z licznika TIMER0. Tak manewruje wartością wpisaną do rejestru licznika oraz preskalerem by otrzymać jednakowe odcinki czasu zliczane później...
Kolega ma nowy procesor. Prosto ze sklepu. Trzeba ustawić fuse-bity by pracował z zewnętrznym kwarcem - takim jaki jest podany podczas kompialcji. Inaczej cała transmisja 1wire idzie w maliny. Ewentualnie najpierw proszę zmienić zapis w dyrektywie $CRYSTAL na: $crystal = 1000000 Jek będzie dobrze to przycyzną jest taktowanie. ps. A swoją drogą. Tyle...
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ść...
Tutaj masz około 12Hz (okres 2 x 40ms). Częstotliwośc 200kHz to okres 5us. Nie programuje w Bascomie, nie wiem czy jest tam funkcja odliczająca mikrosekundy, ale jeśli kwarc masz 1,2MHz ($crystal = 1200000 - a nie 12MHz?) to zamiast każdego Waitms 40 wstaw po dwa NOPy i będzie około 200kHz.
Łap, bo jak się długo męczy temat a efektów nie widać to można popaść w depresję a tego nie chcemy :D Tego LM293 to kupiłem chyba ze dwa lata temu i tak sobie leżał bo używam innych driverów, ale pomyślałem, że się może kiedyś przydać. No i się doczekał :D Nie wiem jaki jest ten Twój silniczek, ale mój pochodzi z Walkmana. Pump up the volume żeby usłyszeć...
$regfile = "attiny2313.dat" $crystal = 10000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2 'konfiguracja podłączenia LCD,na płytce testowej Config Lcd = 16 * 2 Config Timer1 = Counter , Edge = Falling , Noise Cancel = 1 , Prescale = 1 Config...
Spróbuj tak: $crystal = 7372800 $regfile = "m16def.dat" $baud = 115200 Dim D As Word Dim Ee_d As Eram Word Do 'Wybierz odpowiedni sposób pobierania danych z RS 'w zależności czy wysyłasz dane bez końca lub z końcem linii (Inputbin lub Input) Inputbin D Input "Bla bla:" , D Ee_d = D Waitms 20 Loop End
Drodzy koledzy mam taki program wyświetlam czas z pcf 8583p na zmianę z temperaturą z ds18b20 . Chcę by ktoś doświadczony pomógł mi zoptymalizować kod oraz wytknął złe pisanie .Wyświetlam na 4 x 7seg więc wyswietlam czas bez secund i temperaturę całkowitą i dodatnią bo i tak nie udało mi się tego wyświetlić . Oto co wyskrobałem[syntax=vbnet] $regfile...
Witam, jako początkujący programista atmegi8 chciałem uruchomić sobie wyświetlacz LCD 20x2, wypisać na nim jakiś stały napis (obojętnie co) i napotkałem na problem. Oto schemat i króciutki programik: $regfile = "m8def.dat" 'Procek ATMEGA8 $crystal = 1000000 '1MHz - Kwarc 1MHz Config Portd.7 = Output 'PORTD.7 jako wyjście Config Lcd = 20 *...
Byłby ktoś w stanie mi z tym pomóc? Miałoby to wyglądać tak: * sterowanie wentylatorami czasowo * sterowanie poprzez odczyt temeratury 2 osobne funkcje (działa albo jedno albo drugie). Do tego co mam dołożenie wł/wył czasowego (w zupełności wystarczy najprostsze z możliwych) OK, Popatrz na swój program; sterujesz ustawienia trzema przyciskami, z których...
Dzięki za zainteresowanie tematem, zrobiłem tak jak pisał kolega Witgol: ad1. lepiej skonfigurowałem wyjscia na procesorze http://obrazki.elektroda.pl/3764001300_1... Pozdrawiam
Do Autora wątku: Proszę. Nie taki diabeł straszny. Nie napisałeś jaki to procesor więc napisałem przykład dla Mega8. Funkcja odczytuje ADC(0-5) z włączony ADLAR czyli tylko osiem bitów. Wynik od 0 do 255. Zapewne działa nawet w symulatorze. To taki podstawowy. Można nie czekać a ustawić przerwanie, ale to pewnie jeszcze nie dla Ciebie :D Wpisz w Google...
Taki dziwny problem: Mega8 na płycie ewaluacyjnej połączona przez rs232 do pc. Terminal wyświetla to co wysyłam przez print, natomiast avr nie reaguje na nic wysłanego przez pc. Testowy kod (wzięty prawie na żywca z sampla inkey.bas): $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 ' default use 32 for the hardware stack...
Witam, Wykonałem płytkę jak w załączniku. Po zaprogramowaniu prostym programem, procesor nie uruchamia się. Po kilkukrotnym resetowaniu procesor wstaje. Czy wykorzystywanie pinów SCK, MISO, MOSI jako wejścia może powodować taką reakcję? Czy konieczne jest wprowadzenie dodatkowych zmian w programie/ fusebits? [syntax=basic4gl] $regfile = "attiny2313.dat"...
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...
Dzięki za zainteresowanie tematem i odpowiedź! Niestety w dalszym ciągu mam problem... Obejrzałem temat z podsuniętego linku- jak sądzę to jest dokładnie to o co mi chodzi, ale chętnie dowiedziałbym się czegoś więcej na ten temat. Nie chciałbym tu za bardzo zaniżać poziomu... ale czy można prosić o podsunięcie wskazówki co się tu (w kodzie) dzieje?...
Witam ! Po bawiłem się Twoim programem i zauważyłem że w pierwszej części programu operujesz portami (wyjściami) : Portd.0 = 1 'zapal diode spawania Portd.5 = 1 'włącz gaz Portd.6 = 1 'włącz prąd Portd.7 = 1 'włącz podajnik a w drugiej części: Portd.0 = 0 'zgaś diode spawania Portd.7 = 0 'wyłącz drut Portd.6 = 0 'wyłącz prąd Portd.7 = 0 'wyłącz gaz...
Proszę. Przycisk Menu włącza je i wyłącza więc przycisk wyjścia z Menu praktycznie jest niepotrzebny, ale go zostawiłem. Subów którym nie przekazuje się żadnych zmiennych nie trzeba deklarować. Miałeś odświeżanie wyświetlacza w pętli głównej z prędkością procesora. Zmieniłem to tak że wyświetlaczem zajmuje się tylko wtedy jeśli coś się zmieniło i wymaga...
Nie analizowałem Twojego programu- ale może to Ci się przyda. Może moje stare belferskie umiejętności (teraz to się nazywa- zdolności pedagogiczne) jeszcze całkiem nie zanikły. 'Program poglądowy do unikania wait 'Prescale oczywiście można zmienić 'licznik też i Temp0 też $regfile "m8def.dat" $crystal = 8000000 Config Lcd = 20 * 2 Config Lcdpin...
Witam wszystkich, mam problem potrzebuję sterować stanem pinu lecz nie potrafię rozgryźć co jest nie tak w kodzie. Poniżej kod w BASCOMIE : [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config Portb.1 = 1 Portb.1 = 0 Config Portd = &B11110000 Portd = &B11011111 Config Portc = &B11111110 Portc = &B11111001 Tccr1a = &B11110010 Tccr1b = &B00011011...
[syntax=basic4gl] $regfile = "m644pdef.dat" $crystal = 16000000 $baud = 9600 $hwstack = 64 $swstack = 64 $framesize = 64 'konfiguracja pinow wyswietlacza LCD; inicjalizacja wyswietlacza Config Lcd = 20 * 4 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Wart_adc...
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...
moze ja cos przeoczylem, a za nic nie moge zgadnac, dlaczego taki kodzik: $regfile = "m162def.dat" $crystal = 8000000 $baud = 9600 $sim Config Timer1 = Timer , Prescale = 256 On Timer1 Odmierz Dim Laduj As Word Laduj = 31250 Enable Interrupts Enable Timer1 Load Timer1 , Laduj Start Timer1 Do 'Print "."; Loop End Odmierz: Disable...
Tamten program ma błędy. Napisałem nowy, ale dalej jest to okrężna droga do celu. Zrobiłem symulację i działa niby. Ale... : - zamiast przycisków musiałbym użyć chyba normalnych włączników - zmiana trybu działa tylko na początku trybu (jeśli program czeka to wtedy przycisk nie działa) - nie wiem dalej jak zrobić regulację szybkości migania - ogólnie...
Witam! Poniżej prezentuję najprostszy chyba z możliwych listingów odczytujący wskazania ADC i wysyłających je do PC przez RS232. Problem w tym ze nie da się wysłać nic z częstotliwością powyzej 4800 bps. zamiast konkretnych wartości jakieś krzaki przychodzą. ' osiągnieta rozdzielczosc: 5V/1024= 0,00488V= 4,88mV $regfile = "m8def.dat" $crystal...
Można i na pewno lepiej byłoby to zrobić Timerem zwłaszcza jeśli to cześć większego programu bo to przecież zrobiłby nawet Tiny13 :D Jeśli jednak te impulsy są jakieś "wolne" to pewnie wystarczy taki Waitms a nawet możesz użyć innych jednostek Waitus itd.. Na tym Bitwait program mógłby zawisnąć gdyby stan ustalił się na stanie wysokim. Dlatego trochę...
Zaczynam dopiero programować i mam problem z TIMER = COUNTER . Chce by o zliczeniu ilości impulsów procesor wykonał np: zmianę stanu portu lub coś innego . To jest program : [syntax=bascom] $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1...
Ten powinien działać musisz wszystko wykonywać w odpowiedniej kolejności. A wspak to on może też czytać sensu to nie będzie miało (2 znacznie nawet objaśnienie :D )musisz zmienić na adres-1, kierunek musi być dodawany zakres adresu dla zmiany kierunku zamienione miejscami i adres musi się zaczynać na 80. A Pętla for next jest tylko po to aby wykonać...
Witam. Tym razem mam dość dziwny temat, ale bez oscyloskopu jest ciężko przeanalizować gdzie leczy problem. Mianowicie zbudowałem dimmer do sterowania fazowego, jednak problem na jaki się natknąłem to detekcja zera sieci. Układ detekcji został zbudowany zgodnie ze schematem ze strony https://obrazki.elektroda.pl/9822366100_... https://obrazki.elektroda.pl/4696795900_...
Witam przejrzałem naprawdę dużo tematów na temat komunikacji RS 232 w Bascom i nic mi nie pomogło. Problem polega na tym ze nie mogę skomunikować się z komputerem czy to z avt 3500 cokolwiek próbuje wysłać czy odebrać kończy się zawieszeniem aplikacji/terminalu com na pc oraz czasem restartem komputera przez zawieszoną aplikacje widać Led na Tx-Rx]...
Witam.Piszę soft który ma na celu obsługę kart SD i LCD od 6100.Samą obsługę LCD opanowałem (na atmedze8) jednak nie wiem czy SD będzie działać.Jako kartę wykorzystam m2 1gb (została po starym telefonie).Jak na razie nie mam dostępu do atmegi bo właśnie co ją spaliłem jednak pytam się o poprawność softu.Jak widać w sofcie brakuje jeszcze odczytywania...
biblioteka lcd4e2 jest konfigurowana z poziomu biblioteki pisanej w assemblerze. Z tego co wiem nieskompilowana wersja tych bibliotek (z możliwością zmian) jest dostępna tylko w wersji płatnej basoma Oto przykład zastosowania, połączenia powinny być tak: $lib "LCD4E2.LBX" '=========================== RS PortB.0 R/W PortB.1 w tej wersji nie...
To jest tylko wskazówka, a nie prawdziwy kod: $regfile = "M8def.dat" $crystal = 16000000 'Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2 , Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5 Config Portb = Output Enable Interrupts Ocr2 = 199 ' tak daje 40kHz Tccr2 = 25 'To daje CTC dla T2.Bascom nie chciał się tak ustawić więc...
Witam wszystkich forumowiczów... Posiadam płytę ewaluacyjną AVT5311 na której znajduje się czujnik temperatury lm50 oraz układ mcp3021. Korzystając z wcześniejszych porad dotyczących odczytu temperatury z czujnika DS18B20 napisałem kod w bascomie. Oczywiście mam świadomość, że będzie on inny w moim przypadku. Natomiast nie mogę poradzić sobie w odczycie...
Witam. Mam problem z przerwaniami w atmega8. Wcześniej nie potrzebowałem przerwań więc to zagadnienie mnie nie interesowało. Potrzebuję wywołać przerwanie zewnętrzne int0 które uruchomi timer1, a ten zacznie odmierzać czas. Napisałem coś takiego (oczywiście to część z większego projektu) '$sim $regfile = "m8def.dat" 'informuje kompilator o...
$regfile = "M16def.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111 : Portd = &B11111111 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2 Config Lcd = 16 * 2 Cls Cursor Off Noblink Lcd " HELLO WORLD!!!"...
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 :...
Działa elegancko. Żeby było wiarygodnie to nawet wygrzebałem Ardu Leonardo z m32u4 na pokładzie. Na jedną rzecz bym jeszcze uważał. Twój kod nie jest w żaden sposób synchronizowany. Może się kiedyś zdarzyć, że jedna z wiadomości nie dojdzie. Z nie będzie miało wartości 3 i przy nastepnej wiadomości procesor zacznie przypisywać wartości innych zmiennych...
Witam wszystkich. Dziwna sprawa, zmontowałem dziś płytkę z m64 programator wykrywa procesor, zmienia ustawienia fusebit jednak po wgraniu programu brak reakcji na jego pinach pinach. JTAG wyłączony, kwarc ustawiony na >8MHz, próbowałem też z wewnętrznym rezonatorem na 1MHz- bez zmian. Układ zasilany jest napięciem 3V3 a na padach atmegi dla pinu który...
Program zegara z synchronizacją z DCF z Bascomie jest trywialny, ponieważ Bascom posiada komendy do obsługi DCF. Zrobiłem na procku atmega8 z kwarcem 8 MHz. Wyświetlanie na dwulinijkowym LCD: Godzina: hh:mm:ss Data: dd/mm/52 'Zegar DCF77 $regfile = "m8def.dat" $crystal = 8000000 'Sygnał z odbiornika DCF podłączony do Portb.2 Config Dcf77 =...
Usunąłem ten wiersz i nadal brak odczytu - czekam do wieczora. P.S Jeśli możesz to podaj mi swój kod moze on zadziała. To jest przykład z Baskom8051 przystosowany do AVR-a. Twój chiba tyż :D U mnie działa bezbłędnie z CRC i bez CRC na pojedynczym DS1820 . ' ----------------------------------------... 'Author : Bojan Ivancic ' Email...
Witam kolegów proszę was o pomoc bo mi już ręce opadają. Zbudowałem sobie prościutki układzik do załączania za pomocą pilota dwóch triaków. Układ został złożony na płytce testowej i program napisany w bascomie. I wszystko działało jak należy. Od razu zabrałem się do roboty i zaprojektowałem płytkę tylko zamieniłem uP z atmegi16 bo taki mam w płytce...
W programie też zmieniłbym kolejność: 1) na początek: $regfile = "m128def.dat" $crystal = 16000000 2) konfiguracji portów we/wy na początek 2) niepotrzebne jest Porta = 255, Portc = 255 3) dla podciągnięcia do plusa WEJŚĆ w bascom bardziej właściwą funkcją jest SET 4) i tu dopiero konfiguracja portów wyświetlacza.
Tak wiem że należy odpalić timer na początku i zatrzymać na końcu i odczytać jego wartość.. no nic. Dziękuję za wypowiedzi tak czy inaczej.. Odp. kol. Draco była troche sarkastyczna, bo na tak prostą procedurę nikt, kto ma choć troche rozeznania w tej dziedzinie chyba (!) nie szuka pomocy. Mopzesz to zrobić na kilka sposobów: 1. mierzyc czas metodą...
Dziękuję za pomoc i poświęcony czas na analize moich wypocin:) Dokonałem paru zmian oraz poprawiłem to co podpowiedziałeś i generalnie działa dobrze, nawet bardzo, ale..... Wysyłam znaki klikając na klawiaturze maksymalnie szybko i jest OK, ale jak wpisze ciąg znaków np "1234567890"i dopiero je wyslę to pierwsze 3 do czterech wysyłanych z powrotem są...
crystal bascom crystal bascom zmiana sygnalizator zmian
pomiar prędkości indukcyjnym pomiar prądu przez opornik radio winda
instalacja offgrid amica piekarnik
Kondensator do pralko-suszarki Beko HTV8733X50 – filtr EMI, pompa, wentylator, parametry TPA3116D2 – uszkodzenia kondensatorów 470µF przy podłączaniu sygnału audio, przyczyny i modyfikacje