Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Microprocessadores
Apostila Microprocessadores
Memória
Memória
❚ O 8051 possui 4kB de memória de
programa internos (ROM), podendo-se
ainda utilizar 64kB externos (8031 não
possui ROM interna).
Roberto Jung Drebes ❚ Possui RAM interna e possibilidade de
RAM externa, com espaços de
endereçamento distintos (instruções
distintas).
Memória Memória
Entrada e Saída
Entrada e Saída
Capacidades de I/O:
A família 8051 possui as seguintes capacidades de I/O “nativas”, variáveis
conforme o modelo:
" 32 Portas de I/O endereçáveis individualmente, divididas em 4 portas de 8 bits
mapeadas em RAM com bits individualmente endereçáveis (58 ou 24 portas
dependendo do modelo):
MOV R0,#80H
MOV @RO,#OBBH
O 8051 “standard” possui 1 canal serial bem como 4 entradas e
saídas de 8 bits, sendo 2 para memória externa (caso utilizada). escreve o valor hexa 0BBH no endereço de memória 80h.
Aparentemente o resultado
deveria ser o mesmo, mas observe o
esquema elétrico:
Entrada e Saída Entrada e Saída
Acesso às portas
Portas multifuncionais de I/O
A finalidade disto é permitir
Quase todas são “multifuncionais”, ou seja, podem ser utilizadas
que as portas funcionem como I e
também como O. tanto para I/O comum endereçável a bit quanto para sua função
“especial”, como no caso de acesso à memória externa, com as portas 0,
Escrevendo-se nível 1 na 2 e 3:
saída, pode-se forçar o nível 0
Porta 0: " dados e parte baixa dos endereços multiplexados
externamente e ler este nível com a
instrução apropriada. Porta 2: " parte alta dos endereços
Assim, as instruções que Porta 3: " WR e RD (write strobe e read strobe para mem. dados)
lêem e modificam a porta operam no
Combinações extremas:
latch, e as que só lêem operam no
pino direto. " 1 Portas de I/O (8 bits em P1) + 6 bits da P3 + 64K ROM + 64K RAM (EXTERNAS)
" 4 Portas de I/O + 128bits RAM + 4K ROM (INTERNAS)
Entrada e Saída
Entrada e Saída
Portas multifuncionais de I/O Portas multifuncionais de I/O
Utilizando uma ROM Externa: P0 - Se for utilizada memória externa (RAM ou ROM) fica ´perdida´.
" ~EA em 0: mem. ext. programas para 8051 P2 - Cada 28+2n bits de endereço externo além de 256 utilizam n bits desta.
" ~PSEN : habilita acesso à ROM externa P3 - Se memória RAM externa for usada, perde-se os bits 6 e 7 (WR/RD).
Entrada e Saída
Conjunto de Instruções
Expandindo o I/O: saída analógica
Com um conversor do tipo R/2R podemos ter uma saída analógica para uma porta livre ou
mapeada em memória, como é o caso da figura.
❚ Endereçamento imediato
❙ constantes seguem o opcode na memória de programa
❚ Exemplos
BCD
Xor
Instruções para
transferência de dados Instruções de JUMP
Instruções
observação
Interrupções
Pequena ortogonalidade
Instruções de tamanho variável(1-3 bytes)
Interrupções Interrupções
Interrupções
Timers e contadores
Fabricantes Fabricantes
❚ Outros fabricantes têm autorização de fabricar o 8051, como a
Atmel, Dallas, Temic, Philips, Siemens, Advanced Microcontroller
Device, Fujitsu, e Oki.
❚ DS87C520 - 87C51/87C52 com 16 Kbytes de EPROM e 1Kbyte de
SRAM;
❚ AT89LV55 - 2.7-Volt, 80C32 com 20 Kbytes de memória Flash;
❚ DS87C550 – 80C51 com 8 canais A/D de 10 bits, 4 canais PWM de
❚ AT89C51 - 80C31 com 4Kbytes de memória Flash; 8 bits;
❚ AT87F52 QuickFlash - 80C32 com 8K bytes de OTP QuickFlash;
❚ DS80C323 – 80C31/80C32 com baixo consumo de potência;
❚ AT89C2051 - 2.7-Volt, 80C31 com 2Kbytes de Flash e
encapsulamento de 20 Pinos; ❚ DS80C390 – 80C51 com capacidade de endereçamento de
4Mbytes (memória externa), co-processador matemático de 16/32
❚ AT87F51RC Preliminary - 80C32 com 512 bytes SRAM e 32K
bytes OTP QuickFlash. bits;
❚ DS80C320 – 801C31/80C32 com dois ponteiros para dados;
Fabricantes Aplicações
Aplicações Aplicações
❚ Normalmente, aplicações que utilizam motores CC requerem ❚ Variar a velocidade significa variar a tensão nos terminais do motor;
variação na sua velocidade e inversão no sentido de rotação; ❚ Em um sistema digital, o sinal analógico para o amplificador deve
❚ A inversão do sentido de rotação é facilmente adquirida invertendo- vir de alguma forma de conversor D/A, significando um
se a polaridade da tensão nos terminais do motor; componente a mais no circuito e, conseqüentemente, maior custo e
consumo;
❚ Uma alternativa pode ser utilizar a saída PWM (pulse width
modulator) do 83C51FA, variando a tensão média entregue ao
motor;
❚ O 83C51 pode ser configurando para utilizar até saídas 5 PWM ao
mesmo tempo (possui um PCA com 5 módulos);
❚ O PCA possui um timer principal compartilhado com os demais
módulos que pode ter até 4 diferentes taxas de contagem
(oscillator frequency / 12, oscillator frequency / 4, Timer 0
overflow, external input on ECI (P1.2).);
Aplicações Aplicações
❚ Alguns pinos da porta 1 são utilizados por cada módulo do PCA
para se comunicar com o mundo exterior;
❚ Quando os módulos do PCA não estão em uso, os pinos da porta 1
são utilizados como pinos de I/O normalmente;
❚ Os cada módulo do PCA pode trabalhar em cinco modos diferentes
de operação. Um desses modos é o PWM;
❚ Cada módulo possui um registrador de modo de 8 bits (CCAPMn) e
um registrador de captura/comparação, de 16 bits, chamado
CCAPnL & CCAPnH;
❚ CCAPMn deve ser setado apropriadamente para trabalhar no modo
PWN;
Aplicações Aplicações
❚ Primeiramente, o clock do PCA timer/counter deve ser definido (osc
freq/12, osc freq/4, timer 0 overflow e external clock);
❚ Para definir o clock, outros registradores são utilizados (CCON,
CMOD e CCAPMn);
Aplicações Aplicações
MOV CMOD,#06 ; timer input external ❚ Quando usamos o 83C51FA pouco hardware é necessário para o
MOV CCAPM2,#42H ; put the module in PWM mode. controle de um motor CC;
MOV CCAP2H,#0 ; 0 provides 100% duty cycle (5V) ❚ Apenas é necessário um driver, pois o microcontrolador não tem
SETB CR ; turn timer on como fornecer a corrente e a tensão necessária para o motor;
Aplicações Aplicações
❚ Driver circuit – através do sinal proveniente do microcontrolador
(83C51FA) entrega a corrente e a tensão necessária para o
funcionamento do motor;
❚ Um exemplo de driver circuit pode ser da serie L293, podendo
fornecer 1A quando ligado a uma tensão de 36V. Através de
entradas lógicas pode ser controlado para habilitar e desabilitar o
fornecimento de corrente para o motor;
❚ Ruído elétrico – motores geram ruído elétrico suficiente para
atrapalhar a performance do controlador. Logo, capacitores ajudam
a eliminar o ruído proveniente do motor e devem ser adicionados
ao circuito;
Aplicações Aplicações
❚ Podemos ter um controle maior do motor através de uma linha de ❚ O 83C51FA pode utilizar o sinal proveniente da realimentação para
realimentação proveniente de um sensor detector de movimento determinar a velocidade e a posição do motor. Logo, podemos fazer
contido no motor; ajustes, variando a velocidade, revertendo a rotação ou parando o
motor;
❚ Esse sensor pode ser
❚ A cada momento que o imã passa na frente do sensor, um pulso é
do tipo sensível ao campo gerado e mandado para a porta 1 pino 6 do microcontrolador
magnético; (interface externa do módulo 3 do PCA);
❚ Algum cuidado deve ser ❚ No exemplo a seguir, o módulo 3 do PCA é setado para trabalhar
no modo de captura, sensível a borda de subida;
tomado para que a distância
❚ O tempo ente duas capturas consecutivas correspondem a meia
entre o imã e o sensor não revolução. Isso nos fornece informação suficiente para calcular a
seja muito grande; velocidade atual do motor. Usando esse método podemos, por
exemplo, sincronizá-lo com outro evento;
Aplicações Aplicações
Aplicações Bibliografia
❚ 8051 Microcontrolador Detalhado;
❚ Aplicações Práticas do Microcontrolador 8051 – Vidal Pereira da
Silva Jr;
❚ Fundamentos de Física 3 – David Halliday e Robert Resnick - 3ª
edição;
❚ Máquinas Elétricas – A. E. Fitzgerald, Charles Kingsley e Alexander
Kusko;
❚ www.intel.com, www.dalsemi.com, www.philips.com,
www.atmel.com ...