Dzień dobry, nie wyczuwam jednak kiedy PORTD.5=1 a kiedy SET PORTD.5 , trudno. Wiem na pewno, że dodanie SET PORT pomogło a stosowanie przeze mnie Zmienna =1 czy 0 nie daje właściwych rezultatów nawet jak zmienna jest aliasem portu docelowego. Tyle mogę stwierdzić ja :) Nie zrozumiał kompletnie nic(!) z tego co usiłowałem wyjaśnić. W powyższym sformuowaniu...
http://obrazki.elektroda.net/7_123635472... Prawie rok temu, zainspirowany konstrukcją pana Kamila Przychodzenia http://obrazki.elektroda.net/18_12363549... http://obrazki.elektroda.net/82_12363551... Płytka sterownika oraz płytka organizacji połączeń http://obrazki.elektroda.net/62_12363543... http://obrazki.elektroda.net/80_12363591...
http://obrazki.elektroda.net/7_115627452... Przedstawiam mój zamek szyfrowy. Pomysł zrodził się już klika miesięcy temu kiedy to wpadłem że taki zamek można zrobić na tyrystorach ale układ byłby wtedy zbyt skomplikowany. Wiec od razu jak nauczyłem się obsługi procesorów skończyłem mój projekt. Zamek ten otwiera np. zamek elektromagnetyczny po wpisaniu...
witam! chce zrobić zapis do pamićcie eeprom 24c512 "podobno są takie" Chodzi konkretnie o to aby zapisywać ciąg znaków takich jak: R260120071330100 na końcu tego stringu będzie znak powortu karetki enter Z260120071345100 na koncu tego stringu będzie znak powortu karetki enter ale ten enter nie jest tak ważny jak to żeby mi te dane program napisamy w...
Witam, mam następujący problem z poniższym programem. Prosiłbym bardziej obeznanych kolegów o sprawdzenie, układ powinien działać tak: ustawiam temperaturę plus regulacja histerezy, gdy temperatura jest niższa układ załącza przekaźnik do czasu wyrównania temperatury, problem polega na tym że program załącza przekaźnik (grzanie) tylko na moment po czym...
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"...
Witam Pisze program w Bascomie na AVR'A (2313) sekwencyjnego zpalania i gaszenia oswietlenia modelu statku kosmicznego (silnik okienka i takie tam efekty) W poczatkowej wersji mial byc to wlaczanie automatyczne po zmroku przez fototranzystor. Niestety okazalo sie iz akumultor rozladowuje sie w przeciagu 2h i nie sensu co chwile go ladowac. Wiec calosc...
No to mam juz jakis podstawowy kod do pomiaru predkosci :) mam multipleksa NIE WIEM CZY DOBRZE ZADEKLAROWALEM PORTY - prosze o sprawdzenie czy ilosc cyferek sie zgadza i czy prawidlowo "pominalem" bity kwarcu (portB) resetu (PortC) i timer'a (portD) - wystarczy tam dac zera (wejscia) i juz?? no i potem jak deklaruje ktore maja byc w jakich stanach to...
No napisałem program któy zajmuje 97% z 2Kb dostepnego flash'a w attiny2313 :) powinien działać! :) Byłbym wdzięczny gdyby ktoś na to spojżał. ' CODE LOCK ' Ports confuguration, konfiguracja portów ' B ports, porty B Config Portb.0 = Input ' 1 Config Portb.1 = Input ' 2 Config Portb.2 = Input ' 3 Config Portb.3 = Input ' 4 Config Portb.4 = Input ' 5...
Tak jak napisał kolega wyżej... Jeżeli potrzeba więcej niż jeden bit to przez maskę bitowa zmienna = portA & 0x1F
LED5W sprawdziłem twój pomysł, pozmieniałem tylko porty i otrzymuje różne liczby, bez zasady. Czyli wg. Ciebie napisałem generator liczb losowych? :P Zawsze jest jakaś zasada. ;) Kod jest poprawny. Jak się zachowuje układ? Czy przycisk=0, gdy żaden przycisk nie jest naciśnięty? Czy sprawdzasz zmienną tak jak poprzednio (print)? Zmienna może być odczytana...
Do komunikacji z układem można wykorzystać instrukcje I2csend i I2creceive , po wykonaniu w zmiennej Err jest kod błędu: [syntax=basic4gl]I2csend 112 , &B00010000 ' I2csend adres układu, wartość I2creceive 113 , Zmienna ' I2creceive adres układu, zmienna[/syntax]
Można. Np. tak: Zmienna = Lookup(liczba,Tabela) Portb.0 = Zmienna.0 Portb.1 = Zmienna.1 Portb.3 = Zmienna.3 Portb.5 = Zmienna.5 Portb.6 = Zmienna.6 Portb.7 = Zmienna.7 Portb.2 i Portb.4 nie będą zmieniane.
mnie akurat nie chodziło o takty na konwersje potrzebne a raczej o niepotrzebnie zajmowane bajty Jak wiadomo bascom jest pamięciożerny a program pewnie ma coś więcej do zrobienia niż tylko odbiór jednej liczby Poza tym po poleceniu inputbin jakas_zmienna jest odbierane tylko tyle bajtów ile ta zmienna zajmuje Ponieważ nie trzeba robić dodatkowych zabiegów...
01 czy 1 ? Jest to wartosc bcd czy normalna od 0 do 255? (sory na c sie nie znam) Ja bym to zrobil tak (i chyba tak zawsze robilem i dziala) Iput i zapisywal zmienna odebrana do stringa, a nastepnie ja przemienial na normalny byte za pomoca val()
Można to zrobić w bardzo prosty sposób: Komenda GETRC Przeznaczenie: Określa wartość zmiany rezystancji lub pojemności. Składnia: zmienna = GETRC( port , numer ) gdzie: zmiennazmienna typu Word w której znajdzie się wynik pomiaru, portnazwa portu procesora, np.: PIND, numernumer końcówki do której podpięty został obwód RC. Schemat: pinx ----[fotorezystor]------|...
W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein zmienna - tu znajdzie się nasz wynik w mikrosekundach PIND - to port do jakiego się podłączymy 1 - pin portu do jakiego jesteśmy podłączeni 0 - wybieramy czy chcemy obliczać do czasu pojawienia się stanu niskiego, czyli 0 czy wysokiego czyli zapiszemy wtedy 1
O ile dobrze zrozumiałem idee to cyklicznie negujesz wartość poprzednio wpisną do portu. Nie znam AVR ale może to być taki przypadek jak w 51 , Ustawianie portu polega na wpisaniu wartości do rejestru, ale odczyt następuje z pinów procka. Podciągając lub nie pin rezystorem do +Vcc a sterując zerem, to nawet ustawienie pinu na zero przy odczycie zwróci...
Rozwiązanie Twojego problemu jest banalne. Na początek proponuję wykorzystać zmienną, która jest zwiększana przy każdym wciśnięciu przycisku i w zależności od wartości tej zmiennej (tu wystarczy od 0 do 3, przy wartości 4 zmienna jest znowu zerowana) ustawiasz jedynkę na odpowiednim porcie jednocześnie uruchamiając zliczanie. Kiedy licznik dojdzie do...
Czy idzie w Bascom zrobić coś takiego dim Zmienna as byte Zmienna = 127 Porta = Zmienna
Przeczytałem to co jest wyżej napisane i... nie rozumiem co chcesz zrobić :) Co to znaczy: Potrzeba mi zapamiętać max. 4 liczby które będą następować po sobie dość szybko jednak Atmega potrafi je zdekodować bo jak dobrze się przypatrzę to liczby się zmieniają dobrze, i więc właśnie niech ktoś podpowie, co dopisać by procesor zapamiętał liczby i ustawił...
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...
wiem że można to zrobić za pomocą toggle ale czy w takiej postaci ten kod jest poprawny i będzie działał zgodnie z założeniem? .................. Nie. Ten code nie jest porawny(!) Począwszy od configuracji i ustalenia stanów spoczynkowych portów wejściowych masz w konsekwencji cały program wymagający korrecty, albo tworzenia go od nowa... Wejście nie...
Stan_portu Alias Portb To ma być oddzielna zmienna dla porównania czy stan portu się zmienił.
Portb = Mem_wiert ustawia na porcie odpowiednią kombinację stanów Mem_wiert = 1 - Końcówka 0 stan wysoki; reszta niski Mem_wiert = 2 - Końcówka 1 stan wysoki; reszta niski Mem_wiert = 4 - Końcówka 2 stan wysoki; reszta niski Mem_wiert = 8 - Końcówka 3 stan wysoki; reszta niski portb=0 wyłącza zasilanie silnika. Łatwiej jest sterować portem za pomocą...
Pisze w ASM i bascom mi nie znany. Napisze to w basicu. To twoje jest troche pokrecone. P ;przycisk 1- nacisniety ; 0-puszczony S ;wy portu 1- swieci ; 0-zgaszony C ;zmienna odliczajaca czas - 1bajt ;proc zalaczajaca swiatlo na 30 sek if P=1 then C:=30 endif ;tutaj proc. odliczajaca czas 30 sek ;proc wywolywana w przerwaniu co 1 sek np. od T0 ;wczesniej...
Rzeczywiście, z zaremowaną funkcją bitwait zmienna W przybiera wartości. Nie mam pojęcia dlaczego. Musisz tu zrozumiec mechanizm pomiaru długości trwania impulsu w instrukcji "PULSEIN": patrz 'Bascom help' Pulsein W , Pinc , 0 , 1 W tym konktetnym przypadku pomiar czasu dokonywany jest pomiędzy zboczami, z których pierwsze jest rosnące a drugie opadające....
Jeśli chcesz odczytać pojedyńcze linie to stosujesz np, ????= pind.2, a jeśli chcesz odczytać cały port to piszesz np. zmienna= Pind Pozdrawiam
ale Z1 to jest zmienna przecież. Pewnie w programie zadeklarowana jako byte.
O to mi chodziło. Czyli jedna zmienna musi być. Czasami najprostsza rzecz najtrudniej przychodzi do głowy. ;) Dzięki
Witam. Na początek napiszę że to ma być mój pierwszy program napisany w tym języku i pierwszy kontakt z mikrokontrolerami. Nie mam pomysłu jak się zabrać za uruchomienie jakiegoś "zegara". Wydaje mi się że wtrącenie w pytaniu „jakiegoś zegara” wprowadza ludzi w błąd. Z dalszej części wynika że raczej potrzebujesz obsługi TIMERA wbudowanego...
Tak dla sprostowania na początek: zasadniczo to co ja napisałem jest bardzo podobne do pomysłu kolegi "hunterhouse"- napisaliśmy odpowiedź prawie w jednym czasie :-) Nie żebym się tu powtarzał czy coś w tym rodzaju. Powiedzmy dla przykładu, że masz 1 na Pinach 2 i 3 a na pozostałych 0, wtedy zmienna "Stan" wyniesie 2+4=6 (dla każdej konfoguracji jest...
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...
Nie masz wyjścia, jak zacząć bawić się AVRStudio ... :D Bascom potrzebuje SRAM-u, którego ten procek nie posiada... A kodzik, proszę bardzo, ale za jego kompatybilność z Bas-monster nie odpowiadam ;) : #include "m8515def.inc" ; Prohibits use of non-implemented instructions (ATmega8515) .cseg ;—————R...
, 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...
Witam Dokonałem tej zmiany i także wyrzuciłem zmienna S na Lcd i dalej program nie działa tak jak bym chciał. ................ Jest ok zmieniłem znak ''<" i działa . Do swojej podstawki programującej mam podłączone 2 przyciski do pin d.0 pierwszy do pind.1 drugi gdybym chciał zmieniać progi załączania pind.7 tymi przyciskami (czyli regulować temperaturę...
Coś enigmatycznie i mało przejrzyście to tłumaczysz napisz jakio rozmiar ma zmienna i co ma zrobić . Jeśli chcesz żeby robiła operacje na porcie możesz to osiągnąć przez wybór typu"case" lub zmienna tablicową czyli w zależności od pobranej zmiennej wybierasz wartość z tablicy i wysyłasz ją na port
Tylko jest jedno ale. To zajmuje 45 cykli, czyli tyle ile jakbym to robił po Ifach dla każdego portu. Dodano po 9 Sorki, na ifach byłyby 72 cykle (4 na każdy) A w ilu cyklach musisz sie zmieścic? Możesz sprawdzac instrukcją warunkową nie pojedynczy pin ale cały port wejściowy Np.: [code][syntax=basic4gl] Do If Pinb > 0 Then Flag = 1 Reset Portc.2 Temp...
Witam, Do wejść Portu mam podłączone 5 odbiorników zbliżeniowych. Odczytują zagłębienia w tarczy kodowej. Niestety nie są one uporządkowane tzn bit0 na tarczy jest przypisany do PORTx.4 a bit1 do PORTx.2 itd Próbowałem wcisnąć do zmiennej typu string *6 odczyt z poszczególnych czujników na zasadzie I = $bit5; $bit4; $bit3.... a później przekształcić...
Witam, potrzebuje pomocy kogos kto pomoglby mi przy wstawce asemblerowej, caly program jest w BASCOM AVR a zalezy mi na szybkosci akurat przy funkcji zapisu i odczytu. A wiec tak ze wzgledu na uklad polaczen na plytce zamienilem linie portu: D7>D0 D6>D1 D5>D2 D4>D3 D3>D4 D2>D5 D1>D6 D0>D7 Zamieniony port to PB, zmienna z ktorej zapisuje/czytam to "Datlo"...
Tak wiem, tylko nie wiem jak to napisać w kodzie:) Na razie używam timer1 jako przerwanie do programowego pwm, to dziala, teraz pracuje nad ulepszeniem kodu bez wait, jeżeli możesz pomóc to skróciło by to moje męki w pisaniu nieprawidłowych komend. Żeby dobrze sie zrozumieć, chciałbym napisać coś w stylu Set port(zmienna)=L1,L2,L3.... nie if(zmiennna=100)...
Przepraszam , przyznanie do winy nad Twoim postem. Dodano po 5 Program przycięty do pierwszego Reset P3.0 : Reset P3.1 : Reset P3.2 : Reset P3.3 już wykazuje błąd. Czyżby (podejrzenie laika) auto nie zdefiniował portów ? Poza tym steps =25 .. czy nie powinno zostać wyłączone apostrofem ?
Zrób zmienną i na podstawie wartości tej zmiennej odczytuj okreslony pin (select case zmienna: case 1: e1=pina.0 :case 2:e1=portc.2 itp ) lub poprostu w procedurze odczytuj z góry ustalony pind... lub podepnij wszystkie czujniki pod jeden port w tedy bedzie latwiej: e1=portc.zm gdzie zm to Twoja zmienna
Nie znam VB.6 ale spróbuj tak: Form1.MSComm1.Output = Chr(Adres) & Chr(Dana) Adres - zmienna typu Byte określająca adres expandera Dana - zmienna typu Byte określająca stan portu expandera określonego przez zmienną Adres Pozdrawiam...
Nie pisałem nic na Rs485 ale mam kilka uwag do programu. Zacznij najpierw od poczytania w helpie bascoma, co robi dokładnie instrukcja Inkey() a dowiesz się że odbiera 1 bajt (jeden znak) z bufora. Sprawdzanie więc warunku B = "zaswiec" nie ma najmniejszego sensu. Nie wiem też po co przełączasz tyle razy układ w nadajnik <>odbiornik: ...... Reset...
Witaj. Delphi nie znam, wiem że jest to program bardzo podobny do VB. Ma wiećej możliwości oczywiście, myślę że jednak nie o to chodzi. DO RZECZY Chodzi Ci o to by np. po naciśnięciu przycisku program wysłał kod (jaki to teraz nie ma znaczenia) , a BasCom ma go odebrać. Poczym uC ma wykonać określoną czynność. Jeśli chodzi co o to ?? , sprawa jest prosta....
sub akt_port if x=1 then 'x to twoja zmienna set portb.0 end if if x=2 then set portb.1 end if Coś takiego powinno dzialac
Co to jest to 'disp1'? czy jest to jakas zmienna czy alias jakiegos portu np. portb? Bo jezeli zmienna to sie nie dziw program nie ma szans przepisac jej wartości na port, gdyż nigdy nie wychodzi z pętli.
Bity zmiennej bajtowej możesz przypisywać tak jak piny portu Bajt.Bit Czyli u Ciebie Zmienna.0 = a Zmienna.1 = b itd.
Witam. Chciałbym użyć jednego portu w procesorze do obsługi:4 młodsze wyjścia portu pełniłyby funkcje dowolnych wejść/wyjść, a na 4 starszych pojawiałyby się stany logiczne od 1 do 12(kod binarny). Kod ten chciałbym dawać w ten sposób, aby pętla for ze zmienną licznikową wykonywała tę pętlę 12 razy. Nie wiem natomiast jak rozdzielić ten port, aby zmienna...
zmienna bascom bascom zmienna porty konfiguracja bascom
przełącznik kolumna kierownica styki kontaktron pralka łożysko wymienny
makita wkrętarka grzeje blaszak brama garażowa
Jak zrobić płaszcz wodny do kominka - porady i wskazówki Jak wykonać uziemienie w starej instalacji elektrycznej?