Upload
antonio-cavaleiro
View
30
Download
0
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