Kaip įgyvendinti 8051 port3 kaip bidirection I / O?

H

hch16550

Guest
Norėčiau pasinaudoti 8051 uostą 3 bidirection I / O.
Kaip įgyvendinti 8051 port3 kaip bidirection I / O?

Ačiū.

hch16550

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" />
 
Max hch16550,

Visi keturi uostai 0,1,2,3 ir MCS51 yra dvipusis.Tačiau tik uosto 0, "true" Abipusius, nes kai sukonfigūruotas kaip indėlį, kad plūdės.
Uostai 1,2 ir 3 kartais vadinami "pusiau - Abipusius" dėl fiksuotų vidaus pullups.

Galite skaityti gerą dokumentą apie įrangą viduje standartas MCS51 adresu:

http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_HARDWARE_1.pdf

Taigi, jei norite, "true" dvipusį (didelės varžos įėjimo) dėl uosto 3 turite naudoti išorinį buferio featuring tris produkcijos.
Priešingu atveju, dėl "pusiau - Abipusius", Jūs turite sutikti silpnai pullup rezistorius pagal užsakymą 100K omų išsitraukia uosto Upiąć link Vcc.Akivaizdu, jei norite, kad visi bitai, turite paaukoti įvairių specialių funkcijų pateiktas mikro uostą 3: INT0, 1 T0, 1 RX TX RD WR

Toks elgesys gali būti šiek tiek skiriasi nuo vieno MCS51 išvestinių į kitą, bet dauguma iš jų, taip taisykles pavaizduotas 80C51_FAM_HARDWARE_1.pdf

Linkėjimai,
Silvija

 
Sveiki, mano brangūs draugai.
Aš naudoju ADUC814 (8051 patiko) port3 nors kaip įvesties uoste, kurį laiką kaip produkcija uosto pakaitinių.
Naudoti uostas handshak uosto, somt laiko duomenis, somtime įvesties duomenis.
Mažo greičio duomenis yra teisinga.
Didelės spartos duomenų kartais yra neteisingas.
I
don't know what happened?
; įvesties duomenys
MOV A, # 0FFH
Otorinolaringologijos P3 A
MOV A, P3
CLR IBF_RST; handshak signalas
MOV A P3; SKAITYTI A / D UOSTAS
SETB IBF_RST
MOV B, A; Pasyvas B

; duomenis
MOV P3, # 0; MAKE P3 PRODUKCIJOS NARĖJE
MOV P3 A
CLR OBF_SET; OBF_SET SIGNALINIAMS
NOP
SETB OBF_SET
MOV A, # 0FFH; MAKE P3 kaip INPUT NARĖJE
MOV P3 AAčiū.

hch16550

<img src="http://www.edaboard.com/images/smiles/icon_confused.gif" alt="Confused" border="0" />
 
Max hch16550,

Ar galima po visą kodą?
Prašome nurodyti, ką reiškia jums mažo ir didelio greičio.
Kokios periferinio įtaiso jums pridedamas prie P3 uosto (laidai rankos)?
Kaip suprasti, kad duomenys yra neteisingas?Kokių rezultatų jūs tikimasi pamatyti?

Viskas, ką aš galiu pasakyti iki šiol yra:
1.Galite rašyti iš karto į uosto 3.Nereikia pereiti Akumuliatorius.
2.Tai nenaudinga rašyti # 00h į P3, kad būtų išvesties prievadas.Iš tiesų, rašyti į išėjimo sklende.Jeigu jums reikia 0 gamybą, rašyti 0.Jeigu jums reikia 1, tada parašyti 1.Jeigu rašote 1 nereiškia, kad ji tampa automatiškai įvedimo.Tai tiesa, kad traukos jėga yra aktyvuotas ir galite naudotis uosto sąnaudų.Tačiau galima naudoti ir kaip produkcija, taip pat ir P3 bus šaltinis dabartinę kai išoriškai iškedentas mažas.
3.Atsiprašome pasakyti, kad bet kodas tai nieko man kol pamatysite visiškai.

Linkėjimai,
Silvija

 

Welcome to EDABoard.com

Sponsor

Back
Top