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....
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ą masz dokładnie wersje układu pcf8574 czy pcf8574A bo różnią się one adresami. Linie SDA i SCL podciągnięte do zasilania?
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.
Wydaje mi sie ze odpowiedz masz na 8 i 9 stronie tej notki. Są tam opisane warunki współpracy kostki z mikrokontrolerem.
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...
Ł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...
Nie pamiętam z kąd to wziąłem, ale dołączam 2 przykłady: dla zwykłego LCD i dla Nokia lcd.
Hmm... a może jednak ?
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...
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...
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. ?
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.
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.
(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...
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.
Uruchamiasz na płytce startowej? Stawiam na błąd w montażu.
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...
Sprawdz na schemacie jakie maja byc dokladnie uklady PCF8574 czy PCF8574AP .Jesli PCF8574AP a wlozyles PCF8574 to nie bedzie dzialac i odwrotnie.
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?
a jakie zastosowałeś układy PCF?? bo jest roznica pomiedzy PCF8574 a PCF8574AP...
Mam kilka artykułów na ten temat. Bardzo łatwo jest zrobić obsługę i2c w bascom na 8051. Polecam przeczytać bascom collegge.
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...
I2C PCA9685, na SPI jest np. TLC5940 lub programowane np. LT3761 powinny działać z PCF8574. Programowy PWM 20 kanałowy widziałem na forum Atnela - chyba najtańsze rozwiązanie.
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ść.
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ć...
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.
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...
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
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...
(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.
LM317 + sterowanie rejestrem przesuwnym 74164, 74HC595 lub portem I2C PCF8574.
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...
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...
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...
Witam Komunikuję się z układem PCF8574 po I2C i potrzebuję zrobić coś takiego: Piny P0, P1, P2, P3 mają być jako wejścia i po naciśnięciu przycisku mają wczytać jakąś wartość do zmiennej. Natomiast pozostałe 4 piny, czyli P4, P5, P6, P7 mają pracować jako wyjścia. Chciałbym, żeby po wpisaniu jakiejś wartości do kolejnej zmiennej, zapaliła mi się dioda...
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...
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...
Witam!....Może ktoś z forumowiczów podpowie jak sprawdzać stan wejść układu niezależnie od stanu pozostałych? Proszę o różne propozycje rozwiązania .
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...
bascom pcf8574 adres pcf8574 bascom zegar pcf8574 bascom
loewe tuner renault remont silnik przetwornik wymiana
delphi ds150 hulajnoga frugal problemy
Schemat instalacji elektrycznej Landini 6040 - gdzie znaleźć? Wymiana łożyska w pralce Siemens Siwamat 1642