






































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
apostila legal de digitais mais sobre 8051
Tipologia: Notas de estudo
1 / 78
Esta página não é visível na pré-visualização
Não perca as partes importantes!







































































O sistema hexadecimal possui 16 símbolos para representar qualquer quantidade. Como são conhecidos apenas dez símbolos numéricos ( 0 a 9), adotou- se outros seis ( A a F). O sistema hexadecimal também é muito utilizado na área de microprocessadores, e tem uma estreita relação com o sistema binário.
DECIMAL: 1234 d ou (1234) 10
BINÁRIO: 0101 b ou (0101) 2
HEXADECIMAL: 9CF7 h ou (9CF7) 16
Para converter um número binário em decimal basta utilizar a lei de formação.
EX: Convertendo o número 101b em decimal:
n= 3 -1= 2 A 0 = 1; A 1 = 0 e A 2 = 1
1.2^2 + 0.2^1 + 1.2^0 = 1.4 + 0.2 + 1.1 = 4 + 0 + 1 = 5
Para converter um número hexadecimal em decimal basta utilizar a lei de formação.
EX: Convertendo o número ABh em decimal:
n= 2 -1= 1 A 0 = 11(B) e A 1 = 10(A)
10.16^1 + 11.16^0 = 171d
Quando trabalhamos com sistemas digitais, muitas vezes existe a necessidade de convertermos os valores decimais em binários. Para converter um número decimal basta dividi-lo pela base 2 tantas vezes quantas necessárias para que o quociente da divisão seja menor que a base 2. O Último quociente da divisão e os restos das divisões sucessivas, tomados na ordem inversa, correspondem ao número na base 2.
EX: 129d = ?b
Converte-se cada algarismo no seu equivalente em binário utilizando sempre 4 algarísmos. Coloca-se zeros a esquerda quando necessário.
Reune-se os grupos de 4 algarismos.
Ex: A2C7h = ?b
A 2 C 7 1010 0010 1100 0111
A2C7h = 1010001011000111b
Exercícios: Converter os números na base solicitada.
Para efetuarmos a adição no sistema binário, devemos agir como numa adição convencional do sistema decimal. Convém observar que no sistema decimal 1+1 = 2d e no sistema binário como temos apenas dois algarismos 1+1 = 0 e transporta 1. A operação de transporte também é denominada carry.
Ex: 11b + 10b
Ex: 110b + 111b
O método de resolução é análogo a uma subtração no sistema decimal. È importante observar o caso 0 - 1, onde o resultado será igual a 1 porém haverá um transporte para a coluna da esquerda que deve ser acumulado (somado) no subtraindo e, obviamente subtraído do minuendo. A este estouro dá-se o nome de borrow.
O método do complemento de 2 é muito útil nas operações de subtração. Ex: Subtração do binário 1110 - 0011 em complemento de 2
Ex: Subtração de 0101 - 1100
Como o resultado é negativo para obtermos o módulo devemos fazer o C2 da adição para obtermos o módulo da subtração de 0101 - 1100. Portanto teremos: 0110 (C1) + 1 = 0111
Deslocando-se os algarismos de um número para a sua esquerda, o resultado será o número multiplicado pela sua base.
Ex:
O número que inicialmente era 0010 ( 2d) foi multiplicado pela sua base (2), que resultou no binário 0100 (4d).
De forma análoga se deslocarmos os algarismos de um número para a direita, o resultado será a divisão do número pela sua base.
Ex:
O binário 1000 que representa 8d como foi deslocado para a direita resultou em 0100 que representa 4d, portanto podemos verificar que o número foi dividido pela base 2.
A função “OR” é aquela que assume valor 1 quando uma ou mais entradas forem iguais a “um” e assume valor “zero” se todas as entradas forem zero. Sua representação algébrica para duas variáveis de entrada é S = A + B, onde se lê S = A ou B.
A função “not” inverte ou complementa o estado da variável, ou seja, se a variável estiver em zero, a saída vai para 1, e se estiver em 1, a saída vai a zero. É representada algebricamente da seguinte forma S = /A, onde se lê não A.
A função lógica “xor”, também conhecida como ou-exclusivo, apresenta como resultado nível lógico 1 sempre que existir um número “impar” de níveis lógicos 1 nas entradas. A sua representação algébrica é a seguinte S = A ⊕ B.
A função xor é utilizada para gerar PARIDADE PAR , onde este é um dos métodos para detecção de erro em comunicação digital.
4.1) BUFFER: Em geral, chamamos de buffer o circuito que tem por objetivo o armazenamento temporário de informações.
4.2) DRIVER: Amplificador de corrente. Usado quando temos que ampliar a capacidade de fornecimento de uma porta.
4.3) FIRMWARE : Programa associado a um hardware para a execução de funções específicas. Ex: programa gravado em eprom
4.4) TRI-STATE : Nome dado, quando o sistema está fisicamente ligado, porém não interfere no sistema devido a alta resistência apresentada.
4.5) LATCH : Componente eletrônico que tem a função de “trava” de informações. O latch funciona como uma porta, que estando ativa, deixa passar a informação presente em suas entradas, e se inativa, faz com que a informação na saída não se altere, independente das alterações na entrada.
4.6) MAPEAMENTO REDUNDANTE : Cada endereço decodificado não é único. O decodificador é projetado para separar apenas os dispositivos entre si. Este tipo apresenta hardware menos complexo.
4.7) MAPEAMENTO NÃO REDUNDANTE : Cada endereço decodificado é único. Constrói-se o decodificador utilizando o menor espaço de memória. Este tipo de decodificação necessita de um hardware bastante complexo.
4.8) CHIP SELECT (/CS): Este pino está presente na grande maioria dos dispositivos associados a microprocessadores. Como todos os dispositivos (EPROM, RAM, I/O) estão ligados à via de dados (D0 ... D7), os mesmos devem estar sempre em alta impedância para evitar que enquanto um bit esteja em “0”, outro esteja em “1”, ocasionando um conflito e até mesmo danificando o sistema. Normalmente todos os dispositivos estão com o /CS em “1”, e somente irá a “0” aquele dispositivo que está sendo acionado e apenas durante o tempo necessário. Estes tempos e esta seleção são efetuados por “circuitos lógicos” conhecidos como DECODIFICADORES DE ENDEREÇO.
EX: Projetar um decodificador para I/O mapeado em memória nas seguintes configurações:
A) 32K bytes de RAM, 32K bytes para I/O mapeamento redundante.
A.1) Utilizando portas lógicas
A15 = 0 32k inferior A15 = 1 32k superior
A.2 ) Utilizando o 74139
Tabela verdade:
A B Y0 Y1 Y2 Y 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0
B) 32K RAM, 32K para I/O com mapeamento redundante nos endereços 8000H e 8001H
B.1 ) Utilizando portas lógicas
B.2 ) Utilizando o 74139
C) 32K RAM, 32K para I/O com mapeamento não redundante nos endereços 8000H e 8001H
Exercícios:
Projetar um decodificador com 16K de RAM e 48K bytes de I/O, mapeando 16K para cada dispositivo. Mapeamento redundante.
Projetar um decodificador com 16K de RAM e os endereços 8000, A000 e C para I/O mapeamento redundante.
Projetar um decodificador de I/O mapeado em memória com 24K de RAM e o restante em 3 endereços para I/O. Mapeamento redundante.
3.1) Utilizar o 74xx 3.2) Utilizar o 74xx
4.1) Utilizar o 74xx 4.2) Utilizar o 74xx
5.1) Utilizar o 74xx 5.2) Utilizar o 74xx
A maior dificuldade em projetar um decodificador é que não existe uma formula ou receita pronta. Um bom projeto, depende basicamente de experiência e conhecimento de circuitos digitais. Algumas dicas que poderão ajudar.