TEMA_05 Puertos Paralelos

Embed Size (px)

Citation preview

  • 8/17/2019 TEMA_05 Puertos Paralelos

    1/48

     

    Tema 5

    PUERTOS PARALELOS

  • 8/17/2019 TEMA_05 Puertos Paralelos

    2/48

     

    Microcontroladores: Tema 5

    2

    Puertos Paralelos

    • Los dispositivos embebidos están diseñados parainteractuar con el medio ambiente

    • La interacción no puede llevarse a cabo en forma

    directa con el CPU por diferencias en el tipo deinterfaz eléctrica y lógica.

    • La interacción se realiza mediante lo ue seconoce como dispositvos periféricos

    • Los periféricos se comunican con el CPU como sise tratara de una memoria o registros.

  • 8/17/2019 TEMA_05 Puertos Paralelos

    3/48

     

    Microcontroladores: Tema 5

    3

    Puertos Paralelos

    CPU

    !ecodificador 

    !e

    !irecciones

    !ispositivo

    Periférico

    !ispositivo

    Periférico

    C" C"

    #U$ !" !%&'$

    ()' ()'

    (nterrupción

  • 8/17/2019 TEMA_05 Puertos Paralelos

    4/48

     

    Microcontroladores: Tema 5

    4

    $incronización de CPU

    • Para obtener datos válidos de un periférico deentrada* el CPU se debe de asegurar ue el

     periférico tiene datos válidos. "+isten dos

    métodos ,  -uestreo o polling/* el CPU revisa periodicamente

    una bandera/ ue puede ser un bit o grupo de ellosmapeado/ en un registro o localidad de memoria ueindican ue 0ay información disponible.

     ,  (nterrupción* el contador de programa brinca a unadirección especial asociada al periférico* en esadirección se coloca código para leer o procesar la

    información. 

  • 8/17/2019 TEMA_05 Puertos Paralelos

    5/48

     

    Microcontroladores: Tema 5

    5

    $incronización de CPU

    • Para los periféicos de salida se emplean losmismos métodos pero lo ue se verifica es si el

     periférico puede aceptar nueva información para

    transferir al e+terior.

    • "l P(C12 puede utilizar ambos métodos

  • 8/17/2019 TEMA_05 Puertos Paralelos

    6/48

     

    Microcontroladores: Tema 5

    6

    Puertos paralelos en P(C12345677

    • % 2bits 8%9:;

    • # 2bits 8#9:;

    • C 5bits 8C9:7*;*<

    • ! 2bits 8!;:8!9

    • " 4bits 8"=:8"9

  • 8/17/2019 TEMA_05 Puertos Paralelos

    7/48

     

    Microcontroladores: Tema 5

    7

    Puertos

    • &ienen asociados lossiguientes registros básicos

     ,  &8($+ define la dirección>entrada o salida?

     ,  P'8&+ lee los niveles devolta@e en las terminale

     ,  L%&+ es el latc0/ desalida

     ,  %A$"L+ selecciónanálogica

     ,  + B %* #*C*!*">1? Ao considera otros periféricos 

  • 8/17/2019 TEMA_05 Puertos Paralelos

    8/48

     

    Microcontroladores: Tema 5

    8

    Puerto %

  • 8/17/2019 TEMA_05 Puertos Paralelos

    9/48

     

    Microcontroladores: Tema 5

    9

    Puerto %

  • 8/17/2019 TEMA_05 Puertos Paralelos

    10/48

     

    Microcontroladores: Tema 5

    10

    Puerto %

    cont..

  • 8/17/2019 TEMA_05 Puertos Paralelos

    11/48

     

    Microcontroladores: Tema 5

    11

    Para el resto de los puertos revisar

    La 0o@a de datos

    Pag 1=5 >sección ()' Ports?0ttp:))1.microc0ip.com)donloads)en)!evice!oc)=9

  • 8/17/2019 TEMA_05 Puertos Paralelos

    12/48

     

    Microcontroladores: Tema 5

    12

    %natomDa de un puerto de salida

    ECC

    FA!

    ()' P(A

    SALIDA

    ESCRITURA

    '1'

    '0'

    I SOURCE

    I SINK

     A PUERTO

         R      S      O     U     R      C     E

    VOH

         R      S     I     N     K VOL

    ()' P(A

    ECC

    FA!

    ESCRITURA A PUERTO

  • 8/17/2019 TEMA_05 Puertos Paralelos

    13/48

     

    Microcontroladores: Tema 5

    13

    (nterfaz con L"!Gs

  • 8/17/2019 TEMA_05 Puertos Paralelos

    14/48

     

    Microcontroladores: Tema 5

    14

    (nterfaz con L"!GsECC

    FA!

    ()' P(A

    SALIDA

    ESCRITURA

    '1'

     A PUERTO

         R      S      O     U     R      C     E

    VOH

         R      S     I     N     K

    LED1

    RL

    L"!

    FA!

    +

    -

    ILE!

    ILE!

    ECC B (L"!H8$'U8C" I (L"!H8L I E3

    (L"! B >ECCJE3?)>8$'U8C"I8L?

    (L"! B >5EJ7E?)>29I4;9? B 5m%

    0ttp:)).vis0ay.com)docs)2=99

  • 8/17/2019 TEMA_05 Puertos Paralelos

    15/48

     

    Microcontroladores: Tema 5

    15

    (nterfaz con L"!Gs

    ECC B E3 I (L"!H8L I 8$(A6 H(L"!

    (L"! B >ECCJE3?)>8$(A6 I8L?

    (L"! B >5EJ7E?)>72I4;9? B

  • 8/17/2019 TEMA_05 Puertos Paralelos

    16/48

     

    Microcontroladores: Tema 5

    16

    !isplay de ; segmentos

  • 8/17/2019 TEMA_05 Puertos Paralelos

    17/48

     

    Microcontroladores: Tema 5

    17

    g

    a

    b

    d

    ce

    dp

    -CL8)EPP)8"=  1

    8%9)%A9)C17(A9J7

    8%1)%A1)C17(A1J=

    8%7)%A7)E8"3J)CE8"3)C7(AI4

    8%=)%A=)E8"3I)C1(AI5

    8%4)&9C6()C1'U&<

    8%5)%A4)$$)KLE!(A)C7'U&;

    8"9)8!)%A5  2

    8"1)8)%A<  M

    8"7)C$)%A;  19

    E!!  11

    E$$  17

    '$C1)CL6(A)8%;1=

      '$C7)CL6'U&)8%<14

    8C9)&1'$')&1=C6(15

    8C1)&1'$()CCP71<

    8C7)CCP1)P1%1;

    8C=)$C6)$CL12

    8!9)P$P9   1M

    8!1)P$P1  79

    8!7)P$P7  71

    8!=)P$P=  77

    8C4)$!()$!%7=

    8C5)$!'74

    8C

  • 8/17/2019 TEMA_05 Puertos Paralelos

    18/48

     

    Microcontroladores: Tema 5

    18

    #uffer 

  • 8/17/2019 TEMA_05 Puertos Paralelos

    19/48

     

    Microcontroladores: Tema 5

    19

    -ane@o de multiples digitos

  • 8/17/2019 TEMA_05 Puertos Paralelos

    20/48

     

    Microcontroladores: Tema 5

    20

    -ultiple+ion

    -CL8)EPP)8"=  1

    8%9)%A9)C17(A9J7

    8%1)%A1)C17(A1J=

    8%7)%A7)E8"3J)CE8"3)C7(AI4

    8%=)%A=)E8"3I)C1(AI5

    8%4)&9C6()C1'U&<

    8%5)%A4)$$)KLE!(A)C7'U&;

    8"9)8!)%A5  2

    8"1)8)%A<  M

    8"7)C$)%A;  19

    E!!  11

    E$$  17

    '$C1)CL6(A)8%;1=

      '$C7)CL6'U&)8%<14

    8C9)&1'$')&1=C6(15

    8C1)&1'$()CCP71<

    8C7)CCP1)P1%1;

    8C=)$C6)$CL12

    8!9)P$P9  1M

    8!1)P$P1   79

    8!7)P$P7  71

    8!=)P$P=  77

    8C4)$!()$!%7=

    8C5)$!'74

    8C

  • 8/17/2019 TEMA_05 Puertos Paralelos

    21/48

     

    Microcontroladores: Tema 5

    21

    -ultiple+ion

    SE"#ENTOS a-$!I"ITO 5

    SE"#ENTOS a-$!I"ITO 4

    SE"#ENTOS a-$!I"ITO 3

    SE"#ENTOS a-$!I"ITO 0

    SE"#ENTOS a-$!I"ITO 5

         R     !     6    %     R     !     0

         R     &     5

         R     &     4

         R     &     3

         R     &     0

    ' 1(50 )e$

  • 8/17/2019 TEMA_05 Puertos Paralelos

    22/48

     

    Microcontroladores: Tema 5

    22

    %natomDa de una entradaTDO

    ECC

    FA!

    LECTURA A PUERTO

    ECC

    FA!

    ()' P(A

    IIL

    * !

    CLK

          R      P      U      L      L

    SOLO PORT&

    IIH

    ()' P(A

  • 8/17/2019 TEMA_05 Puertos Paralelos

    23/48

     

    Microcontroladores: Tema 5

    23

    Eolta@es de entrada

    1

    9

    E(Kma+

    E(Kmin

    ElLma+

    E(Lmin

  • 8/17/2019 TEMA_05 Puertos Paralelos

    24/48

     

    Microcontroladores: Tema 5

    24

    Eolta@es de entrada

  • 8/17/2019 TEMA_05 Puertos Paralelos

    25/48

     

    Microcontroladores: Tema 5

    25

    Eolta@es de entrada

    E!!I9.=E

    7E

    9.2E

    E$$J9.=E

    1

    9

  • 8/17/2019 TEMA_05 Puertos Paralelos

    26/48

     

    Microcontroladores: Tema 5

    26

    (nterfaz a interruptoresECC

    FA!

    ()' P(A E

    4.7K

    ECC

    S1

    FA!

    PullJup

  • 8/17/2019 TEMA_05 Puertos Paralelos

    27/48

     

    Microcontroladores: Tema 5

    27

    (nterruptores en tar@eta

     

  • 8/17/2019 TEMA_05 Puertos Paralelos

    28/48

     

    Microcontroladores: Tema 5

    28

    Capacidad de corriente en la entradaECC

    FA!

    ()' P(A

    IIK

    IIKVPORT

    FA!

    E

  • 8/17/2019 TEMA_05 Puertos Paralelos

    29/48

     

    Microcontroladores: Tema 5

    29

    8esistencia de protección en

    entrada

    PROT

    ECC

    FA!

    ()' P(A

    IIK

    IIKVPORT

    FA!

    E

  • 8/17/2019 TEMA_05 Puertos Paralelos

    30/48

     

    Microcontroladores: Tema 5

    30

    Protecciones en la entrada

    ECC

    FA!

    ()' P(A

    1K

    E

    4.7K

    ECC

    S1

    FA!

  • 8/17/2019 TEMA_05 Puertos Paralelos

    31/48

     

    Microcontroladores: Tema 5

    31

    8ebotes en interruptores

    H

    L

    5 A 20m)e+

    1K

    E

    4.7K

    ECC

    S1

    FA!

  • 8/17/2019 TEMA_05 Puertos Paralelos

    32/48

     

    Microcontroladores: Tema 5

    32

    (nterruptor activo alto

    ECC

    FA!

    ()' P(A1K

    E

    4.7K

    ECC

    S1

    FA!

    HL

  • 8/17/2019 TEMA_05 Puertos Paralelos

    33/48

     

    Microcontroladores: Tema 5

    33

    8ebotes

  • 8/17/2019 TEMA_05 Puertos Paralelos

    34/48

     

    Microcontroladores: Tema 5

    34

    &écnicas antirrebotes >deJbounce?"+isten varias técnicas antirrebotes parainterruptores

    •Utilizar un latc0 tipo setJreset•Un dispositivo especial para antiJrebotes

    •3iltros 8C

    •3irmare

    Eer página =15 libro Kuang

  • 8/17/2019 TEMA_05 Puertos Paralelos

    35/48

     

    Microcontroladores: Tema 5

    35

    %ntirebote por firmare

    0ttp:)).ganssle.com)debouncing.0tm

    ENTRA!A

     ACTIVA ,

    ESPERA

    20m)e

    S

    PROCESA

    ENTRA!A

  • 8/17/2019 TEMA_05 Puertos Paralelos

    36/48

     

    Microcontroladores: Tema 5

    36

    (nterfaz a interruptores !(P/

    -CL8)EPP)8"=   1

    8%9)%A9)C17(A9J7

    8%1)%A1)C17(A1J=

    8%7)%A7)E8"3J)CE8"3)C7(AI4

    8%=)%A=)E8"3I)C1(AI5

    8%4)&9C6()C1'U&<

    8%5)%A4)$$)KLE!(A)C7'U&;

    8"9)8!)%A5  2

    8"1)8)%A<  M

    8"7)C$)%A;

      19

    E!!  11

    E$$  17

    '$C1)CL6(A)8%;1=

      '$C7)CL6'U&)8%<14

    8C9)&1'$')&1=C6(15

    8C1)&1'$()CCP71<

    8C7)CCP1)P1%1;

    8C=)$C6)$CL12

    8!9)P$P9  1M

    8!1)P$P1  79

    8!7)P$P7  71

    8!=)P$P=  77

    8C4)$!()$!%7=

    8C5)$!'74

    8C

  • 8/17/2019 TEMA_05 Puertos Paralelos

    37/48

     

    Microcontroladores: Tema 5

    37

    -ane@o de mQltiples entradas

    -CL8)EPP)8"=1

    8%9)%A9)C17(A9J  7

    8%1)%A1)C17(A1J  =

    8%7)%A7)E8"3J)CE8"3)C7(AI  4

    8%=)%A=)E8"3I)C1(AI  5

    8%4)&9C6()C1'U& 

  • 8/17/2019 TEMA_05 Puertos Paralelos

    38/48

     

    Microcontroladores: Tema 5

    38

    -ane@o de mQltiples entradas

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    A

    B

    C

    D

    E

    F

    O0 O1 O2 O3S1 S1 S1 S1

    I0

    I1

    I2

    I3

          R      P      U      L      L

          R      P      U      L      L

          R      P      U      L      L

          R      P      U      L      L

    ECC

    O3 O2 O1 O0 TECLAS

    1 1 1 0 .0/1/2/3

    1 1 0 1 .4/5/6/7

    1 0 1 1 .8/9/A/&

    0 1 1 1 .C/!/E/

  • 8/17/2019 TEMA_05 Puertos Paralelos

    39/48

     

    Microcontroladores: Tema 5

    39

    (nicialización de puertos

    • $e debe de reviar las posibles configuraciones decada puerto >Leer manual u 0o@a de datos deldispositivo especDfico utilizado?

    • Las señales de cada puerto sirven aparte de entraday salida genérica como interfaz a otros periféficos.

    • (ncializar el puerto con base a los reuerimienosespecDficos

    • $iempre es sano inicializar incluso si laconfiguración default/ sea la deseada.

  • 8/17/2019 TEMA_05 Puertos Paralelos

    40/48

     

    Microcontroladores: Tema 5

    40

    (nicialización de puertos

    • La inicialización se realiza utilizando el registro$38 llamado &8($+ >&8($%* &8($#...etc?.

     , "l bit 9 del registro corresponde al bit 9 del

     puerto. , Un 1 define entrada* un 9 define salida

    • Para el P(C12 e+isten algunos puertos ue sonentradas analógicas* se debe de especificar ademássu función utilizando el registro %A$"L+>%A$"L%* %A$"L#...etc?.

  • 8/17/2019 TEMA_05 Puertos Paralelos

    41/48

     

    Microcontroladores: Tema 5

    41

    (nicialización de puertos

    • "@emplo* inicializar del puerto % los bits 9 y ;como salidas y el resto como entradas:

    %A$"L% B 9+99R ))!efinimos todo como digital

    &8($% B 9b91111119R ))bits 9 y ; son salidas

    • 'tra forma >sabiendo ue &8($% default B 9+ff?

    &8($%bits.&8($%; B 9R ))"stilo microc0ip nivel bit

    &8($%bits.&8($%M B 9R

  • 8/17/2019 TEMA_05 Puertos Paralelos

    42/48

     

    Microcontroladores: Tema 5

    42

    Puerto # caso especial

    • "l puerto # tiene pullJups/ integrados ue pueden serencendido o apagados por el usuario.

  • 8/17/2019 TEMA_05 Puertos Paralelos

    43/48

     

    Microcontroladores: Tema 5

    43

    Lectura de puertos

    • Para leer el valor de un puerto se pueden usar 7registros $38 

    L%&+ P'8&+

  • 8/17/2019 TEMA_05 Puertos Paralelos

    44/48

     

    Microcontroladores: Tema 5

    44

    SCuando usar L%& o P'8&

    • Cuando ueramos leer un P(A se recomiendautilizar P'8&.

    • Cuando se utilicen operaciones ue deben de leer

    escribir al puerto* se recomienda utilizar L%&. Pore@emplo* si ueremos incrementar el valor de salidade un puerto* es me@or

    • L%&% B L%&% I1 ue P'8&% B P'8&% I 1R

  • 8/17/2019 TEMA_05 Puertos Paralelos

    45/48

     

    Microcontroladores: Tema 5

    45

    "scritura a puerto

    • Para escribir a un puerto* la instrucción L%&+ oP'8&+ tienen e+actamente el mismo efecto.

  • 8/17/2019 TEMA_05 Puertos Paralelos

    46/48

     

    Microcontroladores: Tema 5

    46

    "@emplo• (mplementar un contador binario para el siguiente diseño. Cada vez ue se

     presiona el botón se debera de incrementar puerto ! * utilizar una rutina antiJrebotes para la entrada* solo la parte ba@a del puerto será visible con L"!Gs

  • 8/17/2019 TEMA_05 Puertos Paralelos

    47/48

     

    Microcontroladores: Tema 5

    47

    "@emplo #AIN

    INIT2PTO

    ENTRA!A 3 0,

    !ELA4

    PUERTO! 3

    PUERTO! + 1

    ENTRA!A 3 1,

    !ELA4

    NO

    NO

    INIT2PTO

    PUERTO ! 3

    SALI!A 567879

    PUERTO &:0

    ENTRA!A CON

    PULL UP

    IN

  • 8/17/2019 TEMA_05 Puertos Paralelos

    48/48

    Microcontroladores: Tema 5