115
  MINISTÉRIO DA DEFESA NACIONAL FORÇA AÉREA PORTUGUESA CENTRO DE FORMAÇÃO MILITAR E TÉCNICA Curso de Formação de Praças - RC COMPÊNDIO EPR: SAJ João Marques CCF 335-17 Julho 2008 ELECTRÓNICA DIGITAL 2 S. R.

Electronica Digital 2

Embed Size (px)

DESCRIPTION

electronica digital

Citation preview

  • MINISTRIO DA DEFESA NACIONAL FORA AREA PORTUGUESA

    CENTRO DE FORMAO MILITAR E TCNICA

    Curso de Formao de Praas - RC

    COMPNDIO

    EPR: SAJ Joo Marques

    CCF 335-17

    Julho 2008

    ELECTRNICA DIGITAL 2

    S. R.

  • MINISTRIO DA DEFESA NACIONAL FORA AREA PORTUGUESA

    CENTRO DE FORMAO MILITAR E TCNICA

    CARTA DE PROMULGAO

    JULHO 2008

    1. O Compndio de Electrnica Digital 2 uma Publicao NO CLASSIFICADA.

    2. Esta publicao entra em vigor logo que recebida.

    3. permitido copiar ou fazer extractos desta publicao sem autorizao da entidade promulgadora.

    S. R.

  • REGISTO DE ALTERAES

    IDENTIFICAO DA ALTERAO, N DE REGISTO, DATA

    DATA DE INTRODUO

    DATA DE ENTRADA EM VIGOR

    ASSINATURA, POSTO E UNIDADE DE QUEM

    INTRODUZIU A ALTERAO

  • Electrnica Digital 2

    - 1 -

    ATENO:

    Esta publicao destina-se a apoiar os formandos a frequentarem o Curso de Formao de

    Praas das especialidades MELECA, MELIAV e OPINF na disciplina de Electrnica Digital e

    Tcnicas Digitais.

    No pretendendo ser uma publicao exaustiva do curso em questo, apresenta-se como uma

    ferramenta de consulta quer durante a durao do curso, quer aps a sua concluso.

    Cursos: Curso de Formao de Praas - RC

    Nome do Compndio: Electrnica Digital 2

    Disciplina: Electrnica Digital e Tcnicas Digitais

    Data de elaborao: Abril 2008

    Elaborado Por: SAJ/Meleca Joo Marques

    Verificado Por: Gabinete da Qualidade da Formao

    Comando G. Formao: TCOR / ENGAER Jos Sade

    Director de rea: MAJ / TMMEL Ablio Carmo

    Director de Curso: TEN / TMMEL Antnio Graveto

    Formador: SAJ/Meleca Joo Marques

  • Electrnica Digital 2

    - 3 -

    NDICE

    CIRCUITO SEQUENCIAIS ........................................................................................................................................... 5

    FLIP - FLOP RS ................................................................................................................................................................ 5 LATCH D ....................................................................................................................................................................... 10 RS MASTER SLAVE ....................................................................................................................................................... 12 JK MASTER SLAVE........................................................................................................................................................ 13 FLIP FLOP D .................................................................................................................................................................. 15 FLIP FLOP T................................................................................................................................................................... 17

    CONTADORES ASSNCRONOS ................................................................................................................................ 19

    CONTADORES CRESCENTES ........................................................................................................................................... 19 CONTADORES DECRESCENTES ....................................................................................................................................... 23 CONTADORES CRESCENTES/DECRESCENTES.................................................................................................................. 25

    CONTADORES SNCRONOS ..................................................................................................................................... 27

    CONTADORES CRESCENTES ........................................................................................................................................... 27 CONTADORES DECRESCENTES ....................................................................................................................................... 32 CONTADORES CRESCENTES/DECRESCENTES.................................................................................................................. 36

    REGISTOS DE DESLOCAMENTO............................................................................................................................ 41

    ACTIVAO SEQUENCIAL E DIAGRAMA TEMPORAL...................................................................................................... 41 TIPOS DE REGISTOS DE DESLOCAMENTO E CIRCUITOS INTEGRADO................................................................................ 42

    ARQUITECTURA BSICA DOS COMPUTADORES............................................................................................. 45

    TERMINOLOGIA ............................................................................................................................................................. 45 LAYOUT DE UM COMPUTADOR ...................................................................................................................................... 46 TIPOS DE MEMRIAS (ROM) ......................................................................................................................................... 47 TIPOS DE MEMRIAS (RAM) ......................................................................................................................................... 49 INSTRUES MONO E MULTI-ENDEREO........................................................................................................................ 51 TECNOLOGIA USADA EM COMPUTADORES .................................................................................................................... 77 ARQUITECTURA E INTERFACES...................................................................................................................................... 80

    MICROPROCESSADORES......................................................................................................................................... 87

    UNIDADE DE CONTROLO E DESCODIFICADOR DE INSTRUES ...................................................................................... 89 CLOCK .......................................................................................................................................................................... 89 REGISTOS ...................................................................................................................................................................... 90 UNIDADE LGICA E ARITMTICA.................................................................................................................................. 91

    CONVERSO DE DADOS ........................................................................................................................................... 95

  • Electrnica Digital 2

    - 4 -

    CONVERSORES DIGITAIS ANALGICOS..........................................................................................................................95 CONVERSOR ANALGICOS DIGITAIS .............................................................................................................................99

    BIBLIOGRAFIA ..........................................................................................................................................................107

    LISTA DE PGINAS EM VIGOR ......................................................................................................................LVP - 1

  • Electrnica Digital 2

    - 5 -

    CIRCUITO SEQUENCIAIS

    O grande avano da electrnica digital foi dado pelos circuitos sequenciais. Num circuito sequencial, o valor

    de uma sada depende no somente da combinao de valores das entradas, mas tambm do valor anterior,

    isto , o valor que a sada tinha antes da aplicao da combinao de valores nas entradas.

    O circuito elementar da lgica sequencial conhecido pelo seu nome em ingls, Flip-Flop. Por definio, um

    Flip-Flop um circuito que, contm:

    Duas entradas R e S, ou J e K ou uma entrada D.

    Pode ter uma entrada de controlo (clock), CK, ou Enable (En).

    Tem duas sadas complementares, Q e Q .

    Pode ter uma entrada de Preset ou Set, (PR) e uma entrada de clear ou reset, (CL).

    FLIP - FLOP RS

    Pode-se construir facilmente um Flip-Flop com duas portas NAND ou NOR. O seu funcionamento est

    baseado nas suas tabelas de verdade.

    O Flip Flop com portas NOR.

    S R Q Q Condio

    1 0 1 0 Set

    0 0 1 0 Mantm

    0 1 0 1 Reset

    0 0 0 1 Mantm

    1 1 0 0 Invlido

    A B S Condio

    0 0 1 --------

    0 1 0

    1 0 0

    1 1 0

    A sada 0 quando

    pelo menos uma das

    entradas 1

    A

    B

    Q

    Q

    R

    S

  • Electrnica Digital 2

    - 6 -

    Para efeitos de explicao do funcionamento do circuito as portas so designadas por A e B, as entradas so

    R e S, e as sadas so Q e Q .

    Para ver como o Flip-Flop tem dois estados, considere o que acontece se as entradas R=0 e S=1. J vimos

    na tabela do NOR que uma entrada a 1 d origem a 0 na sada. Neste caso a porta NOR B vai ter a sada

    Q =0.

    A porta NOR A vai ter a entrada R=0 e a outra entrada tambm igual a 0, assim a sada Q=1.

    Quando S passa para 0 na porta B, a sada vai se manter, ou seja Q =0, porque entretanto a outra entrada

    ficou a 1.

    Quando invertemos a condio e passamos a ter R=1, este fenmeno ocorre da mesma forma, mas os

    nveis de sada ficam invertidos.

    Quando R=1 e S=1 em simultneo, significa que estamos a activar a entrada SET e RESET em simultneo e

    de acordo com a tabela de verdade do NOR, vamos ter ambas as sadas Q e Q igual a zero.

    No Flip-Flop com portas NOR, as entradas esto normalmente a 0 e o nvel lgico 1 que faz activar o SET

    ou o RESET, ou seja o 1 na entrada S coloca a sada Q=1 e 1 na entrada R coloca a sada Q=0.

    O smbolo do Flip-Flop RS o seguinte:

    O Flip Flop com portas NAND.

    A B S Condio

    0 0 1

    0 1 1

    1 0 1

    A sada 1 quando

    pelo menos uma das

    entradas 0

    1 1 0 -------

    S

    Q

    Q

    R

  • Electrnica Digital 2

    - 7 -

    Para efeitos de explicao do funcionamento do circuito as portas so designadas por A e B, as entradas so

    S e R , e as sadas so Q e Q .

    Para ver como o Flip-Flop tem dois estados, considere o que acontece se as entradas R =1 e S =0. J vimos

    na tabela do NAND que uma entrada a 0 d origem a 1 na sada. Neste caso a porta NAND A vai ter a sada

    Q=1.

    A porta NAND B vai ter a entrada R =1 e a outra entrada tambm igual a 1, assim a sada Q =0.

    Quando S passa para 1 na porta A, a sada vai se manter, ou seja Q=1, porque entretanto a outra entrada

    ficou a 0.

    Quando invertemos a condio e passamos a ter R =0, este fenmeno ocorre da mesma forma, mas os

    nveis de sada ficam invertidos.

    Quando S =0 e R =0 em simultneo, significa que estamos a activar a entrada SET e RESET em

    simultneo e de acordo com a tabela de verdade do NAND, vamos ter ambas as sadas Q e Q igual a um.

    No Flip-Flop com portas NAND, as entradas esto normalmente a 1 e o nvel lgico 0 que faz activar o

    SET ou o RESET , ou seja o 0 na entrada S coloca a sada Q=1 e 0 na entrada R coloca a sada Q=0.

    O smbolo do Flip-Flop S R o seguinte:

    De acordo com as leis de De Morgan, podemos converter uma funo NAND para OR e uma funo NOR

    para AND.

    S R Q Q Condio

    0 1 1 0 Set

    1 1 1 0 Mantm

    1 0 0 1 Reset

    1 1 0 1 Mantm

    0 0 1 1 Invlido

    A

    B

    Q

    Q

    S

    R

    Q

    QS

    R

  • Electrnica Digital 2

    - 8 -

    B A + = A B

    B A = A +B

    Desta forma podemos realizar dois circuitos Flip-Flop RS e S R , com o mesmo funcionamento dos

    anteriores, mas usando portas lgicas AND e OR.

    Podemos simplificar cada um dos circuitos, e retirar o inversor das entradas:

    Q

    Q

    R

    S

    Q

    R

    S

    Q

    Q

    QS

    R

    Q

    Q

    S

    R

    B

    ASA

    BS=

    B

    ASA

    BS=

  • Electrnica Digital 2

    - 9 -

    Estes dois circuitos tm novas tabelas de verdade e so as seguintes:

    Flip-flop S R (AND) Flip-flop RS (OR)

    S R Q Q Condio S R Q Q Condio

    0 1 1 0 Set 1 0 1 0 Set

    1 1 1 0 Mantm 0 0 1 0 Mantm

    1 0 0 1 Reset 0 1 0 1 Reset

    1 1 0 1 Mantm 0 0 0 1 Mantm

    0 0 0 0 Invlido 1 1 1 1 Invlido

    Flip-flop RS com enable.

    O flip-flop RS com enable pode ser usado para armazenar informao. Os dados colocados nas entradas RS

    s accionam o flip-flop quando a entrada enable for colocada a 1. Quando o Enable igual a zero, O flip-

    flop RS est sempre na condio de manter o estado anterior.

    Smbolo do Flip-Flop RS com Enable.

    Entradas Sadas (A) Sadas (B)

    Enable S R Q Q Q Q

    Condio

    1 1 0 1 0 1 0 Set

    1 0 0 1 0 1 0 Mantm

    0 0 1 1 0 1 0 Mantm

    1 0 1 0 1 0 1 Reset

    1 0 0 0 1 0 1 Mantm

    0 1 0 0 1 0 1 Mantm

    1 1 0 1 0 1 0 Set

    1 1 1 0 0 1 1 Invlido

    Q

    QS

    REnable

    S

    R

    (B)

    Q

    QR

    S

    Enable

    R

    S

    (A)

    S

    Q

    Q

    R

    En

  • Electrnica Digital 2

    - 10 -

    O circuito A tem um comportamento semelhante ao circuito B, excepto na condio invlida. O valor da

    condio invlida (ilegal) est de acordo com as portas lgicas usadas no circuito, conforme a tabela de

    verdade seguinte:

    Este um circuito integrado da famlia CMOS que contm 4 flip-flops

    RS com portas NOR. Existe uma entrada de enable no pino 5 que

    comum a todos os flip-flops.

    LATCH D

    Se analisarmos a tabela de verdade do circuito anterior, podemos verificar que a sada muda apenas quando

    a entrada enable igual a 1. Podemos tambm verificar que as entradas R e S devem estar sempre

    complementadas para se colocar as sadas no estado pretendido. Devido a isto podemos alterar os circuitos

    anteriores de modo a haver apenas uma entrada de dados, conforme os circuitos seguintes:

    Neste caso temos dois Latch D, um construdo com portas NAND e outro construdo com portas NOR.

    1 2 3 4 5 6 7 8

    910111213141516

    VDD

    VSS

    4043

    NC

    En

    NO

    RR

    S

    NO

    RR

    S

    NO

    RR

    S

    NO

    RR

    S

    Q

    Q

    Q

    Q

    R R

    RR S

    S

    S

    S

    Q

    QS

    REnable

    D

    Q

    Q

    Enable

    R

    S

    (A)

    D

  • Electrnica Digital 2

    - 11 -

    Ambos os circuitos tm a mesma tabela de verdade porque a condio invlida deixou de existir.

    Smbolo Entradas Sadas

    Enable D Q Q

    Condio

    1 1 1 0 Set

    1 0 0 1 Reset

    1 1 1 0 Set

    0 1 1 0 Mantm

    0 0 1 0 Mantm

    0 1 1 0 Mantm

    D

    Q

    Q

    En

    1 0 0 1 Reset

    Ento o Latch D uma clula que permite ou no, a mudana da sada Q em funo da entrada D e enable.

    Sempre que enable igual a zero, a sada Q Mantm sempre o estado anterior.

    Existe uma outra verso para o Latch D:

    A substituio do inversor pela ligao ao ponto S possvel. Quando Enable igual a zero, o ponto S e R

    so sempre igual a 1, desta forma o circuito mantm o estado anterior. Quando Enable igual a um. O ponto

    S igual a D , deste modo, este ponto de entrada tem o mesmo sinal que teria se estivesse ligado ao ponto

    D com um inversor.

    Dentro dos vrios modelos de circuitos integrados, existe um modelo da famlia lgica TTL com oito Latchs

    tipo D, conforme a seguinte figura:

    1 2 3 4 5 6 7 8

    VCC

    GND

    74373En

    QEn

    9 10

    111213141520 16171819

    Q Q Q

    QQQQ D D D D

    DDDDEn En En

    EnEnEnEnOc Oc Oc Oc

    OcOcOcOc

    Output Control

    Q

    QS

    REnable

    D

  • Electrnica Digital 2

    - 12 -

    RS MASTER SLAVE

    O flip-flop RS master slave, na realidade so dois flip-flop ligados em cascata, o slave est aps o master.

    S

    Q

    Q

    R

    EnS

    Q

    Q

    R

    En

    Master Slave

    Clock

    Quando o clock igual a zero, est activado o enable do master, quando o clock igual a um, est activado

    o enable do slave.

    As sadas do master ligam nas entradas do slave, por isso a

    sada Q do master a entrada S do slave.

    Quando h mudana de estado do clock, transio ascendente,

    ou seja mudana de zero para um, a sada do slave assume o

    seu estado. O nvel lgico da sada Qslave depende do estado da

    entrada Smaster antes de ter havido transio ascendente.

    O smbolo do flip-flop RS master slave :

    As entradas Smaster igual a um e Rmaster igual a um, podem

    provocar uma condio invlida no flip-flop master quando enable igual a zero.

    Tabela de verdade do flip-flop RS master slave

    S R Q Q Clock Condio

    1 0 1 0 Set

    0 0 1 0 Mantm

    0 1 0 1 Reset

    0 0 0 1 Mantm

    1 1 x x Invlido

    Mas

    ter

    Mas

    ter

    Mas

    ter

    Mas

    ter

    Clk

    Sla

    ve

    Sla

    ve

    Sla

    ve

    Sla

    ve

    Rmaster

    Smaster

    Sslave

    Rslave

    Qslave

    Est

    ado

    ante

    rior

    S

    Q

    Q

    R

    Ck

  • Electrnica Digital 2

    - 13 -

    JK MASTER SLAVE

    O flip flop JK master slave, tem um comportamento semelhante ao flip flop SR master slave, J o Set e K

    o Reset, mas a condio J=K=1 assume a condio de inverso (Toggle).

    S

    Q

    Q

    R

    EnS

    Q

    Q

    R

    En

    Master Slave

    Clock

    K

    J

    Quando J=1 e K=1, temos uma condio de Toggle. Esta condio provoca a inverso das sadas Q e Q em

    cada transio de clock.

    Neste caso podemos simplificar as entradas J e K recorrendo a um dos postulados (a.1=a).

    S = J .Q S =Q . 1 =Q

    R = K . Q R =Q . 1 = Q

    Nesta condio podemos simplificar o circuito:

    S

    Q

    Q

    R

    EnS

    Q

    Q

    R

    En

    Master Slave

    Clock

    e obtemos o seguinte diagrama temporal:

  • Electrnica Digital 2

    - 14 -

    Smbolo:

    A tabela de verdade do flip-flop JK a seguinte:

    Tabela de verdade do flip-flop JK master slave

    J K Q Q Clock Condio

    1 0 1 0

    Set

    0 0 1 0

    Mantm

    0 1 0 1

    Reset

    0 0 0 1

    Mantm

    1 1 1 0

    Inverte

    1 1 0 1

    Inverte

    Um circuito integrado muito usado o 4027 da famlia CMOS.

    Este componente tem dois flip-flop JK com duas entradas Set e Reset. Estas

    entradas no esto sincronizadas com a entrada de clock, desta forma o Set

    e o Reset podem alterar a sada Q em qualquer momento diferente do clock.

    Para que as entradas funcionem num modo assncrono, independentes do clock, elas tm que estar ligadas

    na sada do flip-flop, conforme o esquema:

    J

    Q

    Q

    K

    Ck Mas

    ter

    Mas

    ter

    Mas

    ter

    Mas

    ter

    Clk

    Slav

    e

    Slav

    e

    Slav

    e

    Slav

    e

    K

    J

    Esta

    doan

    terio

    r

    Q

    S

    Q

    Q

    R

    En

    Master Slave

    Clock

    K

    J

    Reset

    SetS

    R Q

    Q

    Q

    CK

    JSET

    RESET

    4027

    1 2 3 4 5 6 7 8

    910111213141516

    K

    VDD

    VSS

    Q

    Q

    Q

    CK

    RESET

    SET

    K

    J

  • Electrnica Digital 2

    - 15 -

    FLIP FLOP D

    A saida Q do flip flop assume o valor da entrada D no instante da transio de clock. O flip-flop pode

    funcionar na transio ascendente (rising edge) ou na transio descendente (falling edge), mas nunca nas

    duas ao mesmo tempo.

    A vantagem deste flip-flop relativamente ao Latch D que a entrada D s passa para a sada Q no instante

    da transio de clock.

    O flip-flop D pode ser construdo de duas maneiras diferentes. Podemos usar um flip-flop master slave e

    ligar um inversor nas entradas S e R ou usar o circuito do Edge-triggered flip-flop.

    S

    Q

    Q

    R

    EnS

    Q

    Q

    R

    En

    Master Slave

    Clock

    D

    O smbolo do flip-flop D :

    O diagrama temporal o seguinte:

    Podemos obter um flip-flop D a partir de um flip-flop JK master slave, ligando as entradas J (Set) e K (Reset)

    atravs de um inversor.

    J

    Q

    Q

    K

    Ck

    D

    D

    Q

    Q

    Ck

    Clk

    D

    Esta

    doan

    terio

    r

    Q

  • Electrnica Digital 2

    - 16 -

    Quando ligamos a entrada D sada Q , temos um circuito semelhante ao flip-flop JK quando J=K=1.

    Neste caso temos:

    S = Q e R = Q

    Um circuito integrado muito usado o 4013 da famlia CMOS.

    Este componente tem dois flip-flop JK com duas entradas Set e Reset. Estas entradas no esto

    sincronizadas com a entrada de clock, desta forma o Set e o Reset podem alterar a sada Q em qualquer

    momento diferente do clock.

    4013VDD

    VSS

    1 2 3 4 5 6 7

    891011121314

    Q

    CK

    DSET

    RESET

    Q

    Q

    Q

    Q

    SET

    RESET

    CK

    D

    Para que as entradas funcionem num modo assncrono, independentes do clock, elas tm que estar ligadas

    na sada do flip-flop, conforme o esquema:

    S

    Q

    Q

    R

    En

    Master Slave

    Clock

    DReset

    SetS

    R Q

    Q

    S

    Q

    Q

    R

    EnS

    Q

    Q

    R

    En

    Master Slave

    Clock

    D

    Q

    Q

    Ck

  • Electrnica Digital 2

    - 17 -

    FLIP FLOP T

    O flip-flop T (Toggle) pode ter uma ou duas entradas e pode ser construdo com um flip-flop D ou JK master

    slave. O prprio nome indica o seu modo de funcionamento, quer dizer; o prximo estado sempre o

    contrrio do estado actual.

    Este flip-flop usado normalmente em contadores ou divisores de frequncia.

    Ligao de um flip-flop D para funcionar como flip-flop T:

    igual a

    D

    Q

    Q

    CkTQ

    QT

    Clk

    Ligao de um flip-flop JK para funcionar como flip-flop T:

    igual a

    J

    Q

    Q

    Ck

    T

    Q

    Q

    Ck

    T

    K

    Quando a entrada T=0, ento J=K=0, esta combinao corresponde na tabela de verdade do JK condio

    mantm o estado anterior.

    Quando a entrada T=1, ento J=K=1, esta combinao

    corresponde na tabela de verdade do JK condio

    inverte.

    Clk

  • Electrnica Digital 2

    - 19 -

    CONTADORES ASSNCRONOS

    Um contador um circuito sequencial, de aplicao geral cujas sadas representam num determinado

    cdigo, o nmero de impulsos que se aplicam entrada.

    So constitudos por vrios flip-flops T ligados entre si, de maneira a que as suas sadas mudem de estado,

    quando se aplicam impulsos na entrada.

    Quando o contador atinge o valor mximo da sua capacidade, comea a contar de novo desde o zero, no

    impulso de clock imediato.

    Dependendo da forma de operao, os contadores podem ser ascendentes, se a contagem aumenta em

    cada impulso, descendentes, se a contagem diminui ou, ascendentes e descendentes (up-down counters).

    Por outro lado, os contadores dividem-se em assncronos e sncronos. Os contadores sncronos so descritos

    mais adiante.

    Nos contadores assncronos, o sinal de clock aplica-se entrada do primeiro flip-flop, a sada deste

    entrada do prximo e, assim sucessivamente. O tempo de propagao deste tipo de contadores superior

    ao dos contadores sncronos.

    Existem, tambm, contadores binrios e decimais (contadores de dcadas), assim o nmero de estados

    possveis nas sadas seja de 2n ou de 10. Outro tipo de contadores pode ser referenciado atravs do seu

    mdulo. Assim, um contador cujo nmero de estados nas sadas seja seis (0, 1, 2, 3, 4, 5) ser um contador

    mdulo 6.

    CONTADORES CRESCENTES

    O contador crescente caracterizado por ter o clock ligado sada Q do fli-flop anterior. A sada Q0 tem o

    dobro do perodo do clock, e a sada Q1 tem o do perodo de Q0. Assim a sada Q1 tem 41

    da frequncia do

    clock.

    O mdulo de contagem deste contador 4, e calculado da seguinte forma:

    Mdulo = 2n n o nmero de flip-flops.

    O mdulo de contagem tambm a relao de frequncia entre o clock e o ultimo Q.

  • Electrnica Digital 2

    - 20 -

    Neste caso : Mdulo = 1Q

    Clock

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    Q0

    Q1

    CK

    0Q

    0

    0

    0 0

    0 0 0

    1 1 1

    11

    0 1 2 3 0 1

    A sada Q1 depende da transio ascendente de 0Q , e equivale transio descendente de Q0.

    Devido ao tempo de propagao e mudana de estado, h um pequeno atraso desde a transio de clock

    at mudana de estado nas sadas Q.

    Q0

    Q1

    CK

    0Q

    Podemos observar no diagrama temporal que h um atraso do clock para Q0 e um atraso maior para Q1.

    Este atraso vai aumentando medida que vamos acrescentando mais flip-flops ao contador.

    O contador crescente mdulo 8 necessita 3 flip-flops. A ligao entre o flip-flops igual ao circuito anterior.

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    Q0

    Q1

    CK0

    0

    0 0

    1 00 1

    1 1 1

    0

    Q

    QSET

    CLR

    D

    Q2

    0 1 2 3 4 5 6 7 0

    10 0

    1 1 0

    1 1 1 010000Q2

  • Electrnica Digital 2

    - 21 -

    A relao de frequncia entre o Clock e Q2 8.

    Se for necessrio construir um contador com mdulo diferente de 2n, necessrio recorrer a uma lgica

    combinatria para que ocorra um reset, de modo que o contador recomece a contagem no ponto desejado.

    No circuito seguinte est representado um contador de mdulo 6. Este contador deve contar 0, 1, 2, 3, 4, 5

    e depois regressar a 0.

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    Q0

    Q1

    CK0

    0

    0 0

    1 00 1

    1 1 1

    0

    Q

    QSET

    CLR

    D

    Q2

    0 1 2 3 4 5 0 1 2

    10 0

    0 0 1

    1 0 0 010000

    Reset

    Q2

    6

    Reset

    A combinao referente ao nmero 6 aparece num curto espao de tempo (ver diagrama), este o tempo

    necessrio para que o circuito lgico detecte este valor e accione o Reset.

    O contador mdulo 10, ou contador decimal (BCD) utiliza o mesmo mtodo. Utilizamos 4 flip-flops que

    permitem a contagem de 0 a 15 (mdulo 16), mas limitamos a contagem com um circuito lgico

    combinatrio.

    Vamos analisar a sua tabela de verdade e vamos comparar com o diagrama temporal. No diagrama

    temporal, podemos ver que tal como o circuito anterior, este contador tambm tem um tempo de Reset

    bastante curto, que o tempo necessrio para o circuito combinatrio responder.

    Tabela de verdade

    Q2 Q1 Q0 Decimal Reset

    0 0 0 0

    0 0 1 1

    0 1 0 2

    0 1 1 3

    1 0 0 4

    1 0 1 5

    1 1 0 6 Q2.Q1

  • Electrnica Digital 2

    - 22 -

    Tabela de verdade

    Q3 Q2 Q1 Q0 Decimal Reset

    0 0 0 0 0

    0 0 0 1 1

    0 0 1 0 2

    0 0 1 1 3

    0 1 0 0 4

    0 1 0 1 5

    0 1 1 0 6

    0 1 1 1 7

    1 0 0 0 8

    1 0 0 1 9

    1 0 1 0 10 Q3.Q1

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    Q0

    Q1

    CK0

    0

    0 0

    1 00 1

    1 1 1

    0

    Q

    QSET

    CLR

    D

    Q2

    0 1 2 3 4 5 6 7 8

    10 0

    1 1 0

    1 1 1 010000

    Reset

    Q2

    Reset

    10

    Q

    QSET

    CLR

    D

    Q3

    9 0

    Q3

    1 0

    0 0

    0 0

    0 0 0 100000 1 0

    Existe no mercado vrios circuitos integrados que desempenham esta

    funo, sendo um deles o 4518 da famlia CMOS. Este circuito integrado

    contm dois contadores. Cada contador tem uma entrada de Reset (pino 7 e

    15) e uma entrada de clock (pino 2 e 10) com enable (pino 1 e 9). O modelo

    4518 contador mdulo 10 e o 4520 contador mdulo 16.

    1 2 3 4 5 6 7 8

    910111213141516

    VDD

    VSS

    4518/4520

    R

    RQ0Q1Q2Q3C

    Q0 Q1 Q2 Q3C

  • Electrnica Digital 2

    - 23 -

    CONTADORES DECRESCENTES

    O contador decrescente difere do crescente no modo que ligado o clock. Neste caso o clock ligado

    sada Q enquanto que o crescente ligado sada Q .

    O mdulo de contagem efectuado da mesma forma: 2n

    Ou pode tambm ser calculado pela relao entre a frequncia de clock e 1Q : 1Q

    Clock

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    Q0

    Q1

    CK0

    0

    0 0

    0 01 1

    1 1 1

    10 3 2 1 0 3

    Neste contador tambm existem tempos de atraso iguais ao contador crescente.

    Q0

    Q1

    CK

    Se for necessrio aumentar o mdulo do contador, basta aumentar o nmero de flip-flops de acordo com a

    regra 2n.

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    Q0

    Q1

    CK0

    0

    0 0

    0 01 1

    1 1 1

    1

    Q

    QSET

    CLR

    D

    Q2

    0 7 6 5 4 3 2 1 0

    10 0

    1 0 0

    0 0 0 011110Q2

  • Electrnica Digital 2

    - 24 -

    possvel tambm neste caso estabelecer o incio e fim de contagem do mesmo modo que foi feito no

    contador crescente mdulo 6 e mdulo 10.

    Vamos ver um exemplo de um contador que efectua a seguinte contagem: 7, 6, 5, 4, 3, 7, 6, 5, .

    Para este efeito vamos analisar a tabela de verdade e comparar com o diagrama temporal.

    Tabela de verdade

    Q2 Q1 Q0 Decimal Set

    1 1 1 7

    1 1 0 6

    1 0 1 5

    1 0 0 4

    0 1 1 3

    0 1 0 2 2Q .Q1. 0Q

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    Q0

    Q1

    CK1

    1

    1 1

    0 11 0

    0 0 1

    1

    Q

    QSET

    CLR

    D

    Q2

    7 6 5 4 3 7 6 5 4

    10 0

    1 0 0

    1 1 1 101111

    Set

    Q2

    Set

    2

    A combinao referente ao nmero 2 ocorre num instante de tempo muito curto, tal como ocorria no

    contador crescente mdulo 6.

  • Electrnica Digital 2

    - 25 -

    CONTADORES CRESCENTES/DECRESCENTES

    Nos circuitos anteriores podemos verificar que o contador crescente tem a entrada de clock ligada sada Q

    e o contador decrescente tem a entrada de clock ligada sada Q.

    Podemos ento usar um multiplexer para efectuar a mudana de crescente para decrescente, mudando o

    ponto onde o clock est ligado.

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    S

    01 Ck1

    Quando S=0 temos a sada Q ligada ao clock, quando S=1 temos a sada Q ligada ao clock.

    A expresso lgica de um multiplexer S . A + S . B, podemos substituir a letra A pela letra Q, e a letra B

    pela letra Q . Assim obtemos a expresso:S . Q + S .Q= S Q e o respectivo circuito.

    O multiplexer usado no circuito anterior pode ser substitudo pela funo XOR conforme ficou comprovado.

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    Clock

    S

    Ck1

    Este contador de mdulo 4, e permite efectuar a contagem 0, 1, 2, 3 quando S=1, ou a contagem 3, 2, 1,

    0 quando S=0.

    possvel construir um contador crescente/decrescente com um mdulo maior que 4, para isso basta

    adicionar os flip-flops necessrios e colocar

    um XOR entre a sada Q e a entrada de

    clock.

    Este circuito tem a capacidade de efectuar a

    contagem de 0 a 7 quando S=1, ou de 7 a 0

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    1

    1

    1

    1

    1

    1

    Q0 Q1 Q2

    Up/Down

  • Electrnica Digital 2

    - 26 -

    quando S=0.

  • Electrnica Digital 2

    - 27 -

    CONTADORES SNCRONOS Os contadores sncronos so aqueles em que os impulsos de relgio se aplicam simultaneamente a todos os

    flip-flops e portanto, as suas sadas variam ao mesmo tempo.

    Estes contadores podem usar flip-flops JK ou tipo D. A ligao dos flip-flops deve ser de acordo com

    sequncia obtida a partir da tabela de verdade.

    CONTADORES CRESCENTES

    Um contador de mdulo 4 fcil de construir, para isso vamos recorrer a uma tabela de verdade:

    Contador sncrono crescente mdulo 4

    JK1 Q1 JK0 Q0 Decimal

    0 0 1 0 0

    1 0 1 1 1

    0 1 1 0 2

    1 1 1 1 3

    0 0 1 0 0

    A sada Q0 muda sempre de estado em cada clock, por isso o JK0 sempre igual a 1, de acordo com a tabela

    de verdade do flip-flop JK:

    Tabela de verdade do flip-flop JK

    J K Condio

    0 0 Mantm

    0 1 Reset

    1 0 Set

    1 1 Inverte

    A sada Q1 inverte apenas quando Q0=1, por isso a entrada JK1 igual a Q0. Assim obtemos o seguinte

    circuito.

  • Electrnica Digital 2

    - 28 -

    Q0 Q1

    Clock

    1

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    A tabela de verdade tambm pode ser construda da seguinte forma:

    Contador sncrono crescente mdulo 4

    J1 K1 Q1 J0 K0 Q0 Decimal

    0 X 0 1 X 0 0

    1 X 0 X 1 1 1

    X 0 1 1 X 0 2

    X 1 1 X 1 1 3

    0 X 0 1 X 0 0

    A letra X significa que indiferente termos nvel lgico 0 ou nvel lgico 1, por isso as entradas J0 e K0

    podem estar sempre ligadas a 1.

    As entradas J1 e K1 podem ser unidas porque h sempre uma delas que tem a letra X, isso significa que

    indiferente o seu nvel lgico.

    Tambm possvel construir um contador sncrono com flip-flops tipo D de acordo com a seguinte tabela de

    verdade:

    Contador sncrono mdulo 4

    D1 Q1 D0 Q0 Decimal

    0 0 1 0 0

    1 0 0 1 1

    1 1 1 0 2

    0 1 0 1 3

    0 0 1 0 0

    D0 = 0Q

    D1 = 1Q .Q0 + 0Q .Q1 Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    clock

  • Electrnica Digital 2

    - 29 -

    D1 = Q0 Q1

    O diagrama temporal do contador sncrono aparentemente igual ao do contador assncrono.

    Q0

    Q1

    CK

    0Q

    0

    0

    0 0

    0 0 0

    1 1 1

    11

    0 1 2 3 0 1

    As diferenas aparecem quando ampliamos a imagem de modo a ser possvel observar o tempo de transio

    do nvel lgico 0 para 1 e vice-versa.

    Q0

    Q1

    CK

    0Q

    Neste tipo de contador, s h atraso entre o clock e as sadas Q, mas todas as sadas Q mudam de estado

    em simultneo. J no existe a acumulao de tempo da sada Q0 para a sada Q1.

    Vamos agora ver o mtodo de construo de um contador crescente mdulo 8.

    Contador crescente mdulo 8

    JK2 Q2 JK1 Q1 JK0 Q0 Decimal

    0 0 0 0 1 0 0

    0 0 1 0 1 1 1

    0 0 0 1 1 0 2

    1 0 1 1 1 1 3

    0 1 0 0 1 0 4

    0 1 1 0 1 1 5

    0 1 0 1 1 0 6

  • Electrnica Digital 2

    - 30 -

    1 1 1 1 1 1 7

    0 0 0 0 1 0 0

    JK0 = 1

    JK1 = Q0

    JK2 = 2Q .Q1.Q0+Q2.Q1.Q0

    JK2 = ( 2Q +Q2).Q1.Q0 = Q1.Q0

    Q0 Q1

    Clock

    1

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    Q2

    Tal como o contador mdulo 4, o contador mdulo 8 tambm tem um diagrama semelhante ao contador

    assncrono, mas com a vantagem de no haver acumulao de atrasos entre as vrias sadas Q.

    Q0

    Q1

    CK0

    0

    0 0

    1 00 1

    1 1 1

    0

    0 1 2 3 4 5 6 7 0

    10 0

    1 1 0

    1 1 1 010000Q2

    Contador Decimal sncrono:

    Contador BCD sncrono

    JK3 Q3 JK2 Q2 JK1 Q1 JK0 Q0 Decimal

    0 0 0 0 0 0 1 0 0

    0 0 0 0 1 0 1 1 1

    0 0 0 0 0 1 1 0 2

    0 0 1 0 1 1 1 1 3

    0 0 0 1 0 0 1 0 4

    0 0 0 1 1 0 1 1 5

    0 0 0 1 0 1 1 0 6

  • Electrnica Digital 2

    - 31 -

    1 0 1 1 1 1 1 1 7

    0 1 0 0 0 0 1 0 8

    1 1 0 0 0 0 1 1 9

    0 0 0 0 0 0 1 0 0

    JK0 = 1

    JK1 = 3Q . 2Q . 1Q .Q0 + 3Q . 2Q .Q1.Q0 + 3Q .Q2. 1Q .Q0 + 3Q .Q2.Q1.Q0

    0Q

    1Q

    3Q2Q

    1Q

    3Q

    Q0

    Q1

    Q2

    Q3

    11

    11

    JK1 = 3Q . Q0

    JK2 = 3Q . 2Q .Q1.Q0 + 3Q .Q2.Q1.Q0 = 3Q .Q1.Q0 .( 2Q +Q2) = 3Q .Q1.Q0

    A condio Q1=1 e Q0=1 s ocorre nesta tabela quando Q3=0, por isso podemos desprezar a varivel 3Q .

    Assim JK2 = Q1.Q0

    JK3 = 3Q .Q2.Q1.Q0 + Q3. 2Q . 1Q .Q0

    Podemos simplificar esta expresso (Q3. 2Q . 1Q .Q0) do seguinte modo: Q3.Q0 porque esta condio s ocorre

    uma vez nesta tabela.

    JK3 = 3Q .Q2.Q1.Q0 + Q3.Q0 =Q2.Q1.Q0 + Q3.Q0 = (Q2.Q1 + Q3).Q0

  • Electrnica Digital 2

    - 32 -

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    1

    Q0 Q1 Q2 Q3

    Clock

    CONTADORES DECRESCENTES

    A mesma regra que foi aplicada nos contadores crescentes, tambm aplicada nos contadores

    decrescentes:

    Contador sncrono decrescente mdulo 4

    JK1 Q1 JK0 Q0 Decimal

    0 1 1 1 3

    1 1 1 0 2

    0 0 1 1 1

    1 0 1 0 0

    0 1 1 1 3

    A sada Q0 muda sempre de estado em cada clock, por isso o JK0 sempre igual a 1, de acordo com a tabela

    de verdade do flip-flop JK:

    Tabela de verdade do flip-flop JK

    J K Condio

    0 0 Mantm

    0 1 Reset

    1 0 Set

    1 1 Inverte

    A sada Q1 inverte apenas quando Q0=0, por isso a entrada JK1 igual a 0Q . Assim obtemos o seguinte

    circuito.

  • Electrnica Digital 2

    - 33 -

    A tabela de verdade tambm pode ser construda da seguinte forma:

    Contador sncrono decrescente mdulo 4

    J1 K1 Q1 J0 K0 Q0 Decimal

    X 0 1 X 1 1 3

    X 1 1 1 X 0 2

    0 X 0 X 1 1 1

    1 X 0 1 X 0 0

    X 0 1 X 1 1 3

    A letra X significa que indiferente termos nvel lgico 0 ou nvel lgico 1, por isso as entradas J0 e K0

    podem estar sempre ligadas a 1.

    As entradas J1 e K1 podem ser unidas porque h sempre uma delas que tem a letra X, isso significa que

    indiferente o seu nvel lgico.

    Q0 Q1

    Clock

    1

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    Tambm possvel construir um contador sncrono com flip-flops tipo D de acordo com a seguinte tabela de

    verdade:

    Contador sncrono mdulo 4

    D1 Q1 D0 Q0 Decimal

    1 1 0 1 3

    0 1 1 0 2

    0 0 0 1 1

    1 0 1 0 0

    1 1 0 1 3

    D0 = 0Q

    D1 = 1Q . 0Q + Q1.Q0

    D1 = 01 QQ

  • Electrnica Digital 2

    - 34 -

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    clock

    Como j foi visto anteriormente 01 QQ = 0Q Q1, ento podemos alterar o circuito:

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q0 Q1

    clock

    Neste circuito tambm temos um diagrama temporal semelhante ao contador assncrono.

    Q0

    Q1

    CK0

    0

    0 0

    0 01 1

    1 1 1

    10 3 2 1 0 3

    Temos a mesma vantagem do contador sncrono crescente, porque no h acumulao de atrasos entre as

    vrias sadas Q. Apenas existe atraso entre as sadas e o clock.

    Q0

    Q1

    CK

    Vamos agora ver o mtodo de construo de um contador decrescente mdulo 8.

  • Electrnica Digital 2

    - 35 -

    Contador decrescente mdulo 8

    JK2 Q2 JK1 Q1 JK0 Q0 Decimal

    0 1 0 1 1 1 7

    0 1 1 1 1 0 6

    0 1 0 0 1 1 5

    1 1 1 0 1 0 4

    0 0 0 1 1 1 3

    0 0 1 1 1 0 2

    0 0 0 0 1 1 1

    1 0 1 0 1 0 0

    0 1 0 1 1 1 7

    JK0 = 1

    JK1 = 0Q

    JK2 = 2Q . 1Q . 0Q +Q2. 1Q . 0Q

    JK2 = ( 2Q +Q2). 1Q . 0Q = 1Q . 0Q

    Q0 Q1

    Clock

    1

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    Q2

    O diagrama temporal est de acordo com a sua sequncia de contagem (7 a 0), igual ao contador

    assncrono, mas sem haver acumulao de atrasos entre as vrias sadas Q.

    Q0

    Q1

    CK0

    0

    0 0

    0 01 1

    1 1 1

    1

    0 7 6 5 4 3 2 1 0

    10 0

    1 0 0

    0 0 0 011110Q2

  • Electrnica Digital 2

    - 36 -

    CONTADORES CRESCENTES/DECRESCENTES

    A diferena entre um contador crescente e um contador decrescente o ponto de ligao das entradas JK.

    No contador crescente, as entradas JK ligam nas sadas Q e no contador decrescente ligam nas sadas Q .

    Assim podemos utilizar o mesmo mtodo dos contadores assncronos, utilizando uma porta lgica XOR.

    Q0 Q1

    Clock

    1

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    Up/Down

    No contador mdulo 8, podemos aplicar a mesma regra ao circuito, mas neste caso temos que usar duas

    portas XOR.

    Q0 Q1

    Clock

    1

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    Q2

    Up/Down

    O circuito integrado 4029 um contador sncrono crescente/decrescente, com uma entrada de seleco

    BIN/DEC . Quando esta entrada tem nvel lgico 0, um contador BCD, quando esta entrada tem nvel

    lgico 1 um contador binrio. Tem tambm uma entrada UP/DN. Quando esta entrada tem nvel lgico 0,

    um contador decrescente, quando esta entrada tem nvel lgico 1 um contador crescente.

    A entrada CE activada a 0, e o enable do clock.

  • Electrnica Digital 2

    - 37 -

    Existem outras entradas que permitem entrada de dados em paralelo (PL, P0, P1, P2, P3)

    Tabela de verdade

    PL BIN/DEC UP/DN CE CP Modo

    1 X X X X Carga paralela

    0 X X H X No muda

    0 0 0 0 Decimal, decrescente

    0 0 1 0 Decimal, crescente

    0 1 0 0 Binrio, decrescente

    0 1 1 0 Binrio, crescente

    O Circuito integrado 4017, um contador decimal ligado a descodificador decimal, com dez sadas, desde O0

    at O9. A entrada de clock CP0 utilizada para incrementar o contador em cada transio de clock

    ascendente. A entrada de clock 1CP utilizada para incrementar o contador em cada transio de clock

    descendente. A entrada 1CP tambm pode usada como entrada EN.

  • Electrnica Digital 2

    - 38 -

    O diagrama temporal deste contador o seguinte:

    A tabela de verdade e o pinout do 4017 esto representados a seguir:

    Tabela de verdade

    MR CP0 1CP Operao

    1 X X Todas as sadas a 0

    0 H Contador avana

    0 0 Contador avana

    0 0 X No muda

    0 X 1 No muda

    0 1 No muda

    0 0 No muda

  • Electrnica Digital 2

    - 39 -

  • Electrnica Digital 2

    - 41 -

    REGISTOS DE DESLOCAMENTO

    Os registos de deslocamento podem possuir uma combinao de entradas e sadas srie, e paralelas,

    incluindo a possibilidade de configurar as entradas e sadas.

    ACTIVAO SEQUENCIAL E DIAGRAMA TEMPORAL

    O esquema seguinte representa o modelo mais simples de registo de deslocamento. Os dados so colocados

    na entrada D e so deslocados uma posio para a direita em cada ciclo de clock.

    Os dados so armazenados em cada flip-flop, na sada 'Q', de modo que existem quatro "espaos" para

    armazenamento disponveis nesta configurao, sendo desta forma um registo de deslocamento de 4 bits.

    Esta configurao realiza uma leitura destrutiva, visto que os dados so perdidos ao serem deslocados para

    a extrema direita.

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    J

    Q

    Q

    K

    SET

    CLR

    Q0 Q1 Q2 Q3

    D

    Clock

    D

    Q0

    Clock

    Q1

    Q2

    Q3

  • Electrnica Digital 2

    - 42 -

    TIPOS DE REGISTOS DE DESLOCAMENTO E CIRCUITOS INTEGRADO

    O circuito integrado 74195 um registo de deslocamento de 4 bits de alta velocidade, podendo atingir a

    frequncia de 50MHz. utilizado numa grande variedade de aplicaes com registos e contadores.

    1 2 3 4 5 6 7 8

    910111213141516

    VCC

    GND

    74195

    CLEAR

    QA QB QC QD QD CP

    LOAD

    DCBAKJ

    Pinos Descrio Activado

    PE Enable das entradas paralelas Zero

    P0 a P3 Entradas de dados em paralelo Um

    J Entrada J do primeiro estgio Um

    K Entrada K do primeiro estgio Zero

    CP Clock Pulse Um

    Q0 a Q3 Sadas em paralelo Um

    Q3 Sada complementada do ultimo estgio Zero

    O circuito lgico e a tabela de verdade mostram o funcionamento do circuito 74195.

    D

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    D

    Q

    QSET

    CLR

    1

    0

    1

    00

    1 1

    0QA

    QB

    A B C D

    QDQCQBQA

    QD

    J

    K

    CPLOAD

    CLEAR

    O 74195, tem dois modos de funcionamento primrios, deslocamento direita e carga em paralelo que so

    controlados pela entrada PE . Quando PE =1, os dados entram em srie pelo primeiro flip-flop atravs das

    entradas J e K e deslocados pelas sadas Q0, Q1, Q2 e Q3 em cada transio de clock. Quando PE =0, o

    74195 funciona como quatro flip-flops tipo D. Os dados entram em paralelo pelas entradas P0, P1, P2 e P3 e

  • Electrnica Digital 2

    - 43 -

    so transferidos paras as respectivas sadas Q0, Q1, Q2 e Q3 na transio de clock ascendente. possvel

    fazer a rotao esquerda, ligando as sadas Qn s entradas Pn-1 e colocando PE =0.

    Entradas Sadas Modos

    CLEAR PE J K Pn Q0 Q1 Q2 Q3 Q3

    Reset 0 X X X X 0 0 0 0 1

    Liga o primeiro estgio 1 1 1 1 X 1 Q0 Q1 Q2 Q2

    Desliga o primeiro estgio 1 1 0 0 X 0 Q0 Q1 Q2 Q2

    Inverte o primeiro estgio 1 1 0 1 X Q0 Q0 Q1 Q2 Q2

    Mantm o primeiro estgio 1 1 1 0 X Q0 Q0 Q1 Q2 Q2

    Carga em paralelo 1 0 X X Pn P0 P1 P2 P3 P3

    Todas as transferncias de dados srie ou paralelas so sncronas, e ocorrem na transio ascendente de

    clock.

    O flip-flop D constitudo por flip-flop RS e um inversor nas entradas S e R.

    Q

    QSET

    CLR

    S

    R

    CkQ

    QSET

    CLR

    S

    R

    CkQ

    QSET

    CLR

    S

    R

    CkQ

    QSET

    CLR

    S

    R

    Ck

    CP

    Clear

    P3P2P1P0

    Q3Q2Q1Q0

    Q3

    KJPE

  • Electrnica Digital 2

    - 45 -

    ARQUITECTURA BSICA DOS COMPUTADORES

    TERMINOLOGIA

    Bit Um digito binrio pode representar 0 ou 1 e normalmente chamado de bit.

    Byte Um conjunto de oito bits chamado de Byte

    Software Refere-se aos programas escritos para computador

    Hardware o nome dado aos dispositivos fsicos e circuitos do computador

    CPU (Central Processing Unit)

    O CPU controla as operaes de um computador. O CPU l as instrues que esto na memria, descodifica-

    as numa srie de aces, e leva a cabo estas aces numa srie de passos.

    O CPU tambm contem o contador de endereos ou o registo de ponteiro de instruo, que contm o

    endereo da prxima instruo que vai ser lida da memria. Tambm tem registos de uso geral para

    armazenar dados em binrio; e todo o circuito de controlo que gera os sinais para os barramentos de

    endereo e dados.

    IC (Integrated Circuits)

    Nome dado a um circuito integrado. Componente constitudo por transstores e outros componentes com

    uma determinada funo.

    Bus de endereos

    Este bus consiste em 16, 20, 24 ou 32 linhas de sinal em paralelo. Nestas linhas o CPU envia o endereo de

    memria onde se vai ler ou escrever.

    O nmero de endereos que o CPU pode enderear determinado pelo nmero de linhas de endereo. Se o

    CPU tem n linhas de endereo, ento pode enderear 2n posies de memria.

  • Electrnica Digital 2

    - 46 -

    Bus de dados O bus de dados consiste em 8, 16, 32, ou 64 linhas de sinal em paralelo. Atravs destas linhas o CPU

    consegue ler ou escrever dados da memria ou de uma entrada/sada. H muitos dispositivos ligados ao bus

    de dados, mas apenas uma das suas sada est activada de cada vez.

    LAYOUT DE UM COMPUTADOR

    O microprocessador 8085 pode aceder a 65536 posies individuais de memria numa gama de 0 a 65535

    (0 a FFFFHex), 64 KBytes de memria. Existem dois tipos de memria, ROM (Read Only Memory) e RAM

    (Random Access Memory). Ambas as memrias tm linhas de endereo e dados ligados ao

    microprocessador. Estas ligaes so feitas atravs do Bus de dados e Bus de endereos, o

    microprocessador usa-os para ler ou escrever dados em memria.

    Os circuitos no 8085 usam 8 bits no Bus de dados e 16 bits no Bus de endereos. Assim qualquer valor entre

    0 e FF Hex pode ser lido ou escrito em memria RAM e apenas lido na ROM.

    BUS DE CONTROL

    8085CPU

    MEMRIA I/O

    BUS DE ENDEREOS

    BUS DE DADOS

    O 8085 pode enviar ou receber dados de outros circuitos para alm da memria. Quando o

    microprocessador quer comunicar com uma entrada ou sada, desliga a memria, liga a entrada ou sada e

    envia o endereo atravs do Bus de endereos nos 8 bits menos significativos (A0 a A7) e nos bits mais

    significativos simultaneamente (A8 a A15). Visto que o endereamento de I/O de 8 bits, apenas as

    posies entre 0 e FF Hex podem ser seleccionadas.

    O Bus de controlo um conjunto de ligaes que controlam a escrita e a leitura em memria e dispositivos

    I/O .

  • Electrnica Digital 2

    - 47 -

    O PC original era baseado numa

    board com 32K de RAM e cinco

    slots de expanso. O PC

    suportava um ou dois floppy's,

    com a capacidade de 160K cada.

    Logo aps esta introduo no

    mercado, a memria foi

    aumentada para 64K. O PC

    original usava o microprocessador

    Intel 8088 trabalhando a

    4.77MHz.

    TIPOS DE MEMRIAS (ROM)

    O termo ROM significa Read Only Memory (memria somente de leitura). Existem vrios tipos de ROM que

    podem ser programadas, lidas, apagadas e programadas com novos dados, mas a principal caracterstica da

    ROM que no voltil. Isto significa que os dados podem ser armazenados e no se perdem quando a

    energia removida da memria.

    A figura mostra o smbolo esquemtico de uma ROM. De

    acordo com o BUS de dados D0 a D7, esta ROM pode

    armazenar em cada endereo 8 bits de dados. As sadas

    de dados so TRI-STATE. Isto significa que cada sada

    pode ter um nvel lgico 0, um nvel lgico 1, ou uma alta

    impedncia. No estado de alta impedncia a sada

    desligada do que estiver ligado a ela. Se a entrada CE da

    ROM no estiver accionada, ento todas as sadas de

    dados estaro em alta impedncia. Algumas ROMs

    tambm ficam em modo de baixo consumo quando a

    EXPANSION BUS SLOTSINTERFACE 5 EXPANSION

    SLOTS

    5 SLOTS

    62- PIN89-BITBUS

    SLOTS

    84 -KEYKEYBOARD

    AUDIO CASSETEDRIVE

    SPEAKER

    O PC ORIGINAL

    MICROPROCESSADOR

    8088 A 4.77mhZ

    KEYBOARDCONTROLCIRCUITS

    NUMERICPROCESSOR

    SOCKET PARA 8087

    CASSETE CONTROLCIRCUITS

    AUDIOTIMER CHANNEL

    OUTPROGRAMCONTROL

    TIMER/COUNTERS3 16BIT CHANNELS

    8253-5 CHIP

    DMA CHANNELS4 CHANNELS8237-5 CHIP

    INTERRUPTSNMI PLUS 8 LEVEL

    8259 CHIP

    SYSTEM BOARDRAM

    4 BANKS DE 16K x 9

    ROM/EPROMBIOS SUPPORT

    40K ROM

    A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14

    D0D1D2D3D4D5D6D7

    CE

    ROM

    DADOSENDEREOS

  • Electrnica Digital 2

    - 48 -

    entrada CE no esta accionada. Se a entrada CE accionada, a ROM activada, e as sadas tambm

    sero activadas. Assim as sadas ficaro a um nvel lgico normal 0 ou 1.

    Todos os dados na ROM ficam armazenados em forma de uma lista numerada. O nmero que identifica a

    localizao de cada palavra armazenada na lista chamado endereo. Podemos dizer o nmero de palavras

    armazenadas na ROM pelo nmero de entradas de endereos. O nmero de palavras igual a 2N, N igual

    ao nmero de linhas de endereo. A ROM da figura anterior tem 15 linhas de endereo, A0 at A14, assim o

    nmero de palavras 215 ou 32 768. A data sheet refere-se a este dispositivo como 32K x 8 ROM. Isto

    significa que tem 32K de endereos com 8 bits por endereo.

    Para obter uma palavra na sada da ROM, tem que fazer duas coisas. Tem que aplicar o endereo nas

    entradas de endereos, A0 a A14, e accionar a entrada CE .

    Agora vamos ver para que so necessrias as sadas TRI-STATE numa ROM. Vamos supor que queremos

    guardar mais que 32K de dados. Ns podemos fazer isto conectando duas ou mais ROMs em paralelo, de

    modo que podemos enderear um dos 32 768 endereos em cada uma. O conjunto de linhas paralelas

    usado para enviar o endereo ou dados chamado BUS. As sadas de dados das ROMs so ligados em

    paralelo de modo que qualquer uma das ROMs possa enviar os dados para um BUS de dados comum. Se

    estas ROMs tiverem apenas as sadas normais com dois estados, ir ocorrer um problema srio quando

    ambas as ROMs tentarem enviar dados para o BUS. Esta ligao entre as sadas provavelmente ir destruir

    algumas sadas e fornecer informao sem qualquer significado. Uma vez que as ROMs tm sadas com TRI-

    STATE, ns podemos usar circuitos externos para assegurar que apenas uma ROM de cada vez seja

    activada. H um princpio importante aqui, sempre que houver varias sadas ligadas ao BUS, as sadas

    devem ser TRI-STATE, e apenas uma ROM deve ser activada de cada vez.

    No incio deste captulo foi mencionado que algumas ROMs podem ser apagadas e reprogramadas com

    novos dados. Em seguida esto descritos alguns tipos de ROMs.

    ROM Programada durante o fabrico.

    PROM Programada pelo utilizador colocando os 1s a 0s. No pode ser alterada excepto para colocar outros

    1s a 0s.

    EPROM Programada electricamente pelo utilizador colocando os 1s a 0s; pode ser apagada com luz

    ultravioleta atravs da janela de quartzo.

    EEPROM Programada electricamente pelo utilizador; pode ser apagada com sinais elctricos de modo a ser

    reprogramada no circuito.

  • Electrnica Digital 2

    - 49 -

    O OE (Output Enable) colocado a 0 sempre que se deseja ler algo da RAM.

    E(PROM) (2764)

    Esta memria utiliza 13 linhas de endereo (A0 a A12), permitindo

    assim o acesso a 8KBytes de endereos, e 8 linhas de dados (D0 a

    D7).

    Existem 4 terminais de controlo ( VPP,PGM ,OE ,CE ), o CE (Chip

    Enable) deve estar a 0 para a memria ser seleccionada.

    O OE (Output Enable) colocado a 0 sempre que se deseja ler algo

    da ROM.

    No PGM (ProGraM) coloca-se um 0 e no VPP coloca-se a tenso de

    programao sempre que se deseja programar uma nova E(PROM).

    TIPOS DE MEMRIAS (RAM)

    O nome RAM significa Random Access Memory (memria de acesso aleatrio), mas uma vez que as ROMs

    tambm so de acesso aleatrio, o nome deveria ser memria de escrita e leitura. As RAMs so usadas

    tambm para armazenar dados em binrio. A RAM esttica essencialmente uma matriz de flip-flops. Assim,

    ns podemos dados num endereo da RAM em qualquer altura aplicando os dados nas entradas de dados e

    accionando os flip-flops. A informao guardada nos flip-flops mantm-se enquanto a energia estiver

    aplicada na RAM. Esta memria voltil porque os dados perdem-se quando a energia desligada.

    A figura seguinte mostra o smbolo esquemtico de uma

    RAM comum. Esta RAM tem 12 linhas de endereo, A0

    at A11, por isso pode armazenar 212

    (4096) palavras

    de dados. As oito linhas de dados indicam que a RAM

    pode armazenar 8 bits em cada endereo. Quando

    estamos a escrever na RAM, estas linhas funcionam

    como entradas. A entrada CE , usada para activar a

    RAM para escrita ou leitura. A entrada WR/ colocada

    a lgico 1 para ler da RAM e colocada a lgico 0 para

    escrever na RAM. Aqui est como todas estas linhas

    A0A1A2A3A4A5A6A7A8A9A10A11

    D0D1D2D3D4D5D6D7

    CE

    ROM

    WR/

    ENDEREOS DADOS

  • Electrnica Digital 2

    - 50 -

    funcionam para ler e escrever neste dispositivo.

    Para escrever na RAM, aplicamos o endereo desejado nas entradas de endereo, colocamos a entrada CE

    a lgico 0 para accionar o dispositivo, e colocamos a entrada WR/ a lgico 0 para indicar RAM que

    queremos escrever nela. Aplicamos ento os dados que queremos escrever nas linhas de dados durante um

    tempo especfico. Para ler informao da RAM, indicamos o endereo desejado, colocamos a entrada CE a

    lgico 0, e colocamos a entrada WR/ a lgico 1 para indicar RAM que queremos ler. Para uma operao

    de leitura as sadas de dados estaro activas para fornecer os dados que esto no endereo indicado pelas

    linhas de endereo.

    As memrias estticas SRAM que acabamos de ver guardam os dados numa matriz de flip-flops. Nas

    memrias dinmicas DRAM, os dados binrios 0s e 1s so guardados numa carga elctrica num

    condensador. Uma vez que estes condensadores ocupam menos espao que um flip-flop, uma RAM

    dinmica pode armazenar muito mais bits que uma memria esttica do mesmo tamanho. A desvantagem

    das memrias dinmicas que os condensadores descarregam-se. O estado lgico armazenado em cada

    condensador deve ser refrescado todos os 2 milisegundos.

    A memria RAM pode ser ligada em paralelo do mesmo modo que a ROM. Na figura seguinte est

    representa a ligao de duas RAMs em paralelo. O funcionamento do BUS igual ao esquema com ROMs.

    Neste esquema com RAMs existe a entrada WR/ que comum a todas as RAMs que estiverem ligadas em

    paralelo. Apenas uma RAM pode ser seleccionada atravs da entrada CE .

    D0D1D2D3D4D5D6D7CE

    RAM

    BUS DEENDEREOS

    WR/

    CED0D1D2D3D4D5D6D7

    A0A0 A11 A11

    A0

    A11

    D7

    D0

    1 CE

    2 CE

    BUS DEDADOS

    WR/ WR/RAM

  • Electrnica Digital 2

    - 51 -

    RAM (6164)

    Esta memria utiliza 13 linhas de endereo (A0 a A12), permitindo assim

    o acesso a 8KBytes de endereos, e 8 linhas de dados (D0 a D7).

    Existem 4 terminais de controlo ( OE,WE,CS2,CS1 ), estes 4 terminais

    so activos a 0, oCS1 e CS2 (Chip Select) devem estar ambos a 0 para

    a memria ser seleccionada.

    WE (Write Enable) colocado a 0 sempre que se deseja escrever algo

    na RAM.

    INSTRUES MONO E MULTI-ENDEREO

    Qualquer processador, por mais sofisticado que seja, s faz aquilo para que for instrudo. Por isso, os

    construtores de um processador projectam-no de acordo com um determinado grupo de instrues, cada

    uma delas com uma funo especfica, de modo que, quando uma dessas instrues introduzida no

    processador, leva obteno de determinados resultados previamente estudados.

    O conhecimento da funo de cada instruo permitir-nos- associ-las de modo a construir programas que

    resolvam os problemas mais variados e complexos.

    FORMATO DAS INSTRUES O grupo bsico de bits que um processador trata (l, escreve, opera, etc.) de

    uma s vez, constitui uma unidade que caracteriza esse processador. Assim, se um processador consegue

    tratar um conjunto de 16 bits em um s passo, diz-se que um processador de 16 bits. Se o processador

    consegue tratar um conjunto de 8 bits, diz-se que um processador de 8 bits.

    O 8085 caracterizado por ser de 8 bits. As unidades de memria a ele associadas devem, ento, estar

    organizadas em posies endereveis que possam armazenar, cada uma, um byte. Por isso, o formato dos

    dados e instrues do 8085 apresentam-se de modo que o byte constitui sempre a unidade processvel em

    cada passo do processamento.

    As instrues do 8085 podem apresentar um formato de um, dois, ou trs bytes. As instrues que contm

    mais do que um byte so colocadas na memria de modo que os bytes ocupam posies de memria

    consecutivas, sendo o endereo do 1 byte da instruo tomado como o endereo da prpria instruo.

    Como se v na figura seguinte, o primeiro byte de uma instruo, qualquer que seja o formato, sempre o

    cdigo da instruo.

  • Electrnica Digital 2

    - 52 -

    D7 COD. INSTRUO D0

    D7 DADO D0

    BYTE UM

    BYTE DOIS

    INSTRUO DE 2 BYTES

    Nas instrues com 3 bytes, os dois ltimos podem ser endereos ou dados. De qualquer modo, a

    informao contida nesses dois bytes disposta de modo que os 8 bits menos significativos so colocados

    na posio imediatamente a seguir ao cdigo de instruo e os 8 bits mais significativos a seguir aos menos

    significativos.

    D7 COD. INSTRUO D0

    D7 DADO ou ENDEREO D0

    BYTE UM

    BYTE DOIS

    INSTRUO DE 3 BYTES

    D7 DADO ou ENDEREO D0BYTE TRS

    MODOS DE ENDEREAMENTO Um dos processos de classificao das instrues, feito de acordo com o

    mtodo de endereamento dos operandos de que cada instruo necessita para o seu processamento.

    Faamos, ento, um breve estudo dos modos de endereamento das instrues do 8085.

    a) Endereamento implcito O modo de endereamento de certas instrues do 8085 encontra-se implcito

    na prpria funo da instruo, no havendo necessidade de qualquer campo de endereamento, j que a

    instruo s interfere com um elemento (ou parte) especfico do hardware.

    Exemplo: STC (Set Carry Flag).

    Esta instruo apenas interfere com a Flag Carry, colocando-a a 1.

    b) Endereamento por registo Uma grande parte das instrues de 8085 utiliza o endereamento por

    registo; isto , a prpria instruo especifica, alm do cdigo de instruo, um dos registos A, B, C, D, E, H

    ou L, que conter um operando no qual o operando vai ser colocado. O acumulador normalmente utilizado

    como suporte do segundo operando, quando este necessrio.

    Exemplo: CMP Reg (Compare Register)

    Esta instruo compara o contedo do registo indicado com o contedo do acumulador.

  • Electrnica Digital 2

    - 53 -

    c) Endereamento imediato Quando uma instruo possui, associado a si, o operando que vai utilizar, diz-

    se que possui endereamento imediato.

    Exemplo: CPI (Compare Immediate)

    Ao executar esta instruo, o 8085 ir comparar o contedo do acumulador com o valor expresso no

    operando associado instruo.

    Numa instruo deste tipo, o 8085 analisa o primeiro byte da instruo (cdigo de instruo) e fica a saber

    que tem que buscar de imediato o byte seguinte (operando), afim de proceder execuo da instruo.

    d) Endereamento directo Para ter este modo de endereamento, a instruo ter que apresentar um

    formato de trs bytes: um para o cdigo da instruo e os outros dois para conterem o endereo (16 bits)

    que servir para executar a instruo definida no cdigo de instruo. O modo de endereamento directo

    feito pela prpria instruo atravs dos 2 bytes adicionais que suportam o endereo do operando.

    Exemplo: JMP endereo (Jump)

    Esta instruo coloca o valor indicado nos dois bytes aps o cdigo de instruo no Program Counter.

    e) Endereamento indirecto por registo Este modo de endereamento caracterizado por um processo em

    que a instruo aponta para uma posio de memria atravs do endereo colocado num par de registos.

    Exemplo: MOV M, Reg

    Esta instruo usa o par de registos HL para indicar o endereo de memria no processo de transferencia de

    dados.

    f) Endereamento misto Existem algumas instrues do 8085 que utilizam uma combinao dos modos de

    endereamento.

    A instruo CALL por exemplo utiliza uma combinao do endereamento directo com o endereamento

    indirecto por registo. O modo de endereamento directo serve para especificar a localizao da 1 instruo

    da subrotina a ser chamada; o modo de endereamento indirecto por registo feito atravs do Stack (pilha)

    que serve para guardar o Program Counter para permitir o regresso ao programa principal com a instruo

    RET.

    GRUPO DE TRANSFERENCIA DE DADOS

    MOV Reg1, Reg2 (Move Register)

    Reg2 Reg1

  • Electrnica Digital 2

    - 54 -

    O contedo do Reg2 copiado para o Reg1.

    Ciclos: 1

    Endereamento: de registo

    Flags: nenhuma

    MOV Reg, M (Move from Memory)

    (HL) Reg

    O contedo da posio de memria indicada em HL copiado para Reg.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: nenhuma

    MOV M, Reg (Move to memory)

    Reg (HL)

    O contedo de Reg copiado para a posio de memria indicada em HL.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: nenhuma

    MVI Reg, dado (Move immediate)

    Dado Reg

    O dado (2 byte) colocado em Reg.

  • Electrnica Digital 2

    - 55 -

    Ciclos: 2

    Endereamento: imediato

    Flags: nenhuma

    MVI M, dado (Move to memory immediate)

    dado (HL)

    O dado (2 byte) colocado na posio de memria indicada em HL.

    Ciclos: 3

    Endereamento: imediato/indirecto por registo

    Flags: nenhuma

    LXI Reg. Pair, word (Load register pair immediate)

    Byte3 Reg. high

    Byte2 Reg. low

    O contedo do 3 byte colocado no registo mais significativo e o 2 byte colocado no registo menos

    significativo do par de registos.

    Ciclos: 3

    Endereamento: imediato

    Flags: nenhuma

    LDA ender (Load accumulator direct)

    (byte3 byte2) A

    O contedo da posio de memria indicada por byte 3 e byte2 copiada para o acumulador.

  • Electrnica Digital 2

    - 56 -

    Ciclos: 4

    Endereamento: directo

    Flags: nenhuma

    STA ender (Store accumulator direct)

    A (byte3 byte2)

    O contedo do acumulador copiado para a posio de memria indicada por byte 3 e byte2.

    Ciclos: 4

    Endereamento: directo

    Flags: nenhuma

    LHLD ender (Load H and L direct)

    (byte3 byte2) L

    (byte3 byte2+1) H

    O contedo da posio de memria indicada por byte 3 e byte2 copiado para L, o contedo da posio de

    memria indicada por byte 3 e byte2 +1 copiado para H.

    Ciclos: 5

    Endereamento: directo

    Flags: nenhuma

    LDAX Reg. Pair (Load accumulator indirect)

    (Reg. Pair) A

  • Electrnica Digital 2

    - 57 -

    O contedo da posio de memria, cujo endereo se encontra especificado no par de registos Reg. Pair,

    transferido para o acumulador, Reg. Pair apenas se refere aos pares BC e DE.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: nenhuma

    STAX Reg.pair (Store accumulator indirect)

    A (Reg. Pair

    O contedo do acumulador transferido para a posio de memria cujo endereo se encontra no par de

    registos Reg. Pair. Apenas os pares BC e DE podem usados.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: nenhuma

    XCHG (Exchange H and L with D and E)

    H D

    L E

    O contedo do par de registos HL trocado com o contedo do par de registos DE.

    Ciclos: 1

    Endereamento: de registo

    Flags: nenhuma

    GRUPO ARITMTICO

    Este grupo de instrues realiza operaes aritmticas com dados contidos nos registos ou na memria.

  • Electrnica Digital 2

    - 58 -

    As instrues deste grupo afectam, regra geral, todas as flags de acordo com o resultado da operao

    efectuada e as regras relativas aos indicadores de condio que expusemos anteriormente. Existem, no

    entanto, algumas instrues deste grupo que no afectam todas as flags, este facto ser de fcil verificao

    atravs da alnea flags aps o formato de cada instruo.

    As operaes de subtraco so realizadas sempre pela utilizao do complemento para 2. Verifica-se

    tambm que quando existe pedido de emprstimo a flag carry colocada a 1, caso contrrio colocada a 0.

    ADD reg. (Add register)

    A + reg. A

    O contedo do registo reg. adicionado ao contedo do acumulador. O resultado desta operao

    guardado no acumulador.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    ADD M (Add memory)

    A + (H L) A

    O contedo da posio de memria, cujo endereo dado pelo contedo do par HL, adicionado ao

    contedo do acumulador. O resultado desta operao colocado no acumulador.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    ADI dado (Add immediate)

    A + dado A

  • Electrnica Digital 2

    - 59 -

    O contedo do segundo byte da instruo adicionado ao contedo do acumulador. O resultado desta

    operao colocado no acumulador.

    Ciclos: 2

    Endereamento: Imediato

    Flags: Z, S, P, C, Ac

    ADC reg. (Add register with carry)

    A + reg. + Carry A

    O contedo do registo e o valor da flag C so adicionados ao contedo do acumulador. O resultado desta

    operao colocado no acumulador.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    ADC M (Add memory with carry)

    A + (H L) + Carry A

    O contedo da posio de memria, cujo endereo se encontra no par de registos HL, adicionado com o

    valor da flag C ao contedo do acumulador. O resultado desta operao colocado no acumulador.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    ACI dado (Add immediate with carry)

    A + dado + carry A

  • Electrnica Digital 2

    - 60 -

    O contedo do segundo byte da instruo adicionado com o valor da flag C ao contedo do acumulador. O

    resultado desta operao colocado no acumulador.

    Ciclos: 2

    Endereamento: imediato

    Flags: Z, S, P, C, Ac

    SUB reg. (Subtract register)

    A reg. A

    O contedo do registo subtrado ao contedo do acumulador. O resultado desta operao colocado no

    acumulador.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    SUB M (Subtract memory)

    A - (H L) A

    O contedo da posio de memria, cujo endereo dado pelo contedo do par HL, subtrado ao

    contedo do acumulador. O resultado desta operao colocado no acumulador.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    SUI dado (Subtract immediate)

    A - dado A

  • Electrnica Digital 2

    - 61 -

    O contedo do segundo byte da instruo subtrado ao contedo do acumulador. O resultado desta

    operao colocado no acumulador.

    Ciclos: 2

    Endereamento: Imediato

    Flags: Z, S, P, C, Ac

    SBB reg. (Subtract register with borrow)

    A - reg. - Carry A

    O contedo do registo e o valor da flag C so subtrados ao contedo do acumulador. O resultado desta

    operao colocado no acumulador.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    SBB M (Subtract memory with borrow)

    A - (H L) - Carry A

    O contedo da posio de memria, cujo endereo se encontra no par de registos HL, subtrado com o

    valor da flag C ao contedo do acumulador. O resultado desta operao colocado no acumulador.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    SBI dado (Subtract immediate with borrow)

    A - dado carry A

  • Electrnica Digital 2

    - 62 -

    O contedo do segundo byte da instruo subtrado com o valor da flag C ao contedo do acumulador. O

    resultado desta operao colocado no acumulador.

    Ciclos: 2

    Endereamento: imediato

    Flags: Z, S, P, C, Ac

    INR reg. (Increment register)

    reg. + 1 reg.

    O contedo do registo incrementado de uma unidade. Todas a flags so afectadas, excepto a flag C.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, Ac

    INR M (Increment memory)

    (HL) + 1 (HL)

    O contedo da posio de memria, cujo endereo se encontra no par de registos HL, incrementado de

    uma unidade. Todas a flags so afectadas, excepto a flag C.

    Ciclos: 3

    Endereamento: indirecto por registo

    Flags: Z, S, P, Ac

    DCR reg. (Decrement register)

    reg. - 1 reg.

    O contedo do registo decrementado de uma unidade. Todas a flags so afectadas, excepto a flag C.

  • Electrnica Digital 2

    - 63 -

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, Ac

    DCR M (Decrement memory)

    (HL) - 1 (HL)

    O contedo da posio de memria, cujo endereo se encontra no par de registos HL, decrementado de

    uma unidade. Todas a flags so afectadas, excepto a flag C.

    Ciclos: 3

    Endereamento: indirecto por registo

    Flags: Z, S, P, Ac

    INX reg. pair (Increment register pair)

    reg. hi reg. low + 1 reg. hi reg. low

    O contedo do par de registos incrementado de uma unidade. Nenhuma flag afectada.

    Ciclos: 1

    Endereamento: de registo

    Flags: nenhuma

    DCX reg. pair (Decrement register pair)

    reg. hi reg. low - 1 reg. hi reg. low

    O contedo do par de registos decrementado de uma unidade. Nenhuma flag afectada.

    Ciclos: 1

  • Electrnica Digital 2

    - 64 -

    Endereamento: de registo

    Flags: nenhuma

    DAD reg. pair (Add register pair to H and L)

    reg. hi reg. low + HL HL

    O contedo do par de registos indicado adicionado ao contedo do par de registos HL. O resultado desta

    operao colocado no par de registos HL. Apenas a flag C afectada por esta instruo.

    Ciclos: 3

    Endereamento: de registo

    Flags: C

    DAA (Decimal adjust Accumulator)

    O nmero de oito bits do acumulador ajustado de modo a formar dois digitos BCD de quatro bits, atravs

    do processo seguinte:

    Se o valor expresso pelos quatro bits menos significativos do acumulador for maior do que nove ou se a flag

    Ac estiver a 1, ento adiciona-se 6 ao acumulador.

    Se o valor dos quatro bits mais significativos do acumulador for, agora, maior do que nove ou se a flag C=1,

    ento adiciona-se 6 ao valor dos 4 bits mais significativos do acumulador.

    Ciclos: 1

    Endereamento: implcito

    Flags: Z, S, P, C, Ac

    CMP reg. (Compare register)

    A reg.

  • Electrnica Digital 2

    - 65 -

    O contedo do registo subtrado ao contedo do acumulador. O contedo do acumulador permanece

    inalterado.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    CMP M (Compare memory)

    A - (H L)

    O contedo da posio de memria, cujo endereo dado pelo contedo do par HL, subtrado ao

    contedo do acumulador. O contedo do acumulador permanece inalterado.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    CPI dado (Compare immediate)

    A dado

    O contedo do segundo byte da instruo subtrado ao contedo do acumulador. O contedo do

    acumulador permanece inalterado.

    Ciclos: 2

    Endereamento: Imediato

    Flags: Z, S, P, C, Ac

    GRUPO LGICO

    Este grupo de instrues tem como finalidade a realizao das operaes lgicas sobre os dados que se

  • Electrnica Digital 2

    - 66 -

    encontram nos registos e na memria e ainda sobre o valor do registo de flags.

    ANA reg. (AND register)

    A AND reg. A

    Esta instruo faz uma operao lgica AND entre o contedo do registo e o acumulador. O AND lgico

    feito bit a bit e o resultado colocado no acumulador. Aps a execuo desta instruo a flag C encontra-se

    a 0 e a flag Ac a 1.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    ANA M (AND memory)

    A AND (HL) A

    Esta instruo faz uma operao lgica AND entre o contedo do acumulador e o contedo da posio de

    memria cujo endereo se encontra no par HL. O resultado colocado no acumulador. Aps a execuo

    desta instruo a flag C encontra-se a 0 e a flag Ac a 1.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    ANI dado (AND dado)

    A AND dado A

    Esta instruo faz uma operao lgica AND entre o contedo do registo e o valor do segundo byte da

    instruo. O resultado colocado no acumulador. Aps a execuo desta instruo a flag C encontra-se a 0

    e a flag Ac a 1.

    Ciclos: 2

  • Electrnica Digital 2

    - 67 -

    Endereamento: imediato

    Flags: Z, S, P, C, Ac

    XRA reg. (Exclusive OR register)

    A XOR reg. A

    Esta instruo faz uma operao lgica XOR entre o contedo do registo e o acumulador. O XOR lgico

    feito bit a bit e o resultado colocado no acumulador. Aps a execuo desta instruo a flag C encontra-se

    a 0 e a flag Ac a 0.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    XRA M (Exclusive OR memory)

    A XOR (HL) A

    Esta instruo faz uma operao lgica XOR entre o contedo do acumulador e o contedo da posio de

    memria cujo endereo se encontra no par HL. O resultado colocado no acumulador. Aps a execuo

    desta instruo a flag C encontra-se a 0 e a flag Ac a 0.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    XRI dado (XOR dado)

    A XOR dado A

    Esta instruo faz uma operao lgica XOR entre o contedo do registo e o valor do segundo byte da

    instruo. O resultado colocado no acumulador. Aps a execuo desta instruo a flag C encontra-se a 0

    e a flag Ac a 0.

  • Electrnica Digital 2

    - 68 -

    Ciclos: 2

    Endereamento: imediato

    Flags: Z, S, P, C, Ac

    ORA reg. (OR register)

    A OR reg. A

    Esta instruo faz uma operao lgica OR entre o contedo do registo e o acumulador. O OR lgico feito

    bit a bit e o resultado colocado no acumulador. Aps a execuo desta instruo a flag C encontra-se a 0 e

    a flag Ac a 0.

    Ciclos: 1

    Endereamento: de registo

    Flags: Z, S, P, C, Ac

    ORA M (OR memory)

    A OR (HL) A

    Esta instruo faz uma operao lgica OR entre o contedo do acumulador e o contedo da posio de

    memria cujo endereo se encontra no par HL. O resultado colocado no acumulador. Aps a execuo

    desta instruo a flag C encontra-se a 0 e a flag Ac a 0.

    Ciclos: 2

    Endereamento: indirecto por registo

    Flags: Z, S, P, C, Ac

    ORI dado (OR dado)

    A XOR dado A

  • Electrnica Digital 2

    - 69 -

    Esta instruo faz uma operao lgica XOR entre o contedo do registo e o valor do segundo byte da

    instruo. O resultado colocado no acumulador. Aps a execuo desta instruo a flag C encontra-se a 0

    e a flag Ac a 0.

    Ciclos: 2

    Endereamento: imediato

    Flags: Z, S, P, C, Ac

    RLC (Rotate left)

    AC

    O contedo do acumulador rodado uma posio (bit) para a esquerda. O contedo do bit mais significativo

    colocado no bit menos significativo e na flag C. Somente a flag C afectada por esta instruo.

    Ciclos: 1

    Endereamento: implcito

    Flags: C

    RRC (Rotate right)

    AC

    O contedo do acumulador rodado uma posio (bit) para a direita. O contedo do bit menos significativo

    colocado no bit mais significativo e na flag C. Somente a flag C afectada por esta instruo.

    Ciclos: 1

    Endereamento: implcito

  • Electrnica Digital 2

    - 70 -

    Flags: C

    RAL (Rotate left through carry)

    AC

    O contedo do acumulador rodado uma posio (bit) para a esquerda atravs da flag carry. O contedo

    do bit mais significativo colocado na flag carry e a flag carry colocada no bit menos significativo.

    Somente a flag C afectada por esta instruo.

    Ciclos: 1

    Endereamento: implcito

    Flags: C

    RAR (Rotate right through carry)

    AC

    O contedo do acumulador rodado uma posio (bit) para a direita atravs da flag carry. O contedo do

    bit menos significativo colocado na flag carry e a flag carry colocada no bit mais significativo. Somente a

    flag C afectada por esta instruo.

    Ciclos: 1

    Endereamento: implcito

    Flags: C

    CMA (Complement accumulator)

    A A

    O contedo do acumulador complementado (onde existem zeros passa a existir uns e vice-versa).

    Nenhuma flag afectada.

    Ciclos: 1

  • Electrnica Digital 2

    - 71 -

    Endereamento: implcito

    Flags: Nenhuma

    CMC (Complement carry)

    C C

    A flag C complementada. Nenhuma outra flag afectada.

    Ciclos: 1

    Endereamento: implcito

    Flags: C

    STC (Set carry)

    1 C

    A flag C colocada a 1. Nenhuma outra flag afectada.

    Ciclos: 1

    Endereamento: implcito

    Flags: C

    GRUPO DE TRANSFERNCIA DE CONTROLO

    Este grupo de instrues altera a sequncia normal do programa. No h nenhuma instruo deste grupo

    que afecte qualquer das flags.

    Existem dois tipos de instrues neste grupo: instrues de transferncia condicional e instrues de

    transferncia incondicional. As instrues de transferncia incondicional limitam-se a alterar o contedo do

    Program Counter e colocar neste o endereo especificado nos dois bytes que seguem o cdigo de instruo.

    As instrues de transferncia condicional fazem a anlise do estado de uma flag e mediante esse estado

    tomam a deciso de transferir ou no para o Program Counter o endereo especificado nos dois bytes que

    seguem o cdigo de instruo.

    As condies que determinam a transferncia de controlo encontram-se especificadas na prpria instruo:

    NZ not zero (Z = 0)

  • Electrnica Digital 2

    - 72 -

    Z zero (Z = 1)

    NC no carry (C = 0)

    C carry (C = 1)

    PO parity odd (P = 0)

    PE parity even (P = 1)

    P plus (S = 0)

    M minus (S = 1)

    JMP ender (Jump)

    ender PC

    O valor do endereo colocado no Program Counter incondicionalmente.

    Ciclos: 1

    Endereamento: imediato

    Flags: Nenhuma

    JNZ, JZ, JNC, JC, JPO, JPE, JP, JM ENDER (Conditional jump)

    Se a condio da instruo valida ento ender PC, caso contrrio a sequncia do programa segue para a instruo seguinte.

    Ciclos: 2/3

    Endereamento: imediato

    Flags: Nenhuma

    CALL ender (Call)

    PC high (SP 1)

    PC low (SP 2)

    SP - 2 SP

  • Electrnica Digital 2

    - 73 -

    ender PC

    Os oito bits mais significativos do endereo da instruo seguinte transferido para a posio de memria

    cujo endereo determinado pelo contedo do ponteiro de pilha (SP) menos uma unidade. Os oito bits

    menos significativos do endereo daquela instruo colocado na posio de memria cujo endereo

    definido pelo contedo do ponteiro (SP) de pilha menos 2 unidades. O valor do endereo colocado no

    Program Counter.

    Ciclos: 5

    Endereamento: imediato, indirecto e por registo

    Flags: Nenhuma

    CNZ, CZ, CNC, CC, CPO, CPE, CP, CM ENDER (Conditional Call)

    Se a condio da instruo valida ento executada a operao CALL, caso contrrio a sequncia do

    programa segue para a instruo seguinte.

    Ciclos: 5

    Endereamento: imediato

    Flags: Nenhuma

    RET (Return)

    (SP) PCL

    (SP+1) PCH

    SP=SP+2

    O contedo da posio de memria cujo endereo est contido no ponteiro de pilha, transferido para o

    Program Counter. O contedo do ponteiro da pilha incrementado de 2 unidades.

    RNZ, RZ, RNC, RC, RPO, RPE, RP, RM ENDER (Conditional Return)

    Se a condio da instruo valida ento executada a operao Return, caso contrrio a sequncia do

    programa segue para a instruo seguinte.

    Ciclos: 3

    Endereamento: imediato

  • Electrnica Digital 2

    - 74 -

    Flags: Nenhuma

    RST n (Restart)

    PC high (SP 1)

    PC low (SP 2)

    SP - 2 SP

    8 x n PC

    O Program Counter colocado na pilha e o ponteiro de pilha decrementado 2 unidades. O Program

    Counter recebe um valor que igual a oito vezes o nmero representado por n.

    Ciclos: 3

    Endereamento: indirecto por registo

    Flags: Nenhuma

    PCHL (Jump H and L indirect move H and L to PC)

    (L) PCL

    (H) PCH

    O contedo do registo H transferido para os oito bits mais significativos do Program Counter. O contedo

    do registo L transferido para os oito bits menos significativos do Program Counter.

    Ciclos: 1

    Endereamento: de registo

    Flags: Nenhuma

    GRUPO DE CONTROLO DE ENTRADA E SADA

    Este grupo de instrues executa operaes de entrada e sada, manipula a pilha (stack) e altera os

    indicadores internos de controlo.

    PUSH reg. Pair

    reg. H (SP)

  • Electrnica Digital 2

    - 75 -

    reg. L (SP - 1)

    SP=SP 2

    O contedo do registo mais significativo do par de registos transferido para a posio de memria com

    endereo igual ao contedo do ponteiro de pilha subtrado de uma unidade. O contedo do registo menos

    significativo do par de registos transferido para a posio de memria com o endereo igual ao contedo

    do ponteiro de pilha subtrado de 2 unidades. O ponteiro de pilha decrementado 2 unidades.

    Ciclos: 3

    Endereamento: indirecto por registo

    Flags: Nenhuma

    PUSH PSW (Processor Status Word)

    A (SP)

    Flags (SP+1)

    SP=SP - 2

    O contedo do acumulador transferido para a posio de memria com endereo igual ao contedo do

    ponteiro de pilha subtrado de uma unidade. O contedo do registo de flags transferido para a posio de

    memria com o endereo igual ao contedo do ponteiro de pilha subtrado de 2 unidades. O ponteiro de

    pilha decrementado 2 unidades.

    Ciclos: 3

    Endereamento: indirecto por registo

    Flags: Nenhuma

    POP reg. Pair