ustalam w ten sposób podciąganie pinu do stanów wysokich i niskiego(**) . Zakładałem, że po to jest alias (zawiera nazwę pinu), który sprawę rozwiąże. Co gorsza przyznam się, że taka była moja praktyka więc nie wiem jakim cudem błędy wyszły dopiero teraz. Podsumowując, właściwe jest podciąganie do VCC i GND poprzez SET i RESET a nie jak ja to zrobiłem....
Pociąganie realizowane jest poleceniem "Set" - ósma i dziewiąta linijka. To nie jest podciąganie(!) Jest to próba wpisania wartości do rejestru, który z natury jest przeznaczony tylko do odczytu. Nie ma możliwości zmiany stanu rejestru "PIN.x" z poziomu programu. Stan PIN.x możesz zmienić tylko fizycznie z zewnątrz poprzez podanie tam napięcia o odpowiednim...
Po pierwsze w ogóle nie widzę sterowania wyjściami. Po drugie nie zakładasz opcji, że kable są zwarte ze sobą, co może skończyć się podsmażonym procesorem. Ledy źle podłączone Poza tym z tym schematem boli rozdzielczość? Daj coś bardziej wyraźnego, uwzględnij zasilanie, podciąganie resetu. Postaraj się zapomnieć w Bascom o Goto itp. Styl programowania...
Pomysł na podciąganie wziąłem z praktyki (atmega128 / 16MHZ). Nie wiem dlaczego ale gdy nie ustawiam portów jako wyjścia lub wejścia to przy naciskaniu klawiatury czasami zdaży mi się iż co innego zostanie wybrane. Po spróbowaniu i skonfigurowaniu portów 4-ech wyjściowych i 4-ech wejściowych niekontrolowane stany zmniejszyły się o 80%. Oczywiście kombinacja...
Najpierw "mikroswłicz" który po wciśnięciu drga. Czyli przełącza wielokrotnie- a nie wiesz jaki stan procesor bada na wejściu- po są drgania. Najprostsza metoda: If Pinb.3 = 0 Then waitms 20 If Pinb.3 = 0 Then ......... end if end if To oznacza że po wciśnięciu mikroprzełącznika odczekujesz 20ms i jeśli po tym czasie masz taki sam stan to się "uspokoił"...
config portd=&B1111100 Wcześniej wejściami były Pind.1, Pind.2:idea: No ale dobrze. Więc tak: podciąganie wejść przez wewn. MOSFETy działa w ten sposób, że końcówki mają własną logikę z bramką NAND. Jedno jej wejście jest przez negator spięte z rejestrem DDRx,a drugie-bezpośrednio-z PORTx. dzięki temu tranzystor podciagający końcówkę do VCC włącza...
Standardowy błąd początkującego. Nie włączone wewnętrzne podciąganie (pull-up) na wejściach na których są switche.
Jeżeli przycisk zwiera wejście do masy to trzeba jeszcze włączyć wewnętrzny rezystor podciągający wpisując do portu 1.
...pozostałe piny są w stanie niskim czyli 0 V. Źle, wejścia te mają wyłączone podciąganie do VCC.
, 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...
Tak. Bo w takim stanie przerzutnik portu nie wymusza stanu logicznego z rejestru PORT a jedynie steruje tranzystorem, który służy jako podciąganie wejścia do zasilania (ekwiwalent rezystora ok. 50k). Dlatego do odpowiednich bitów DDRxy i PORTxy należy wpisać zera.
Lini przeznaczonych do podłączenia kwarcu nie ustawiaj ani na we ani na wy. W przypadku zegarka fuse bity ustaw na wew. oscylator. Jeśli chodzi o sygnały zew. to masz 2 opcje: dodać tranzystor który będzie podawał stan niski po wystąpienia stanu wysokiego lub dodać rezystor podciągający daną linie do masy.
Hej! Nic nie zapomniałem :) , tylko poprostu zawsze korzystając z przycisków podciągam wejscie pod plus 5V (Rezystor 10k). Z praktyki przekonałem się że jest to o wiele pewniejsze rozwiązanie niż ustawianie programowo stanu wysokiego. Pozdrawiam
4) Przed wejściem w powerdown ustaw piny jako wejścia (wszędzie tam gdzie to możliwe), procesor nie będzie niepotrzebnie "wysyłał" napięcia na zewnątrz Wcale nie. "Wysyłanie" napięcia nie powoduje strat mocy. W końcu to samo napięcie. Z kolei skonfigurowanie wejść jako piny wejściowe (żeby nie "wysyłały" napięcia :D) owszem pobiera prąd. A to z powodu...
Czy włączyłeś podciąganie linii portów, do których są podłączone przyciski? Obsługa przycisków w programie też jest "nie tak". Naciśnięcie przycisku powoduje, że na wejściu będziesz miał 0, nie 1. To, co dalej robisz w programie, też jest średnio sensowne, ale to zauważysz dopiero wtedy, kiedy wykryjesz poprawnie naciśnięcie przycisku.
Witam, w dobrym kierunku idziesz, ale to ci nie zadziała bo jak? skoro na początku programu tylko raz ustawiasz piny klawiszy jako wejścia oraz pin przerwania INT0 też jako wejście. Więc co ma tutaj wymuszać stan niski na wejściu INT0? nic!. Aby ten sposób zadziałał - musisz jeszcze pomyśleć o zmianie kierunków portów wtedy gdy trzeba. Generalnie założenie...
Rocket_93- za dużo wiedzy jak na pierwszy program. A jeszcze nie wiemy czy już działa. W Bascomie kończy program End. I konfiguracja portów jest tak: Cały port: Config portx=output/input. Ale pojedyncza końcówka: Config pinx.y=output/input A jak się da: Config portx.y=output/input to nie wyrzuca błędu ale potrafi działać "dziwnie". A potem podciąganie...
Aby wyprowadzenia PCF8574 były wejściami trzeba wysłać np. 255 (ustawić 1 na wybranym wejściu). Nie jest potrzebne zewnętrzne podciąganie.
Dzięki za zainteresowanie. Niby to w miarę proste a jednak ... portb=&B00000000 - wcale nie oznacza stanu spoczynkowego "0" dla pinów tego portu. Oznacza to, że piny tego portu są w stanie wysokiej impedancji ( HiZ), możesz to traktowac tak jakby były nie okreśone i bedą reagowc na przypadkowe sygnały pojawiające sie na wejściu, również te powodowane...
Jakieś masło maślane. Stan portu jest w rejestrach oznaczanych PINx. Tak więc: Stan_portu_A=PINA Nawet jak port ustawisz jako wejście z podciąganiem i zewrzesz wejścia do masy.
Włącz podciąganie na wybranym pinie w trybie wejściowym.
Witam. Ja detekcję robiłem prościej - sieć przez rezystor 47k / 3W podaję na mostek prostowniczy a wyjście mostka na diodę CNY17. Tranzystor transoptora podłączałem kolektorem do wejścia INT1 atmegi, a emiter do masy. Rezystor podciągający kolektor do +5V miał wartość 4,7k lecz uważam że równie dobrze można było go nie stosować. W programie korzystałem...
Jeśli "noga" procesora ustawiona jest jako wejście to stan logiczny na tym wejściu odczytujesz za pomocą PinX.y. Jeśli jako wyjście to stan logiczny na wyjściu ustawiasz za pomocą PortX.y. Dodatkowo, gdy "noga" procesora jest jako wejście to za pomocą PortX.y włączasz lub wyłączasz wewnętrzne podciąganie wejścia poprzez wbudowany rezystor do VCC.
ale nie trzeba podciagac wyjscia do plusa??
Podciągałeś wejścia do zasilania wewnętrznym rezystorem? /edit: zauważyłem, przepraszam
....a co do podlczenia wejsc Pd.0 i Pd.1 to zaro sprawdze ale reakcja na mase tez powinna być :-] Tak , ale chodzi o to że te wewnętrzne rezystory podciągające jakoś nie zawsze funkcjonują tak jak powinny . I dla tego dla pewności stosuje się zewnętrzne . Bez rezystorów cały czas będzie "0" na wejściu . Sprawdzone w praktyce na kilkuset procesorach...
Po pierwsze to po resecie mikrokontrolera piny są ustawione jako wejścia więc nawet nie trzeba tego robić Po drugie to kierunek ustala się za pomocą rejestru DDRx a nie PORTx (to nie Bascom) Po trzecie to musisz doczytać jeszcze o przesunięciach bitowych bo szybko na tym polegniesz w C. To podstawa. Po czwarte to klawisze (słicze) musisz mieć albo podciągnięte...
Prosty program zmieniający z częstotliwością 0,5Hz stan końcówki PXY raz jako zwarcie z masą (logiczne zero) wmuszone stanem rejestru PORTX.Y, a po sekundzie wystawiający na końcówkę PXY wysoką impedancję. Fakt, jedynką ustawiasz masę, a zerem ustawiasz wysoką impedancję. Z tym chyba sobie poradzisz. [syntax=basic4gl]PORTX.Y = 0 'Wartość rejestru PORTX.Y...
Kolego, układy AVR mają nogę podłączoną do kilku rejestów. Pisząc słowo PIN konfigurujemy rejestry wejściowe, a słowo PORT rejestry wyjściowe. Chodzi tu o składnie języka Bascom. Ta informacja jest oczywiście niedokładna , a sama interpretacja błędna (!). Pisząc 'config ...' w efekcie edytujesz rejestr DDRx odpowiedniego portu x. Nie jest ważne czy...
Na piny P1.0 i 1.1 musisz podać stan wysoki, żeby wejścia komparatora nie były połączone z masą. Te piny nie mają wewnętrznego podciągania do Vcc, więc będą "wisiały w powietrzu" (i tak ma być :D ). Stan wyjścia komparatora odczytujesz jako pin P3.6 W BASCOMie jaokoś tak (nie pamiętam, dawno nie używałem, ostatnio tylko asm :D ): SET 1.0 SET 1.1 żeby...
Te wejścia są skonfigurowane poprawnie, choć podciąganie jest podwójne (przez mikrokontroler i zewnętrzny rezystor). Któryś zapis powinien się wykonać, w zależności od momentu w którym puścisz przycisk...
Panowie, jeżeli steruje procesor plusem to nogę która jest wejściem muszę podciągnąć rezystorem do masy. Jak jest kiedy steruje minusem? Czy muszę podciągać nóżkę rezystorem do plusa ?
Rozumiem że te porty ustawiasz jako wejścia (czyli DDRB = 0XFF), Drobna pomyłka bo powinno być DDRB = 0x00, czyli DDRB = 0b00000000. Niby drobiazg, ale początkującemu może namieszać. W procesorach AVR każda końcówka I/O powiązana jest z trzema rejestrami, które to decydują o przeznaczeniu tej końcówki. Te rejestry to: DDR - rejestr kierunku, ustala...
Musisz dać rezystory podciągające do masy (ok. 1-10k) na wejściach, do których masz podłączone przyciski albo ustawić wewnętrzne rezystory podciągające wejścia do plusa zasilania poprzez komendę PORTD=&B11111111, a przyciskami zwierać do masy.
1) Nie potrzebne jest ustawianie stanów spoczynkowych. Jeśli tego nie zrobisz będą miały domyślną wartość czyli chyba 0. Tak samo domyślnie wszystkie piny są ustawione jako wyjścia czyli w (DDRX.Y = 1 <- nazwa rejestru kierunkowego w BASCOMIE nie musisz się tym martwić). 2)Co do drugiej części pytania powiem tak: najbardziej naturalnym rozwiązaniem...
Ponieważ można włączyć wewnętrzne podciąganie pin'a do plusa zatem aby zmienić stan na wejściu wystarczy je dołączać do masy.
1) jeśli używasz przycisków to zawsze podłącz go tak aby przyciśnięcie zwierało nóżkę portu do masy czyli do -. To naprawdę ułatwia sprawę i zawsze działa 2) dobra praktyka - przyciski, jumpery itp podłączaj do pinu procesora przez rezystor np 180 omów. Chodzi o to że kiedyś możesz się pomylić, ustawić pin jako wyjście, dać na nim 1 czyli napięcie +...
Czyli ta część kodu jest dobrze napisana?... Dobrze napisana , tylko nie będzie działać tak jak byś chciał(reakcja na zmianę stanów wejść) i to 2 powodów :( Pomyśl dlaczego :!: Piotrek
Wygląda tak jakby ładowała się jakaś pojemność. Upewnij się że wszystkie końcówki mikrokontrolera połączone z modułem są w ustalonym stanie. Jako wyjścia, albo wejścia z włączonym podciąganiem. Mikrokontroler i moduł zasilane są z tego samego źródła? Problem może wystąpić kiedy napięcia na końcówkach I/O nie osiąga pełnej wartości napięcia zasilania....
Witam. Jak należy konfigurować poleceniem w Bascom Config PORTx=&Bxxxxxxxx i PORTx=&Bxxxxxxxx piny używane do np. taktowania procesora-np. xtal, lub piny używanego ADC lub LCD lub np, jakiegoś interfejsu? CZy gdy są wejściami - włączać R podciągające czy niech pin "wisi w powietrzu"?
Nie mogę skompilować z taką deklaracją PORTD.0=1, używam KontrollerLab pod Linux-a, i nie trawi takiej deklaracji. Chyba że to jest z BASCOM-a? Ale obsługa przycisków jest podobna, na początku podciągam je programowo do plusa, potem ustawiam jako wejścia i dopiero odczytuję.
Witam W zasadzie powinno działać ale :) To mogłoby funkcjonować pod warunkiem że piny 1 i 0 portu D są fizycznie sciągnięte do masy rezystorami (np. 10k). Wpis w programie: Portd.0 = 0 Portd.1 = 0 nie daje nic , bo i tak 'by default' taki stan tam występuje, a nie jest to równoważne z podciąganiem portu. Owszem jest tego radzaju możliowość ale tylko...
Najprościej przeczytać dokumentację. Są nawet przetłumaczone wersje.
Config Debounce = 30 ' Wydłużenie czasu na wygaszenie drgań styków do 30ms ' Pin wejściowy musi mieć podciąganie (wewnętrzne lub zewnętrzne) do Ucc 'by gdy przycisk jest wciśniety był wymuszony konkretny stan wejścia Do ' Główna pętla programu debounce p1.1,0,klaw112,sub Loop klaw112: obsługa ret
ło matko ;) po opisie kolegi atom1477 i po tej informacji, że "Bascom coś kombinuje" można by uznać, że napisanie sotu do obsługi 1wire to rzecz prawie niemożliwa dla zwykłego śmiertelnika. Tymczasem to co robi Bascom to absoultnie nie żadna kombinacja tylko normalne zachowanie - ponieważ to podtrzymanie stanu wysokiego na pinie portu jest niejako przygotowaniem...
idź na stronę www.picbasic.org jest tam kompilator którego osobiście używam i polecam. Proton-plus może to jednak program ponosi odpowiedzialność za złe zachowanie się procka lub brak podciągania wejść , zły zasilacz, układ resetu. ewentualnie mogę ci przepisać w wolnej chwili soft z AVR na pica pozdrawiam
Hmm.. Może się mylę, ale: -chyba w tej opcji trzeba dołączać zewnętrzne rezystory, bo nie widzę, żeby wejścia były skonfigurowane z podciąganiem. -Czy na końcu pierwszego If'u nie powinno być End If podobnie jak w drugim? Bo samo end chyba kończy program tak? -I chyba nie wziął kolega pod uwagę, że nie mają to być dwa przyciski - włącz i wyłącz tylko...
Jesteś pewien że to LCD ? Czy procesor się nie resetuje lub zawiesza ? (umieść w kodzie polecenie gaszące i zapalające diodę podłączoną do któregoś z portów i sprawdź czy miga po wystąpieniu krzaków na LCD) Dla testu puść sygnał E kabelkiem w ekranie. Podciąganie wejść LCD jak najbardizej. Może kondensator 100nF przy zasilaniu na płytce LCD ?
Tak przeglądając sobie datasheet do obydwu układów zauważyłem ze pcf8583 nie ma wejścia reset tylko adres. Natomiast PCF8593 posiada wejście reset i wymaga podciągania tej lini do Vcc. Masz podciągniętą tą linie? Może układ w ogóle nie startuje?
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...
bascom podciąganie portów podciąganie pinów bascom atmega podciąganie
volvo silnika hotpoin ariston indesit schemat wzmacniacza 1200w
spuchla bateria kamera samochodowa
Wymiana klocków hamulcowych Skoda Octavia 2 2004 i objawy nieszczelnego dolotu powietrza Jak naprawić telefon CIC: porady i wskazówki