49
TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM ELETRÔNICA GIGA PARA TESTE DE CI FAMILIA TTL Luís Marcos Dourado Santos Josias dos Santos Costa Rafael Vinicius da Silva Renato de Souza Silva Sérgio Alves Pedrosa Cleber Ferreira David Almeida Professor(es) Orientador(es): Larry São Caetano do Sul / SP 2014 Centro Estadual de Educação Tecnológica Paula Souza GOVERNO DO ESTADO DE SÃO PAULO Etec “JORGE STREET”

TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO … 40ª EXCUTE...um circuito integrado programável, assim poderia ser utilizado em varias aplicações mudando-se apenas a sua programação

  • Upload
    lamkiet

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM

ELETRÔNICA

GIGA PARA TESTE DE CI

FAMILIA TTL

Luís Marcos Dourado Santos

Josias dos Santos Costa Rafael Vinicius da Silva

Renato de Souza Silva Sérgio Alves Pedrosa

Cleber Ferreira David Almeida

Professor(es) Orientador(es): Larry

São Caetano do Sul / SP 2014

Centro Estadual de Educação Tecnológica Paula Souza

GOVERNO DO ESTADO DE SÃO PAULO

Etec “JORGE STREET”

GIGA PARA TESTE DE CI FAMILIA TTL

Trabalho de Conclusão de Curso

apresentado como pré-requisito para

obtenção do Diploma de Técnico em

Eletrônica.

São Caetano do Sul / SP 2014

Dedicamos esse Projeto a todas as pessoas que

sempre nos deram força e os professores que

participaram ativamente para o desenvolvimento

do mesmo.

AGRADECIMENTOS Agradecemos primeiramente a Deus e a todos aqueles que juntamente ao grupo

colaboraram com a execução deste projeto, ao professor Salomão pela orientação

na programação, ao nosso orientador professor Larry, professora Alessandra Brito e

ao companheiro de sala “Jareo”.

RESUMO

A monografia apresentada tem como principal objetivo melhorar didaticamente as

aulas em laboratórios de cursos técnicos de eletrônica, através do teste de

componentes CI 7400, 7402, 7408 e 7432, ambos da família TTL. A viabilidade do

projeto está na customização de tempo para verificação do CI. A verificação se

consiste em saber se o componente está em condições de uso e se apresenta

aparentes defeitos, onde, será reduzido e simplificado o tempo de testes através da

proposta de uma placa, com um Microcontrolador 8051, que analisa e mostra o

display onde o componente é testado e se esta com defeito ou não. Atualmente em

escolas técnicas e cursos em geral são realizados testes manuais com este tipo de

componente.

Palavras-chave: Aprendizagem, Tempo e Desenvolvimento.

LISTA DE FIGURAS

Figura 1 – Primeiro Processador da História (4004) 9

Figura 2 – Desenho esquemático de um Microcontrolador 10

Figura 3 - Características especiais da família 8051 11

Figura 4 - Aspecto externo do 8051 12

Figura 5 - Faixas de tensão entrada 15

Figura 6 – Faixas de tensão Saída 16

Figura 7 – C.I dual in line (DIP) 17

Figura 8 – Símbolo gráfico e tabela verdade da porta Inversora (NOT) 18

Figura 9 – Símbolo gráfico e tabela verdade da porta AND 18

Figura 10 – Símbolo gráfico e tabela verdade da porta OR 19

Figura 11 – Símbolo gráfico e tabela verdade da porta NAND 19

Figura 12 – Símbolo gráfico e tabela verdade da porta NOR 20

Figura 13 - esquema do CI 7400 20

Figura 14 - esquema do CI 7402 21

Figura 15 - esquema do CI 7408 21

Figura 16 - esquema do CI 7432 22

Figura 17 - Teclado matricial de membrana 4X4 23

Figura 18 - Teclado Matricial - Representação das linhas e das colunas 23

Figura 19 – Display LCD 16x2 24

Figura 20 - Soquete ZIF 40 pinos 25

Figura 21 - Verificação manual das portas lógicas por dips e led’s 33

Figura 22 - Verificação manual das portas lógicas pelo microcontrolador 8051 34

Figura 23 – Componentes gerais do projeto 34

Figura 24 – Soldagem das trilhas 35

Figura 25 – Montagem completa do projeto 35

Figura 26 – Mensagem do display DIGITE O CODIGO 36

Figura 27 - Mensagem do display CODIGO INVALIDO DIGITE NOVAMENTE 36

Figura 28 - Mensagem do display CI DEFEITO 37

Figura 29 - Mensagem do display CI OK 37

Figura 30 - Projeto pronto 38

LISTA DE TABELAS

Tabela 1 - Descrição da Pinagem do 8051 13

Tabela 2 - Pinagem dos módulos LCD 24

Sumário

Introdução ................................................................................................................. 08

1 – Fundamentação Teórica ...................................................................................... 09

1.1 – Microcontrolador ............................................................................................... 09

1.2 – O Microcontrolador 8051 introduzida pela Intel ................................................ 11

1.2.1 – Análise externa do Microcontrolador 8051 .......................................... 12

1.3 – Programação do Microcontrolador ................................................................... 14

1.4 – Circuito Integrado - CI ...................................................................................... 14

1.4.1 – Familias lógicas dos circuitos integrados ............................................. 14

1.4.2 – Familia Lógica TTL ............................................................................... 15

1.4.3 – Circuitos integrados TTL ...................................................................... 16

1.5 – Portas Lógicas ................................................................................................. 17

1.5.1 – Porta Lógica Inversora (NOT)............................................................... 18

1.5.2 – Porta Lógica AND ................................................................................. 18

1.5.3 – Porta Lógica OR ................................................................................... 19

1.5.4 – Porta Lógica NAND .............................................................................. 19

1.5.5 – Porta Lógica NOR ................................................................................ 20

1.6 – Circuitos Integrados TTL e suas Portas Lógicas .............................................. 20

1.6.1 – CI 7400 ............................................................................................... 20

1.6.2 – CI 7402 ............................................................................................... 21

1.6.3 – CI 7408 ............................................................................................... 21

1.6.4 – CI 7432 ............................................................................................... 22

1.7 – Dispositivos Periféricos .................................................................................... 22

1.7.1 – Teclado Matricial 4x4 ............................................................................ 23

1.7.2 – Display LCD 16x2 ................................................................................. 24

1.7.3 – Soquete ZIF .......................................................................................... 25

2 – Planejamento do Projeto ..................................................................................... 26

3 – Desenvolvimento do Projeto ................................................................................ 33

4 – Resultados Obtidos ............................................................................................. 39

Conclusão ................................................................................................................. 40

Referências ............................................................................................................... 41

Apêndice A ................................................................................................................ 42

8

Introdução

Durante nosso curso de eletrônica, pudemos constatar em aulas práticas nos

laboratórios da escola, a necessidade de otimização de tempo no manuseio e

utilização de uma placa para testar circuitos integrados como o: CI 7400, CI 7402, CI

7408 e CI 7432. Assim, com o tempo otimizado dos testes destes componentes,

poderemos constatar a eficácia de tempo nas atividades desenvolvidas e agilidade

para a conclusão das tarefas.

Tema e delimitação.

Inicialmente o projeto foi desenvolvido para uso em laboratórios de escolas

técnicas, para uso didático na verificação de componentes eletrônicos, indicando em

um display de fácil visualização se o componente está funcionando ou com defeito.

Objetivos Gerais

Objetivando o desperdício de tempo testando CI´s manualmente, a partir de

testes prévios usando um testador de componentes, facilitando o manuseio e teste

prévio do CI, examinar o seu funcionamento e diagnosticar se o componente, esta

pronto para ser usando, evitando o desperdício de tempo e otimização de projetos

desenvolvidos em laboratórios.

Objetivos Específicos

Se os CI´s forem testados previamente, com um recurso que apresente a

eficácia para diagnosticar problemas de funcionamento, consequentemente haverá

customização de tempo nas aulas de laboratório e economia de recursos, como um

diagnóstico preciso da eficiência do CI.

Justificativa

A motivação para o desenvolvimento deste projeto foi de melhorar o

aproveitamento de aulas em laboratório, fazer testes prévios, como diminuir as taxas

de desperdícios de circuitos integrados, economia financeira e até atender propostas

sustentáveis de reaproveitamento ou customização de recursos físicos.

9

Metodologia

Neste projeto, usamos ferramentas que vimos decorrentes ao nosso curso

técnico de eletrônica, usando analises e maneiras mais viáveis para o

desenvolvimento do mesmo. Foi feito estudo do microcontrolador 8051 e CI’s da

família TTL, e suas especificações. Após a análise dos dispositivos necessários, foi

projetado a placa de circuito impresso, utilizando para a sua programação o software

Jfe. Após o desenvolvimento do projeto de circuito impresso, iniciou-se o processo

de fabricação e montagem da placa e consequentemente a programação em

linguagem C, pôde ser realizada e testada.

1 – Fundamentação Teórica

1.1 – Microcontrolador

Em 1969 uma equipe de engenheiros japoneses da empresa BUSICOM

chegou aos Estados Unidos com um pedido de circuitos integrados para

calculadoras que deveriam ser desenvolvidos de acordo com as necessidades de

seus produtos. O pedido foi encaminhado para a Intel que encarregou Marcian Hoff

para a execução deste projeto, que propôs a BUSICOM, uma ideia revolucionária,

um circuito integrado programável, assim poderia ser utilizado em varias aplicações

mudando-se apenas a sua programação. Dessa forma a Intel criou o primeiro

microprocessador conhecido como 4004 (ver figura 1), que era capaz de trabalhar

com 4 bits a uma velocidade de 6 mil operações por segundo ou 6khz.

Figura 1 – Primeiro processador da história (4004).

10

Com o passar do tempo e da evolução, começaram a surgir dispositivos

eletrônicos com funcionalidades especificas, além da necessidade do conforto e

praticidade. Televisores com controle remoto, máquinas de lavar roupa, micro-

ondas, celulares, vídeo games entre outros. Desse ponto, nasce a era dos sistemas

embutidos (os microcontroladores). Os microcontroladores seguem o mesmo

princípio de um microprocessador, entretanto, o microcontrolador não necessita de

memória externa e barramento externo para funcionar. Tudo isso (e mais) está

embutido dentro de um circuito integrado. Os microcontroladores são pequenos

dispositivos dotados de "inteligência", basicamente constituídos de Unidade Central

de Processamento - CPU (Central Processing Unit), memória (dados e programas) e

periféricos (portas E/S, I2C, SPI, USART etc.).

Apesar de os microcontroladores possuírem um desempenho bem inferior aos

microprocessadores, o seu custo é muito menor. Além disso, são úteis em

aplicações onde as dimensões, custo, tamanho e consumo do produto são muito

importantes. O primeiro microcontrolador produzido foi o 8048 da Intel, substituído

mais tarde pela família 8051, que se tornou muito popular junto com o 6811 da

Motorola. Atualmente no mercado, existem vários modelos e fornecedores desses

componentes, sendo usado em veículos, equipamentos domésticos, celulares,

dispositivos periféricos de computadores, pequenos sistemas de controle,

brinquedos, equipamentos médicos, etc.

Figura 2 – Desenho esquemático de um Microcontrolador

11

1.2 - O Microcontrolador 8051 introduzida pela Intel

O 8051 da Intel é o pai dos microcontroladores e sem duvida o mais popular

atualmente. Este microcontrolador de 8 bits relativamente simples, porém com ampla

aplicação. É conhecido por ser de fácil programação. Diversos fabricantes produzem

microcontroladores da família 8051 (Intel, Dallas, OKI, Matar, Philips, Siemens,

SMC, SSI). A Intel lançou o 8051 em 1977, e se tornou um microcontrolador de

ampla utilização, um dispositivo de 8 bits com principal finalidade com automação de

controle.

Suas principais características:

8 bits

4 ports bidirecionais de 8 bits (P0, P1, P2, P3)

128 bytes de RAM interna

4 Kbytes de memória de programa ROM OTP

Endereçamento de até 64 Kbytes de memória de dados externa

Endereçamento de até 64 Kbytes de memória de programa externa

Oscilador de clock

2 timers/counters (T/C) de 16 bits

Uma porta serial USART

5 fontes de interrupção (2 externas, 2 T/C, 1 serial)

As características citadas acima são básicas e formam o núcleo da família 8051, que

pode ser acrescido de uma ou mais das características especiais mostradas na

figura 3.

Figura 3 - Características especiais da família 8051

12

1.2.1 - Análise externa do microcontrolador 8051

O aspectro externo do 8051 é o da figura abaixo (figura 4). Os pinos com

nomes da forma P0.0, P0.1, etc. corresponde às quatro portas de E/S (P0 a P3).

Note a dupla utilidade das portas P0 e P2, que ficam comprometidas com o uso de

memória externa, assim com os pinos P3.6 e P3.7. o sinal ALE (adress latch

Enable), permite fazer a demultiplexação de dados e endereços na porta P0. Através

do sinal PSEN (program Storage Enable), o controlador informa o mundo se a

operação em andamento é uma leitura de instrução (acesso à memória do

programa) ou um acesso à memória de dados. Este sinal permite que o processador

tenha duas regiões distintas de memória externa, uma para armazenas código e

outra para dados, ambas os endereços de 0 a FFFFH (64Kb), num total de 128Kb.

Abaixo na figura 4, o desenho de um Microcontrolador 8051 e sua pinagem:

Figura 4 - Aspecto externo do 8051

13

A Tabela a seguir mostra a descrição completa da pinagem do Microcontrolador 8051.

Número dos Pinos

Nome Descrição resumida de sua função

1 a 8 P1.0 a

P1.7 Port 1

Porta de I/O número 1

9 RST/VPD

“Reset” do sistema (é necessário a aplicação de um nível alto TTL, durante 2 ou mais ciclos de máquina)

10 a 17 P3.0 a P3.7

Port 3

Porta de I/O número 3 Possibilita também funções especiais relacionadas ao Canal Serial, Interrupções e “Timer/Counter”

18 XTAL

2 Ligação do cristal oscilador

19 XTAL

1 Ligação do cristal oscilador

20 GND Terra

21 a 28

P2.0 a P2.7

Port 2 ou

A8 a A15

Porta de I/O número 2 Saída do byte mais significativo do endereço, para memória externa.

29 PSEN’

Program Store Enable “Strobe” da memória de programa externa. Quando o sistema lê instruções ou operandos na memória externa, vai para nível zero e não é ativado (nível 1) durante busca na memória interna de programa.

30 ALE / PROG

Address Latch Enable Saída para habilitar o “latch” de endereços. Serve para separar, a parte menos significativa do endereço, dos dados, na aplicação de memória externa. Entrada do pulso de programação durante a gravação da EPROM.

31 EA’ / Vpp

External Access Enable – Programming Supply Voltage Entrada de seleção da memória de programa. Quando em nível zero, a CPU trabalha apenas com a memória de programa externa. Se em nível lógico 1, a CPU executa instruções da memória de programa interna, desde que o PC seja menor que 4096. Este pino recebe +21 volts durante a programação da ROM interna. Recebe +21V durante a programação da EPROM

32 a 39

P0.0 a P0.7 ou

AD0 a AD7

Porta de I/O número 0 Fornece o byte menos significativo de endereço multiplexado com os dados.

40 VCC + 5 volts

Tabela 1 - Descrição da Pinagem do 8051

14

1.3 - Programação do Microcontrolador

A programação do microcontrolador pode ser realizada em linguagem C. A

linguagem C, também chamada de linguagem compilada, foi criada por Dennis

Ritchie, em 1972, no centro de pesquisas da Bell Laboratories.

Inicialmente utilizada para reescrever o sistema operacional UNIX, que

anteriormente era escrito em Assembly, a linguagem C possui características como

modularidade, compilação separada, recursos de baixo nível, confiabilidade, entre

outros. Na década de 70, o UNIX foi liberado para as universidades e, a partir desse

ponto, a linguagem C tornou-se amplamente conhecida e utilizada. Trata-se de uma

linguagem de fácil manipulação ao homem. Após escrito todo o código, deve-se

utilizar um compilador.

1.4 - Circuito integrado – CI

Circuito integrado (ou simplesmente C.I.) é um circuito eletrônico que

incorpora miniaturas de diversos componentes (principalmente transistores, diodos,

resistores e capacitores), "gravados" em uma pequena lâmina (chip) de silício. O

chip é montado e selado em um bloco (de plástico ou cerâmica) com terminais que

são conectados aos seus componentes por pequenos fios condutores. Com as mais

diversas funções e aplicações na indústria, presente tanto nos produtos eletrônicos

de consumo quanto nos seus processos de produção, os circuitos integrados, assim

como outros componentes, estão disponíveis em diversos formatos e tamanhos

(encapsulamentos), que também determinam a forma como serão fixados nas

placas de circuito impresso. Podem ser montados na superfície da placa, sem

atravessá-la (Surface Mount Technology "SMT", ou Surface Mount Device "SMD"),

ou podem ser montados com seus terminais atravessando a placa (Thru Hole, ou

PTH).

1.4.1 - Famílias Lógicas dos Circuitos Integrados

O desenvolvimento da tecnologia dos circuitos integrados, possibilitando a

colocação num único invólucro de diversos componentes já interligados, veio permitir

um desenvolvimento muito rápido da Eletrônica Digital e consequentemente do

projeto de sistemas digitais. Foi criada então uma série de circuitos integrados que

continham numa única pastilha as funções lógicas digitais mais usadas e de tal

15

maneira projetadas que todas eram compatíveis entre si. Estas séries de circuitos

integrados formaram então as Famílias Lógicas, a partir das quais os projetistas

tiveram facilidade em encontrar todos os blocos para montar seus sistemas digitais.

As famílias lógicas diferem basicamente pelo componente principal utilizado

por cada uma em seus circuitos. As famílias TTL (Transistor-Transistor Logic) usa

transistor bipolar como seu principal componente, enquanto a família CMOS usam

os transistores unipolares MOSFET (transistor de efeito de campo construído

segundo a técnica MOS - Metal Oxide Semicondutor) como seu elemento principal

de circuito. Atualmente a Família TTL e a CMOS são as mais usadas, sendo

empregadas em uma grande quantidade de equipamentos digitais e também nos

computadores e periféricos. Dessa forma, essas serão as famílias abordadas.

1.4.2 - Família Lógica TTL

TTL significa Transistor-Transistor – Logic (Lógica Transistor-Transistor). Esta

família foi originalmente desenvolvida pela TEXAS Instruments, mas hoje, muitos

fabricantes de semicondutores produzem seus componentes. Esta família é

principalmente reconhecida pelo fato de ter duas séries que começam pelos

números 54 para os componentes de uso militar e 74 para os componentes de uso

comercial. A tensão de alimentação se restringe a 5V contínuos, tendo, porém, uma

faixa de tensão correspondente aos níveis lógicos 0 e 1.

A figura a seguir (figura 5), mostra as faixas de tensão correspondentes aos

níveis lógicos de entrada de um circuito integrado da família TTL. Nela observa-se,

que existe uma faixa de tensão entre 0,8V e 2V na qual o componente TTL não

reconhece os níveis lógicos 0 e 1, devendo, portanto, ser evitada em projetos de

circuitos digitais.

Figura 5 – Faixas de tensão entrada

VIH – Tensão de entrada correspondente ao nível lógico alto (1).

VIL– Tensão de entrada correspondente ao nível lógico baixo (0).

16

Já nesta outra figura abaixo (figura 6) a seguir mostra as faixas de tensão

correspondentes aos níveis lógicos de saída de um circuito integrado da família TTL.

Figura 6 – Faixas de tensão saída

A Série 74, Identifica os dispositivos da família TTL de uso comercial.

Especificações Família TTL:

Temperatura: 0 a 70 ºC

Tensão de alimentação: 4,75 a 5,25V (5V + ou - 10%)

1.4.3 - Circuitos Integrados TTL

Esta família possui uma vasta variação de circuitos integrados padronizados

com configurações de pinagens disponíveis nos manuais dos fabricantes. São

circuitos integrados que possuem 14 pinos ou mais, conforme a complexidade do

circuito agregado, com encapsulamentos denominados DIP (Dual-In-Line Package),

cuja identificação da disposição dos terminais se faz através da vista superior, em

sentido anti-horário a partir de uma marca de referência no encapsulamento do

circuito integrado.

V0H – Tensão de saída correspondente ao nível lógico alto (1).

V0L – Tensão de saída correspondente ao nível lógico baixo (0).

17

Figura 7 - CI dual in line (DIP)

No caso do circuito integrado acima, podemos verificar que a sua alimentação é feita

através do pino 14: +Vcc e do pino 7: terra ou GND (ground).

1.5 - Portas Lógicas

Portas lógicas ou circuitos lógicos são circuitos eletrônicos existentes dentro

dos microprocessadores e são responsáveis por realizar as operações lógicas,

aritméticas e de tomada de decisão. O funcionamento destes elementos foi baseado

nos princípios estabelecidos pelo matemático britânico George boole em meados do

século 19, antes mesmo da primeira lâmpada ser inventada. Em suma a ideia

principal foi de expressar funções lógicas por meio de funções algébricas. Esse

pensamento foi logo transformado em um produto prático, que muito mais tarde

evoluiu para o que hoje conhecemos como circuitos lógicos: INVERSORA (NOT), E

(AND), OU (OR), NAND, NOR. O princípio de funcionamento destes elementos ficou

conhecido como álgebra Booleana. Uma vez que algumas instruções de programas

utilizadas por microprocessadores e microcontroladores fazem uso das

funcionalidades destas portas lógicas, é importante estudarmos o princípio de

funcionamento de cada uma delas.

18

Portas lógicas usadas em nosso projeto:

1.5.1 - Porta Lógica Inversora (NOT)

Como o próprio nome já sugere, o inversor irá inverter o numero entrado. Se

você entrar com o numero “0” em um circuito inversor, você obterá na saída o

numero “1”, da mesma forma que se você entrar o numero “1”, obterá o numero “0”

na sua saída. O símbolo do inversor pode ser visto na figura 8. A porta inversora

também é conhecida como NOT.

Figura 8 – símbolo gráfico e tabela verdade da porta Inversora (NOT)

1.5.2 - Porta Lógica AND

Uma porta lógica “AND” tem duas ou mais entradas e apenas uma saída. O

princípio de funcionamento desta porta diz que só aparecerá a lógica um (1), na

saída da porta quando todas as entradas forem também iguais a um (1), ou seja,

somente quando A e B forem iguais a 1 a saída será igual a 1. A figura 9 mostra o

símbolo representativo da porta lógica AND, e a tabela de dependência mutuas

entre as entradas e a saída, Tabela Verdade.

Figura 9 – símbolo gráfico e tabela verdade da porta AND

19

1.5.3 - Porta Lógica OR

Da mesma forma que o caso anterior, as portas OR também podem ter duas

ou mais entradas e uma saída. A lógica um (1) aparecerá na porta de saída se

qualquer uma das entradas (A ou B) estiver em lógica um (1). Somente se todas as

entradas estiverem em lógica zero (0), a saída será modificada para lógica zero (0).

A figura 10 mostra o símbolo representativo da porta lógica OR e a sua tabela

verdade.

Figura 10 – símbolo gráfico e tabela verdade da porta OR

1.5.4 - Porta Lógica NAND

A letra “N” em NAND significa NOT (literalmente “não”, mas representa o

circuito inversor) e esta porta nada mais é do que uma porta AND com um inversor

acoplado. Por isso sua saída é o oposto da AND. Seu símbolo é o mesmo do AND,

mas com “o” em sua saída, para dizer que o valor da sua saída é invertido. A figura

11 mostra o símbolo representativo da porta lógica NAND e a sua tabela verdade.

Figura 11 – símbolo gráfico e tabela verdade da porta NAND

20

1.5.5 - Porta Lógica NOR

A Letra “N” em NOR significa NOT (literalmente “não”, mas representa o

circuito inversor), e esta porta nada mais é do que uma porta OR com um inversor

acoplado. Por isso, sua saída é o oposto da porta OR. Seu símbolo é o mesmo do

OR, mas com um “o” em sua saída, para dizer que o valor da sua saída é invertido.

A figura 12 mostra o símbolo representativo da porta lógica NOR e a sua tabela

verdade.

Figura 12 – símbolo gráfico e tabela verdade da porta NOR

1.6 - Circuitos integrados TTL e suas portas lógicas

1.6.1 - CI 7400

O circuito TTL 7400 é um dispositivo TTL que contém quatro portas NAND de duas

entradas cada. As portas apresentam funcionamento independente. É encapsulado

em um invólucro DIP de 14 pinos. O consumo médio por circuito integrado é da

ordem de 12mA.

Figura 13 – esquema do CI 7400

21

1.6.2 – CI 7402

O circuito TTL 7402 é um dispositivo TTL que possui quatro portas lógicas NOR de

duas entradas cada porta. O consumo é de 12mA e o invólucro é DIL.

Figura 14 – esquema do CI 7402

1.6.3- CI 7408

O circuito lógico TTL 7408 é um dispositivo TTL que possui quatro portas

lógicas AND de duas entradas cada porta. Ele é usado, principalmente, em circuitos

eletrônicos lógicos. O princípio de funcionamento dele é de uma porta lógica AND,

que por sua vez, é uma operação lógica em dois operados que resulta em um valor

lógico verdadeiro se e somente se todos os operados tem um valor verdadeiro.

Figura 15 – esquema do CI 7408

22

1.6.4 – CI 7432

O circuito lógico TTL 7432 é um dispositivo TTL que possui quatro portas

lógicas OR de duas entradas cada porta. É um dispositivo encapsulado em um

invólucro de 14 pinos.

Figura 16 – Esquema do CI 7432

1.7 - Dispositivos Periféricos

Todo equipamento baseado em microprocessador, para que seja utilizável,

tem a necessidade de trocar dados com o mundo exterior. Isto é efetuado através de

portas de entrada e saída. Acopladas a estas portas normalmente encontram-se os

dispositivos periféricos, que são destinados a determinados tipos de operação. Em

nosso projeto, estaremos usando tais dispositivos, podendo citar: controladores de

teclado, controladores de display, portas de entrada e saída paralelas, controladores

de DMA, controladores de interrupção, controladores de disco, etc. Alguns desses

dispositivos são específicos para determinadas aplicações, enquanto que outros

permitem sua configuração e utilização de diversas maneiras. Os principais

fabricantes de circuitos integrados oferecem ao usuário, além dos

microprocessadores, uma grande quantidade de dispositivos periféricos, que cobrem

as principais aplicações e suas variações. Tais dispositivos apresentam

compatibilidade com determinados microprocessadores, simplificando sua

interligação, e podem ser adaptados a cada aplicação através de programação.

Resta ao usuário, dessa forma, programá-los e configurá-los, adequando-os às

necessidades. A programação de tais dispositivos, embora nem sempre trabalhosa,

pode se tornar não trivial, em função dos muitos casos para os quais os dispositivos

são projetados para se adaptar, obrigando ao usuário a um estudo minucioso dos

seus manuais de especificação.

23

1.7.1 - Teclado matricial 4X4

Foi utilizado um teclado matricial de membrana 4X4 , quatro linhas e quatro

colunas. A Figura 17 mostra o teclado matricial utilizado no projeto.

Figura 17 - Teclado matricial de membrana 4X4

Esse teclado tem suas teclas ligadas por linhas e colunas. Quando uma tecla

é pressionada o barramento daquele botão faz ligação com o barramento da coluna

do mesmo. De acordo com a Figura 18:

Figura 18 - Teclado Matricial - Representação das linhas e das colunas

Um teclado matricial pode ser implementado com circuitos simplificados diretamente

controlados pelo microprocessador, via portas paralelas de entrada e saída e

programa.

24

1.7.2 - Display LCD 16X2

Por tratar-se de componente de fácil utilização e implementação, o display

LCD (liquid cristal display) tornou-se um dispositivo amplamente utilizado e versátil,

permite a escrita de palavras, números, símbolos, etc. o display 16x2 possui 16

colunas e 2 linhas, permitindo a escrita de 32 caracteres, 16 na linha 1 ou, superior,

e 16 na linha 2 ou, inferior.

Figura 19 - Display LCD 16x2

A Tabela a seguir mostra a descrição completa da Pinagem dos módulos LCD

Pino Função Descrição

1 Alimentação Terra ou GNV

2 Alimentação VCC ou +5v

3 VO Tensão para ajuste de contraste

4 RS Seleção: 1 – dado, 0 – instrução

5 R/W Seleção: 1 – leitura, 0 – escrita

6 E Chip Select 1 ou (1 → 0) - Habilita, 0 – Desabilitado

7 B0 LSB

Barramento de Dados

Barramento de Dados

8 B1

9 B2

10 B3

11 B4

12 B5

13 B6

14 B7 MSB

15 A (quando existir) Anodo p/ LED backlight

16 K (quando existir) Catodo p/ LED backlight

Tabela 2 - Pinagem dos módulos LCD

25

1.7.3 - Soquete ZIF

Soquetes são componentes onde se colocam e fixam Circuitos integrados,

com possibilidade de remoção. E ZIF é um componente de fixação de Circuitos

integrados ou FLAT Cables, normalmente utilizado em Programadores de Circuitos

ou eletrônica embarcada. Tem um bastonete que fecha os contatos nas pernas do

Circuito Integrado ou uma fixação para prender o cabo e Flat.

Figura 20 – Soquete ZIF 40 pinos

26

2 – Planejamento do Projeto

Parte Elétrica / Eletrônica

27

Previsão de Custos

Quantidade Componentes Valores

1 Placa padrão R$ 32,00

1 Display LCD R$ 35,00

1 Microcontrolador 8051 R$ 26,00

4 CI’s 7400,7402,7408,7432 R$ 6,80

1 Teclado R$ 20,00

1 Soquete Zif R$ 22,00

1 Soquete R$ 2,00

1 Trimpot R$ 2,00

1 Diodo R$ 1,00

3 Resistor R$ 1,50

1 Led R$ 1,00

1 Cristal R$ 1,50

4 Capacitor R$ 6,00

2 Fonte Resistiva R$ 2,50

1 Chave botão R$ 0,50

Valor total R$ 159,80

28

Parte Lógica:

FLUXOGRAMA DO PROCESSO

INICIO

LCD INI

DIGITAR CÓDIGO

NO L.C.D.

AGUARDANDO N

CÓDIGO

CÓDIGO S CI 7400

00

CÓDIGO S C.I. 7402

02

CÓDIGO S C.I. 7408

08

CÓDIGO S C.I. 7432

32

CÓDIGO INVÁLIDO

29

FLUXOGRAMA CI NAND 7400 INICIO

COLOCAR 0 E 0

NAS ENTRADAS

SAÍDA

= 1

COLOCAR 0 E 1

NAS ENTRADAS

SAÍDA

= 1

COLOCAR 1 E 0

NAS ENTRADAS

SAÍDA =1 COLOCAR 1 E 1 NAS ENTRADAS SAÍDA = 0 C.I. OK C.I. DEFEITO

30

FLUXOGRAMA CI NOR 7402

INICIO

COLOCAR 0 E 0

NAS ENTRADAS

SAÍDA

= 1

COLOCAR 0 E 1

NAS ENTRADAS

SAÍDA

= 0

COLOCAR 1 E 0

NAS ENTRADAS

SAÍDA =0 COLOCAR 1 E 1 NAS ENTRADAS SAÍDA = 0 C.I. OK C.I. DEFEITO

31

FLUXOGRAMA CI AND 7408

INICIO

COLOCAR Ø E Ø

NAS ENTRADAS

COLOCAR 0 E 1

SAÍDA S NAS ENTRADAS

= Ø

IN

SAÍDA S

= Ø

N

COLOCAR 1 E Ø

NAS ENTRADAS

SAÍDA S = Ø N COLOCAR 1 E 1 NAS ENTRADAS SAÍDA = 1 N C.I. OK C.I. DEFEITO

32

FLUXOGRAMA CI OR 7432 INICIO

COLOCAR Ø E Ø

NAS ENTRADAS

COLOCAR 0 E 1

SAÍDA NAS ENTRADAS

= Ø

SAÍDA

= 1

COLOCAR 1 E 0

NAS ENTRADAS

SAÍDA = 1 COLOCAR 1 E 1 NAS ENTRADAS SAÍDA = 1 C.I. OK C.I. DEFEITO

33

Croqui

3 – Desenvolvimento do Projeto

Começamos a desenvolver o projeto com a ideia de testar CI’s de modo que,

usando um protoboard e dips, para simular as funções das portas lógicas e

utilizando led’s nas saídas de cada porta, verificando o funcionamento como mostra

a figura 21.

Figura 21 – Verificação manual das portas lógicas por dips e led’s

34

Nesta próxima fase, acrescentamos mais um protoboard, para inserir um

microcontrolador, que foi ligado as entradas e saídas do CI da família TTL nos portes

P0.0 á P0.7 e P1.4 á P1.7 do microcontrolador, foi feita uma programação com

separação de 4 bits para verificação da lógica, como mostra a figura 22.

Figura 22 – Verificação manual das portas lógicas pelo microcontrolador 8051.

Nesta Próxima etapa juntamos todos os componentes á serem utilizados na

montagem do projeto, como mostra a figura 23.

Figura 23 – Componentes gerais do projeto.

35

Iniciamos a soldagem das trilhas usando fio de cobre por ser placa padrão,

assim no momento não foi preciso ser feito o circuito impresso, como mostra a figura

24.

Figura 24 – Soldagem das trilhas.

Com o microcontrolador 8051 para programação, um teclado para digitar o

código, um display para visualização do teste e um conector zif para encaixe do CI

para inicio dos testes, como mostra a figura 25.

Figura 25 – Montagem completa do projeto.

36

Na programação inicial do microcontrolador 8051, foi escrito as informações

necessárias para leitura do CI, como mostra a figura 26.

Figura 26 – Mensagem do display DIGITE O CODIGO.

Se for digitado o código errado deverá aparecer a mensagem no display,

como mostra a figura 27.

Figura 27 – Mensagem do display CODIGO INVALIDO DIGITE NOVAMENTE

37

Se o CI estiver danificado ou incorreto deverá aparecer a mensagem

no display, como mostra a figura 28.

Figura 28 – Mensagem do display CI DEFEITO

Se o CI estiver funcionando corretamente deverá aparecer a mensagem no

display, como mostra a figura 29.

Figura 29 – Mensagem do display CI OK

38

Projeto concluído

Figura 30 – Projeto pronto

39

4 – Resultados Obtidos

Ao longo de muito trabalho o projeto foi realizado com sucesso atendendo

nossas expectativas e objetivos. Para o funcionamento da nossa Giga de teste de

CI’s, foi utilizado um teclado para digitar o código do CI desejado, e um display que

indicará com uma mensagem se ele está CI OK ou CI DEFEITO. Isto ocorre devido

a escrita de uma programação em linguagem C, gravado no microcontrolador 8051.

40

Conclusão

Esse projeto foi desenvolvido para estudantes de escolas técnicas com a

finalidade de fazer o teste de componentes eletrônicos podendo ser ampliado e

melhorado para o aperfeiçoamento dos alunos do uso didático

O desenvolvimento da Giga para teste de CI’s, transmitiu ao grupo o fato de que

nem todas as pessoas possuem a iniciativa de auxiliar aqueles que desejam

construir algo, porém, há aquelas que desejam compartilhar com elas seus sonhos,

ajudando a construí-los. É necessário saber lidar com as primeiras e agradecer as

segundas.

Durante o desenvolvimento do projeto tivemos dificuldade com a programação do

microcontrolador 8051 e a falta de um componente (rede resistiva). Essas

dificuldades foram superadas com pesquisas, dedicação do grupo e da orientação

do professor de programação.

O projeto mostrou a importância do gerenciamento do tempo, e como se planejar

cada atividade, mas o maior ensinamento foi que imprevistos vão ocorrer sempre.

Os resultados do desenvolvimento do projeto foram positivos atendendo as nossas

expectativas e objetivos estabelecidos pelo grupo de trabalho diante de todas as

dificuldades encontradas no decorrer do projeto. É esperado que a utilização da

Giga para teste de CI’s seja feita em laboratórios de escolas técnicas, permitindo

assim, que os alunos tenham suas atividades mais eficientes, aumentando seus

conhecimentos técnicos.

41

Referências

BARBACENA,Ilton L e FLEURY, Afonso. Display LCD. Disponível em <

ftp://ftp.dca.fee.unicamp.br/pub/docs/ea079/complementos/Lcd.pdf> Acesso em 03

de Out.2014

BORBA, GUSTAVO. Família 80521. Disponível

em<http://paginapessoal.utfpr.edu.br/gustavobborba/material/files/introFamilia8051.p

df> Acesso em 04 de Out.2014

GOUVEIRA, RICARDO. Família de Circuitos Lógicos. Disponível

em<www.arvm.org/exames/digital/workfamilyactual.doc> Acesso em 10 de out.2014

NEW TECK, Exportadora e importadora. Disponível em< http://www.newteck-

ci.com.br/circuitos-integrados.php/>. Acesso em 10 de out.2014

NUNES, FELIPE. Controle e Automação. Disponível em<

http://www.em.ufop.br/cecau/monografias/2013/Felipe%20Vilela%20Nunes.pdf>.

Acesso em 10 de out.2014

SEVERINO, Antonio Joaquim. Metodologia do Trabalho Científico. São Paulo: Ed.

Cortez, 2000.

TORRES, E. Fernando e Martins, R. Henrique. Apostila didática PICMINAS.

Disponível em< http://www.decom.ufop.br/alex/arquivos/sof_b

as_EC/Apostila_PICMInas.pdf> Acesso em 15 de Ago.2014

42

APÊNDICE A

Programação do 8051 utilizando a linguagem C.

/* GIGA DE TESTE 4º DN */ // BIBLIOTECA DO MICROCONTROLADOR 8051, ATRASO, LCD, TECLADO #include <at89x52.h> #include <atraso.h> #include <lcd4.h> #include <TEC4x4M.H> // MENSAGENS NO LCD code unsigned char OK [17]={" CI OK ",0x00}; code unsigned char DEFEITO [17]={" CI DEFEITO ",0x00}; code unsigned char BRANCO [17]={" ",0x00}; code unsigned char DIGITE [17]={"DIGITE O CODIGO ",0x00}; code unsigned char CODIGO [9]={" 74",0x00}; code unsigned char INVALIDO[17]={"CODIGO INVALIDO ",0x00}; code unsigned char NOVAMENTE [17]={"DIGITE NOVAMENTE ",0x00}; char codigo, tecla1,tecla2; void lcd_hex (unsigned HEXA) { unsigned char rasc; rasc = (HEXA >> 4) & 0X0F; if (rasc <= 0x09) rasc = rasc + 0X30; else rasc = rasc + 0x37; lcd_char (rasc); rasc = HEXA & 0X0F; if (rasc <= 0x09) rasc = rasc + 0X30; else rasc = rasc + 0x37; lcd_char (rasc); } // DECLARAÇÃO DAS FUNÇÕES DO CI void CI7432(); void CI7408(); void CI7400(); void CI7402();

43

// FUNÇÃO PRINCIPAL void main() { LEDS=0X00; BZ=1; lcd_ini(); // AGUARDE DIGITAÇÃO DO CÓDIGO while(1) { lcd_cmd(0x80); lcd_str(DIGITE); lcd_cmd(0xC0); lcd_str(CODIGO); tecla1=teclado(); while (tecla1==0xff) tecla1=teclado(); lcd_char (tecla1+0x30); tecla2=teclado(); while (tecla2==0xff) tecla2=teclado(); lcd_char (tecla2+0x30); codigo = ((tecla1<<4)|tecla2); // EXECUTA A FUNÇÃO DO CODIGO DIGITADO switch (codigo) { case 0x08: CI7408(); break; case 0x32: CI7432(); break; case 0x00: CI7400(); break; case 0x02: CI7402(); break; default: lcd_cmd(0x80); lcd_str(INVALIDO); lcd_cmd(0xC0); lcd_str(NOVAMENTE); atraso_ms(2000);

44

lcd_clear(); break; } lcd_clear(); } } // FUNÇÃO PARA O CI 7432 void CI7432() { tecla1=teclado(); while (tecla1==0xff) { P0=0x64; P1=0x20; if((P0==0x00) & ((P1 & 0XF0)==0x00)) { P0=0xED; P1=0x60; if((P0==0xED) & ((P1 & 0XF0)==0x60)) { P0=0x76; P1=0xB0; if((P0==0x76) & ((P1 & 0XF0)==0xB0)) { P0=0xff; P1=0xf0; if((P0==0xff) & ((P1 & 0XF0)==0xf0)) { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(OK); // escreve mensagem na linha 1 } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 }

45

} else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } tecla1=teclado(); } } // FUNÇÃO PARA O CI 7408 void CI7408() { tecla1=teclado(); while (tecla1==0xff) { P0=0x64; P1=0x20; if((P0==0x00) & ((P1 & 0XF0)==0x00)) { P0=0xED; P1=0x60; if((P0==0x89) & ((P1 & 0XF0)==0x40)) { P0=0x76; P1=0xB0; if((P0==0x12) & ((P1 & 0XF0)==0x90)) { P0=0xff; P1=0xf0; if((P0==0xff) & ((P1 & 0XF0)==0xf0)) { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(OK); // escreve mensagem na linha 1 } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else {

46

lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } tecla1=teclado(); } } // FUNÇÃO PARA O CI 7400 void CI7400() { tecla1=teclado(); while (tecla1==0xff) { P0=0x64; P1=0x20; if((P0==0x64) & ((P1 & 0XF0)==0x20)) { P0=0xED; P1=0x60; if((P0==0xED) & ((P1 & 0XF0)==0x60)) { P0=0x76; P1=0xB0; if((P0==0x76) & ((P1 & 0XF0)==0xB0)) { P0=0x9B; P1=0xD0; if((P0==0x9B) & ((P1 & 0XF0)==0xD0)) { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(OK); // escreve mensagem na linha 1 } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 }

47

} else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } tecla1=teclado(); } } // FUNÇÃO PARA O CI 7402 void CI7402() { tecla1=teclado(); while (tecla1==0xff) { P0=0x09; P1=0x90; if((P0==0x09) & ((P1 & 0XF0)==0x90)) { P0=0x5B; P1=0xB0; if((P0==0x52) & ((P1 & 0XF0)==0x20)) { P0=0xAD; P1=0xD0; if((P0==0xA4) & ((P1 & 0XF0)==0x40)) { P0=0xFF; P1=0xF0; if((P0==0xF6) & ((P1 & 0XF0)==0x60)) { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(OK); // escreve mensagem na linha 1 } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str (DEFEITO); // escreve mensagem na linha 1 } } else {

48

lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } } else { lcd_cmd(0x80); // posiciona o cursor primeira linha lcd_str(DEFEITO); // escreve mensagem na linha 1 } tecla1=teclado(); } }