PCF8574 (I2C Send bit)

H

Help

Guest
Hei, Er holdning den I2C sende bit? Normalt de sender i byte form. Dersom I2C bare kan sende byte form. Så, er når PCF8574 lese / skrive at tid på å gjøre hele byte. Mean er hvis lese (input) at tiden er lest hele 8-bits eller skrive (output) at tiden er skrive hele 8-bits. Har dere noen ide om hvordan å kontrollere PCF8574 whthin den 8-bits kan leses (input) og skrive (output)? Takk
 
Den PCF8574 som en I2C enheten bruker I2C protokollen til å kommunisere med Master .. Prøver å lese (eller skriv) fra (til) det på annen måte er meningsløs .. Hilsen IanP
 
Å kontrollere eller lese PCF8574 pinnene (I / Os) du MÅ sende og deretter leste byte i presist definert sekvens .. Sende en bit vil gjøre ingenting og vil bli ignorert av PCF8574 .. Hvis du trenger noe raskere enn I2C ta en titt på 82C55 PIA, denne enheten er koblet til en mikrokontroller via multipleksede adresse / data bus (Port 0 i 8051) og kan nås rimelig raskt .. Noe av det er pins (Port C) kan lese / skrive direkte - innen ett instruksjon .. Hilsen IanP
 
Hei [quote = IanP] Hvis du trenger noe raskere enn I2C ta en titt på 82C55 PIA, denne enheten er koblet til en mikrokontroller via multipleksede adresse / data bus (Port 0 i 8051) og kan nås rimelig raskt .. Noe av det er pins (Port C) kan lese / skrive direkte -. Innenfor ett instruksjon [/quote] PortC kan lese / skrive. Hva mener du det? Så, jeg trenger å bruke en port som er Port0 fra uController min å kontrollere 82c55 data-buss. Er det jeg trenger bare å følge nedenstående tabell for å kontrollere 82c55?
 
For enkle leseoperasjon denne tabellen viser hvordan å håndtere alle tre porter .. Bare husk at fordi 8255 er koblet gjennom 8051 er PORT 0 du trenger 74373 adressen låsen, som vist på vedlagte bilde .. CS kan være permanent tilkoblet 0V, og du trenger RD og WR kontroll linjer, også .. Så, for å lese PORT Et du skal bruke noe sånt som dette: # asm MOV R0, # 00h, adresse pott A = 00h, port B = 01h og port C = 02h MOVX A, @ R0 # endasm Regards, IanP
 
Hei, Hvordan kontrollere A0 og A1 i 8255? Slik kobler du til 74373? Takk
 
Ta en titt på vedlagte bilde .. 8255 vil bli koblet til 8051/74373 nøyaktig på samme måte som en ekstern dataminne, men du trenger ikke å bruke PORT2 (P2.0 - P2.7) som du ikke trenger adresser over 03h .. bare A0 og A1 .. Faktisk vil du være med bare de følgende adresser: 00h for PORT A 01h for PORT B 02h for PORT C og 03h for kontroll register .. Adresser A0 og A1 genereres automatisk av 8051 og låst i 74 373 av ALE signalet .. Hilsen IanP
 
Hei, Hvilken er bety A0 og A1 koble til 74373 Q0 og Q1? og Q0 og Q1 er kontroll ved Enable pin, deretter Aktiver er kontroll av ALE signal fra 8051, ikke sant? Takk.
 
[Quote = Hjelp] Hei, Hvilken er bety A0 og A1 koble til 74373 Q0 og Q1? og Q0 og Q1 er kontroll ved Enable pin, deretter Aktiver er kontroll av ALE signal fra 8051, ikke sant? Thank You. [/Quote] Alsmost alt det du sier er sant .. Den ALE signalet låsene (på fallende kant) det er på PORT0 under S5 (se bilde under) og hva er det er adressene A0-A7 .. Som Enable signal er permanent koblet til 0V disse A0-A7 signaler umiddelbart vises på 74373 utganger .. Hilsen IanP
 
[Quote = IanP] Den ALE signalet låsene (på fallende kant) det er på PORT0 under S5 (se bilde under) og hva er det er adressene A0-A7 .. [/Quote] Haha .... bildet få meg til abit forvirre ...: D På hvilken situasjon gjør ALE signalet faller kanten? Takk
 
Den ALE signalet genereres automatisk inne i 8051 .. Under Eksterne data Memory Les Cycle sin stigende flanke er mellom P1 og P2 i S4 og fallende kanten er mellom P1 og P2 i S5 .. Bruk et oscilloskop og ta en titt på ALE pin: Dette signalet er alltid der .. Hilsen IanP
 
Hei [quote = IanP] Under Eksterne data Memory Les Cycle sin stigende flanke er mellom P1 og P2 i S4 og fallende kanten er mellom P1 og P2 i S5 .. [/quote] Så, i denne situasjonen hva som vil skje på / RD mens / RD = 0 og / RD = 1? Så hva er P0 og P1 vil gjøre? Takk.
 
Igjen er / RD signalet genereres automatisk når 8051 utfører LES kommando, for eksempel: MOVX A, @ R0 .. Alt det som vises på PORT0 vil bli lest, og fordi R0 registeret brukt som spisser - bare 8-bits adresse cover - ingen andre porter er berørt .. I konklusjonen, først mikrokontroller setter 8-bits adresse på PORT0, genererer deretter ALE - adressen er låst i 74 373 - da genererer / RD og leser data fra PORT0, i dette tilfellet, 82C55 data bus .. Alle disse signalene genereres automatisk ved utførelse av "lese minnekort"-kommandoer (MOVX) .. Hilsen IanP
 
Hei, Takk for din gode forklaring. Nå vet jeg hvordan ALE, / RD og P0 funksjon allerede.
Code:
 # asm MOV R0, # 00h, adresse pott A = 00h, port B = 01h og port C = 02h MOVX A, @ R0 # endasm
Er det mulig vi skriver i C kommando inorder å bruke asm ? Kjenner du fått noen IC å erstatte 82C55 IC, har du fått noen ide? fordi svært vanskelig å få dette IC i mitt område! : Cry: Takk.
 
# ASM .. # Endasm Ovennevnte sekvens er C struktur .. Hvis du har problemer med 82C55 kanskje du kan prøve 81C55 .. Sistnevnte kobles direkte til 8051 (ingen adresse låsen 74373 er nødvendig) og i tillegg har 256X8 innebygd RAM .. Hilsen IanP
 
[Quote = IanP] # asm .. # Endasm Ovennevnte sekvens er C struktur .. [/quote] Hva mener du C struktur? Jeg prøver og finner ut at IC som du anbefaler. Thanks
 
Hei, 82C55 og 81C55 trenger å bestille så jeg kan få det. Abit plagsom: | Vet du denne typen IC funksjonen er tilgjengelig i dette markedet? IC-funksjon: - 4bit Adresse - x1 inngang (Logic Signal) - x16-utgang (avhengig av innspill logikk signal) - Noen slags Multiplexer funksjon, men utgangssignalet kan være låst. Takk.
 
Hvis du har problemer med 82C55 og 81C55 kanskje du kan vurdere 74LS (HCT) 373 .. Du kan koble til, si, 4 (hver har 8 låsene) av dem til 8-bit port og lås utganger bruke en kontroll inngang: LE (låsen aktiver) .. se tegning under .. Så, for eksempel for 32 utganger vil du bruke 8 data bits og 2 (eller 4) kontroll pinner .. Hilsen IanP
 

Welcome to EDABoard.com

Sponsor

Back
Top