Czy na 100% masz układy PCF8574 bez literki A na końcu? Ja bym jeszcze sprawdził czy układ odpowiada impulsem ACK po podaniu adresu.
Jak chcesz wpisywać liczbę z klawiatury to powinieneś uwzględniać wagę poszczególnych składników tej liczby. Pierwsza cyfra z trzech to, waga=100 zatem key*100, przy następnej cyfrze waga=10 zatem key*10, a na koniec samo key bo waga=1 i operacja mnożenia jest zbędna, jak to wszystko zsumujesz to otrzymasz ostateczną liczbę. Np. liczba 467 to 4*100+6*10+7....
Kolego, znów rzucasz się na głęboką wodę pisząc program metodą Copy'ego Paste'a... Nie masz uruchomionego I2C, a chcesz czytać coś po tej magistrali. Na początek włącz I2C. Jak ? Pomyśl !
Można to zrobić, jest to ładnie opisane w książce Pana Marcina Wiązani programowanie mikrokontrolerów w języku bascom na stronie 276.
No to spróbuj - zmienną wysyłasz jak normalną wartość, w Bascom ustawienie bitów w niej będzie się odbywało tak samo jak majstrowanie z rejestrami PORTn.x.
Witam ja dam od siebie kod w bascom LCD 2x16 na PCF8574+DS18B20 [syntax=basic4gl] $regfile = "m8def.dat" ' specify the used micro $crystal = 16000000 ' used crystal frequency ' default use 40 for the frame space $baud = 9600 $lib "Lcd_i2c.lib" ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 32 ' default use 10 for the...
Jaką masz dokładnie wersje układu pcf8574 czy pcf8574A bo różnią się one adresami. Linie SDA i SCL podciągnięte do zasilania?
Przy przeszukiwaniu i2c znajduje układzik pod adresem 78 Prubuje wysłać do niego dane: I2cstart I2cwbyte 78 I2cwbyte 0 I2cstop i nic :(( układ nie raguje prubowałem juz z desperacji cos takiego: Adres = 50 Wartosc = &B11001100 '-------------- START --------------------- Do Waitms 300 I2cstart I2cwbyte Adres I2cwbyte Wartosc I2cstop Adres = Adres + 1...
Bardzo przyjaźnie jest to opisane w nocie katalogowej na stronie 13. A tu mały przykład tylko zapis. Ważne jest adresowanie konkretnego układu z literką na końcu np. PCF8574T jest inaczej adresowany jak PCF8574A , a oto przykład zapisu. [syntax=vbnet]I2cstart I2cwbyte &B01110000 ' write slave adres twojego układu I2cwbyte &B00000001 ' ustawienie stanu...
Nie pamiętam z kąd to wziąłem, ale dołączam 2 przykłady: dla zwykłego LCD i dla Nokia lcd.
Sposobów na Menu jest dużo. Nigdy nie sprawdzałem tego z załącznika, ale jak przeczytałem o tym że adres będzie powiększony o 10 to mi się te menu przypomniało i możesz zerknąć - nie zawadzi. Drugi przykład na takie Menu jak opisywałeś w pierwszym poście znajdziesz u siebie na dysku :D W folderze Samples (do którego możesz wejśc bezpośrednio z Bascom...
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...
Łap. Dlatego że ta biblioteka obsługuje też najnowsze uC ze stajni Microchipa to jesli starszy Bascom trzeba to napisać tak: https://obrazki.elektroda.pl/2229481800_... [syntax=vbnet] 'Konfiguracja i2c Const _XTINY = 0 $lib "i2c_twi.lib" Config Twi = 100000 Config Sda = Portc.1 'dla M16/M32/M644 Config Scl = Portc.0 I2cinit Dim Pcf8574_lcd...
Brakło mi linii I/O postanowiłem więc dołączyć expander pcf8574 2szt do której mam podłączone 11 przycisków i 5 zworek (jumpry). W odpowiedzi otrzymuję z każdego z nich bajt. Jak rozłożyć go na 8 liczb (128,64,32,16,8,4,2,1) aby w prosty sposób wywoływać 8 podprogramów. ?
Uruchamiasz na płytce startowej? Stawiam na błąd w montażu.
(at)bomarek Witam ! Jeśli dopiero zaczynasz "zabawę" z tym projektem i brak w Twoim komputerze portu LPT to proponuję zmianę mikroprocesora na jego pinowy odpowiednik ATtiny2313. ATtiny2313 programujemy tanim programatorem USBasp. Jednak trzeba przerobić kod programu nawijarki w Bascomie AVR, oryginalny program to tylko przykład sterowania nawijarką....
kod ( właściwie część dotycząca PCF8574AP ) Piny P.0 - P.4 do switchy, podciągnięte do VCC przez rezystor 10 K, wyjście INT układu PCF8574 podciągnięte przez rezystor 10k do VCC Poprzedni układ był na Atmega328, ten jest na Atmega1284P Przy uruchomieniu jest tak, że miga pierwsza opcja menu - ustawienie minut, na przemian z tym co powinno być wyświetlane...
Mam pytanie. Klawiatura szesnastkowa do systemów uP AVT-2503 opracowana jest na dwóch ośmiobitowych portach PCF8574 i2c. Klawiatura ma szesnaście klawiszy. Zastanawiam się dlaczego na dwóch PCF-ach??? Przecież można zrobić matrycę klawiatury 4x4 na jednym PCF-ie, prawda? A może się nie da? Może jest coś, o czym powinienem wiedzieć??? Czy ktoś mógłby...
Bascom jak najbardziej "da radę". Nie pamiętam ile ekspanderów PCF8574 można połączyć razem, ale chyba do 8-miu (3 bity adresu). Jest jeszcze wersja 8574A i ona ma nieco inny prefix adresu - czyli następne osiem. I2C jest dość wolne, więc to też może być ważne gdy jest wiele źródeł i odbiorników.
Da się dużo prościej: Pcf8574port.0 'stan wejścia P0 Pcf8574port.1 'stan wejścia P1 Pcf8574port.n 'stan wejścia Pn Dokładnie tak samo jak obsługa poszczególnych pinów procesora. W języku BASCOM BASIC operator kropki to operator wyłuskania bitowego - pozwala na dostęp do poszczególnych bitow dowlonej zmiennej, nie koniecznie tylko rejestrów PORTx i PINx.
Mam kilka artykułów na ten temat. Bardzo łatwo jest zrobić obsługę i2c w bascom na 8051. Polecam przeczytać bascom collegge.
Dwa pytania, jesteś pewny że posiadasz PCF8574A, a nie PCF8574? PCF8574 ma inny adres. Nogi układu A0, A1 i A2 są podłączone do GND czy do +5V?
Sprawdz na schemacie jakie maja byc dokladnie uklady PCF8574 czy PCF8574AP .Jesli PCF8574AP a wlozyles PCF8574 to nie bedzie dzialac i odwrotnie.
a jakie zastosowałeś układy PCF?? bo jest roznica pomiedzy PCF8574 a PCF8574AP...
Kolego FREDY "rozsypie" to miałem na myśli ten czas obsługi. Jeśli bym jednak wykorzystał timer1 tylko do celów PWM programowego czy może być konflikt miedzy między dwoma timerami
Jeśli sprawdzałeś na kilku prockach i zaden się nie programuje, to może być jezcze taka przyczyna, że są dwa rodzaje PCF'ek PCF8574 i PCF8574A. Działają tak samo, ale mają różne adresy. Obydiwe PCF'ki w programatorze muszą być jednakowe. Trzeba też ustawić w OPTIONS-->PROGRAMER które są zastosowane. Jeśli wersja PCF8574A to zaznaczyć "ptaszka" jeśli...
Problemem był błąd z ustawieniem Timer - inny był w konfiguracji a inny w podprogramie Time. Co do I2c to zapomniałem, że PCF8574 pokazuje faktyczny stan portów, zauważyłem to przez przypadek, jak dałem na LCD stan bajtu odbieranego z PCF8574, cały czas było 255 a wciśnięcie jednego lub kilku klawiszy zmieniało tę wartość.
W tym temacie: [url=http://www.elektroda.pl/rtvforum/to... masz krótki programik do przeszukiwania magistrali I2C. Skompiluj i wgraj będziesz wiedział czy układ jest wykrywany pod odpowiednimi adresami.
A co ma piernik do wiatraka :?: Błąd masz w programie , a nie w sprzęcie :D To była moja odpowiedź na poprzedni post. zumek , dzięki! Rozwiązałeś mój problem. Że też ja nie zauważyłem żadnego związku między prawidłowym wynikiem a błędnym: 00 1 -> 11 0 0 1 0 -> 1 0 1 1 00 -> 0 11 Zapomniałem wspomnieć o tym, że dioda mrygała siedmiokrotnie przy żadnym...
No jeden i drugi musi być albo PCF8574 albo PCF 8574A. Pozmieniaj jeszcze ustawienie port delay, bo może to też być przyczyną.
to jeszcze zobacz jakie układy masz zamontowane w nim - pcf8574 czy 8574A bo to jest róznica - potem to samo trzeba wybrać w opcjach programatora - albo albo.
mam program i opis jak obslugiwac kalwature od PC pod Atmega w bascom AVR jak chesz to odezwij sie na maila to wysle bo nie bede udostepnia ltego na forum
Moim zdaniem przyczyna leży w obsłudze przerwania. Przerwanie INT0 jest uruchamiane opadającym zboczem (Falling) CHA zmiana sie 1 -> 0. Dodatkowo w przerwaniu są instrukcje sprawdzające czy kanały są w stanie 00. Stan 11 jest pomijany. By móc rejestrować zmiany 0 -> 1 można ustawić przerwanie INT1 na wyzwalanie zboczem narastającym (Rising) i sprawdzać...
(at)zumek o co chodzi w tym bo nie mam przy sobie podrecznika do Bascom ale co napisales juz mi sie podoba. .equ Pcf = &H60 tego nie rozumiem Ja tam tempy jestem z bascoma a do ATmega32 mam tylko eng. instrukcjie to tez z czytaniem mam problemy.
Sprostuję, mam schemat z innymi oznaczeniami elementów ( sam programator ) sprawdź elementy: R5, R6, T3, D3, D4 Jakie masz napięcie na kolektorze T3 ? W którym miejscu zmniejsza się napięcie zasilające ? Czy płytka jest fabryczna ? Jeszcze jedna ważna sprawa, oba układy ( programatora ) PCF8574 muszą być identyczne jeśli masz np. PCF8574A musisz to...
Trzeba zaopatrzyć się w bibliotekę I2Cslave która nie jest standardowo dołączana do Bascom ;) Występuje jako Addon. W Samplach zapisanych w Moje dokumenty/McsElectronic/Samples masz przykłady jak z Attiny zrobić PCF8574 i podobne. Tu możesz poczytać u źródła http://wiki.mcselec.com/bavr/CONFIG_I2CS... ...jesli koniecznie chcesz to zrobić po I2C. Masz...
chce zrobić klawiature matrycową taką jak w bascom koledz na pcf8574 tylko że tam jest na 8051 ja chce zrobić na avr 90s8515 jak to zmienić $regfile = "8515def.dat" Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6 Config Sda = Porta.1 Config Scl = Porta.0 I2cinit Dim Value1 As Byte Dim...
89c2051 + PCF8574 (sterowanie przekaźnikami lub triakami przez optotriak typu MOCxxxx).Zrobiłem kilka takich urządzeń i pomimo że są stosunkowo proste działają znakomicie od pół roku. U mnie sterują załączaniem silników w linii podającej trociny do pieców CO. Jeżeli chodzi o procesor może być również jakiś AVR. Reszta to kwestja programu.
Witam! Chcę zmodernizować pewne urządzenie które steruje 5 filtrami a każdy filtr ma po 6 elektrozaworów. Koszt zrobienia na sterowniku PLC który by miał min. 32 wyjścia tranzystorowe + panel td200 - odpada. Każdy filtr pracuje niezależnie. Czyli musze zrobić 5 podprogramów które będą działać niezależnie. Czy da się to zrobić? Chcę zastosować Atmega32...
Jest to pomysł, aby nadać pewne priorytety czynnościom. Np. dla mnie ważny jest zapis, więc może dam dodatkowy warunek - sprawdzanie stanu pinu, który steruje zapisem ( CS_SD ) i gdy jego stan niski to blokować działanie innych podprogramów. Samo wykonywanie po kolei może się do końca nie sprawdzić, bo np : - DTH11 co 2 minuty - zapis SD co minutę -...
Nomad1, nie zebym sie czepial,ale troche idziesz na latwizne, za chwile cala VSK bedzie sledzic ten watek ;) a zaraz powstanie drugi watek o skrzyzowaniu,petlach indukcyjnych etc. etc. a co do zadania, to PCF8574 lub MAX7300 rozwiaza problem,ale Rajman pewnie i tak bedzie chcial wersje na czystej logice. Ja to pieprze,ja to p*&^%e,i robie wedlug siebie...
To w takim razie może uruchamiać mój pomysł przerwaniem? Wtedy te przerwania timera, co kilka ms, byłyby wykonywane tylko podczas naciśnięcia przycisku? 1. Przerwanie zewnętrzne uruchamia timera (co kilka ms), samo blokuje siebie. 2. W przerwaniu timera robimy to co wyżej, dodatkowo jeśli wykryjemy puszczenie przycisku (tylko dopiero jak już mamy stan...
To ci się trafiła pewnie taka płytka jak i mi. Też mam taki rozkład pinów. Wyjście 3 jest pod E2 i to jest programowo sterowanie podświetleniem. Dlatego ci miga. Mi też migało. Ja dwa dni szukałem biblioteki żeby działała z tą płytką, bo przerobić nie umiałem. Zobacz ten kod: T i tam, jeżeli żadna z trzech nóżek odpowiadających za ustalenie adresu nie...
Dlatego dobrze jest podlaczyc wyjscie INT ukladu PCF8574 (wczesniej zrobilem czeski blad i napisalem 8547, przepraszam), do przerwania npINT0 w uP i napisac obsluge tego przerwania zmiany i idczyt bedziesz mial niezaleznie od wykonywanego programu... INT w ukladzie 8574 reaguje na kazda zmiane na wejsciu tegoz ukladu i daje impuls do uP ze jest zmiana...
Ano jak najbardziej masz racje, aczkolwiek dokladnie taki kod wklepalem na poczatku i i tak odbiera FFki, przy czym jak podlaczylem w to samo miejsce zamiast LM75 uklad pcf8574 to transmisja dzialala prawidlowo (czywiscie zmienilem adresy). Podsumowujac, z PCFki czyta z LM nie. Opoznienei w programie mam 20 (i2cdelay = 20). Moze byc to efekt spalenia...
Witam W Atmega 644 mam: EQU not found, probably using functions that are not supported by the selected chip Według noty Timer0 i Timer2 są 8-bitowe, więc można je "zamieniać" i mają oddzielne preskalery.
Przeznaczenie: Konfiguruje pracę programowego interfejsu I2C jako urządzenia podrzędnego (Slave). Ta instrukcja korzysta z biblioteki I2CSLAVE.LIB, która jest rozprowadzana oddzielnie przez MCS Electronics. Składnia: CONFIG I2CSLAVE = adres 'Instrukcja Config I2cslave automatycznie włącza globalny system przerwań! Config I2cslave = &B01000000 'czyli...
Witam A może wykorzystać magistralę I2C i układy I/O na tej magistrali - PCF8574 - 8 bitowe uniwersalne wej/wyj ? Można wpiąć na raz 8 tych scalaków w jedną magistralę. Zajmie ona tylko 2 piny scalaka, nawet AT89c2051 da radę - łącznie z LCD. Mały problem tylko z długością kabli - trzeba poszukać jakiś driverów. Obsługa magistrali bardzo prosta - Bascom...
No sorki, ale coraz większe mega kombinacje widzę. atom1477 toż już jakbym ja miał dawać 30kilogramów rezystorów itp a cały czas miałbym na uwadze oszczędność pinów to zaproponowałbym już takie rozwiązanie, jak poniżej, jesli ktoś usilnie woli wkładać setki pchełek zamiast jednego scalaka PCF ;) chyba każdy słyszał i obiło mu się o uszy coś takiego...
Co do kodu, to wstawię coś wieczorem, jak wrócę z pracy. Jeśli chodzi o obsługę RFM12 to mam z tego wątku [url=http://www.elektroda.pl/rtvforum/to... z przed ostatniej strony ( jest tam też zresztą kilka moich postów ), natomiast nie ma tam ważnej linijki kodu, który odblokowywał kontroler w czasie pomiędzy odbiorem danych, a który...
Mama takie pytanie. Napisalem programik do obslugi klawiaturki, ale jest taka rzecz ze on ten stan pamieta i sam program glupieje. Wyglada to tak: Dim Value As Byte Dim Valuehex As String * 2 Dim P0 As Byte , P1 As Byte , P2 As Byte , P3 As Byte , P4 As Byte , P5 As Byte , P6 As Byte , P7 As Byte Declare Sub Sekcja1 Cls Lcd "Witam" Wait 2 Do I2cstart...
pcf8574 bascom adres pcf8574 bascom zegar pcf8574 bascom
autoalarm master instrukcja volvo silnika reset elektronik akumulator
Goldstar FJ 676 – montaż paska napędowego w magnetofonie wieży, czyszczenie, dobór rozmiaru Yamaha NP-S2000 – aktualizacja firmware v3.05, radio internetowe vTuner, aplikacja Network Player Controller