Micro Control Ad or
Micro Control Ad or
Micro Control Ad or
Microcontrolador
Trabalho organizado e atualizado a partir de contedos extrados da Intranet por Meios Educacionais da
Gerncia de Educao e CFPs 1.01, 1.09, 1.23, 3.01, 4.02, 5.01 e 6.01 da Diretoria Tcnica do SENAI-SP.
Equipe responsvel
Coordenao
Elaborao
Reviso tcnica
Reviso de texto
Capa
SENAI
Telefone
Telefax
SENAI on-line
E-mail
Home page
Microcontrolador
Sumrio
Microcontrolador PIC
19
Manipular registradores
21
23
25
Programar pisca-pisca
27
29
31
Programar contador de 0 a 9
33
Programar contador de 0 a 99
35
37
39
Gerar PWM
41
Referncia bibliogrfica
43
SENAI-SP INTRANET
AA-376-08
Microcontrolador
SENAI-SP INTRANET
AA-376-08
Microcontrolador
Microcontrolador PIC
Este captulo apresenta uma viso geral sobre microcontroladores de 8 bits PIC.
Maiores informaes podem ser obtidas com o estudo do datasheet do componente e
da literatura disponvel em portugus.
Histrico
A empresa Microchip, fundada em 1989, com sede no estado de Arizona, nos Estados
Unidos, fabrica, dentre vrios componentes eletrnicos, uma linha de
microcontroladores que vem se popularizando por sua versatilidade e aceitao por
tcnicos e engenheiros eletrnicos.
O microcontrolador PIC incorpora tecnologia RISC, e muito disseminado devido
facilidade de uso que oferece. Possui, internamente, um pequeno set de instrues e
memria flash EEPROM para gravao do programa desenvolvido pelo projetista.
Um dos mais populares microcontroladores dessa linha o PIC16F84, devido ao seu
baixo custo e enorme quantidade de informaes disponveis na Internet.
O PIC16F84 um microcontrolador com apenas alguns perifricos internos. No
contm, por exemplo, interface serial e conversor AD. Entretanto, conhec-lo
importante porque os sets de instrues da famlia PIC so os mesmos para todos os
componentes da linha. Portanto, se souber programar um 16F84 saber tambm
programar um 16F877. Para tanto, basta consultar o datasheet do 16F877 e verificar
quais perifricos so acrescidos nele em relao ao 16F84.
SENAI-SP INTRANET
AA-235-05
Microcontrolador
code-protection;
Pinos
Funo
Vdd e Vss
Alimentao do CI
RA0 a RA4
RB0 a RB7
OSC1/CLKIN
OSC2/CLKOUT
MCLR
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Arquitetura
A arquitetura interna do PIC do tipo Harvard, e trabalha com dois barramentos, um
de 8 bits para dados e outro para instruo que pode ter 12,14 ou 16 bits. Isso d a
essa arquitetura uma velocidade maior em relao aos microcontroladores de
arquitetura Von Neumam, considerando-se o cristal oscilador.
Observe abaixo o diagrama de blocos do PIC16F84:
Memrias no PIC16F84
O PIC16F84 possui 3 memrias internas:
Memria de programa
-
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Memria de dados;
-
Memria de Dados
O microcontrolador PIC 16F84 tem implementado dois bancos de memria de 128
bytes cada, e somente as 80 primeiras posies podem ser acessadas, ou seja, de
00H a 4FH.
As 12 primeiras posies, de 00H a 0BH, esto reservadas para uso dos registradores
de uso especial, os SFR (Special Function Register), e o restante para uso geral GRP
(General Purpose Register).
8
SENAI-SP INTRANET
AA-235-05
Microcontrolador
SENAI-SP INTRANET
AA-235-05
Microcontrolador
10
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
IRP
RP1
RP0
/TO
/PD
DC
11
Microcontrolador
Registrador OPTION
Este registrador configura uma srie de opes internas para operao do
microcontrolador. Ele ser referenciado em nossos programas pelo nome OPTIONREG.
Registrador: OPTION
Endereos: 81h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
/RBPU
INTEDG
TOCS
TOSE
PSA
PS2
PS1
PS0
12
SENAI-SP INTRANET
AA-235-05
Microcontrolador
TMR0
WDT
000
1:2
1:1
001
1:4
1:2
010
1:8
1:4
011
1:16
1:8
100
1:32
1:16
101
1:64
1:32
110
1:128
1:64
111
1:256
1:128
O TMR0 um contador de 8 bits que pode ser incrementado pelo clock interno da
mquina ou por um sinal externo, estourando a cada 256s, quando utilizado o clock
interno de 1s. O estouro desse contador gera uma interrupo independente do
programa que esta sendo executado.
Para aumentar o tempo em que ocorrer um estouro, utilizamos o prescaler da
seguinte forma:
O WDT um contador interno que estoura a cada 18ms sem o uso do prescaler, o que
ocasiona um reset no microcontrolador. A mesma analogia do TMR0 podemos aplicar
ao WDT. Se o prescaler estiver em 1:4 o contador estourar em 72ms.
SENAI-SP INTRANET
AA-235-05
13
Microcontrolador
Registrador INTCON
Este registrador configura e identifica as interrupes.
Registrador: INTCON
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
GIE
EEIE
TOIE
INTE
RBIE
TOIF
INTF
RBIF
14
SENAI-SP INTRANET
AA-235-05
Microcontrolador
RBIF: Identificao da interrupo por mudana de estado nos pinos RB4 a RB7.
0 = A interrupo no ocorreu.
1 = A interrupo ocorreu.
Endereos: 85h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
RA4
RA3
RA2
RA1
RA0
Registrador: TRISB
Endereos: 86h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
RA7
RA6
RA5
RA4
RA3
RA2
RA1
RA0
SENAI-SP INTRANET
AA-235-05
15
Microcontrolador
Endereos: 05h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
RA4
RA3
RA2
RA1
RA0
Registrador: PORTB
Endereos: 06h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
RA7
RA6
RA5
RA4
RA3
RA2
RA1
RA0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
16
SENAI-SP INTRANET
AA-235-05
Microcontrolador
operaes de controle.
Operaes com Registradores
Instruo
Argumento
Descrio
ADDWF
f,d
ANDWF
f,d
CLRF
Limpa o registrador f.
COMF
f,d
DECF
f,d
DECFSZ
f,d
INCF
f,d
INCFSZ
f,d
IORWF
f,d
MOVF
f,d
MOVWF
RLF
f,d
RRF
f,d
SUBWF
f,d
SWAPF
f,d
XORWF
f,d
17
Microcontrolador
Argumento
Descrio
ADDLW
ANDLW
IORLW
MOVLW
Move k para W.
SUBLW
XORLW
Argumento
Descrio
BCF
f,b
BSF
f,b
BTFSC
f,b
BTFSS
f,b
Instruo
Argumento
Descrio
CLRW
Limpa o registrador W.
NOP
CALL
CLRWDT
GOTO
RETFIE
RETLW
RETURN
SLEEP
18
SENAI-SP INTRANET
AA-235-05
Microcontrolador
O objetivo desse ensaio ler e escrever valores literais em hexadecimal (dados) nos
registradores internos do microprocessador.
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar e executar o programa.
4. Ler o contedo dos registradores internos e comparar com o valor armazenado.
SENAI-SP INTRANET
AA-235-05
19
Microcontrolador
20
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Manipular registradores
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar e executar o programa.
4. Ler o contedo dos registradores internos e comparar com o valor armazenado.
SENAI-SP INTRANET
AA-235-05
21
Microcontrolador
22
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
23
Microcontrolador
24
SENAI-SP INTRANET
AA-235-05
Microcontrolador
O objetivo desse ensaio elaborar uma rotina de tempo, utilizando comandos de teste
de byte, incremento, decremento e salto condicional.
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
25
Microcontrolador
26
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Programar pisca-pisca
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
27
Microcontrolador
28
SENAI-SP INTRANET
AA-235-05
Microcontrolador
O objetivo desse ensaio rotacionar para direita e para esquerda o dado armazenado
em um registrador interno da CPU sendo transferido para um conjunto de LEDs
conectados na sada, utilizando salto incondicional.
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
29
Microcontrolador
30
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
31
Microcontrolador
32
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Programar contador de 0 a 9
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
33
Microcontrolador
34
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Programar contador
de 0 a 99
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
35
Microcontrolador
36
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Programar contador
crescente e decrescente
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
37
Microcontrolador
38
SENAI-SP INTRANET
AA-235-05
Microcontrolador
O objetivo desse ensaio gerar uma onda quadrada simtrica, com freqncia de
1kHz, utilizando subrotina de tempo.
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
39
Microcontrolador
40
SENAI-SP INTRANET
AA-235-05
Microcontrolador
Gerar PWM
O objetivo desse ensaio gerar um PWM, variando a largura do pulso (duty cicle) por
meio da leitura de um bit em um dispositivo de entrada.
Procedimentos
1. Fazer fluxograma com a lgica a ser executada pelo microprocessador.
2. Fazer programa em assembler.
3. Digitar o programa.
4. Executar o programa e analisar os resultados.
SENAI-SP INTRANET
AA-235-05
41
Microcontrolador
42
SENAI-SP INTRANET
AA-235-05
Microprocessador
Referncia bibliogrfica
SENAI-SP INTRANET
AA-235-05
43
Microprocessador
44
SENAI-SP INTRANET
AA-235-05