apostila8051
90 pág.

apostila8051


Disciplina<strong>microprocessadores</strong>6 materiais8 seguidores
Pré-visualização18 páginas
Mi
ro
ontroladores 8051
Prof. Eduardo G. Bertonha (M.S
.)
26 de junho de 2007
Departamento A
adêmi
o de Eletr\ufffdni
a - DAELN
Universidade Te
nológi
a Federal do Paraná - UTFPR
Correspondên
ia
Prof. Eduardo Giometti Bertonha (MS
)
Departamento de Eletr\ufffdni
a
Universidade Te
nológi
a Federal do Paraná - UTFPR
Av. Sete de Setembro, 3.165 - Curitiba - PR - Cep: 80230-901
Página Web:
pessoal.
efetpr.br/ebertogna
email: ebertonha\ufffdutfpr.edu.br
2
Sumário
1 Introdução 6
1.1 Con
eitos Importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Des
rição dos Cir
uitos de um Sistema Mínimo . . . . . . . . . . . 6
1.1.2 Mi
ro
ontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Sistemas Mi
ro
ontrolados . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 A Família 8051 de Mi
ro
ontroladores 9
2.1 Cara
terísti
as Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Arquitetura Interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Pinagem do 8051 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1 Des
rição dos Pinos . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 A
esso à Memória Externa . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Organização da Memória do 8051 . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.1 Memória de Programa do 8051 . . . . . . . . . . . . . . . . . . . . 14
2.5.2 Memória de Dados do 8051 . . . . . . . . . . . . . . . . . . . . . . 15
Memória de Dados Externa . . . . . . . . . . . . . . . . . . . . . . 15
Memória de Dados Interna . . . . . . . . . . . . . . . . . . . . . . . 16
Registros de Uso Geral e Pilha . . . . . . . . . . . . . . . . . . . . . 16
Registros de Funções Espe
iais . . . . . . . . . . . . . . . . . . . . 17
Registros de Status do 8051 - PSW . . . . . . . . . . . . . . . . . . 18
2.6 Portas de Entrada e Saída do 8051 . . . . . . . . . . . . . . . . . . . . . . 19
2.7 Interrupções no 8051 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.1 Registro de Habilitação de Interrupções - IE . . . . . . . . . . . . . 21
2.7.2 Registro de Controle de Prioridade de Interrupção - IP . . . . . . . 22
2.7.3 Ativação das Interrupções Externas por Borda ou Nível - Bits IT0
e IT1 do Registro TCON . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8 Temporizadores/Contadores 0 e 1 . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.1 Registros de Carga do Valor Ini
ial de Contagem
(TH0/TL0 e TH1/TL1) . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8.2 Registro de Controle dos T/C's - TCON . . . . . . . . . . . . . . . 24
2.8.3 Registro de Controle de Modo dos T/C's -TMOD . . . . . . . . . . 25
T/C no Modo 0 - Contagem em 8 bits 
om Pres
aler de 32x . . . . 25
3
Sumário
T/C no Modo 1 - Contagem em 16 bits . . . . . . . . . . . . . . . . 25
T/C no Modo 2 - Contagem em 8 bits 
om Re
arga Automáti
a . . 26
T/C no Modo 3 - Contagem em 8 bits em TH0 e Temporizador de
8 bits em TL0 . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.9 Canal Serial do 8051 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.9.1 Registro de Controle do Canal Serial - SCON . . . . . . . . . . . . 26
Modo 0 do Canal Serial - Registrador de Deslo
amento . . . . . . . 27
Modo 1 do Canal Serial - UART de 8 bits e Taxa Variável . . . . . 27
Modo 2 do Canal Serial - UART de 9 bits e Taxa Fixa . . . . . . . 28
Modo 3 do Canal Serial - UART de 9 bits e Taxa Variável . . . . . 28
2.9.2 Tabela de Referên
ia p/ Programar o Baud Rate . . . . . . . . . . 28
2.10 Modos de Baixo Consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.10.1 Registro de Controle de Potên
ia - PCON . . . . . . . . . . . . . . 29
2.10.2 Modo Idle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.10.3 Modo Power-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 Programação em Assembly do 8051 31
3.1 Conjunto de Instruções do 8051 . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.1 Modos de Endereçamento . . . . . . . . . . . . . . . . . . . . . . . 31
Endereçamento Direto . . . . . . . . . . . . . . . . . . . . . . . . . 32
Endereçamento Indireto . . . . . . . . . . . . . . . . . . . . . . . . 32
Endereçamento via Registrador . . . . . . . . . . . . . . . . . . . . 32
Constante Imediata . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Endereçamento Indexado . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Estudo das Instruções do 8051 . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Transferên
ia de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.2 Instruções Aritméti
as . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.3 Instruções Lógi
as . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.4 Booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.5 Desvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4 Exemplos de Apli
ação 38
4.1 Geração de Onda Quadrada . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Controle de Temperatura de um Forno . . . . . . . . . . . . . . . . . . . . 39
4.3 Geração de 2 Ondas Quadradas Simultâneas . . . . . . . . . . . . . . . . . 41
4.4 Interfa
e 
om Conversor A/D R2R . . . . . . . . . . . . . . . . . . . . . . 42
4.5 Interfa
e 
om ADC0804 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.6 Interfa
e 
om LCD Inteligente . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.6.1 Interfa
e 8051/LCD em 8 bits . . . . . . . . . . . . . . . . . . . . . 46
4.6.2 Interfa
e 8051/LCD em 4 bits . . . . . . . . . . . . . . . . . . . . . 48
4
Sumário
4.6.3 Interfa
e 8051/LCD 
/ Registrador de Deslo
amento . . . . . . . . 52
4.6.4 Interfa
e 8051/LCD Mapeado em Memória . . . . . . . . . . . . . . 55
4.7 Interfa
e 8051 
om Te
lado Matri
ial . . . . . . . . . . . . . . . . . . . . . 58
4.8 Interfa
e 
om Motor de Passo Unipolar . . . . . . . . . . . . . . . . . . . . 65
4.9 Expansão das Interrupções Externas . . . . . . . . . . . . . . . . . . . . . 67
4.10 Envio de Dados via Canal Serial . . . . . . . . . . . . . . . . . . . . . . . . 69
4.11 Rotina de Geração de Beep . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.12 Dimmer Mi
ro
ontrolado 
om AT89C2051 . . . . . . . . . . . . . . . . . . 71
4.13 Programas Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Programa Proposto 5: . . . . . . . . . . . . . . . . . . . . . . . . . 74
Programa Proposto 6: . . . . . . . . . . . . . . . . . . . . . . . . . 74
5 IDE KEIL uVision2 75
5.1 A Interfa
e Grá\ufffd
a do uVision2 . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2 Criação de um Projeto no uVision2 . . . . . . . . . . . . . . . . . . . . . . 76
5
1 Introdução
1.1 Con
eitos Importantes
O diagrama em blo
os da \ufffdgura 1.1, abaixo ilustra um sistema mínimo mi
ropro
essado,
om seus blo
os 
onstituintes, os quais serão des
ritos na sequên
ia.
Figura 1.1: Sistema Mi
ropro
essado Mínimo
1.1.1 Des
rição dos Cir
uitos de um Sistema Mínimo
\u2022 Mi
ropro
essador: Responsável pelo 
ontrole de todas as operações do sistema,
e exe
ução de instruções do programa gravado na memória de programa. Estas
instruções podem estar rela
ionadas 
om operações lógi
as, aritméti
as, de a
esso
as portas de entrada e saída do sistema, e a
esso a memória de dados ou programa.
Também 
hamada de CPU (Central Pro
essing Unit).
\u2022 Memória de Programa: é nesta memória do tipo não volátil (ou seja do tipo ROM,
EPROM, ou FLASH) que o programa a ser exe
utado pelo mi
ropro
essador \ufffd
a ar-
mazenado. Este