8051: Input spørsmål

H

Harold S.

Guest
Jeg
er helt ny på microcontrollers.Jeg bestemte meg for å starte mine erfaringer med 8051 kompatibel MCU (Atmel 89S52).

Før læring Assembler programmering Jeg finner det svært viktig å forstå den interne arkitekturen, men det
er et forvirrende for meg:

I et 8051 lærebok jeg lese følgende setning:

"Aldri glem å sette port (pins) til'1 'før ethvert forsøk på å lese dette!"

Vær anta at nålen er koblet til Vcc via en ekstern 10K Pullup motstander og Switch direkte til GND.

case 1)
Port pin satt til'1 ': (f.eks: SETB P1.0; Port 1, Pin 0 = 1)
Switch åpne: Pin fortsatt høy ( 'logikk 1)
Switch lukket: Pin enkelt dras ned til GND (på grunn av den svake interne Pullup), slik smekklås nå 'logikk 0'

Spørsmål: Er dette en typisk "aktiv lav" - konfigurasjon?case 2)
Port pin satt til'0 ':
Switch åpne: Pin fortsatt Høy (trukket opp av Vcc gjennom eksterne pullup motstander).=> Klinke ='1 '
Switch lukket: Pin trakk ned til GND, slik smekklås er'0 'nå.

Ifølge ulike 8051 kilder tilfellet 2) virker ikke.Men hvorfor?

Spørsmål: Vennligst forklar hvorfor tilfelle 2) er umulig?Jeg forstår ikke ...

Thx på forhånd!

 
Jeg
er ikke kjent med den delen du bruker, men generelt microcontrollers kan angi retning av IO pins.Effektivt er det andre register for hver pinne som setter pinner i tristate.Dette må være det som lærebok er om å gjøre.Hvis du ikke angir PIN til tristate (eller skriving stat), som gjelder alle eksterne signalet kan resultere i et kort.

Ditt tilfelle 1 er definitivt en typisk aktiv lav oppsett - forutsatt at inndatamodus eller tristate aktiveres.

Du kan også vurdere å bruke en 20 kB - 100k pullup.Verdien avhenger sett på søknaden din.

 
Ditt specsheet viser høyt / lavt nivå.
I betingelse 2, gi ut en'0 'forårsaker pin å synke.Du vil da må Overdrive det synker kapasitet til å lage en høy status.Ikke anbefales.

 

Welcome to EDABoard.com

Sponsor

Back
Top