Você está na página 1de 5

Microprocessadores

Profs. Felipe N. Martins e Rafael Vivqua



1
Laboratrio I
Introduo ao MPLAB e Primeiro Programa: Controlando LEDs

1 Objetivos do Laboratrio I:
Apresentar o ambiente de programao MPLAB;
Construir um programa simples para o PIC16F84A, que acenda LEDs de
acordo com o estado de botes. Com isso, sero utilizados conceitos de:
o Inicializao do microcontrolador;
o Configurao dos pinos de entrada e sada;
o Leitura de sinais externos (boto);
o Acionamento de circuitos externos (LED).
Transferir o programa desenvolvido para o microcontrolador;
Verificar o funcionamento do programa na placa de desenvolvimento.
2 Instrues Envolvidas

Instruo Argumento Descrio
COMF REGISTRADOR Complementa, bit a bit, contedo de F
GOTO ENDEREO Desvio para o endereo especificado
MOVF REGISTRADOR,DEST. Move contedo do reg. para destino
CLRF REGISTRADOR Limpa o registrador
MOVLW CONSTANTE Move uma constante para W
MOVWF REGISTRADOR Move contedo de W para o registrador

3 Registradores Envolvidos

Registrador Utilizao Localizao

TRISA
Configura os pinos da PORTA
como entradas ou sadas
Bit = 0 -> sada
Bit = 1 -> entrada

Banco 1

TRISB
Configura os pinos da PORTB
como entradas ou sadas
Bit = 0 -> sada
Bit = 1 -> entrada

Banco 1

PORTA
Leitura dos nveis de tenso dos
pinos de entrada RA0 a RA4
nvel lgico baixo -> bit=0
nvel lgico alto -> bit=1

Banco 0

PORTB
Controla os nveis de tenso
dos pinos de sada RB0 a RB7
Bit = 0 -> nvel lgico baixo
Bit = 1-> nvel lgico alto

Banco 0





Microprocessadores
Profs. Felipe N. Martins e Rafael Vivqua

2
4 A Utilizao do software MPLAB

4.1 Trabalhando com Projeto
Na barra de ferramentas do MPLAB clicar em Projet ->New Projet para criar
um novo projeto. Salve-o em disquete como nome AULA1.pjt.

4.2 Criando um Arquivo Fonte
Na barra de ferramentas do MPLAB clicar em File ->New para criar um novo
arquivo fonte. Salve-o em disquete como nome AULA1.asm.
Criado o arquivo fonte deve-se adicion-lo ao projeto clicando em Project ->
Edit Project ->Add Node. Escolha o arquivo fonte criado AULA1.asm para ser
vinculado ao projeto.


Edite o arquivo fonte tendo como base o cabealho padro, de tal modo a
cumprir o objetivo do Laboratrio I. O programa a ser implementado listado a
seguir:



Microprocessadores
Profs. Felipe N. Martins e Rafael Vivqua

3

#INCLUDE <P16F84A.INC> ;ARQUIVO PADRO MICROCHIP PARA 16F84

;* PAGINAO DE MEMRIA *
;DEFINIO DE COMANDOS DE USURIO PARA ALTERAO DA PGINA DE MEMRIA
#DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK 0 DE MEMRIA
#DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK 1 DE MAMRIA

;* VARIVEIS *
; DEFINIO DOS NOMES E ENDEREOS DE TODAS AS VARIVEIS UTILIZADAS
; PELO SISTEMA
CBLOCK 0x0C ;ENDEREO INICIAL DA MEMRIA DE
;USURIO
LEDS
ENDC ;FIM DO BLOCO DE MEMRIA

ORG 0x00 ;ENDEREO INICIAL DE PROCESSAMENTO
GOTO INICIO

;* INICIO DO PROGRAMA *

INICIO
BANK1 ;ALTERA PARA O BANCO 1
MOVLW B'00011111' ;RA0 a RA1: ENTRADAS
MOVWF TRISA ;DEFINE ENTRADAS E SADAS DO PORTA
MOVLW B'00000000' ;RB0 a RB7: SADAS
MOVWF TRISB ;DEFINE ENTRADAS E SADAS DO PORTB
MOVLW B'10000100'
MOVWF OPTION_REG ;DEFINE OPES DE OPERAO
MOVLW B'00000000' ;DESABILITA INTERRUPES
MOVWF INTCON ;DEFINE OPES DE INTERRUPES
BANK0 ;RETORNA PARA O BANCO

;* ROTINA PRINCIPAL *
MAIN

CLRF PORTB
MOVF PORTA,W ;MOVE CONTEDO DE PORTA PARA W
MOVWF PORTB ;MOVE O CONTEDO DE W PARA PORTB
GOTO MAIN

;* FIM DO PROGRAMA *

END

Editado o arquivo fonte para copil-lo basta apertar Alt+F10. Finalizada a
compilao, chame o professor.

Observe o funcionamento do circuito, depois de transferido o programa para a
placa de desenvolvimento. Observe o diagrama esquemtico da placa de
desenvolvimento, apresentado em anexo. Note que, quando o boto pressionado,
o LED correspondente se apaga. Por qu isso ocorre?

Substitua a rotina principal do programa pela rotina a seguir, e observe como
o funcionamento do circuito modificado:




Microprocessadores
Profs. Felipe N. Martins e Rafael Vivqua

4
MAIN

CLRF PORTB
MOVF PORTA,W ;MOVE CONTEDO DE PORTA PARA W
MOVWF LEDS ;MOVE O CONTEDO DE W PARA A VARIVEL LEDS
COMF LEDS ;INVERTE BIT A BIT O VALOR DE LEDS
MOVF LEDS,W ;MOVE O CONTEDO DE LEDS PARA W
MOVWF PORTB ;MOVE O CONTEDO DE W PARA PORTB
GOTO MAIN


1-


Anotaes:









3
3
0
R
R20
R26
330R
BC327
Q1
3
3
0
R
R21
3
3
0
R
R22
3
3
0
R
R19
R17
2,2K
2,2K
R15
2,2K
R16
GND
D10
D12
D11
U4
PIC16F62X
VSS
5
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
T0CKI/RA4
3
RA3
2
RA2
1
RA1
18
RA0
17
VDD
14
RA5 / MCLR/ THV
4
RA6/OCS2/CLKO
15
RA7/OSC1/CLKI
16
U2
G
1
A
1
0
B
9
D
P
6
C
7
D
5
F
2
E
4 3
8
b
g
d
a
e c
f
Dp
U1
G
1
A
1
0
B
9
D
P
6
C
7
D
5
F
2
E
4 3
8
b
g
d
a
e c
f
Dp
CN2:1
1
CN2:2
2
CN2:3
3
CN2:4
4
CN2:5
5
CN2:6
6
VCC
GND
12V R
1
8
1
0
R
GND
GND
1
0
0
n
F
C
4
1
0
0
n
F
C
2
R10
470R
+5V
GND GND GND
C
5
1
0
u
F
/
1
6
V
U3
LM7805
VO
3
G
2
VI
1
ON/OFF
CH1
+5V
+5V
SW1
C1 C2
GND
10k
R4
4
7
0
R
R
5
GND
S
W
4
S
W
3
S
W
2
S
W
1
R23
330R
R24
330R
470R
R14
+5V
D1
R
1
2
2
K
2
JP1
1 2 3
R11
2K2
D8
D7
D6
D5
D4
D3
D2
R8
470R
GND
Q3
BC337
2K2
R13
GND
470R
R9
X
1
4Mhz
470R
R1
470R
R2
470R
R3
470R
R6
470R
R7
D9
C1
100nF
R25
330R
VCC
TP1 VCC
CN1:1
1
GND
T
P
2
C
1
1
0
0
u
F
/
2
5
V
GND
CN1:2
2
BC337
Q2
RA1
RA3
RA2
07/11/2.001
MODULO1.S01
RA0
RA0
G
R
A
V
A
C
A
O

I
N
-
C
I
R
C
U
I
T
R
A
4
R
A
3
R
A
2
R
A
1
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RESET
PLACA LABORATORIO - CURSO 1
L
E
D
S
D
I
S
P
L
A
Y
LOM
1 1
C
O
N
E
C
T
O
R

P
A
D
R
A
O

R
J
FONTE
15Vdc
RB4 DISPLAY
0 DS1
1 DS2
MCLR
DATA
CLOCK
DATA
MCLR
CLOCK
A B C D
4
3
2
1
D C B A
1
2
3
4
A3
Rev Number
Title
Size
Date
Filename
Drawn by
of Sheet