Witam! Po pierwsze to z reguły przyciski powinny zwierać piny wejściowe do masy a nie do zasilania. Wynika to z faktu posiadania przez procesory AVR wewnętrznych rezystorów pull-up podciągających wejścia do +vcc, czyli panuje na nich stale stan wysoki (oczywiście gdy zostaną uaktywnione). Po drugie to akurat sygnał CLK ma się zmieniać, podczas narastającego...
Po sprawdzeniu załączonego kodu widzę, że procedura Complet_reg zawiera wyłącznie ustawienie częstotliwości. Jeśli chcesz dodać do ramki inne opcje to musisz ustawić odpowiednie bity zmiennej Reg. Umieść to w procedurze Complet_reg: Sub Complet_reg: Reg = Frequency Reg.16 = 1 ' przykładowe ustawienie bitu 16-tego ramki Reg.17 = 0 ' jw bit 17 End...
Grala1 - Nie wiem czy ta wersja spełni oczekiwania : '$prog &HFF , &HE1 , &HD9 , &H00 ' Fusebity fabryczne !!! $sim ' dyrektywa opuszczania zwłoki (usunąć ten wiersz przy wgrywaniu w chip) $regfile = "m8def.dat" ' dyrektywa kompilatora o rodzaju procka ATMega 8 $crystal = 16000000 ' określenie kwarca 16 MHz Config Pinb.1 = Output...
To Ci będzie sterować kolejno czterema diodami na pinach od B0 do B3. Zalecam wnikliwą analizę, zanim zalejesz mnie pytaniami :) Timery zawsze rób na odliczanie w dół do 0, w przeciwnym wypadku po wpisaniu nowej wartości w trakcie odliczania możesz mieć niezły kwas - pomyśl dlaczego :) Pozdrawiam [syntax=basic4gl]$regfile "m8def.dat" $crystal = 8000000...
' Trzy przyciski kolejno .... (TSA ;) ' wersja bez przerwań i Timera czas_a as integer ' zmienna czasowa A czas_b as integer czas_c as integer we_a alias pinx.1 ' wejście A we_b alias pinx.2 we_c alias pinx.3 wy_a alias Py.1 ' wyjście A wy_b alias Py.2 wy_c alias Py.3 stan_a as bit ' stan układu monostabilnego A: 0 - czeka, 1- liczy stan_b...
Dzień dobry! Mam program do obsługi DHT22. Działa wyśmienicie. Jak dodać obsługę ujemnych temperatur? Na początku miałem obsługę DHT22 z TIMER0 pora przyszła na odchudzenie programu. If Temperaturew.15 = 0 Then 'Ciepło + temperatury Tempstr = Str(temperaturew) Locate 2 , 3 Lcd " " ; Format(tempstr , "0.0") Locate...
No oczywiście, ze jest proste: Zmienna.7 - dostęp do bitu 7 w zmiennej set Zmienna.5 - ustawienie jedynki na 5 bicie zmiennej. Jeśli odwrócisz logikę zapalania diod, to mogą Ci się przydać SHIFT i ROTATE
Witam. Od kilku dni próbuje napisać prosty,jak mi się wydawało kilka dni temu ,programik. Chodzi o to żeby zmieniać stan portu w odstępach czasowych z możliwością ich regulacji. Proszę o jakąś ,na razie drobną podpowiedż .
Witam, mam problem bo nie wiem jak wyświetlić dwie zmienne w tym samym miejscu na wyświetlaczu to jest kawałek kodu Dodano po 2 Wymyśliłem licznik [syntax=basic4gl] Wyswietlacz: If Pind.1 = 0 Or Pind.3 = 0 Then Do If Pind.1 = 0 Or Pind.3 = 0 Then Licz_ok = 0 Incr Licz_ok End If Locate 1 , 7 : Lcd Zmienna If Licz_ok = 255 Then Exit Do Loop [/syntax]...
Zmieniłem ustawienie Timer0 na Load 100, wywaliłem 1 zmienną Pwm_main bo liczyła do 100, LCD i jego obsługa jest w programie: podprogram zegar wywoływany co 1s po "przepełnieniu" zmiennej 5Hz. Programowałem Atmegę i dlatego wiem że program idzie "w krzaki" na samym symulatorze się nie opieram.
witam napisałem taki banalny program: [syntax=basic4gl]Do If Up = 0 Then Waitms 50 If Up = 1 Then A = A + 5 End If End If If Down = 0 Then Waitms 50 If Up = 1 Then A = A - 5 End If End If Pwm1a = A Locate 1 , 1 Lcd ; A; Loop End [/syntax] zmienna A wyświetlana jest na lcd jako podgląd. up i down to przyciski. już na wiele sposobów próbowałem jak zrobić...
Witajcie. Dodałem za radą funkcje watchdog. Na początku ją skonfigurowałem i dałem start. Później reset dałem w funkcji aby reset przebiegał częściej niż 2048ms. Inkubator działa i będę obserwował czy pomogło. Obecnie można uznać temat za rozwiązany. W kodzie wygląda to tak. [syntax=vbnet]Sub Data1() Set Dht_io_set Set Dht_put Reset Watchdog Count =...
Witam Jak napisać program w bascomie, który by zmieniał zapamiętane parametry. Chciałbym to zrealizować przy pomocy trzech przycisków. np.: - gdy przycisk nr 1 jest nacisniety to wywołuje menu (kolejne naciskanie, powodowałoby przysuwanie tego menu) - gdy wcisniety drugi to zwieksza on parametr - gdy czwarty to zapamiętuje ten parametr trzeci to zmniejsza...
No to jest tak: Program działa dobrze. Jak jest normalnie napisany. Tak że chodzi mi o zupełnie inną modyfikację. Ale wpadłem na pomysł- może głupi- że jak zbadam w pętli głównej że żaden klawisz nie jest naciśnięty to dostanę err=0 i pętla swoje będzie robić. A jak nie- to przejdzie do podprogramu obsługi klawiatury. No i z tym nie daję sobie rady....
Witam... Kolego <PiotrzePitucha> troszeczke nie rozumiem zapisu... nie spotkałem się jeszcze z takim zapisem.... mógłbyś mi to wytłumaczyć..?. Chciałbym jeszcze dodać kawałek kodu o który właściwie toczy się moja batalja.. Otóż chciałbym móc ustawiać zmienną SINGLE i zapisywać tą wartość do pamięci eeprom. Kod programu: Sub U_termostaty Cls Lcd...
Witam serdecznie wszystkich. Walczę już od kilku dni z konwersją zmiennych i już brakuje mi pomysłów... Postaram się w miarę dobrze opisać mój problem. Mam 2 zmienne: A = &b00110000 B = &b00100000 Chciałbym je połączyć do zmiennej : C = &b0011000000100000 "tak jakby scalic je" Potem przesunąć w prawo o 5 miejsc uzyskując postać : &b00110000001 Jak na...
Witam. Piszę sobie sterownik temperatury w Bascom '51 i mam problem z przerwaniem. Otóż serce układu to AT89C52 do niego jest podłączony RTC DS1678. Ustawiłem RTC, aby na wyjściu INT generował co sekundę impuls. Podaję ten impuls na wejście INT0 procesora. W obsłudze przerwań dałem ustawienie zmiennej Bit na 1, na podstawie jego inicjuję w pętli głównej...
Witam Do tej pory pisalem programy w Bascom'ie. Mam zainstalowaną wersje Bascom 8051 Demo. Wykonalem programator taki jaki w helpie czyli 4 rezystory i pod LPT. Skompilowane pliki HEX wysylam wlasnie przez ten program, z plikami HEX tworzonymi przez bascom radzi sobie swietnie, wszystko dziala super...ale gdy napisze program w c w Keilu lub MIDE-51(SDCC)...
Witam; Na wstepie chciałbym zasygnalizować, że programowania w Bascom-ie ucze się dopiero od niedawna :) Mam takie pytanko: mam sobie wyświetlacz LCD 16*1 i prosty układ który sobie zlicza detale. Na wyświetlaczu pojawia się napis: ilość sztuk 123 jak zrobić żeby liczba którą wyświetla zawsze była wyrównana do prawej strony? Aktualnie zrobiłem coś takiego:...
Witam serdecznie Mam taki kodzik $regfile = "m8adef.dat" $crystal = 8000000 'konfiguracja wyświetlacza LCD Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.4 , Rs = Portd.5 Cursor Off Cls 'deklaracja procedury Declare Sub Get_th(t As Byte , H As Byte) 'Config Serialin = Buffered , Size...
Config Portb = &B11111111 Portb = &B00000001 Config Portd = &B0000000 Portd = &B1111111 Dim A As Byte Dim B As Byte Do B = 1 Waitms 20 B = 0 Waitms 20 B = 1 Waitms 20 B = 0 Waitms 20 return Loop do If Pind.0 = 0 Then A = 0 If Pind.1 = 0 Then A = 1 If A = 1 And B = 0 Then Portb.0 = 0 If A = 1 And B = 1 Then Portb.0 = 1 If A = 0 Then Portb.0 = 0 Return...
Czy można napisać program w ten sposób żę wartość zmiennej (string) będzie nazwą innej zmiennej np: A01 = "tekst1" A02 = "tekst2" A03 = "tekst3" B = "A01" I teraz potrzebuję wywołać np. LCD B tak żeby na wyświetlaczu wyświetliło się tekst1 Przepraszam za "zakręcenie". Nie mogę skorzystać z tablic.
Witam Napisałem program który ma służyć do wprowadzenia zmiennej za pomocą 2 klawiszów. Jest to część większego programu. Dokładnie będzie to służyło do ustawiania godziny w zegarku. Program po analizie krok po kroku wydaje się wg mnie być dobry, tzn że powinien działać :) Jednak są małe problemy. Kiedy trzymam wciśnięty klawisz przewijania w górę to...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
Po co ciągle konfigurować tego ESP? Mojego skonfigurowałem raz. Teraz jak podłaczę do niego terminal to po włączeniu/resecie sam loguje sie do mojego routera. Sam pisze, że WIFI CONNECTED i WIFI GOT IP Czyli dokąd nie zmieni się sieci WiFi to nie trzeba konfigurować, ewentualnie po otrzymaniu WIFI GOT IP można zapytać jeszcze o IP - "AT+CIFSR", no...
Witam, cel pozostał ten sam, lecz zmienił się kod, tym razem bez Lcd, więc jako zadanie dostałem opisanie krok po kroku otrzymanego kodu oraz przeniesienie kodu z języka Bascom na kod Asemblera i C. Jako, że programowanie nie jest moją mocną stroną, prosiłbym o pomoc (rady, sugestie najlepiej w sposób tzw. łopatologiczny jak można osiągnąć postawiony...
programu nie wstawiłem bo nie wiem czy będzie potrzebny a jest strasznie pokręcony chodzi mi o samą zasadę dzialania coś porównane do czegos i nie wiem moze przypisane jakiejs innej zmiennej tu jest listing ale nie skończone obsługa ledów bo ustawienie ma byc nimi sygnalizowane $regfile = "m8def.dat" $crystal = 8000000 Config Pind.0 = Output...
Witam. Chciałbym uzyskać efekt parametru echo on instrukcji input (mikrokontroler otrzymuje znaki po UART, i natychmiast wysyła je spowrotem) dzięki czemu na ekranie monitora portu COM będę miał wyświetlane wpisywane przez siebie znaki. Niestety używam konwertera http://obrazki.elektroda.pl/2797859300_1... Oczywiście w takim przypadku...
Pisząc Dim Zmienna As Byte opisujesz zmienną że będzie jednobajtowa i tak trzeba opisać każdą. Byte może zawierać się w przedziale od 0 do 255 nie większym (jeżeli zmienna miałaby zawierać wartość większą od 255 np 400 to trzeba by użyć zmiennej 2 bajtowej Word lub Integer ) Co odpowiada za to, że wszystkie zmienne "odnoszą" się do 20ms i mnoży się...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Próbowałem coś takiego i męczę się cały czas ,ale i tak mi wychodzą głupoty. :( [syntax=basic4gl]Sub Gettime() 'pobieranie czasu z PCF8583 'początek petli I2cstart 'inicjalizacja magistrali I2C I2cwbyte 166 'podanie adresu PCF8583 dla zapisu I2cwbyte 2 'wybranie drugiego rejestru (sekund) I2cstart 'powtórna inicjalizacja magistrali I2C I2cwbyte 167...
Bardzo prosty wyłącznik czasowy spełniający wszystkie Twoje założenia: http://www.elektroda.pl/rtvforum/viewtop... Może nie jest zbyt miniaturowy ze względu na zastosowane elementy, ale z powodzeniem można zastosować mniejsze elementy. Może prawie analogowo, 555 (8-pinowy) w wersji SMD CMOS? Niestety do czasu 1min potrzebuje...
Witam. Jestem w fazie pisania programu z zegarem DS3231 i atmegą16. Mam podłączone wejście INT0 atmegi z wyjściem INT/SQW DS-a. Podciągnięte rezystorem 10k do 5V. I nie wiem co robię źle ale procesor nie reaguje na sygnał przerwania z DS-a. Powiem szczerze że nigdy nie korzystałem z przerwań zewnętrznych ale znów ustawienie tego nie jest skomplikowane...
1. Wstawiam jedno-plikowy kod kol. (at)witko1 2. Definiuj $crystal i $regfile w pliku 3. Pewnie problem stanowi ustawienie $swstack, $hwstack i $framesize - jeśli te parametry mają zbyt małe wartości (poczytaj za co jest każdy odpowiedzialny) to właśnie dzieją się bardzo dziwne rzeczy z programem (dziwne z punktu widzenia człowieka i trudne do wyłapania...
Problem ze zmianą nazwy pliku rozwiązałem - oczywiście należy pamiętać, że nazwa pliku może być ośmio znakowa. W kodzie dodałem: Plik = "temDD_MM" + ".txt" Mid(plik , 4 , 5 ) = Data_plik oraz w odczycie czasu Data_plik = Bcd(dday) + "_" + Bcd(mmonth) oraz zmieniłem wpis zapisu Open Plik For Append...
Witam chce użyć procesora AT90S2313 do sterowania szybkości silnika. I chyba najlepiej do tego będzie nadawał się licznik timer1 skonfigurowany, jako PWM. Czytałem o tym w pomocy, ale jakoś niewiele mi to gada:( z jakiego pinu będą wychodzić te impulsy??? Z T1(PD5) czy OC1(PB3) czy jeśli wpisze te „dosconnet” to wyjściem biedzie T1 a jeśli...
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,...
na c znam siętylo troche ale ja to widze tak int main () { InitLCD (); // inicjalizacja LCD delayms (5); InitUSART (2400); // inicjalizacja USART delayms (5); i = 0; //DDRB = ((1<<DDB1)|(1<&... // PORTY B0 i B1 jako INPUT // niepotrzebe bo po resecie piny są jako wejścia,...
Witam podaję kod, który działa poprawnie, oczywiście należy go dopasować do swoich potrzeb. [syntax=vbnet] 'Sterownik swiatel V2.2 '10-06-2015 'Roman Biadała $regfile = "m128def.dat" $crystal = 11059200 '$lib "fp_trig.lbx" '******** Ustawienia portów ****************************************... '******** Sterowanie 74HC541 - przekaźniki *************************************...
może program nie jest bardzo dopieszczony ale działa . więc po kolei nie używam przerwań choć powinienem należy poprawić jeszcze pomiar temperatury ponieważ przy mniej niż 5 stopni czujnik nieco zawyża do jednej linijki należy dodać komende aby wynik z zmiennej był jeszcze odejmowany o 2 i sprawa załatwiona roździelczość to 1 stopień kalibracja polega...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Można zerować, ale nie trzeba, bo każda instrukcja, która ją "obsługuje" i tak ją wyzeruje jeśli nie ma błędu lub ustawi po błędzie.
No to spróbuj - zmienną wysyłasz jak normalną wartość, w Bascom ustawienie bitów w niej będzie się odbywało tak samo jak majstrowanie z rejestrami PORTn.x.
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Masz trzy procedury Praca, Zakonczenie i Ustawienie, na początku programu musisz je zdeklarować: [syntax=basic4gl]Declare Sub Ustawienie Declare Sub Praca Declare Sub Zakonczenie [/syntax] Drugi błąd zmienne niemnogą mieć takiej samej nazwy jak procedury, zmień nazwy zmiennych: [syntax=basic4gl]Dim Ustawienie As Word Dim Praca As Word[/syntax]
Przyciski powinny zwierać do masy i mieć ustawione wewnętrzne pull-upy lub w aktualnym układzie (czego się nigdy nie robi) mieć zewnętrzne rezystory pull-down.
Incr - inkrementacja czyli Z=Z +1 Decr - dekrementacja czyli Z=Z - 1 Home - ustawienie kursora na pozycji 0,0. Polecam polskojęzyczny help do Bascoma tam wszystko pięknie pisze :)
Na naciśniecie przycisku robisz żeby jakiejś zmiennej przypisał (w momencie jego naciśnięcia) odczytaną wartość z przetwornika a później za każdym razem od aktualnego odczytu odejmujesz wartość tej zmiennej. Poza tym nie ma raczej sensu w przerwaniu od przycisku (czy w jakimkolwiek innym sposobie odczytu stanu przycisku) robić ponownego odczytu przetwornika....
W timerze (np. co 0.5 sek) gasisz albo zapalasz flagę (powiedzmy o nazwie fMiganie) Oczywiście po każdej zmianie flagi (fMiganie) następuje odrysowanie całości wyświetlanego zbioru elementów w najstępujący sposób: 1. Jeśli fPozycja jest poza zakresem zbioru wyświetlanych elementów (np. =0) - wtedy obraz wyświetlany jest bez migania. 2. Jeśli fPozycja...
W bascomnie ciężko zrobić LED + Ds18b20 wszytko psuje Waitms 750. Zwiększ do 8 a jak możesz do 16MHz kwarc. A od kiedy to musimy czekać 750ms nie robiąc nic innego? Od czego mamy timery? Przepraszam najmocniej Kolegę, ale jeśli Kolega tego zrobić nie potrafi to: 1. Nie oznacza że się tego zrobić nie da - ja nie potrafię zbudować komputera klasy PC...
Powinieneś sobie sam "ręcznie" ustawić takie parametry jak: $hwstack = 32 $swstack = 8 $framesize = 16 bo to od nich m.inn zależy ile Bascom będzie zjadał pamięci RAM na Stos, ramkę itp
Proszę, napisz to jeszcze raz ale tym razem tak abyśmy mogli dokładnie zrozumieć co chcesz osiągnąć. Reset.
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
ustawienie wartości bitu i wyzerowanie zmiennej.(literówka) bascom nie pokazał
Jeśli nie wpiszesz żądanych ustawień to brane są te ustawione w IDE a Tiny13 ma tylko 64 bajtów SRAM. IDE nie podpowiada jakie maja być ustawienia tylko pilnuje żeby nie przekroczyły maksymalnej dostępnej pamięci. Mega1284P ma 16KB SRAM a w IDE możesz sobie poustawiać np. 128,64,128 ..reszta na zmienne.
To w takim razie teraz cytat z helpa Bascom'a: Rozdział: Podstawy języka BASCOM BASIC Eksponent jest zapisany jako liczba 8 bitowa ze znakiem w kodzie U2. Jeśli najbardziej znaczący bit jest ustawiony (eksponent > 128) to eksponent jest traktowany jako ujemny. Bit znaku określa znak liczby przechowywanej w zmiennej. Wartość 0 oznacza liczbę dodatnią,...
Prawidłowo robi się to tak: XH , YH , lub ZH . Kolejnym krokiem jest odczyt młodszej części adresu i odpowiednio przepisanie jej do XL , YL , lub ZL .
Tak, zapewne tak się skończy. Ustawić "1" a potem przesunąć ją na odpowiednie miejsce w 74HC595. Tak wydaje się najprościej. Dziękuję za pomoc i zaangażowanie.
Jeśli nie potrafisz to zrób to prościej. Podłącz zewnętrzny kwarc 32,768kHz (zegarkowy); Config Clock = Soft Procedura zegara używa specjalnych zmiennych: _day , _month, _year , _sec, _hour, _min Wszystkie są typu Byte. Można je modyfikować bezpośrednio: _sec = 1 Sprawdź, o ile się spieszy (opóźnia). Różnicę koryguj warunkiem któregoś dnia np o północy.
zmiana zmiennej bascom bascom zerowanie zmiennej bascom rs232 zmiennej
regulacja temperatura pralka karta pamięci uszkodzona kupić trafo głośnikowy
Odczyt błędu BSI SW vers: 33 SW index: 5 w samochodach PSA Antena Wizja TV: Co można oglądać?