Skoro puściłeś przez ULN2803A to za pewne zapomniałeś o pull-up dlatego "wisi". Jeśli chodzi o rezystor to ok 10k.
A gdzie konfiguracja Portc.5 jako wejście?
http://www.electronics-tutorials.ws/opam... zamiast R1 + R2 daj potencjometr R3=R4, V2 do plusa zasilania V1-wejście Vout do ADC µC
Co się tak uparłeś Mariusz na ten kod dla 8051 jak chcesz użyć ATmega8? Pisałem przecież: B-51 a B-AVR traktują RC5 inaczej . Dlatego im prędzej zapomnisz o tym kodzie dla 8051 tym bliżej będziesz rozwiązania Swojego problemu dla ATmega8. TCON.0 to tryb pracy INT0. Książka Tomasza Stareckiego w dłoń i strona 63 oraz 168.
Podciągnij wejście do plusa wewnętrznym rezystorem. Wejście T1 to PD5. [syntax=basic4gl]PORTD.5 = 1[/syntax]
Porty są domyślnie ustawione jako wejścia i nie trzeba ich konfigurować na początku. Ustawiłeś odpowiedni procesor? Podawaj zawsze treść błędu.
Witaj :) Da się coś zrobić , musisz dać miedzy wejście przetwornika ADC a masę rezystor powiedzmy tak 10 kΩ i powinno być dobrze . Pozdrawiam i powodzenia Bartek :)
Dlaczego kiedy nie podaję nic na przetwornik, utrzymuje się tam wartośc (w zależności chyba od humoru avr) od 300 do 800? bo to wejście wtedy wisi w powietrzu. Jak dasz rezystor do masy to napięcie spadnie do zera i też takie będą wskazania przetwornika ADC. Proponuję ci także dodać kondensator np 100n na wejściu przetwornika , sprawdź czy wyniki się...
Wszystko zależy jak duża ma być dynamika zmian tego sygnału... Przy 10-bitach to przydało by się go popędzić już kwarcem ~14-16MHz... Wzmacniacz najbardziej się przyda przy sygnale -10V -:- +10V... Wtedy rozdzielczość podciągnąć do 16-bitów i dla połowy napięcia 2,5V ustalić zero... Symetryczne zasilanie wzmacniacza... Zdarzają się też falowniki z wejściem...
Oj, bez przesady, jedna Atmega pomieści dużo więcej niż obsługa całej stacji i bajerów. No chyba, że mówimy o BASCOM - wtedy głowy nie daję :)
Witam ! Zacznij od tego: $crystal = 800000 --- jedno zero za mało. następna poprawka: Config Portb = &B00101000 0 jako wejście 1 jako wyjście porty B0. B1, B2 masz 0 a powinny być 1 Brak konfiguracji Portu D Pozdrawiam. Stefan
Wejście (pin procka PORTB.0) programujesz jako wejście . Ustawiasz wysoki poziom tego wejścia , tak aby naciśnięcie przycisku (zwarcie do masy) wymusiło niski poziom na tym wejściu , wykrywany przez program jako If PINB.0 = 0 Then ' coś do wykonania (naciśnięty przycisk)
Ja stosuję 4,7 do 10 k. Raz przez pomyłkę dałem 47k i z wejściem też nic się nie działo.
Wejdź do panelu sterowania i podepinj ten wirtualny COM pod jakiś normalny numer (1-4), a nie COM8...
Pind.2=0 to chyba masz prawie cały czas- przy przejściu przez 0 diody w transoptorach przestają świecić, tranzystory się zatykaja i przez chwilę na kolektorach- czyli na wejściu procesora masz 1. Może licz jedynki.
Wszędzie gdzie masz Portc.1 zmień na Pinc.1 . Jeśli używa sie portu jako wejścia i sie chce sprawdzić jego stan to sie pisze Pinc.1 , a jeśli chcesz ustawić jakąś końcówkę w stan wysoki to używasz Portc.1 Tak samo musisz postąpić z pozostałymi portami. Jeśi działa jako wejście to piszesz Pin... a jęsli jako wyjście to Port...
Jest jeszcze coś takiego w Bascomie jak INITLCD. Spróbuj po opóźnieniu, a przed wejściem do pętli użyć tej instrukcji, która inicjuje LCD. Sam w sobie program powinien inicjować LCD, ale wpisać INITLCD nie zaszkodzi. Sprawdź jeszcze czy przy uC nikt nie majstrował wcześniej i nie ustalił mu taktowania wyżej niż wskazane w programie - 1MHz.
Niestety. W obudowach nie DIP które mają więcej wyprowadzeń dodano dodatkowe wejścia ADC. i tylko tak pracować mogą. Następnym razem spójrz do dokumentacji.
Zerpo - dziekuje za wyjasnienie. Nie mam zamiaru kombinowac z programatorami rownoleglymi. Zapytalem bo braklo mi wyjsc I/O w tym procku i pomyslalem ze można by ten pin wykozystac, ale widzie ze w tym konkrektym projekcie nie warto az tak eksperymentowac. Dziekuje i pozdrawiam wszystkich.
Witam, program już działa poprawnie, pozostawiłem jeden zbiór instrukcji zamiast tego co opisane było w powyższym programie komentarzem 'program 1, 'program2 itd., a odpowiednie zmienne (temperatura jaką trzeba osiągnąć, czasy obracania bębnem) wczytywane są wcześniej przed wejściem do pętli Do. To znacząco uprościło program. W trakcie pracy procesor...
http://www.elektroda.pl/rtvforum/topic76...
Wrzuciłem na LCD wyświetlanie stanu jednego z wejść. Przed wejściem do menu działa bez problemu, tzn. wyświetla stan wejścia, po wejściu w menu nie odczytuje stanu - cały czas jet 0. Próbuję użyć przerwań z PCF8574. Przy naciśnięciu klawisza na wyjściu INT pojawia się napięcie około 5V ( właściwie impuls, mierzone względem GND ), więc układ wygląda...
PD.6 podłącz do +5V komparator nie ma wewnętrznego źródła odniesienia. To mu nie rozwiąże problemu... Napięcie na PD.6 (AIN0) będzie zawsze wyższe niż AIN1 niezależnie od położenia potencjometru (praktycznie 0 do 4.6V), a zatem ACO nigdy nie zmieni wartości na 0, co jest spodziewane w waruku portu wyjściowego dla LED. Datasheet wyraźnie mówi o konieczności...
Witam Nie znam schematu dlatego trudno mi jest powiedzieć czy program jest napisany dobrze. Być może jest tam klawiatura matrycowa i obsługuje się ja nieco inaczej niż klawisz podpięty pod port. Druga sprawa to deklaracja portu na początku programu. Najpierw deklarujesz cały port jako wejście a następnie deklarujesz każdy pin z portu C osobno. Tak być...
Potrzebuje pin nr 1 w atmega8 jako wejście. Programuje w Bascomie programatorem równoległym, jednak nie mogę ustawić reset jako we/wy. Jaka jest składnia rstdisbl - nie działa. w ustawieniach nie ma fusbitów. Proszę o pomoc.
wielkie dzieki Pozdrawiam
Wpisz do $crystal taka wartosc jaka masz. Jezeli masz fusy na wew generator to wpisz 1MHz. Set Pind.1 Set Pinc.1 Set Pinb.5 BZDURA! Ile można powtarzać? Rejestr PORTX służy do wystawiania 1 lub 0 na port. Rejestr PINX służy do sprawdzania stanu danej końcówki portu. Rejestr DDRX służy do ustalenia czy port ma być wyjściem czy wejściem. Czyli zamiast...
Zmieniłem program na ATmega8 ( bo ATmega16 nie posiadam ) [syntax=basic4gl] '$regfile = "m16def.dat" $regfile = "m8def.DAT" $crystal = 8000000 Config Pind.7 = Input Config Pinc.0 = Output Set Portc.0 Set Portd.7 Do If Pind.7 = 0 Then Portc.0 = 0 Else Portc.0 = 1 End If Loop End [/syntax] wgrałem, program działa dobrze. Bascom DEMO 2.0.7.1
czy rezystory 1k wystarczą? i miedzy plusem a potencjometrem? czy to chodzi o wejście ADC czy któryś pin potencjometru?
Jeśli wyeliminujesz drgania przycisku, to najprościej to zrealizować podając wyjście przycisku na wejście zegarowe jednego timera (bedzie on zliczał ilość wciśnięć), a drugi timer wykorzystać do odmierzania czasów 1s - dokładnie co 1 s należy kasować licznik pierwszego timera. Ot i wszystko.
Można użyć komparator i jego przerwanie. Na jedno wejście dać nap referencyjne 200 mV.
Witam Problem można rozwiązać podobnie jak proponował M.S. jednak połączyć procesor z licznikiem 74HC4040. Ma on wejście szeregowe i wyjście równoległe. Na wejście tego licznika można podawać impulsy (TTL) o częstotliwości nawet do 98MHz !!! Zasada zostaje ta sama bo się bramkuje wejście ale częstotliwość mierzona jest o wiele większa a procesor może...
Po co sie spierać? Nie jest to wiedza szamańska z tym SPIINIT bo to co przytaczasz z Bascoma jest dosłownym przepisaniem informacji z tablicy 47 PDF Atmegi8. Koncówka ma być zdefiniowana jako wyjscie podczas gdy instrukcja SPIINIT konfiguruje ją jako wejście. Dlatego pisałem o zaniechaniu SPIINIT w Slave. Ale pisałem, ze konfiguracja końcówki jako wyjście...
Witam ! Output = wyjście input = wejście Pozdrawiam. Stefan
Masz pind.7 skonfigurowany jako wejście i podciągnięty do VCC rezystorem, lub komendą SET ?
Sprawdź coś takiego: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Nie stosuję w programach naciskania dwóch (lub więcej) przycisków naraz . Jeżeli występuje taka konieczność (bezpieczeństwo użytkownika) to przydzielam drugą linię ADC lub zwykłe wejście procka .
Może nie bo więcej nie wiem :D EDIT. Ok, już wiem. Trymer ma być po stronie wejścia.
Po pierwsze jakie czasy chcesz obliczać i jakie przerwania po co ??? To jest bascom nie assembler, deklarujesz na wstępie programu prędkość kwarcu a kompilator troszczy się o resztę tj. dajesz deklarację $regfile = "m8def.dat" $crystal = 12000000 Po drugie, procedura obsługi wyświetlaczy LCD (mowa tu o alfanumerycznych HD44780) jest w BASCOM zaimplementowana...
Na początku musisz podłączyć zasilanie lcd oraz dodać kondensator 100nF na VCC i GND atmegi jak najbliżej niej. Musisz także podać napięcie na AVCC oraz AREF możesz puścić przez kondensator do masy. Pamiętaj aby - baterii podłączyć do masy atmegi a + baterii podłączyć do wejścia przetwornika np. ADC0. W tym miejscu możesz także dodać 100nF równolegle...
Smd nie stanowi problemu . Tez myślałem o ATmega8 mozna na niej jeszcze sterowanie czasowe napisać .
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...
Jeśli chodzi im o wejście, to piszę PIN a jeśli o wyjście to PORT np: If pind.1=1 then portc.1=1 tak? Mniej więcej. Podpowiedzcie mi jeszcze jak napisać kod, tak aby po osiągnięciu temperatury 40st na wyjściu pojawiał się stan wysoki, a po spadku do np 30st dopiero stan niski używam ds18b20 [syntax=text]Zmierz temperaturę Jeżeli wyjście=stan wysoki...
Nie podłączać wejść na ślepo. Tylko zgodnie z notą katalogową. Podłączenie ze schematu pozwala tylko na pracę pełnokrokową. Sekwecja sygnałów taka jak dla pracy półkrokowej(tabela 1)- ale tylko parzyste numery. P.S. Da się- ale po co jak masz sterownik.
kiedyś miałem podobny problem tylko że z ATmega8 poradziłem sobie starym indiańskim sposobem czyli miałem drugi układ i zmostkowałem masy układu i podałem sygnał zegarowy z działającego układu na wejście układu zablokowanego i wtedy zmieniłem ustawienia w bascomie. (który jest który musisz zobaczyć w kartach katalogowych) ważne żeby kable do mostkowania...
Kolega potrzebuje po prostu wartości liczby w kodzie BCD jak pisał poprzednik i BCD, HEX i liczby dziesiętne pokrywają się w zakresie 0-9. W takim razie wystarczy wysłać 4 najmłodsze bity na wejście 7447 albo całą liczbę bo i tak podrt wyjściowy jest podłączony tylko to 4 końcówek 7447. Co do wartości powyżej 10 to zaproponowałbym aby użyć wejścia BI/RBO...
Teraz tu jest sprawdzany bit if(PINC & 0x08) a jak zastosuje && to cały rejestr jest porównywany z cyfrą 8 czy tak? Sprawdź w CManiaku: http://mikrokontrolery.blogspot.com/p/cm... ten program: [syntax=c]//Wymagane do symulacji definicji i rejestrów ATmega8: #include <dondu/dd_atmega8.h> int main(void){...
Witam, wydaje mi się , że prostszym rozwiązaniem tego tematu byłby pomiar napięcia dodatniego przez wbudowany w uC przetwornik ADC , natomiast napięcie ujemne poprzez zewnętrzny przetwornik (np. MCP3201 wejście IN-) skomunikowany z uC przez SPI.
Nie zadziała to w tak prostej formie w jakim masz kody. 1. W kodzie 1 musisz ustawić PWM z timera 1 na 10bitowy (masz 8bitowy w konfiguracji). 2. W kodzie 2, nie masz ustawionego PORTC na wejście dla przetwornika. 3. W kodzie 2, samo przypisanie W = Getadc(channel) (po skonfigurowaniu timer1 i zmianie rozdzielczości PWM na 10bit) będzie zmieniało prędkość...
Jutro spróbuje zapomniałem dodać że nie używam preskalera sygnał jest podawany bezpośrednio na wejście procesora w formie TTL.
Po pierwsze: Czemu deklarujesz subrutyny ? Do subrytyn przechodzi się przez Call, a do etykiet (których nie trzeba deklarować) przez Gosub. Po drugie po co w ogóle skoki do tych podprogramów ? Przecież można to było wpisać po prostu pod każdym Case ? Po trzecie to istotnie za szybko są zmieniane stany poszczególnych pinów. A i jeszcze ustawiłeś caly...
1. Ustaw pin INT0 jako WEJŚCIE z Pull-UP'em ! 2. Gdzie to wyczytałeś, że INT obsługuje jedynie LOW LEVEL ?
A dlaczego nie tak: $sim 'tylko do symulacji $regfile = "m8def.dat" $crystal = 8000000 'kwarc '---------------------------------------... 'Konfiguracja LCD wg wykonanej płytki PCB pod procesor ATmega8 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = Portc.0 , E = Portb.2 , Rs...
Kod jest ok, tylko po co jest linia Dim I As Byte ;) Czy ustawiłeś kontrast na wyświetlaczu? Jeśli zasilasz napięciem +5V to wejście Vo podłącz do masy - z reguły daje to optymalny kontrast.
Genralnie reset polega na ustawieniu wskaźnika wykonywania programu na zero (to własnie robi wejście RST). Więc teoretycznie wystarczy zrobić JMP na bezwzględne 0.
A co się dzieje na wejściach pomiarowych? Też skacze?
Witam. A więc tak. Ustawienie linii na wejście i podanie stanu wysokiego powoduje podciągnięcie tejże linii do VCC poprzez rezystor (a nie do masy). Posłuchaj kolegi Don Diego. A z jakiego programatora korzystasz? PC6 standardowo jest resetem uC. Dopiero po przestawieniu fusebitu można z niego korzystać jak z linii IO. Jednak wtedy tracisz możliwość...
Poi pierwsze. Do BASCOM-a jest pomoc - także po polsku, której to zresztą jestem autorem. Wersję on-line (beta) znajdziesz na mojej stronie WWW. Jak one działają? Zliczają impusy. Albo z prescalera, albo z zewnątrz. Patrz nota katalogowa. W którą stronę zliczają? Zwykle liczą w górę. W trybach PWM liczą też w obie strony. Patrz nota katalogowa. Jak...
podciagniecia czyli ustaw stan wysoki na wejściach np. PORTB.2 = 1
Możliwość jest :) Wystarczy zliczać impulsy z wejścia licznika i podać je na lcd :) Do tego żeby pomiar był z 3ch źródeł, jakiś prosty przełącznik wejścia. Tu jest podobny temat, ale na PICu. http://www.elektroda.pl/rtvforum/topic93... Jeśli nie wiesz jak zacząć, poszukaj programów do obrotomierzy w BASCOMie, i troche zmodyfikuj :)
No to problem bo każdy z 4 pasków led sterowany czterema wejściami z komendą pulsein
Witam. 1./ Jeżeli definiujemy piny jako wejście najlepiej używać instrukcji config pinb.0=input ' przycisk pierwszy config pinb.1=input ' przycisk drugi config portd.0=input ' pin sterujący diodą LED 2./ Podłączenie przycisków do plusa zasilanie tak jak w tym kursie jest złe. przyciski powinny być podłączone do masy. Po prostu przycisk po wcisnięciu...
Są zwykłe wersje , czyli bez literki A na końcu. Tych mozesz użyć 8sztuk, bo każda ma możliwość ustalenia adresu za pomocą 3 wejść . Aby użyć większej ilości to używasz te z literką A bo one mają jeszcze inny adres. Tych znów mozesz użyć 8 sztuk. Jeśli chodzi o tą literkę P to oznacza obudowę typu DIP.
Pozwolę sobie odświeżyć temat nowym postem :D kocyk - selektor wejść do wzmacniacza - ATmega8, BASCOM kocyk - minutnik z wyświetlaczem 7-seg. - ATmega8, C
No po prostu użyj UART, do PC wejdziesz przez adapter na RS232.
Na Bascomie się nie znam, lecz mogę pomóc co nieco z C. Tryby on/off, to raczej sobie poradzisz bez problemu. Jeśli chodzi o tryb stroboskopu, to proponuję zrobić na opóźnieniach na początek, będzie najprościej. Miganie w rytm muzyki, to najlepiej zrobić przez jakiś wzmacniacz operacyjny, przenieść skalę o połowę w górę lub obciąć dolną część, a następnie...
Do atmegi8mki Ci może nie wejść obsługa FATu. Poszukaj na elektrodzie FAT SD Atmega i coś znajdziesz gotowego. - Napewno nie Bascom :D Potem jakieś przerwanie i mierzyć czas i robić systematyczne opróżnianie buffora na drabinke R2R albo DAC.
Masz to w arkuszu 2. Pomiar z napięciem referencyjnym 2,56V. Dzielnik napięcia na wejściu ADC 2:1.
Wejście A0 wisi w powietrzu? Ściągnij go a wszelki wypadek do masy. Przy tym programie co się wyświetla na ekranie?
Dokładnie do takiego celu używałem TSOP i atmega8 z diodą nadawczą podczerwieni. Do tego programik w Bascomie na bazie GETRC5 nadający i odbierający w przerwaniu . Żadny element odbijający nie jest potrzebny. Ba , co więcej tsop tak doskonale radzi sobie z odbitym sygnałem że nie jest potrzebne żadne dokładne ustawianie a zasięg jaki mam u siebie to...
To może właśnie w tym kwi problem, że PCF sobie po prostu nie daje rady, jak myślisz, może tak być czy raczej nie? Jutro wejdę kupię (mam nadzieję) taki kwarc i wtedy zobaczymy!
Wystarczy jedno wejście I NTx , które będzie wykrywało ten impuls. Ale jeśli to będzie impuls "z ręki" jakiś klawisz to bez sensu - ze względu na drgania styków a potrzebny minimalny czas np 1ms. Jeśli to będzie impuls z jakiegoś wyjścia cyfrowego to ok. Założenia: - wykorzystamy tylko jedno wejście INTx - wykorzystamy tylko jeden Timer sprzętowy Przygotować...
No właśnie w tym problem, że kodu nie mogę wkleić bo zawiera on cały algorytm pewnej transmisji chronionej prawami jak to sie mówi korporacyjnymi. Teraz pisze reszte programu a do problemów z LCD wróce poźniej. Może przerobie i okroje kod tak żeby zjawisko pozostało a nie było tych algorytmów to wtedy zapodam. Co do schematu to jest tylko Atmega8 na...
Najprawdopodobniej to kwestia przycisku dołączonego do PD.1. Konfigurujesz PD.1 jako wejście pływające, bo DDRD.1=0, a PORTD.1=0. Jeśli klawisz tylko podaje +VDD lub rozłącza obwód to gdy nie jest wciśnięty na wejściu pływającym pojawiają się śmieci, bo działa ono jak antena(stan zmienia się przypadkowo). Możesz dodać rezystor 10kohm, który ustali stabilny...
Nie musisz pchać się dokładnie w jeden okres. Po prostu zapuść pomiary na stałe. I co ileśtam (dużo) pomiarów licz wartość skuteczną. Synchronizacja z okresem sieci nie jest konieczna (pod warunkiem że na jedno obliczenie wartości skutecznej wejdzie co najmniej kilka okresów sieci).
Trzeba mierzyć czas impulsu i jeśli wynik = ileśtam to wtedy dzieje sie cośtam Może : $regfile = "twój uP" $crystal = twój crystal Config Timer1 = Counter , Edge = Rising Config Portc = Input Do If Portc.1 = 1 Then Start Timer1 If Portc.1 = 0 Then Stop Timer1 End If End If For Timer1 = 100 To 200 Reset Porta.1 Next For Timer1 = 300 To 600...
Z programu wynika że nie sterujesz tym wyjściem, a standardowo po resecie pin ten ustawiany jest na wejście. Skonfiguruj go jako wyjście i ustaw na nim "0" lub podłącz RW do masy.
Jest na ATMega8, ale zużycie pamięci programu jest na tyle małe (220B) że wejdzie to w jakikolwiek procesor AVR. Nie ma takiego procesora AVR w którego to nie wejdzie. Inna sprawa że nie wszystkim procesorom AVR można podłączyć kwarca. Podłączenia standardowe. Stabilizowane 5V, 100uF, 2x100nF. Połączenia są takie jak napisałeś, ale można zmienić na...
najpewniejszym sposobem ustalenia wyprowadzeń jest omomierz , w ten sposób na 100% ustalisz wyprowadzenia , najważniejsze to znalezienie punktów wspólnych cewek te łączysz razem i do Uzas , o kolejność pozostałych nie musisz się martwić ponieważ i tak będziesz musiał ustalić to dopiero w czasie pracy układu , chyba że będziesz miał szczęście i za pierwszym...
A jeżeli chodzi o tą diodę zenera to ona ma być pod rx czy tx telefonu A jak myślisz? Ma chronić wejście przed zbyt dużym napięciem, czyli RX. Rezystor też daj tak około 300 Ohm.
No i tak jak mówiłem, błędy już na etapie projektu (schematu): (pomijam już to że schemat jest narysowany okropnie - linie połączeń przełażą przez elementy, a pod wyświetlaczem LCD to już masakra - nawet nie wiadomo co tam się dzieje) - no ale rozumiem, że to początki - jednak zaobserwuj inne schematy i zobacz na czym polega ich rysowanie ok? 1. Brak...
Podciągałeś wejścia do zasilania wewnętrznym rezystorem? /edit: zauważyłem, przepraszam
Jak zrobić sprzętowy emulator dla procesora Mega8 aby można symulować wejścia wyjścia dla BASCOM-a.
Ale czy program nie powinien mi sam zidentyfikować podłączonego procesora ? Tak, ale wtedy gdy jest wszystko w porządku z połączeniem pomiędzy procesorem a programatorem, procesor jest sprawny, zasilany. Jeśli chcesz sprawdzić czy Bascom "widzi" procesor wejdź do zakładki - chip ( w oknie które pokazałeś ) tam jest zakładka do identyfikacji.
Może warto na wejściu ADC dać jakiś mały kondensator np 100nF.
Może lepszym rozwiązaniem byłoby normalne zasilenie układu i usypianie go za pomocą timera. INT0 podciągnięte rezystorem do VCC a wybudzanie zboczem opadającym branym przez diody z przycisków. Czyli np. komenda Powerdown i wybudzenie sygnałem na wejściu INT0 ?
To źle podłączasz. Powinien być jeszcze rezystor polaryzujące wejście ADC kiedy dioda nie przewodzi. Kondensator możesz dołożyć, jego wielkość zależy od tego jakie impulsy chcesz wykrywać. Ale równie dobrze może go nie być.
Proponuję przy aliasach przycisków wpisać nie port a pin, bo to są wejścia. No i faktycznie aby stany na wejściach nie szalały podciągnąć wejścia do plusa. Moze być np. tak: regfile = "m8def.dat" $crystal = 1000000 Config Portd = Output Portd = &B00000000 Config Pinb.0 = Input Config Pinb.1 = Input Led1 Alias Portd.1 Led2 Alias Portd.2 S1...
No to po kolei. W ATtiny26 w masz schemat przetwornika ADC na str.97 i tabelkę na str.104. Na górze tabelki masz które wejścia ustawiasz jako positive a które jako nagative. No i Gain- wzmocnienie może być 1 albo 20. No i dalej-ATMega8, 88 nie ma sprzętowego pomiaru różnicowego. ATMega16- ma, ale nie gwarantują tego w obudowie DIP- tylko w TQFP. No...
Najczęściej robi się to odwrotnie - pin B.1 zwierasz do masy, a komendą SET podciągasz go do plusa zasilania. Wtedy program sprawdza "If portb.1=0 then...". Przy okazji, warto używać aliasów, wówczas program jest czytelniejszy, a ewentualna zmiana pinu to poprawka jednej linijki. Jeśli jednak z jakiś powodów musisz wyzwalać port jedynką, to podajesz...
Głównie problem jest z zegarem. Im większe napięcie jest podawane na wejście przetwornika zegar się zatrzymuje, obniżenie napięcia powoduje ponowne działanie. Myślę, że pomyliłem się przy łączeniu tych wszystkich procedur tylko nie wiem gdzie.
Mnie osobiście działał taki wyświetlacz z bateryjką 9V podłączoną + do masy płytki, a minus do jednego końca stałego potencjometru 10k, drugi koniec stały potka do GND płytki, a wyjście regulowane do wejścia kontrastu.
Podstawowa sprawa - w drugiej linijce kodu masz napisane, że $crystal = 8000000 podczas gdy na schemacie nie masz podłaczonego żadnego kwarca. Jeśli używasz wewnętrznego oscylatora (i oczywiście masz tak ustawione FuseBit'y), to ATmega pracuje na 1MHz i taką wartość powinieneś ustawić w programie, bo nic nie będzie działać, albo będzie, ale "dziwnie"...
a jak może być inaczej u ciebie skoro masz: S1 Alias Portb.2 S2 Alias Portb.1 czyli sprawdzasz wyjścia a nie wejścia mikrokontrolera wejścia są w Bascomie oznaczane jako Pin czyli powinno być: S1 Alias Pinb.2 S2 Alias Pinb.1 Dodano po 4 a tak w ogóle to pleceałbym ci jak najszybciej zapoznać się z funkcją Bascoma o nazwie " Debounce " oraz jak najszybciej...
A jak z tego skorzystac?? Jakoś nie wiele jest informacji w necie na ten temat, czy jest jakieś konkretne wejście z którego trzeba skorzystac? czy są jakieś dodatkowe elementy potrzebne? i programowo jak wywołać tą funkcję?
Możesz spróbować takiej protezy: [syntax=basic4gl]If Przycisk1 = aktywny AND Przycisk2 = aktywny Then Else Debounce ... Debounce ... End If[/syntax] Przed wejściem do Debounce sprawdzi przyciski i jeśli będą oba wciśnięte pominie Debounce.
Witam mam problem z ADC atmega8 bascom . chodzi mi o coś takiego : ADC0 napięcie 4.95 LCD-> 0.00 ADC0 Napięcie 4.50 LCD-> 0.50 Nie wiem jak się za to zabrać odczyt ADC mam ale on pokazuje wartość która jest na wejściu ADC . Dziękuje za pomoc .
Ja mam podpięty programator do LPT i do płytki testowej przez cały czas. Zdarza mi sie podpinać do portu LPT inne urządzenie bez wyłączania kompa. Nigdy nie miałem kłopotów. Ale jak zawsze trzeba być ostrożnym przy wyciąganiu jednej wtyczki i zakładaniu drugiej. Co do programowania to jeśli program zaczyna się wgrywać do procka , wejście Reset wymusza...
Jesli ci chodzi o wejście ADC6 występujące tylko w wersjach w obudowach MLF i TQFP o nie można. Nie można też wykorzystac jako wejście ogólnego przeznaczenia, to jest tylko wejście dla A/C. Jesli chodzi ci o pin reset, który też może byc portem PC6. To można ale wtedy nie zaprogramujesz juz procka szeregowo potrzebny bedzie programator równoległy Pozdrawiam...
Spróbowałem tych porad niestety efekt ten sam. Sprawdziłem także na wejściu Int0 i to samo Możesz mi napisać jak zmienić priorytet na najwyższy ?
atmega8 wejście wejście atmega8 wejście bascom
iphone wyłącza ferguson zablokować dekoder wireguard mikrotik
samsung le32b530p7w radio android
Pompa wspomagania Renault Kangoo 1.2 16V 2006 Nagrzewanie się masy w Peugeocie Boxer - przyczyny i diagnostyka