Podejrzewam, że te Waitms w obsłudze przycisków blokują wyświetlanie. Spróbuj je do testu usunąć. Oczywiście przyciski nie będą wtedy działać poprawnie, ale sprawdzisz wyświetlanie. Obsługa wyświetlania powinna być przeniesiona do obsługi przerwania, ale to już większa przeróbka programu. To przygasanie tak bardzo przeszkadza?
' 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...
1) Nie potrzebujesz Integer, wystarczy ci Byte. Testin nie wykorzystujesz, wyrzuć to Dim Wa As Byte 2) Skasuj ten średnik ; i daj na 20ms Wa = 5 ; delay between steps 3) Nie wiem jak jest w AVR i czy Pind0.0 to bezpośrednie odwołanie do portu czy alias, nie wiem jaki tez wpływ ma Config na początku ale zanim odczytasz coś z portu musisz wystawić tam...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz 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 '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
"niestety w obu kodach brakuje czegoś co by dodawało cokolwiek do zmiennej A, więc nie przyjmie ona nigdy wartości 1 lub 2 skoro na początku się ją zeruje." Myślę że jesteś w błędzie. To daje A=1 Cls Lcd "krotkie" A=1 wait1 A to: Cls Lcd "dlugie" A=2 wait1 możesz jej nie kasować w ogóle i tak po skoku do MENU będzie ustalona. A to:...
Jak napisać menu (np. 4 poziomy x 4 funkcje) Np: możesz zrobić tak że 4x4 to jest 16 stanów (lub w zależności jak to prezentujesz więcej). Więc piszesz funkcje która jest wywoływana gdy wciśnie się to MENU, a w funkcji pętle gdzie masz 16 warunków oraz jedna zmienna która wskazuje który stan jest obsługiwany. Zamiast warunków można użyć switch ale...
Nie przyłożyłem się do tego pierwszego kodu bo myślałem w nim tylko o tym by sprawdzać czy nadawany kod sie zmienił. Nie ma potrzeby w każdym Case pisać Piloty = 0. Prawdopodobnie masz gdzieś w menu takie zapisy [syntax=vbnet] If Klawisz_5 = 1 Then Klawisz_5 = 0 '... zadania do wykonania End If If Klawisz_6 = 1 Then Klawisz_6 = 0 '...zadania do wykonania...
Obsługa obu przycisków z tymi LOCK się nie zmieści. Dlatego teraz przyciski są w CASE. [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack = 8 $framesize = 16 Config Timer0 = Timer , Prescale = 1024 , Clear_timer = 1 Compare0 = 184 Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Config Portb.2 =...
Na początku programu ustawiłeś port jako wejście ? Jak przyciski masz podciągnięte pod (+) to powinno być IF SWITCH = 0 THEN
Nie będę sie rozpisywał: Dim T1 As Single , T2 As Integer ... T1 = -123.50 T2 = T1 'bez części ułamkowej T2 = Round(T1) 'zaokrągli zgodnie z prawami arytmetyki ... Pozdrawiam Piotrek
Problem w tym, że po wybraniu danego DS'a wskazania się zmieniają tylko w momencie zmiany stanu przycisku, co nie do końca jest celem. Prawdopodobnie w innej części programu masz cykliczne odświerzanie wpisu w display z inną treścią i nacisnięcie przycisku w "Do... Loop ", jest jakby nieformalne 'wcisnięcie się w kolejkę' z której i tak w końcu jesteś...
Witam! Temat być może poruszany nie raz jeżeli chodzi o sprawę odczytywania stanu przycisków. U mnie jednak stanowią one niejako tło. Program ma za zadanie badać prawidłowe działanie kontaktronów, które są wyzwalane poprzez magnes umieszczony na wałku silnika krokowego. W załączonym kodzie przedstawia się to w ten sposób, że po włączeniu zasilania silnik...
Witam, Jak napisać kod programu matrycy 4x4 tak aby 12 przycisków pracowało jako typowa klawiatura matrycowa ,a pozostałem 4 spełniały inną funkcję w programie ?
A w tych dodatkowych skokach których nie chcesz powinny być wszystkie Case i IFy. A te wszystkie debounceusy powinny być w 1 procedurce do której skakałbyś 1 Gosubem gdybyś tylko chciał obsłużyć jakiś klawisz.
Witam, mam mały problem z napisaniem kodu tak by wykorzystując cztery przyciski poruszać się po menu jak również ustawiać parametry i je zapisywać do eepromu . Menu wygląda tak 1.MENU 1.1 MENU 1.2 MENU 2.MENU 2.1 MENU 2.2 MENU itd . Proste Menu powiedzmy jednopoziomowe napisałem z instrukcją Case ale nie wiem jak wykorzystać te same przyciski , jeden...
Naprawdę nie potrafisz [url=http://www.elektroda.pl/rtvforum/vi... przystosować do własnych potrzeb??? Zapewniam Cię, że robiłem to na 10 key i wszystko biegało aż miło...
Że tak się zapytam, a gdzie oszczędzanie energii ??? Czy może zrobiłeś przyciski sterujące razem z podawaniem masy na uC ?
Witam, Zamierzam stworzyć menu w którym będzie można ustawiać używając 3 przycisków temperaturę. Napisałem taki kod: $regfile = "m8def.dat" $crystal = 8000000 Config Portb = Output Config Pind.5 = Input Config Pind.6 = Input Config Pind.7 = Input Portb = &B0000000 Portd = &B0000000 Dim Tempzadana As Long Declare Sub Menu Declare Sub Normal...
Cześć. Czy ktoś wie jak obsługiwać w Bascomie Impulsator (Kliker=> nastawnik impulsowy => nastawnik obrotowy=>wszystko to to samo), element bardzo użyteczny (zastępuje tradycyjny potencjometr), a jakoś żadko stosowany. Już kiedyś pisałem post na ten temat, ale prawie nikt nie zareagował. Może ktoś budował jakiś układzik z tym elementem, może ktoś miał...
Witam, kończę prace nad wzmacniaczem i chciałem zrobić, sterowanie głośnością pokrętłem przy wzmaku i z pilota, ale nic konkretnego nie znalazłem. Dokładnie chodzi mi oto, żeby ktoś z Was jeśli to możliwe napisał mi w Bascomie jak wygląda obsługa impulsatora obrotowego oczywiście link do strony gdzie to będzie pokazane i opisane w naszym języku ojczystym...
http://obrazki.elektroda.net/42_11824156... Witam! Jakieś pół roku temu naczytałem się tematów o wzmacniaczach własnej konstrukcji. Projekt jest całkowicie moją konstrukcją, pomijając końcówkę mocy, do której płytkę zamówiłem z AVT (kit AVT-2180). Prace nad wzmacniaczem zacząłem od wykonania stosownej obudowy, a właściwie przerobienie obudowy od...
Szczerze mówiąc bascoma mało używałem i z chętnie dowiedział bym się jak się w nim obsługuje LCD, widziałem na pasku przyciski związane z obsługa LCD ale nie zagłębiałem się w to. Mógł byś podac krótki przykład jak to wykorzystać? Najlepiej w bascom 51 w ostateczność bascom AVR ;)
Niech kolega rozbierze przerywacz kierunkowskazu, poczyta notę U643B i nie myśli o NE555 do tej aplikacji skoro są układy specjalizowane. Co ciekawe produkcji Atmel , ale niech kolega zauważy: wymaga 5 elementów dyskretnych "Kup teraz na allegro.pl za 4,92 zł - U643B DIP8..." - najniższa spotkana cena (przeważnie >5zł) U643 obsługuje jedynie kierunkowskazy...
To coś źle przeczytałeś - dla wewnętrznego odn. mamy reference = internal ;] A dodam, że zwykle piszę w C :P PS. A co do rezysora, to ja nawet dałbym trochę więcej niż wyszło z obliczeń - przyciski są tylko 4, przetwornik w miarę dobry, a zdarza się, że wbudowane ZNO ma wartość mniejszą od typowej katalogowej. No i z ciut większą rezystancją nieco mniejszy...
podaj fusebity. Tam jest problem . Po zmianie procka zmieniles pierwsza linijke programu polecenie $regfile ? tak mam regfile , zmieniłem kwarc z 8mhz na 11.059200 i bez różnicy , program skompilowany w wersji 1.11.7.4 działa szybciej , jednak nie tak szybko jak było wcześniej . zauważyłem że jak wsadzę mega8515 zamiast 90s8515 i wtyczka programatora...
Witam, Na początku dzieki za wszelkie wskazówki - nie sądzilem ze ktokolwiek zechce pomóc :] Pilocik jest na tyle malutki i na tyle fajniutki (zailany pastylką CR2025) ze szkoda mi go troche psuc by sie dowiedziec co tam siedzi :P raczej jest sklajany albo na jakies zatrzaski zlozony do kupy bo srubek nie widac :| Podlaczulem sobie pod wejście karty...
Witam Jestem początkującym bascomowcem , napisałem program minutnika do kuchni i prosiłbym bardziej doświadczonych kolegów o rzucenie okiem na moją konstrukcję. Program działa poprawnie według moich założeń, zależy mi tylko na opiniach. Schematu nie rysowałem bo to prosta konstrukcja jedna dioda led , buzzer i trzy przełączniki . przełącznik S1 ustawia...
Witam. Nie mam już pomysłu, może ktoś z was coś podsunie. Problem leży prawdopodobnie w złym zarządzaniu pamięcią. Program to miernik energii elektrycznej. Może zamiast kodu przedstawie schemat blokowy. Cały program znajduje się w pętli, nie używam zadnych gosubów i innych podprogramów. Jest tylko 1 przerwanie co sek i tylko zmiana 1 zmiennej. 1. Program...
Robię programik w BASCOM na Atmega48 i zabrakło mi ciut pamięci na testowe opcje, których później już nie będę potrzebował. Pomyślałem, że wstawię atmega8L (mam takich kilka, a nie mam żadnego 88), bo żadnych bezpośrednich odwołań do rejestrów nie ma w programie. W zasadzie to podstawowe funkcje tylko wykorzystuje wspólne dla obu uC... i pojawił się...
Witajcie Buduje zasilacz (schemat w załączniku) , obecnie jestem na etapie programowania. Oto program: http://obrazki.elektroda.pl/1824166400_1...
Witam Stopniowo rozbudowując o kolejne konfiguracje układ chciałbym mieć możliwość ustawiania parametrów zegara przez pilota ( w sumie to bardziej wygodne i nie zabiera wyprowadzeń uC ). Mam program z menu działającym na przyciskach, zastosowałem flagi, gdyż sprawdzanie tylu wersji warunków niepotrzebnie zagmatwałoby kod. Zostawiłem obsługę przez przyciski...
podziękuj redakcjii edw bo listingi są ich. zakłądam ze urzywasz bascom avr inne listingi do pobrania ze strony edw są to programy testowe do oślej łączki z kursu avr 'C018b Prosty zegar z budzikiem Dim Sekundy As Byte , Minuty As Byte , Godziny As Byte , Uniwers As Byte Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim Godzjed...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
Dokonałem optymalizacji kodu, rozmiar zmniejszył się o 2 %. Pilot RC5 działa, można zmienić czas/date, obsługę wyświetlania przeniosłem do przerwania Ale mam kłopot z wyświetlaniem kropki [syntax=basic4gl] '************ Zegar 6 wyswietlaczy LED + PCF8563 $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 ' rozmiar stosu sprzętowego $swstack =...
Przede wszystkim musisz zacząć kolego od poznania timerów. Do odmierzenia czasu używamy timerów ponieważ zlicza nam czas w tle działania procesora. Używając polecenia wait zatrzymujesz kompletnie uC na ten czas. Konfiguracja dla AtMega8 8Mhz u mnie wygląda tak: Config Timer1 = Timer , Prescale = 256 ''''konfiguracja timera On Timer1 1s ''''przy przerwaniu...
Spróbuj: $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 8 $framesize = 24 Config Portd = Output Config Pinb.0 = Output Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output ' ustawiam porty do saa1057 Dat Alias Portd.3 'SPRAWDŹ CZY DOBRZE ZDEFINIOWAŁEM Ena Alias Portd.2 Clk Alias Portd.1 'przyciski Ddrc =...
Witam ! do dioda1 = 1 If przycisk1 = 1 and prycisk4 = 0 then dioda1 = 1 waitms 2 dioda1 = 0 waitms 20 end if loop itp. to początek resztę spróbuj sam Powodzenia życzę Stefan . GG6293398
Może zrób tak: If Pind.2 = 0 Then 'i jest wciśnięty przycisk PIND.2 Incr Opoznienie_odczytu 'no bo przycisk ma drgania dłużej niż 237us- niech zwiększy 'to sprawdzanie powtórne do 17ms If Opoznienie_odczytu >= 70 Then 'dajmy mu na wygaszenie drgań 17ms If Temp0 = 0 Then ' i jest zezwolenie na zmianę stanu Gosub Ustawianie Temp0 = 1 ' zablokuj zezwolenie...
Witam, tu w Zegarek docelowo będzie używany przez dziewczynę, więc musi być przejrzysty. - to już szowinizm...
Nie do końca , ja ostatnio męczyłem się bo na wolnych portach chciałem puścić i2c , niestety bascom odmówił współpracy , musiałem na tych portach zrobić przyciski . Dziwne ?!
Witam, mam program (attiny2313) do obsługi termometru DS18b20 i wyświetlacza, układ posiada 3 przyciski +/M/-. Program reaguje na zwieranie przycisków do masy, a chciałbym zrobić tak by procesor reagował na przerywanie masy. Znajdzie się ktoś kto mógłby rzucić okiem na program i podpowiedzieć co trzeba zmienić?? [syntax=vbnet] $regfile = "Attiny2313.dat"...
Ojojoj, dawno nie widziałem takiego kodu. Bez urazy, ale ten Twój - mimo, że poprawny - nie jest zbyt rozsądny. Podprogramy tworzy się tylko, gdy jakaś procedura się powtarza - tu nie ma takiej potrzeby. Przykład z SUB znajdzie w help-ie. Od siebie daję przykład obsługi menu przez klawiaturę. Tutaj tylko 2 przyciski (PD0, PD1). Reakcja = Pind Shift...
Zrób tablice 1x4, tak abyś zapamiętał/przyporządkował że 1 komórka to alarm1_L, druga - alarm1_H itd. Masz zmienna "menu" więc niech ona pokazuje indeks w tabeli jakie jest aktualne to menu. Np. Menu=2 to wiadomo że chodzi o alarm1_H. W nastawach edytujesz tylko te komórki tablicy na które wskazuje ci "menu". Np. tablica "parametry" - a to co chcesz...
Znajomy kod :) Ad.1 Zrób po prostu podprogram, do którego się wskoczy po wciśnięciu przycisku gdzie wszystkie porty ustawiane są przez SET a gaszone przez RESET. To czy ma zgasić czy zapalić ustal w dodatkowej zmiennej bitowej "togglowanej" wspomnianym przyciskiem. Ad.2 Oczywiście - timer programowy... Ad.3 A czy przypadkiem w oryginalnym programie...
Tak. Tak. Tak. Tak.
A czy może być załączanie przez zwieranie przyciskami wejść do masy zamiast tych rezystorów i diod zenera?
Witam Najprościej będzie jeśli w podprogramie obsługi I2C zdefiniujesz je jako SCL i SDA, natomiast w podprogramie obsługi przycisków zdefiniujesz te same piny jako wejście. Chodzi o to, żeby procek za każdym razem odpowiednio ustawiał te piny. Nie ustawiaj tych pinów w pętli głównej na dwa sposoby , jako wejścia i jako piny do obsługi I2C. Pozdrawiam
Hmm... w końcu używasz WAITKEY, więc zmienna Czekanie nie ma sensu. Dodatkowo: Czekanie = Ischarwaiting() wykonujesz przed obsługą przycisku i jakąś procedurą MAIN. Teraz jeśli w trakcie obsługi przycisku i wykonywania procedury MAIN wyślesz dane to nie zostaną one zapisane w EEPROMie Ja jednak przerobiłbym program i użyłbym INKEY. Sama obsługa...
Chcesz gotowca czy podpowiedzi? Dobra kawałek kodu wrzucę reszte sam dopisz [syntax=vbnet] Locate 1 , 1 : Lcd "Ustaw minuty" Locate 2 , 1 : Lcd Minut ; "" If Plus = 0 And Minut < 59 Then Incr Minut If Minus = 0 And Minut > 0 Then Decr Minut Waitms 200 End If _hour = Godz _min = Minut _sec = 00 If M = 6 Then Gosub Settime [/syntax] Taki mały kawałek...
Wg mnie to reset portd.0 ...
Rozwiązaniem jest obsługa przycisku na przerwaniu bądź to INT bądź PCINT
Pragne zrobic uklad ktory bedzie mial za zadanie dokonywanie 2 pomiariw(czestotliwosci i temperatury) oraz wyswietlanie informacji na wyswietlaczu graficznym... zrobilem juz dosc duzo bo opanowalem pewne elementy ale, mam nastepujacy problem. pragne by moj uklad dzilal nastepujaco: 1. dokonywal obydwu pomiarow jednoczesnie. 2. sterowanie jest jedno...
Witam. Mam pewien problem. Zacząłem uczyć się Bascoma (tak, wiem, głupi wybór, ale chodziło mi o prostotę). Na razie na swoim koncie mam zegar na DS1307 i LCD 2*16, teraz coś mnie napadło na wykorzystanie timerów i kupionych kilka lat temu wyświetlaczy 7-segmentowych wspólna katoda. Na razie napisałem tyle: [syntax=basic4gl] $crystal = 12000000 Declare...
Chodzi Ci o zapalanie diody stanem niskim? Musisz ustawić kierunek pinu na wyjście i wpisać do niego 0. Tylko tyle:) P.S. Sprecyzuj, czy chodzi Ci o zapalanie diody, czy obsługę jakiegoś przycisku, po naciśnięciu którego dioda ma się zapalić.
Jak już pisałem, dawno nic nie robiłem w bascomie, ale poniżej daję ogólny zarys opóźnienia dla przycisku przy użyciu licznika Config Timer0 = Timer , Prescale = 1024 Enable Interrupts On Timer0 , Czas Dim Flaga As Bit Main: Do If Pinx.x = 0 and Flaga = 0 Then Load Timer0 , 25 '0,0256s. dla 1MHz Enable Timer0 End If If Flaga = 1 Then Reset Flaga...
bascom przyciski przyciski bascom bascom obsługa
anteny dookólnej schemat podpięcia przekaznika zamrażarki usterki bosch
schemat magnetofonu schemat magnetofonu
Wpływ ominięcia kondensatora 0.1 µF w efektach gitarowych Alphard SW1003Z – średnica magnesu głośnika niskotonowego: 140 mm, 134 mm czy 125 mm?