Witam Natknąłem sie na dość istotny problem. Potrzebuję sterować 2 portami w rytm muzyki. Powiedzmy że do PORTA i PORTB mam podpięte diody i chce żeby one mi mrugały w rytmie muzyki. Chciałbym to zrobić na Atmega32 ale niestety na zajęciach nie robiliśmy nic z przetwornikiem A/C w tym procesorze. Chętnych proszę o pomoc :)
A Koss Porta Pro to wersja z mikrofonem/sterowane smartfonów ?
1. Czy ustawiłeś gdzieś stan portu na "1"? 2. Generacja przebiegów przez modyfikacje rejestru TRISA w przypadku RA4 nie jest konieczna, ten pin posiada wyjście z otwartym drenem więc spokojnie można sterować rejestrem PORTA.
To może tak ? [syntax=c] unsigned int matryca[] = { 0x0140,/*port_B cyfra 0 */ 0x0040,/*port_A cyfra 1 */ 0x0001,/*port_A cyfra 2 */ 0x0002,/*port_A cyfra 3 */ 0x0004,/*port_A cyfra 4 */ 0x0010,/*port_A cyfra 5 */ 0x0020,/*port_A cyfra 6 */ 0x0040,/*port_A cyfra 7 */ 0x0080,/*port_A cyfra 8 */ 0x0120 /*port_B cyfra 9 */ }; void zapal (unsigned char...
Zacznij od zaświecenia kolejno po jednym segmencie - w ten sposób zweryfikujesz, czy sterujesz właściwe segmenty z właściwych wyjść. Potem zastąp funkcję wyswietlCyfre i ten wielki switch czterema linijkami kodu: PORTA &= ~MASKA_SEG_A; PORTb &= ~MASKA_SEG_B; PORTA |= maska_cyfry_A[ct]; PORTB |= maska_cyfry_B[ct];
Najpierw to musisz ustawic ten pin jako wyjsciowy. Sluzy do tego rejestr DDRA w tym przypadku. Odpowiednio kazdy bit tego rejestru konfiguruje wyjscia rejestru PORTA. Jedynka oznacza bit portu jako wyjscie. Nastepna sprawa ze stan wyjscie nie zmieniasz poprzez zmiane rejestru PINA tylko ze PORTA. PINA sluzy tylko do podczytywania stanu na wejsciu badz...
TAK ,PORTA.O JEST WYJŚCIEM. Ja na PORTA.O nic nie wysyłam , nie steruje tym portem żadnym wejściem.Panowie nie widać żadnego wejscia w programie. PORTA.0 ustawiam ,czyli wpisuję mu 0 lub 1 ,kompiluje program ,wgrywam w uC i to działa w stu procentach.Problem polega na tym ,że jak dopiszę do programu PORTA.1 ,który ma sterować np. LED2 to program przestaje...
jakich przebiegów mogę się spodziewać ? rozumiem że powinienem sprawdzić przebiegi pomiedzy GND a wyjsciamy na tranzystory i adresator ? Nie wiem, nie jestem komputerem. Na twoim miejscu spodziewałbym się ciszy?No chyba że poknociłeś schemat. Powinny być tam zero-jedynkowe przebiegi, pewnie niczym tego nie zsynchronizujesz żeby zobaczyć (pojedynczym...
Właściwie nie do końca rozumiem, o co Ci chodzi, jak to zrobić w pliku HD44780.h biblioteki LCD [syntax=c]//----------------------------... // // Konfiguracja sygna��w steruj�cych wy�wietlaczem. // Mo�na zmieni� stosownie do potrzeb. // //--------------------------------------...
No wlasnie mam z tym problem nie wiem, jak go obslużyć...W AVR bylo prost - port danych np portc a do sterowania np porta. A tutaj mam PA1 do PA31...
Witam, Czy może mi ktoś pokazać kod w bascomie, który uruchomi PWM na pinach PortD.7 i PortB.3 Bo nie mogę sobie z tym poradzić? Dokładniej chodzi o sterowanie silników przez L293d Porta.0 'Linie sterujace silnikiem A Porta.1 Porta.2 'Linie sterujace silnikiem B Porta.3 Portd.7 'Linie PWM Portb.3 Pozdrawiam
Postanowiłem uprościć nieco sprawę i przerzucić się na VGA. Sygnał monitorowy. Gdzie sterujemy tak: PORTA - sygnał synchronizacji ramki PORTB - sygnał synchronizacji linii PORTC - wartość koloru RGB (dane obrazu) kod napisałem taki: void wyslij_sygnal_synchronizacji_ramki(v... { PORTA = 0xFF; PORTA = 0x00; } void wyslij_sygnal_synchronizacji_lini(vo...
Mam pytanie, jak przyśpieszyć działanie programu odnośnie sterowania portami. Czy lepiej sterować portami bezpośrednio np. [syntax=c] PORTA |= 1 << LED1; PORTA &= ~(1 << LED2); [/syntax] czy zapisywać stan całego portu do zmiennej i na końcu funkcji obługi przerwania przypisać stan zmiennej do portu: [syntax=c] zmienna |= 1 <<...
Proponowałbym zapisać matryce cyfr na dwóch bajtach - w pierwszym bity portu B, w drugim - bity portów A i D razem, bity nieużywane w stanie 1, czyli coś takiego: const cyfry[10][2] = { {0b111xx1xx, 0b1111xxxx}, ... }; x - to wyrtości sterowania segmentów dla poszczególnych cyfr. Wtedy zapalenie cyfry c wyglądałoby tak: PORTB |= 0b11011; PORTB &= cyfry[c][0];...
Dzięki. Jeszcze mam pytanie, która operacja będzie szybsza (zabierze mniej czasu pracy procesora) - w przypadku multipleksowania i wystawiania jedynki kolejno na port sterujący zapalaniem kolejnych wyświetlaczy, czy przesuwanie bitów zerując i ustawiając wyjścia portów, czy podawanie w jednej linijce np PORTA=0x02; itd
Tak jak wspomniał GienekS musisz zwrócić uwagę czy dany pin jest skonfigurowany jako wejście (DDRX.n = 0) czy wyjście (DDRX.n = 1) gdzie X to literka portu (ATtiny2313 posiada PORTA, PORTB i PORTD) a "n" to numer pinu. LPT ma poziomy 0-5V, dlatego takim napięciem musisz sterować uC. Generalnie można pozbyć sie stanów wiszących poprzez podpięcie rezystora...
Witam Próbuje zrobić program na AtMege16 Program ma działać w następujący sposób: Przyciskam 1 guzik z klawiatury (klawiaturka jest 4x4, ale wykorzystywane tylko 3x4) i ma zapalić się dioda 0 (podłączona do portu A pin 0) i zgasnąć z opóźnieniem powiedzmy 30sekund Przyciskam 2 guzik i zapala się dioda 1 (PA 1) z opóźnieniem 30 sekund i gaśnie po takim...
Witam, Opiszę może krótko sytuację: mam atmega16, na timer1 mam ustawiony tryb pracy pwm, używam kilku pinów na PORTD i PORTA do sterowania mostkamiH. Potrzebuję odmierzanie czasu 10ms i chciałem to zrealizować przy pomocy przepełnienie od timera0 lub timera2. Niestety kiedy chcę obsługiwać przerwanie od przepełnienia T0 lub T2, to całkowicie psuje...
Pin 5 czyli R/W podłączony mam do masy. Config Lcd = 20 * 2 Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.6 , Rs = Porta.7
Tak lekko zmieniłem bo może zrobiłbym to inaczej ;) [syntax=vbnet]Dim Aktywne As Byte Odbior_pilota: If Komenda = W_gore Then Incr Aktywne If Aktywne > 4 Then Aktywne = 1 Elseif Komenda = W_dol Then Decr Aktywne If Aktywne > 4 Then Aktywne = 4 End If Select Case Aktywne Case 0 Gosub Aktywuj_pc Case 1 Gosub Aktywuj_cd Case 2 Gosub Aktywuj_tuner Case...
opis procesor ATmega8535,16 MHz dwa wyswietlacze LED czterocyfrowe , jeden "temperaturowy" drugi "zegarowy" portA.0-7 steruje "cyframi" D1-D8 portC.0-7 steruje "elementami" A-Dp założenie jest takie : na jedym wyswietlaczu pokazujemy czas , a na drugim temperature jak to zrobic ???? moze jakis kawałek kodu lub wskazówki ? przeszukałem elektrode , znalazłem...
Witam. Problem zdaje się polegać na tym że mój mikrokontroler przestał reagować na polecenia. Poniższy program polega na tym że diody (sterowane minusem z pinu) kolejno zapalają się w te i z powrotem. Poniższy program wcześniej mi działał, ale przestał. Nie wiem czy mogłem coś nieopacznie podłączyć i wyrządziłem jakąś szkodę mikrokontrolerowi? Fusbity...
Witam, niestety 874 w stosunku do 873 jest rozbudowana wersja posiadajaca wiecej wyjsc, przetwornikow ADC itp. powinien on kosztowac jakies 5-6 euro wiec ze 20-25PLN nie wiem czemu tam jest drozsze moze maja jakies wlasne koszty. Roznica miedzy 873 a 874 wynosi 1 euro na rynku. Pozostale elementy OK, Pomysle chwilke byc moze da sie to zrobic na mniejszym...
Ustaw jako wyjścia A0,A1,A2 i spróbuj tak: void cyfra1(void) { PORTA = 0x01; } void cyfra2(void) { PORTA = 0x02; } void cyfra3(void) { PORTA = 0x04; } Odpada ci robienie ON OFF do każdego wyświetlacza. Każdy wyświetlacz wywołujesz przez cyfra1();, cyfra2(); albo cyfra3(); albo możesz też przez makra:...
np : config porta.1 = INPUT PINA.1 = 1 if porta.1 = 0 then 'zrob cos end if sterowanie Pinem : PINA.1 = 0 'zero PINA.0 = 1 'jedynka
Witam, Nie wiem jakie jest kolegi doswiadczenie ale przykladowo uklad 8255 sterowany z portu LPT czy mikrokontrolera, PortA to data, PortB i czesc C to Address reszta C to piny kontrolne WE itp. reszte (OE, CE) ustawiamy na sztywno od masy lub Ucc, no potrzebny jest tez klips do zalozenia na SRAM'a i podpiecia do 8255. Lub zamiast 8255 3x '373 czy podobny...
Witam. Napisałeś: Config Porta = &B11111111 to jest kierunek transmisij dopisz Porta = &B11111111
Nie wiem co ma z tym wspólnego samo PC. W przypadku Windows XP , HUB zostaje wykryty jako kontroler USB i nie ma to nic wspólnego z kontrolą wysyłania czy odbierania danych . Do huba nie wyślesz danych , jak i nie odbierzesz , sterować można dopiero czymś co do niego podłączysz .
$crystal = 1000000 'Deklaracja częstotliwości kwarcu $regfile "m16def.dat" 'deklaracja modelu procesora Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'Konfiguracja Timera Ddrb = &B11111111 'Odblokowanie globalnego wyjścia OC1 Dim Szybkosc As Byte ' okres swiecenia diody byte-255ms...
jeżeli zadeklarujesz : Pk_1 alias portA.0 Pk_2 alias portA.1 Pk_3 alias portA.2 ..... ..... ..... Pk_20 alias portC.3 to zmiany będziesz dokonywał tylko w deklaracjach , reszta programu zostanie bez zmian (jeżeli Pk_20 podłączysz np do portu A.0 to zmiana Pk_20 alias portA.0 i już) Ale chcąc sterować w pętli pamiętaj że : 1=2^0 2=2^1 4=2^2 itd... jeśli...
Witam wszystkich. Proszę o pomoc - muszę sterować tranzystorem PNP (BD244C) przez mikro kontroler atmega32 lecz niestety nie wychodzi mi coś - pytanie jest co robię nie tak. Z racji logiki tranzystora steruję nim stanem niskim przykładowo PORTA &= ~(1<<PA4); oczywiście na bramkę podając stan niski przez rezystor 470ohm 892782 Nominalnie pin...
Witam. jestem w trakcie realizacji szopki bożonarodzeniowej. chciałbym uzyskać efekt gwieździstego nieba. Wykonałem płytkę na której znajduję się ATmega32 z kwarcem 32MHz, który do portów A,C i D ma podłączony ULN2803. W sumie 24 wyjścia w układzie darlingtona. Od pewnego czasu próbuje każde z tych wyjść zmusić do generacji przebiegu PWM. O ile udaje...
Czy mozna cos takiego w Bascom (lub jakis inny kompilator) zastosować ? dla atmega8 if cos tam then config pina.1 = Input set pina.1 if pina.1 = 1 then cos tam if cos tam then config porta.1 = Output porta.1 = 0 chodzi o sterowanie generatora DTMF MT8880 przez atmega8
Na razie nie zajmowałem się programem od strony USB. "Sterowanie": mam na myśli jedynie ustawienie stanu niskiego i wysokiego pinów CS i RD/WR przetwornika zgodnie z datasheet przetwornika. Przez #define adc_port PORTA | PORTB chciałem zdefiniować, że sygnał z ADC wchodzi na piny portów A i B MCU.
Jak podłączyc switche pod atmega32 i jakby mial wygladac kod pod sterowanie diodkami. Ponizej zamieszczam kod ale mi nie wychodzi i nie wiem z jakiego powodu czy podlaczenia switchy czy kodu, czy moze z tego i tego powodu. #include <avr/io.h> #include <util/delay.h> int main() { DDRD = 0x00; DDRA = 0xFF; PORTA= ~0xFF; while(1){...
Przecież sterowanie prosto z procesora też jest bardzo proste. A sposób podłączenia masz podany. Ale widzę że muszę się powtórzyć. XL - Porta.2 XR - Porta.0 YD - Porta.3 YU - Porta.1
Witam, Chcę na wyświetlaczu odmierzać czas od 999 sekund do 0. Jaka jest ogólna idea sterowania takimi wyświetlaczami za pomocą ATmega16? Poniżej zamieszczam napisany przeze mnie fragment kodu, liczby wyświetlają się prawidłowo, natomiast przez dłuższy czas wyświetlana jest tylko i wyłącznie jedna cyfra (przez delay'e). Czy do tej czynności wykorzystuje...
Komatssu a dlaczego nie mogę użyć transformatora z odczepem? Czy chodzi o to zwieranie uzwojenia w momencie przejścia sinusa przez 0 o czym wspomina gość na filmie czy przyczyna jest całkowicie inna? Tomasz.W niestety nie mam dostępu do tego numeru. Udało mi się tylko dowiedzieć że artykuł był rozciągnięty na 2 numery 2004/02 i 2004/03. Jeśli masz możliwość...
Widzisz, niedokładnie to przepisałeś, stąd problem :) W oryginale jest: inline void write_memory(unsigned char x, unsigned char y, unsigned char value) { PORTA=x; PORTC=y; PORTB=0b00000000; PORTB |= value; PORTB |= _BV(PB0); } Sprytnie jest to pomyślane, pewnie pod PORTB podłączone są linie D0-D7 pamięci i pod B0 linia WR....
Ciebie najbardziej powinien interesować kawałek: uint8_t temp; uint8_t loop; PORTA = 0xff;//Rozpoczęcie sygnału sterującego _delay_ms(0.6);//Odczekanie minimalnej długości sygnału strującego temp = PORTA; for(loop=0;loop<181;loop++)//... sygnałów sterujących dla odpowiedniego przemieszczenia ramienia { if(S0==loop){temp...
Procedury: //linie rtc #define DS _BV(PB2) #define AS _BV(PB0) #define RW _BV(PB1) //adresy w rtc #define SEKUNDY 0x00 #define MINUTY 0x02 #define GODZINY 0x04 #define DNI 0x07 #define MIESIACE 0x08 #define LATA 0x09 #define DZIENT 0x06 #define REJESTR_A 0x0A #define REJESTR_B 0x0B void zapisz(unsigned char dana, unsigned...
Coś w tym stylu chyba jest prawidłowo? Port C.4 ustawiłem na sztywno jako logiczne zero bo to pin CS FX506 [syntax=vbnet]Config Portc.4 = Output 'CS Fx506 Reset Portc.4 'CS Fx506=0 Config Porta.7 = Output 'Clk Fx506 Config Porta.6 = Output 'Data FX506 Dim Var1 As Byte Dim Var2 As Byte Dim Var3 As Byte Dim Var4 As Byte Dim Var5 As Byte Dim Var6 As Byte...
Jeśli dobrze zrozumiałem kod wyglądałby mniej więcej tak: [syntax=c]#include <avr/io.h> #include <util/delay.h> //definicje pinów sterujących #define WE_A PA0 #define WE_B PA1 // definicje poleceń sterujących pracą silnika #define DC_LEWO PORTA &= ~(1<<WE_A); PORTA |=(1<<WE_B) #define DC_PRAWO PORTA |=(1<<WE_A); PORTA...
Kupiłem właśnie serwo " Tower Pro SG-5010 ". Wcześniej się nie bawiłem serwami. Sterowane jest z atmegi16, i zasilane dobrym zasilaczem 5V (wspolny dla atmega16 i serwa). Sterowanie wyglada ogolnie tak: PORTA |=_BV(0); //-ustaw _delay_ms(wysoki_stan); PORTA &=~_BV(0); //-skasuj _delay_ms(niski_stan); Czyli bardzo prosto. Zgodnie z tym co oczytałem się...
Witam potrzebuje zrobić prosty układzik do obracania silnika bipolarnego na atmedze8515 i jako driver dałem L293D Układ zrobiłem według schematu, napisałem prosty kod Poradzcie? $regfile = "m8515.dat" $crystal = 16000000 Do Set Porta.0 : Reset Porta.1 : Set Porta.2 : Reset Porta.3 Waitms 10 Set Porta.0 : Reset Porta.1 : Reset Porta.2 : Set Porta.3 Waitms...
Witam, chciałem napisać program do śledzenia słońca używając fotorezystory. Napisałem program na mikroprocesorze atmega32, niestety gdy go testuje program zaczyna "świrować" . Jak narazie testowałem tylko dla kierunku zachód-wschód, podłączyłem do wejść A4 i A5 żeby sprawdzić sygnał i to właśnie z tym sygnałem mam problem. Diody się kompletnie randomowo...
Oks, faktycznie uC daje radę, dzięki za pomoc :> Mam jeszcze jeden nierozwiązany problem. Otóż teraz mam układ: http://obrazki.elektroda.net/86_12885611... Chciałbym, aby gałąź ze switchem dochodząca do PA0 sterowała pracą LEDów poniżej kontrolera. Jak powinienem ustawić DDRA oraz PORTA? Jakiej funkcji użyć? bit_is_clear czy bit_is_set? A moze...
Starałem się jak tylko potrafię żeby opisać poszczególne etapy kodu. Ale ogólnie zasada działania jest prosta: Deklarujemy dwie tablice sinusa i trójkąta, następnie deklaruję 3 zmienne, które są regulowane on-line. Podczas pracy sterownika możemy regulować amplitudą sinusoidy (od 0 do 5V), dalej możemy również regulować częstotliwością trójkąta (wypełnieniem)...
wymyśliłem sobie że Atmega8515 bedzie sterować wyświetlaczem 4x40 + dodatkowo 4dsy 18b20 wkażdej lini pomiar temperatury (bardzo ładnie bedzie to wyglądało razem z opisami temperatur) a problem jest następujący: wszystko działa z wyświetlaczem 2x16 a niemoge (nieumiem) napisać programu w C dla avr aby sterować E1 , E2 czyli enable w Code Vision ds pdpiołem...
Jeżeli Ci to pomoże to mam kod który po naciśnięciu przycisku dodaje wartość do licznika i wyświetla stan licznika binarnie na diodach. #include <io.h> #include <util/delay.h>//biblioteka funkcji opóźniającej unsigned char licznik;//deklaracja zmiennej int main(void){ DDRB = 0xff;//port b jako wyjście PORTB = 0xff;//port b w...
witam:) ogolnie chodzi o to ze w zasadzie za duzego pojecia nie mam ale troche elektroniki skrobnąłem a i programowanie nie jest mi obce:) w tym momencie szukam porad jak zrobic panel swietlny( kilka rzędów zwyklych diodek swiecacych) podłaczony do kompa przez którys z portow( chyba najlepiej RS232). sterowanie zapaleniem/gaszeniem diod chce zrobic...
Odnośnie uwag użytkownika tmf: - pominąłem w poście (przeoczenie) funkcje zapisu do eepreomu ale wiem że musi takowa być - flaga w przerwaniu ma spowodować odbiór danych w pętli while (chodziło o zrobienie tak aby przerwanie trwało jak najkrócej). W poście zapomniałem jedynie o kasowaniu flagi po odebraniu danych - tablica jest zadeklarowana w pokazany...
Schematu jako takiego nie mam. Konfiguracja jest opisana na początku kodu: [syntax=c] #define SET_OUT_CLR DDRA |= (1<<PA4) #define SET_CLR PORTA |= (1<<PA4) #define CLR_CLT PORTA &= ~(1<<PA4) #define SET_OUT_DT DDRA |= (1<<PA5) #define SET_DT PORTA |= (1<<PA5) #define CLR_DT PORTA &= ~(1<<PA5) #define SET_OUT_RST...
Witajcie. Popatrzyłem na inne tematy w google, na elektrodzie itp. ale nie mogę znaleźć satysfakcjonującej odpowiedzi :D Otóż mój problem polega na tym, że chcę sterować moją super lampkę jednym przyciskiem. Niestety po wielu próbach cały czas jestem niezadowolony z rezultatów. Tryby pracy przeskakują to z I=1 do I=3 itd. Ogólnie cały układ albo pracuje...
JTAG'a brak czyli zostaje mi tylko symulacja Przykładowy kod programu z lewej zaznaczone dokąd dochodzi mi żółta strzałka #define F_CPU 16000000 #include <avr/io.h> #include <util/delay.h> #include <HD44780.h> #include <HD44780.c> //====Sterowanie serwem modelarskim===================== #define C4_0 PORTA &= ~(1<<PORTA4)...
Programuję sobie radośnie atmegę 32 w języku C. Staram się sterować portem (akurat upatrzyłem sobie PORTA) poprzez RS232. Komunikacja mi chodzi poprawnie (program testowy odsyła odebrany tekst) Wysyłać będę 1 znak (0...9) poprzez uart. Procesor zamienia tekst na wartość int za pomocą funkcji [url=http://www.cplusplus.com/reference/...
Niestety nic to nie daje :/ $regfile = "m16def.dat" $crystal = 8000000 Config Porta.1 = Output Porta.1 = 1 Wait 2 Porta.1 = 0 To jest mój program (BASCOM) lecz kod jest napewno OK
Witam, Natknąłem na problem, z którym nie mogę sobie poradzić. Mam klawiaturę muzyczną 49 klawiszy, która połączona jest w sposób matrycowy, 10 kolumn po 5 wierszy. Klawiaturą struję tak, że w każdym obiegu pętli ustawiam jedynkę na kolejno każdej kolumnie, odczytując stany wysokie na każdym wierszu. Z tego obliczam numer naciśniętego klawisza. Kod...
Hej! W Bascomie do odczytu portów z PCF8574 służy polecenie I2CReceive. W helpie wszystko jest ładnie opisane. Może ten programik ci się na coś przyda (oczywiście nazwy pinów dopasuj do swojego układziku): Config Sda = Porta.6 Config Scl = Porta.7 Dim A As Byte Dim B As String * 2 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3...
muszę kupić ten rezystor ale zastanawia mnie jaką on rolę ma pełnić, ogólnie pinb.6 sterowany ma być stanem niskim, tzn po zwarciu do masy pinb.6 procesor ma zmienić stan wejścia na porta.1. Niestety tak się nie dzieje, tzn pinb.6 jest zwierany do masy, stan na nim zmienia się z 4,7V na 0V ale na porta.1 nie reaguje. Procesor jest sprawny bo jeśli sztywno...
Ok, coś pokombinowałem. Teraz proszę o sprawdzenie czy to dobrze zrobiłem :) Kod trochę poprawiłem. [Edit] Jeśli chodzi o kod to na pewno jest on napisany bezbłędnie. Tylko teraz pytanie jest takie czy spełnia on założenia tego co miałem zrobić? Niestety nie posiadam płytki, żeby to przetestować, ale ktoś bardziej doświadczony ode mnie może będzie wiedział...
ja bym to zrobił jakoś tak: [syntax=c] #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { DDRA = 0xFF; DDRB = 0x00; while(1) { if(bit_is_set(PINB,0)) { PORTA =(PORTA<<1)+1; _delay_ms(20); while(bit_is_set(PINB,0)); _delay_ms(20); } if(bit_is_set(PINB,1)) { PORTA =(PORTA>>1); _delay_ms(20); while(bit_is_set(PINB,1));...
Sterowanie multiplekserem wygląda tak: http://obrazki.elektroda.pl/6191460000_1... Tak jak pisałem problem jest tylko z poziomami napięć na wejściach sterujących 4052. W stanie wysokim jest 3v3 i jest OK. W stanie niskim jest 0,1 V i multiplekser "nie rozumie że jest to logiczne zero". Dopiero zwarcie A i B do masy kabelkiem powoduje prawidłowe...
Musisz napisać jakim napędem chcesz sterować i czym chcesz sterować (jakie funkcje mają być dostępne). W dokumentacji znajdziesz rozpiskę I/O. Przy sterowaniu dyskretnymi I/O w PLC przeważnie trzeba sprawdzić czy napęd jest gotowy (READY) odblokować sygnał STOPu, wybrać kierunek (DIR) i wystawić wartość START.
Witam, napisałem taki oto kod: [syntax=basic4gl] Rem Regulacja jasności świecenia diody LED Rem zmienna JASNOŚĆ ma byc przedstawiona Rem w postaci liczbowej na wyświetlaczu LED $regfile = "m32def.dat" $crystal = 16000000 Ddra = &B11111111 'sterowanie katodami wyświetlacza LED Porta = &B11111111 'katody segmentów zgaszone Ddrc = &B00000000...
(at)ElektrodaBot Zaproponuj framework dla avr gcc tablicowego dostępu do poszczególnych pinów portu w atmegach, podobnie, jak robi to HAL w arduino. Chodzi o to, aby definicje pinów obejmowały adresy rejestrów DDR, PORT i PIN łącznie z bitami danych pinów sprzętowych. Chodzi o to by nie musieć definiować np. pinu kontroli LED czy przycisku jako trzech...
Witam Zrobilem sobie projekt zegarka na wyswietlaczach 7led. Uproszczony schemat zamieszczam w zalaczniku. Programuje troche w BASCOMIE, ale do tej pory robilem glownie z zastosowaniem wyswietlaczy LCD. Walcze juz kilka dni z probami multiplexowania tych czterech wyswietlaczy i nic nie moge wymyslic. Czy moze mi ktos poradzic jak mam sie do tego zabrac....
Bigfoot napisal : 1. WDT do budzenia - zly pomysl. Pytam sie dlaczego ? --------------------------------- WildHunter napisal : WDT robi reset, a reset budzi. Dlaczego ponizszy program dziala prawidlowo ? movlw.15 option ;podzielnik do watchdoga clrw trisPORTB tuclrfPORTB;wyswietla 0 sleep clrwdt btfscPORTA,0 goto$-2 ;--------------------- incfPORTB,f;wyswietla...
Przejrzałem kod i w zasadzie wszystko sprowadza się do przerobienia funkcji dput, cput i dget lub definicji sterowania portami. W sumie najlatwiej podmienic sterowanie pinami w definicjach na początku : np: #define WRHI PORTA.0=1 #define WRLO PORTA.0=0 zamieniasz na : #define WRHI_PIN 10 // pin do ktorego jest podpieta linia WRHI #define WRHI *AT91C_PIOA_SODR=(1<<WRHI_PIN&...
Witam! Męczę się już z tym dobre parę godzin. Otóż mając kod: [syntax=c] DDRA = 255; //cały port jako wyjściowy DDRC = (1<<0)|(1<<1)|(1<<2)|(... [/syntax] [syntax=c] ISR(TIMER1_COMPA_vect) { switch (wysw) { case 0: PORTC &= ~(1 << 0); PORTC |= (1 << 1); PORTA = cyfra(jednosci); wysw++; break; case 1: PORTC...
W między czasie w końcu zrobiłem tą klawiaturę oto schemat i podłączenie do Xmegi: http://obrazki.elektroda.pl/8620974900_1... i właściwa klawiatura: http://obrazki.elektroda.pl/1140272500_1... I mam taką dziwną rzecz, że jak z uC załączam wiersz w taki sposób: Wszystkie wiersze mam jako piny wyjściowe a kolumny jako...
Fajnie, że podzieliłeś się projektem. Czy próbowałeś zbliżyć się do maksymalnej możliwej szybkości komunikacji z wyświetlaczem OLED, czyli 400 kHz? Jakiego asemblera używasz? Czy tam nie da się definiować makr? Dzięki nim możnaby poprawić czytelność, eliminując wstawki kodu maszynowego (mam na myśli .dw $C000,0 zamiast rjmp + nop) i powtarzające się...
Witam. przykładowy "kod" w rc5 możesz zerknąc do helpa w bascomie nazwa komendy "getrc5" ja z niej kożystam a bynajmniej kożystałem do czasu do puki nie dolutowałem kilku diodek LED do proca i przestał dekodować mi rozkazy z pilota dosłownie już spazmów dostaje dlaczego 1h wcześniej działalo a teraz już nie wrrrr wklejam mój kod który wcześniej działał...
Program w Bascom Atiny 24 Dwa serwo poruszające kamerą. Po włączeniu zasilania pozycja środek. Przyciski. S1_lewo obraca Serwo 1 w lewo S1_praw obraca Serwo 1 w prawo S2_lewo obraca Serwo 2 w lewo S2_praw obraca Serwo 2 w prawo Nie ustawia pozycji środkowej , i nie zmienia pozycji. A to mój kod [/code][syntax=vbnet] 'STEROWANIE SERWOMECHANIZMAMI KAMERY"...
Ok,zrobiłem nowy sterownik z ATMEGA32,mogę wyłączać albo włączać poszczególne kolumny lub wiersze ale jakoś nie mogę pojąć jak tym sensownie sterować,z taką konstrukcją nie spotkałem się w sieci.W sumie wszystko leci przez 2 porty ośmiobitowe zarówno kolumn jak i wierszy,sterowanie odbywa się włączeniem linii CLK raz dla wierszy a raz dla kolumn.Dla...
Na początek oszacowanie parametrów czasowych. Cykl pracy = 2,5 ms. W ramach tego cyklu chcesz sterować wyjściem proporcjonalnie do pewnego parametru w. Podałeś że dla w=187 impuls wyjściowy ma trwać 1,5 ms (dlaczego nie 1,87 ms?) Przyjmijmy dla uproszczenia, że w=0..250 ma odpowiadać impuls o czasie trwania t = 0..2,5 ms. Przy zmianie w o 1, t ma zmienić...
Jak na razie robię tak,że do każdej komendy dopisuje obok co robi ale zadanie na czym innym polega. jest np. OUT PORTA,R16 <--- pisze tutaj, że jest to ( pull-up na wejściu T0) Tak do każdego robię ale nie mam pojęcie jak to zrobić :(. Jaki jest efekt działania poniższego programu? Odpowiedz na to pytanie posługując się informacjami z ostatniej lekcji...
Witam. Faktycznie obsługa LCD jest bardzo prosta. 1. zainicjować LCD ( wybór trybu 4 lub 8 bit ) 2. ustawic dane na pinach D4 do D7 lub D0 do D7 3.ustawic zbocze opadajace na E Zanki wysylamy przy RS=1 Komendy wysylamy przy RS=0 W trybie 4 bitowym. Bajt wysylamy na dwa razy 1. starsza czesc bajtu i zbocze opadajace na E 2. mlodsza czesc bajtu i zbocze...
Witam. Pięknie Panowie piszecie. Przypuszczam że większość z was naukę zaczynało na 8051 lub AVR. Teraz jak już opanowaliście do perfekcji C i zdobyliście bardzo duże doświadczenie w programowaniu to nie macie problemu ze zmianą procesora w zależności od potrzeb projektu. Tylko że w starym AVR aby ustawić port wystarczą dwie lub trzy komendy i już można...
Wykonałem prosty układ do sterowania silnikiem krokowym cztero przewodowym. Wykorzystałem mosfety z wylutu P2804BDG i P5504EDG. Silnik kręci się ładnie i nie szarpie przy czasie opóźnienia 3ms między krokami. Ale coś nie ma wiele siły. Zasilanie 5V 0.4A http://obrazki.elektroda.pl/9482410200_1... http://obrazki.elektroda.pl/6920080300_1...
Witam. Dopiero zaczynam swoją przygodę z robotyką amatorską i natrafiłem na mały problem. Mianowicie zbudowałem układ z mikrokontrolerem Atmega16a, który przy pomocy układu L293D ma sterować kierunkiem obrotu dwóch silników w podwoziu manipulatora(bez PWM). Wszystko niby działa, ale tylko przy naciśnięciu jednego switcha silnik ma prawidłowe obroty....
Czy będzie aktualizacja zegarka w pierwszej wersji, tej bez pilota? Chodzi mi o efekt CROSS FADE. Tak! Wszystkie zegary będą miały możliwość włączenia cross fade. Dla 4xZ566(+2xZ573) właśnie podlinkowałem plik wynikowy: http://www.elektroda.pl/rtvforum/topic26... Dla pozostałych zrobię to "na dniach"! Czy możecie zdradzić kawałek...
Kupujesz dobry zamiennik oryginalnego radia faac ( identyczny z oryginałem) tylko w wersji multi i wpisujesz praktycznie 90% marek pilotów zmienno kodowych. "Stare" radio sprzedajesz na portalu aukcyjnym i jesteś na zero. https://www.napedy.net/radioodbiornik-un...
Cześć. Nie miałem czasu wcześniej tego zamieścić. Nawet teraz go nie mam :D Zerknij. W tych trzech przykładach pokazuję jak można ustawiać zmienną która ma cztery bajty. W Bascom bez problemu możesz nadać Aliasy każdemu bitowi. Wprawdzie zmienna ma cztery bajty, ale to chyba nie problem. Poprzez Shiftout możesz wysunąć tylko 24bity, albo wszystkie,...
Jeżeli masz jeszcze jakieś wolne porty (bity) to może spróbuj wysyłać dane do trzech wyświetlaczy jednocześnie (tak mam, ale dla dwóch LCD). PORTA.3 = CLOCK PORTA.4 = DATA1 (pierwszy) PORTA.5 = DATA2 (drugi) PORTA.6 = DATA3 (trzeci) PORTA.7 = STROBE U mnie w dodatku używam 74HCT164 gdzie nie występuje sygnał STROBE. Zmiana jest na tyle szybka, że nie...
Witam Utworzyłem nowy temat ponieważ nie widziałem żadnego podobnego tematu na elektrodzie. Otóż potrzebuję pomocy odnośnie wyświetlania znaków na wyświetlaczu LCD. Jest on zgodny z HD44780 (jego numer to: WC1602ASFYLY...). Chodzi mi o kod programu napisany w języku Assembler tylko, że bez dołączanych do niego bibliotek oraz przypisywania innych nazw...
Witam. Zabrałem się za matrycę LCM5505-32ntk. Znalazłem wyprowadzenia do niej (LCM5505a.pdf ) jednak tam nie ma żadnych przebiegów czasowych:(. Znalazłem natomiast coś o matrycy LCM5505-22nak (LCM5505.pdf) ,nie jest tam za dużo ale już coś i przypuszczam że działa podobnie do LCM505-32ntk. I teraz chciałem podłą czyć ten LCD do ATmega16 na 16MHz (kod...
Witam. Koledzy mam problem ze sterowaniem lampami nixie za pomocą 74141 i attiny26. Lampy są multipleksowane a problemem są zapalające się niepotrzebnie cyfry. Wszystko niby działa dobrze ale cały czas wsadzają się nieproszone cyfry. Podejrzewam że problemem jest to że 74141 i transoptory załączające anody podłączone są do jednego portu procesora. Nigdy...
Kupiłem ostatnio silnik krokowy bipolarny VEXTA C9845-9012KGM z przekładnią 36:1 ([url=http://catalog.orientalmotor.com/p... w tym stylu). Na wyjściu mam 0,05 stopnia na krok przy...
Tak, jak już pisałem, nie tędy droga. Trzeba zrozumieć, ze Menu czyli interfejs programu z człowiekiem powinno być tylko jego nakładką graficzną. Nie może być tak, że kiedy jesteś w Menu to program zaniedbuje cały system, na przykład nie pilnuje zadanych temperatur. Pomyśl co by było gdyby termostat sterował grzałką w akwarium a Ty sobie radośnie wszedłeś...
Witam, napisałem sobie pewien kod bo chciałem spróbować sterować dwoma wyświetlaczami LED przy pomocy multipleksowania. Niby działa ale nie do końca tak jak powinno, chodzi o to, że na załączonym obrazku w miejscu cyfry 2 widać, że wyświetla się ona jasno, tak jak powinna ale wyświetla się razem z cyfrą 6 (jest ona ciemniejsza), która powinna być tylko...
Kuniarz Deklaracje procesora i taktowania daję :) Opuściłem ją specjalnie, a program kompiluje się i nie wywala błędów. Mimo wszystko i tak nie działa. Edit: Poradziłem sobie :) Zrobiłem to tak i działa tak jak chciałem. [syntax=basic4gl]If Pinb.1 = 0 Then If Pk2 = 1 Then Waitms 100 Toggle Portb.5 Pk2 = 0 End If Toggle Porta.0 Waitms 100 Toggle Porta.0...
Jesli CLK zadefiniujemy jako pin (port) to czy ta operacja jest dozwolona?? CLK=1 czy powinno być tak? PORTa &= ~(1<<CLK); WYLACZANIE PORTa |= 1<<CLK; WLACZANIE Nie bardzo rozumiem: if(tablica_zawartosci_LCD[n%8 ... & (1<<n%8)) Dlaczego reszta jest wyciągana z dzielenia przez 8, a nie 2? Ciagle...
Witam potrzebuję pomocy w skończeniu programu w basicu. Mikrokontroler steruje wyświetlaczem LED wyświetlając znaki w zależności od tego jakie stany są wejściach portu D . Program działa ok tylko nie wiem jak zrobić procedurę wyświetlania znaku kiedy na wejściu portu D są same jedynki. Proszę o pomoc. Poniżej listing: Config Porta = Output Porta = 255...
(...)w jaki sposob zrealizowac uklad zamieniajcy typowy szeregowy sposob transmisji po TxD na rownolegle 8-16 wyjsc?(...) ...zapewne na podstawie rejestru przesuwającego z zatrzaskiem, ale w dzisiejszych czasach można użyć jakiegoś prostego mikrokontrolera.
Stan będzie się utrzymywał, aż nie wpiszesz nowej wartości do potu A.
To są poszczególne segmenty wyświetlacza: Segment A PORTA.1 Segment B PORTA.2 Segment C PORTA.3 Segment D PORTA.4 Segment E PORTA.5 Segment F PORTA.6 Segment G PORTA.7 Jeszcze powinna być kropka na PORTA.0, ale może ktoś nie potrzebował i nie dopisywał po prostu. Wyświetlacze 7-seg. mogą występować w wersjach z 1,2,3,4 cyframi (są to wtedy tak naprawdę...
Witam, Mam ATmege16 i chce zrobić zegar RTC. Mam podłączony wyświetlacz LD 16x2 i mam taka opcje steruje podświetleniem poprzez sygnał PWM1b Ogólnie mój kod wygląda tak: $regfile = "m16def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0...
Witam Odnawiam temat i załączam najnowszą wersję programu Kilka potrzebnych informacji dla odpalenia programu Kwarc 16MHz LCD 4x20 $regfile = "m128def.dat" $crystal = 16000000 Config Porta = &B11111101 : Porta = &B11111111 Config Portb = &B10001111 : Portb = &B11111111 Config Portc = &B11111111 : Portc = &B11111111 Config Portd...
Od paru tygodni mecze sie z tym programikiem i ciagle mam te same problemy. Jezeli chce naprzyklad ustawic dowolne stany na wyjsciach to $crystal = 4000000 $regfile = "8515def.dat" Config Porta = Output Config Portb = Output Do Set Porta.2 Reset Porta.1 Reset Portb.3 Set Portb.1 loop end tak napisany program nie działa :(, aby mi sie pokazalo no wyjsciach...
blaupunkt porta porta vector drzwi porta
nagłośnienie plenerowe skuter benzer volvo silnika
kamera samochodowa rejestrator wybór lodówki
Nie przełącza benzyny na gaz - wyrwany manometr Jak wymienić obudowę radiomagnetofonu Sony CFD-101