Вы находитесь на странице: 1из 11

CAMPUS ALEGRETE

CURSO DE ENGENHARIA DE TELECOMUNICAES


AL0105 MICROCONTROLADORES
Professor: Paulo Csar C. de Aguirre

RELATRIO N 1
Polarizao do microcontrolador PIC16877A
Trabalhando com entradas e sada em um microcontrolador PIC

Componente:
Melissa Bilher

Alegrete, 17 de Setembro de 2016.

SUMRIO
1. INTRODUO ........................................................................................................................ 3
2. OBJETIVOS ............................................................................................................................. 3
3. DESENVOLVIMENTO ........................................................................................................... 4
4. CONCLUSES ....................................................................................................................... 11
5. BIBLIOGRAFIA ..................................................................................................................... 11

1. INTRODUO
Um microcontrolador pode ser definido como um computador simplificado em
um nico circuito integrado, o qual utilizado no controle de processos lgicos. Esses
circuitos so compostos internamente de um ULA (unidade lgica e aritmtica), uma
unidade de controle e conjunto de perifricos.
Esse tipo de computador tem a capacidade de armazenar centenas de milhares
de transstores num nico chip.
O microcontrolador que utilizado em aulas prticas o PIC16F877A.
Fabricado pela Microchip, esta enquadrado na famlia 8 bits, programao com 14 bits,
possui arquitetura Harvard e tecnologia RISC com 35 instrues.
Esse modelo de microcontrolador possui 40 pinos onde 7 so usados para
alimentao e controle como pode-se ver na figura abaixo.

Figura 1 - Pinagem do microcontrolador PIC16F877A.

2. OBJETIVOS
Esta aula prtica teve como objetivos: entender o funcionamento e o circuito de
polarizao do PIC e compreender a utilizao dos pinos de entrada e sada do
microcontrolador PIC.

3. DESENVOLVIMENTO
3.1 Aula prtica 1

3.1.1 Lista de Equipamentos


- Microcontrolador PIC16F877A
- Protoboard
- 2 Capacitores de 15pF
- 1 cristal oscilador de 4Mhz
- 4 leds
- 4 resistores de 100
- 1 resistor de 1k
- 1 resistor de 40k
- Fonte de alimentao de 5V

3.1.2 Resoluo do experimento


De acordo com o roteiro da aula prtica os leds foram conectados em quatro
pinos da porta B do microcontrolador PIC. De acordo com a pinagem do
microcontrolador PIC16F877A da Figura 1, montou-se sobre um protoboard um
circuito utilizando o microcontrolador configurado com um programa compilado no
software MPLAB. O programa foi configurado para ligar os leds conectados a porta B.
O microcontrolador foi polarizado com um sinal de clock de acordo com a
Figura 2.

Figura 2 Circuito de polarizao do sinal de clock no PIC.


Os capacitores C1 e C2 so de 15pF e a frequncia de oscilao do cristal 4MHz. No
caso utilizado em aula prtica de um oscilador convencional no foi necessrio o resistor RF.
4

O sinal de reset (MCLR) foi polarizado de acordo com a Figura 3.

Figura 3 Circuito de polarizao do sinal de reset.

Utilizasse um R1<40k para garantir que a queda de tenso sobre R no viole as


especificaes eltricas do PIC e R2>1k para limitar qualquer corrente em MCLR
causada pelo capacitor no caso de uma descarga eletrosttica.
Foi considerado VDD=5V e VSS=0V. Os resistores foram utilizados em srie
com os leds para limitar corrente.
O programa elaborado para essa prtica est descrito abaixo, o qual foi feito no
software MPLAB e gravado no microcontrolador.

PROCESSOR 16F877A
#include<p16f877a.inc>

;tipo do processador
;inclui arquivo

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC


org 0x00
goto Main

;vetor de reset
;ir para o inicio do programa

org 0x04
goto Main

;vetor de interrupo
;no h rotina de interrupo

Main
bsf STATUS, 5
movlw 0x00
movwf TRISB
bcf STATUS,5
movlw 0xFF
movwf PORTB

;inicio do programa principal


;seleciona o banco 1 da memria
;move o literal "0" para W
;configura pinos de PORTB como sada
;seleciona o banco 0 da memria
;move o literal "255" para W
;coloca "1" em todos os bits de PORTB

Loop
goto Loop

;o programa permanece no loop

end

Aps o teste do programa anterior, alterou-se o cdigo foi para que apenas um
led fosse ligado. O cdigo alterado abaixo:
PROCESSOR 16F877A
#include<p16f877a.inc>

;tipo do processador
;inclui arquivo

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC


org 0x00
goto Main

;vetor de reset
;ir para o inicio do programa

org 0x04
goto Main

;vetor de interrupo
;no h rotina de interrupo

Main
bsf STATUS, 5
movlw 0x00
movwf TRISB
bcf STATUS,5
movlw b'00000100'
movwf PORTB

;inicio do programa principal


;seleciona o banco 1 da memria
;move o literal "0" para W
;configura pinos de PORTB como sada
;seleciona o banco 0 da memria
;liga apenas o bit 4
;coloca "1" em todos os bits de PORTB

Loop
goto Loop

;o programa permanece no loop

end

O circuito foi simulado no simulador Proteus para testar o cdigo implementado


em aula prtica. A montagem do circuito pode ser vista abaixo:

Figura 4 Circuito da aula prtica 1 implementado no simulador Proteus.

Os comando "org 0x00" o endereo inicial de reset e o comando "org 0x04" o


endereo inicial de interrupo.
No circuito montado na protoboard foram inseridos resistores em srie com os leds,
para limitar a corrente. Caso esses resistores no fossem inseridos ao alimentar o circuito a
resistncia dos leds tenderiam a zero e a corrente tederia ao infinito causando dano ao
equipamento utilizado. A corrente mxima dos pinos de sada do microcontrolador PIC
200mA.
Como pedido no roteiro da aula prtica foi transformado os seguintes valores pedidos
para a representao hexadecimal: 53 127 e 204.
53 =

53
= 3 5
16

Ento 53 em decimal = 35 em hexadecimal


127 =

127
= 7 15
16

De acordo com a tabela de nmeros em hexadecimal o nmero 15 representado pela


letra F, ento 127 em decimal = 7F em hexadecimal.
204 =

204
= 12 12
16

Consultando a tabela de nmeros em hexadecimal o nmero 12 representado pela letra


C, ento 204 em decimal = CC em hexadecimal.

3.2 Aula Prtica 2


3.2.1 Lista de Equipamentos
-Microcontrolador PIC16F877A
-Protoboard
- 2 Capacitores de 15pF
- 1 cristal oscilador de 4Mhz
- 1 leds
- 1 resistores de 100

- 1 resistor de 1k
- 2 resistor de 40k
- Uma chave interruptora
- Fonte de alimentao de 5V
3.2.2 Resoluo do Experimento
Em uma protoboard montou-se um circuito utilizando o microcontrolador
PIC16F877A onde programou-se um cdigo que ao pressionar a chave interruptora na
porta RB3, o led que esta conectado na porta RB0 acender. Quando a chave solta o
led deve apagar. A chave interruptora foi polarizada para que a entrada RB3 sempre
receba um valor de 1 lgico (VDD).

Figura 5 - Exemplos de conexes de leds e chave interruptora.

A conexo utilizada em aula prtica foi a do LED2 que ligar quando a entrada
RB3 recebe um valor lgico 1.
O programa utilizado foi elabora o programa no software MPLAB e gravado no
microcontrolador. O cdigo esta descrito abaixo:

PROCESSOR 16F877A ;tipo do processador


#include<p16f877a.inc> ;inclui arquivo
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
org 0x00
goto Main

;vetor de reset
;ir para o inicio do programa

org 0x04
goto Main

;vetor de interrupo
;no h rotina de interrupo

Main
;inicio do programa principal
bsf STATUS, 5
;seleciona o banco 1 da memria, 5
movlw b'00010000' ;configura a porta RB5 como entrada
movwf TRISB
;configura pinos de PORTB como sada
bcf STATUS,5
;seleciona o banco 0 da memria
goto Teste
Teste
btfss PORTB,4
goto Liga
goto Desliga

; testa o bit 4 da porta B

Liga
movlw 0xFF
movwf PORTB
goto Teste

;move o literal "255" para W

Desliga
movlw 0x00
movwf PORTB
goto Teste
end

O circuito da aula prtica 2 foi simulado no simulador Proteus para testar o


funcionamento do cdigo elaborado, a montagem do circuito pode ser vista abaixo:

Figura 6 Circuito da aula prtica 2 implementado no simulador Proteus.

Como pedido no roteiro foi calculado os valores dos resistores 1 e 2 da


Figura 5. Assumiu-se VDD=5V e VSS=0V, o valor de corrente de um led de 10 e
tenso direta = 1,6. Levando em conta que de acordo com o datasheet do PIC,
quando uma porta de sada esta em nvel lgico baixo, sua tenso esta em = 0,35e
em nvel lgico alto, sua tenso esta em = 4,3 . O clculo do resistor feito a
partir da equao abaixo:
=

(Eq. 1)

Onde a tenso de alimentao e a tenso do led.


1 =

5,35 1,6
= 375
10

2 =

9,3 1,6
= 770
10

Ao se trabalhar com interruptores e chaves mecnicas pode ocorrer um problema


chamado bouncing, esse efeito pode ser caracterizado por idas e vidas de nvel lgico,
mudando rapidamente e seguidas vezes do nvel lgico baixo para o alto at haver uma
estabilidade.
Para resolver esse possvel problema existem algumas tcnicas, conhecidas
como Debouncing.

10

No caso do Debouncing por software, precisamos determinar um tempo at que


a chave estabilize. No cdigo podemos colocar um delay do tempo necessrio, nada
poder acontecer durante esse tempo determinado no delay, o que funcionar bem no
caso do efeito de bouncing, pois quando o tempo acabar o efeito j ter acabado e a
chave estabilizado.
Outra soluo para esse problema seria adicionar um capacitor ao circuito. O
capacitor serviria para atenuar o sinal, onde a malha composta pelo capacitor e o resistor
ir gerar um tempo de atraso no circuito, tempo suficiente para que as oscilaes
indesejadas sejam atenuadas.

4. CONCLUSES
A partir dos resultados observados em aula prtica pode certificar-se de que
os cdigos programados estavam corretos, entendendo-se melhor a funcionalidade
do que foi programado. Foi possvel tambm aprender a utilizar corretamente a
pinagem do PIC, realizar a montagem do circuito de polarizao do
microcontrolador, bem como gravar o cdigo no PIC perfeitamente.

5. BIBLIOGRAFIA
[1] SOUZA, D. J.; Lavinia, N. C. Conectando o PIC 16F877A: Recursos
Avanados. 4. ed. rica, 2003.edio. 2004.

11

Вам также может понравиться