Você está na página 1de 3

Prática IV: Contador Decrescente

20189036812, Antônio Victor Gonçalves da Silva - Turma n°1 - 2019.2


Professor James Blayne Oliveira Reis Afiliação: Eng. Elétrica - UFPI

Resumo — O tema dessa prática foi implementar um conectados. Para essa montagem foi usado o ânodo, porém
contador decrescente que inicia em 9999 até 0, usando um vale deixar explicito que o cátodo é o mais usado.
display de 7 segmentos com 4 dígitos multiplexados. O real
objetivo foi demonstrar o funcionamento dos transistores para Para a formação dos dígitos, por questão de praticidade,
essa multiplexação, usando-os como relés. Para isso, foi usado o foi usado a representação dos dígitos no display em
microcontrolador 18F4550, com o código redigido no MikroC e hexadecimal para ânodo, já que o MikroC dispõe dessa
a simulação no Proteus 8. ferramenta na sua interface, segue os exemplos na Fig. 3.

Palavras-chave — PIC18F4550; Microcontrolador;


Proteus; MikroC; Contador; Linguagem C;

I. INTRODUÇÃO
É indiscutível que os transistores tem um papel essencial
para a eletrônica moderna, tendo em vista que foram uma
revolução na sua descoberta, substituindo as antigas
válvulas. Esses transistores funcionam como um controle de
corrente, com 3 pinos: coletor, emissor e base. O coletor,
Figura 2: Pinagem do Display 7 Segmentos com 4 Dígitos
recebe a corrente vinda do circuito e essa corrente é passada
ao emissor dependendo da tensão aplicada na base, logo
pode-se aplicar uma tensão na base de modo que a corrente
entro o coletor e emissor é interrompida e ao retirar a tensão
na base essa corrente flui normalmente, assim o transistor é
totalmente capaz de agir como uma chave, ou mais
especificamente um relé, mas sem a parte mecânica. Vale
salientar também que todo esse controle dos transistores foi
gerenciado pelo microprocessador PIC18F4550.
Figura 3: Representação dos Dígitos em Hexadecimal no Display de
7 Segmentos

II. MATERIAIS E MÉTODOS


A. Materiais:

 1 PIC18F4550
 Display 7 Segmentos com 4 Dígitos Ânodo
 12 Resistores de 330Ω, 1 Resistor de 10KΩ
Figura 1: PIC18F4550 fabricado pela Microchip Technology
e 4 Resistores de 1KΩ
 4 Transistores BC549
Sendo assim, é possível surgir o questionamento: Porque  Programa MikroC e Proteus 8
o uso dos transistores para esse contador? Bem, como já foi
exposto, o contador foi implementado com um display de 7 B. Métodos:
segmentos com 4 dígitos usando multiplexação, a qual vai
ser explicada detalhadamente na secção métodos, mas É válido inicialmente compreender o funcionamento do
resumidamente os transistores foram usados para desligar e display de 7 segmentos com 4 dígitos multiplexado. Este
ligar cada digito do display em uma velocidade possui 12 pinos, a, b, c, d, e, f, g e dp para segmentos e ponto
imperceptível a olho humano. decimal, como o display de 1 dígito comum, com a mesma
função de controlar os segmentos, e os outros 4 pinos são
Com essa teoria, já é possível entender um pouco sobre D1, D2, D3 e D4 para habilitar cada digito, ou seja, se o D1
um dos diversos usos dos transistores na eletrônica, já que estiver habilitado, em 0 para ânodo, a combinação dos
além das características já citadas os mesmos são muito segmentos será mostrada no digito 1, e assim para todos, em
leves, rápidos, econômicos e eficientes, sendo ilógico exemplo: os pinos de a até g estão todos ligados, valor 0 para
continuar o uso das válvulas. Então, basicamente a ânodo, então formam o digito 8, assim o digito 8 será
descoberta do transistor foi um divisor de águas para a mostrado no display se algum dos pinos Dx estiver
eletrônica. habilitado.
Por outro lado, sobre o display de 7 segmentos, existem 2 Agora, esses pinos para os segmentos foram controlados
tipos: cátodo e ânodo. Intuitivamente, o cátodo possui todos aos pinos RD0 a RD7 do PIC, usando um resistor de 330Ω
os cátodos conectados e o ânodo todos os ânodos para cada um. Já os transistores foram controlados pelos
pinos RB0 a RB3, ligados a base do transistor com um cont, já que ele agora possui o valor dos dígitos
resistor de 1KΩ, ou seja, se o valor do pino for 0 o transistor sem o dígito que já foi calculado:
interrompe a corrente e o dígito que o mesmo controla é

( )( )
n−1
ligado já que é ânodo. Já esses pinos são ligados inicialmente Cen Cen % 10
a alimentação com um resistor de 330Ω para já iniciarem Cen= n−1
− n−1
desligados.
10 10
Sabendo disso, é viável definir o código para o controle iv. Para Dez e Uni é seguido a mesma lógica.
dos pinos citados do PIC. Inicialmente é indicado criar uma Observe que já obtemos os dois primeiros
função que retorna o valor de cada pino dos segmentos para dígitos de 9845, logo falta os dígitos 4 e 5.
formar cada dígito dependente do valor recebido por essa Assim, usando a mesma lógica temos,
função, que vai ser um número inteiro de 0 a 9, já que são os cont % 100=45. Logo , Dez=cont % 100
possíveis dígitos que pode-se formar com o display de 7 . Aplicando na fórmula obtemos,
segmentos, em exemplo: caso essa função receber o número

( )( )
n−1
inteiro 2, ela irá retornar o valor em hexadecimal para os Dez Dez % 10
Dez= n−1
− n−1
segmentos formarem o número 2. Todos os valores em 10 10 .
hexadecimal podem ser conferidos na Fig. 3.
Assim, pode-se implementar a função principal, void
main, que inicia com a declaração de 5 variáveis inteiras v. Agora note que falta apenas o último dígito, no
(int), cont que tem o valor de 9999, o valor inicial da exemplo o 5, mas note que, cont % 10=5.
contagem, Mil que controla o dígito dos milhares ou seja o Logo, para o último dígito a formula é diferente
D1, Cen que controla o dígito das centenas (D2), Dez para as e mais resumida.
dezenas (D3) e Uni para o dígito das unidades (D4). Agora, é
usado um laço infinito para repetir o código infinitamente, e Uni=cont % 10
dentro desse laço é usado uma aritmética básica da Com isso todas as variáveis já possuem o valor de seus
programação para descobrir qual o valor de cada dígito que respectivos dígitos, basta mandar esses valores a função
forma o valor de cont. Para entender isso, é necessário saber char display e esta irá retornar os valores dos pinos do
sobre o operando %, que retorna o resto da divisão entre dois display para formar o tal valor. Então, é preciso mostrar esse
números.
número no display, assim o valor 0 vai ser enviado a base do
Então, usando esse operando poderemos fazer as transistor ligando a casa decimal correspondente. Esse ciclo
seguintes operações: irá acontecer a uma velocidade extremamente alta, não sendo
perceptível essa mudança.
cont
i. n
10 , onde é o número de casas decimais.
n−1

Exemplo: 521, 3 casas, 8452, 4 casas, 2, 1 casa. III. SIMULAÇÕES


Assim, teremos o primeiro dígito de cont O código na Fig. 5 foi extraído para PDF direto do
fracionado. Exemplo:
MikroC para uma melhor visualização, como pode ser
9845 observado na Fig. 4.
cont=9845. Logo , =9,845
10
4−1 .

ii. Agora, é necessário tirar essa parte decimal


para termos apenas o primeiro digito do
número. É usado o operador % para obtermos
apenas o resto da divisão. Dessa forma:
n−1
cont % 10
n−1
, ou seja:
10
4−1
9845 % 10 845
4−1
= =0,845 . Assim,
10 1000
podemos dizer que para obtermos o dígito que
forma o valor de cont podemos usar a seguinte

( )( )
n−1
cont cont % 10
fórmula: Mil= n−1
− n−1
.
10 10
Mas e para Cen, Dez e Uni?
iii. Observe que, já que obtemos o primeiro dígito
de cont não seria conveniente descarta-lo?
Assim, ficaríamos com 845, mas já obtemos
esse valor. Veja que: 9845 % 104−1=845 ,
ou seja, podemos fazer o seguinte:
n−1
Cen=cont % 10 . Agora, podemos aplicar
a fórmula novamente, usando Cen no lugar de
vale deixar evidente que caso essa atualização estiver muito
devagar basta diminuir os intervalos (delay) no código.

V. CONCLUSÕES
Como foi visto, nessa montagem foram necessários
diversos conhecimentos que são essenciais para esse tipo de
aplicação. Sendo assim, é notório que com os resultados
obtidos e a teoria explicada, todos os objetivos foram
alcançados.

VI. BIBLIOGRAFIA

1. Microchip, Produto PIC18F4550. Disponível em:


https://www.microchip.com/wwwproducts/en/
PIC18F4550 acesso em: 24/09/2019.
2. Filipe Flop, Como construir um relógio com
Arduino. Disponível em:
https://www.filipeflop.com/blog/como-construir-um-
relogio-com-arduino/ acesso em: 24/09/2019
3. WR Kits, Curso de PIC #016. Disponível em:
https://www.youtube.com/watch?v=fw3_kZ2MUjU
acesso em: 19/09/2019

Figura 4: Código Extraído do MikroC


Pode-se observar pela Fig. 4 que o código segue toda a
lógica que foi explicada, e apenas aplicando-a a linguagem
C, assim é recomendado ter uma base de domínio nessa
linguagem.
Por outro lado, é necessário seguir toda essa lógica
implementada para evitar erros comuns em circuitos desse
tipo. Após o desenvolvimento do código o restante é deveras
simples, precisando apenas criar a simulação no Proteus 8 e
carregar o arquivo com o código no PIC18F4550 no próprio
Proteus. A simulação segue como na Fig. 5, vale salientar
que essa simulação serve para displays ânodos e cátodos,
apenas é necessário alterar o código para funcionar com o
tipo de display em questão.

Figura 5: Circuito no Proteus 8 referente a essa prática

IV. RESULTADOS EXPERIMENTAIS


Os resultados da simulação foram satisfatórios, a
atualização dos segmentos do display não ficou perceptível,

Você também pode gostar