prentice hallmicrocontroladores 80511 capítulo 2 a família de microcontroladores mcs-51 da intel...
TRANSCRIPT
Prentice Hall Microcontroladores 8051 1
Capítulo 2Capítulo 2A família de Microcontroladores MCS-51 A família de Microcontroladores MCS-51
da Intelda Intel
Membro original é o 8051; CPU de 8 bits otimizada para aplicações de controle; Poderosa capacidade de processamento booleano, incluindo lógica individual de bits; 64 Kbytes de endereçamento de memória de programa; 64 Kbytes de endereçamento de memória de dados; 4 Kbytes de memória de programa interna;
Prentice Hall 2Microcontroladores 8051
Capítulo 2:Capítulo 2:
128 bytes de memória RAM de dados interna; 32 linhas de I/O bidirecionais endereçáveis individualmente; 2 Timers/Contadores de 16 bits; 5 entradas de interrupções (3 internas e 2 externas) com 2 níveis de prioridade; 1 oscilador interno de relógio.
Prentice Hall 3Microcontroladores 8051
Capítulo 2: Capítulo 2: Arquitetura do 8051Arquitetura do 8051
Interrupções Internas (3) e Externas (2)
Controle deInterrupções
CPU
OSC Bar.Controle
ROM RAM
4 Portes de Ent/Sai Porte Serial
Timer 1Timer 0
TX RXP0 P1 P2 P3
Entradas externas de clock dos Contadores
Figura 1: Arquitetura básica do microcontrolador 8051.
Prentice Hall 4Microcontroladores 8051
Capítulo 2:Capítulo 2: Família de Microcontroladores MCS-51 da
Intel Dispositivo Versão sem
ROM Versão
com EPROM
Capacidade da ROM
Capacidade da RAM
Portes de E/S
de 8 bits
Timers/Conta-
dores de 16 bits
Matrizes de contadores
programáveis
UART Canais de DMA
Canais A/D
Fontes de interrupção
Modos de baixo
consumo e Idle
8051 8031 - 4K 128 4 2 X 6/5 8051AH 8031AH 8751AH
8751BH 4K 128 4 2 X 6/5
8052AH 8032AH 8752BH 8K 256 4 3 X 8/6 80C51BH 80C31BH 87C51 4K 128 4 2 X 6/5 X
80C52 80C32 - 8K 256 4 3 X 8/6 X 83C51FA 80C51FA 87C51FA 8K 256 4 3 X X 14/7 X 83C51FB 80C51FA 87C51FB 16K 256 4 3 X X 14/7 X 83C152JA 80C152JA - 8K 256 5 2 X 2 19/11 X
- 80C152JB - - 256 7 2 X 2 19/11 X 83C152JC 80C152JC - 8K 256 5 2 X 2 19/11 X
- 80C152JD - - 256 7 2 X 2 19/11 X 83C452 80C452 87C452P 8K 256 5 2 X 9/8 X
Tabela 1: A família de microcontroladores de 8 bits da Intel.
Prentice Hall 5Microcontroladores 8051
Capítulo 2:Capítulo 2:Pinagem do 8051Pinagem do 8051
Entrada do sinal externo de Reset -----9 Reset EA/ -----
31Sinal de saída para acesso externo a
memória de programaEntrada 2 do circuito oscilador
externo a cristal-----18 X2 ALE -----
30Sinal de saída habilitador de capturaexterna do byte de endereço menos
significativo que está multiplexado com obyte de dados
Entrada 1 do circuito osciladorexterno a cristal
-----19 X1 PSEN/ -----
29Sinal de saída de controle de leitura damemória de programa externa (ROM)
Porte 0 ou Barramento deEndereços menos significativo edados (multiplexados): Bit 0 de
porte 0 ou A0 e D0
-----39 P0.0/AD0 P2.0/A8 -----
21Porte 2 ou Barramento de Endereços mais
significativo:Bit 0 do porte 2 ou A8
Bit 1 de porte 0 ou A1 e D1 -----38 P0.1/AD1 8 P2.1/A9 -----
22Bit 1 do porte 2 ou A9
Bit 2 de porte 0 ou A2 e D2 -----37 P0.2/AD2 P2.2/A10 -----
23Bit 2 do porte 2 ou A10
Bit 3 de porte 0 ou A3 e D3 -----36 P0.3/AD3 P2.3/A11 -----
24Bit 3 do porte 2 ou A11
Bit 4 de porte 0 ou A4 e D4 -----35 P0.4/AD4 P2.4/A12 -----
25Bit 4 do porte 2 ou A12
Bit 5 de porte 0 ou A5 e D5 -----34 P0.5/AD5 0 P2.5/A13 -----
26Bit 5 do porte 2 ou A13
Bit 6 de porte 0 ou A6 e D6 -----33 P0.6/AD6 P2.6/A14 -----
27Bit 6 do porte 2 ou A14
Bit 7 de porte 0 ou A7 e D7 -----32 P0.7/AD7 P2.7/A15 -----
28Bit 7 do porte 2 ou A15
Bit 0 do porte 1 -----1 P1.0 5 P3.0/RXD -----
10Bit 0 do porte 3 ou pino de recepção dedados seriais
Bit 1 do porte 1 -----2 P1.1 P3.1/TXD -----
11Bit 1 do porte 3 ou pino de transmissão dedados seriais
Bit 2 do porte 1 -----3 P1.2 P3.2/INT0
/
-----12
Bit 2 do porte 3 ou sinal de entrada externada interrupção 0
Bit 3 do porte 1 -----4 P1.3 1 P3.3/INT1
/
-----13
Bit 3 do porte 3 ou sinal de entrada externada interrupção 1
Bit 4 do porte 1 -----5 P1.4 P3.4/T0 -----
14Bit 4 do porte 3 ou sinal de entrada de clock
do timer 0Bit 5 do porte 1 -----
6 P1.5 P3.5/T1 -----15
Bit 5 do porte 3 ou sinal de entrada de clockdo timer 1
Bit 6 do porte 1 -----7 P1.6 P3.6/WR/ -----
16Bit 6 do porte 3 ou sinal de saída de
controle de escrita de memória de dadosexterna (RAM)
Bit 7 do porte 1 -----8 P1.7 P3.7/RD/ -----
17Bit 7 do porte 3 ou sinal de saída de
controle de leitura de memória de dadosexterna (RAM)
Figura 2:Pinagem do8051
Prentice Hall 6Microcontroladores 8051
Capítulo 2: Capítulo 2: Memória de programa e memória de dadosMemória de programa e memória de dados
FFFFh
Externa
0000h
EA\=0Externa
EA\=1InternaPSEN\
Memória de Programa:
128 bytes inferiores
128 bytessuperiores
SFRs
FFFFh
0000h
Externa
InternaFFh
00h
Memória de Dados:
Figura 3: Organização da Memória da família de microcontroladores MCS-51 da Intel.
0FFFh
1000h
7Fh80h
RD\ WR\
Prentice Hall 7Microcontroladores 8051
Capítulo 2: Capítulo 2: Endereçamento das InterrupçõesEndereçamento das Interrupções
8 by
tes
ROM
Reset 0002h0000h
000Ah0003h
0012h000Bh
001Ah0013h
0022h001Bh
002Ah0023h
0032h002Bh
07FFh
::::0033h
Ext. Int. 0
Timer 0
Ext. Int. 1
Timer 1
Serial Port
Timer 2(8052/32)
Figura 4: Memória de programa do MCS-51.
Prentice Hall 8Microcontroladores 8051
Capítulo 2: Capítulo 2:
8051
PSENbarra
P1 P0
ALE
P3 P2
EAbarra
Latch
GND
ROM/EPROM
OE\=OEbarra
D7-D0
Endereços menos significativo
Endereços mais significativos
Figura 5: Hardware para memória de programa externa.
Prentice Hall 9Microcontroladores 8051
Capítulo 2: Capítulo 2:
MCS-51 com ROM interna
P1 P0
EAbarra
ALE
RD\ P3 P2WR\
LatchVCC
RAM
D7-D0
Endereços menos significativo
Endereços mais significativos WE\ OE\
Figura 6: Hardware para memória de dados externa.
E/S
bits de paginaçãoE/S
Prentice Hall 10Microcontroladores 8051
Capítulo 2: Capítulo 2:
FFh
Acessível somente por endereçamento indireto (128 bytes
superiores)80h
FFh
Acessível por endereçamento direto (SFRs: Portes, Bits de
controles dos Timers, Acumulador, etc)
80h7Fh
Acessível por endereçamento direto e indireto (128 bytes
inferiores)00h
Figura 7: Memória de dados interna.
Prentice Hall 11Microcontroladores 8051
Capítulo 2: Capítulo 2:
7Fh Endereçamento por byte30h
07h R7Banco 0
00Hh R0
0Fh R7Banco 1
08h R0
17h R7Banco 2
10h R0
1Fh R7Banco 3
18h R0
2Fh Endereçável por bit e/ou byte20h
Valor inicial do SP (Stack Pointer: ponteiro de pilha) após um sinal de Reset.
Figura 8: 128 bytes inferiores da RAM interna.
Prentice Hall 12Microcontroladores 8051
Capítulo 2:Capítulo 2:
Program Status WordProgram Status Word
bits 7 6 5 4 3 2 1 0
(PSW) = C AC F0 RS1 RS0 OV - P
RS1 RS0 Banco Selecionado Registradores Selecionados Endereços de Memória Selecionados0 0 0 R0 a R7 00h a 07h0 1 1 R0 a R7 08h a 0Fh1 0 2 R0 a R7 10h a 17h1 1 3 R0 a R7 18h a 1Fh
Prentice Hall 13Microcontroladores 8051
Capítulo 2: Capítulo 2: Bancos de RegistradoresBancos de Registradores
RS1 RS0 Endereço Registrador Banco1 1 1Fh R7 31 1 1Eh R6 31 1 1Dh R5 31 1 1Ch R4 31 1 1Bh R3 31 1 1Ah R2 31 1 19h R1 31 1 18h R0 31 0 17h R7 21 0 16h R6 21 0 15h R5 21 0 14h R4 21 0 13h R3 21 0 12h R2 21 0 11h R1 21 0 10h R0 20 1 0Fh R7 10 1 0Eh R6 10 1 0Dh R5 10 1 0Ch R4 10 1 0Bh R3 10 1 0Ah R2 10 1 09h R1 10 1 08h R0 10 0 07h R7 00 0 06h R6 00 0 05h R5 00 0 04h R4 00 0 03h R3 00 0 02h R2 00 0 01h R1 00 0 00h R0 0
Prentice Hall 14Microcontroladores 8051
Capítulo 2:Capítulo 2: Endereçamento por Endereçamento por bitsbits//bytesbytes
Endereço de Memória bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
2Fh 7Fh 7Eh 7Dh 7Ch 7Bh 7Ah 79h 78h2Eh 77h 76h 75h 74h 73h 72h 71h 70h2Dh 6Fh 6Eh 6Dh 6Ch 6Bh 6Ah 69h 68h2Ch 67h 66h 65h 64h 63h 62h 61h 60h2Bh 5Fh 5Eh 5Dh 5Ch 5Bh 5Ah 59h 58h2Ah 57h 56h 55h 54h 53h 52h 51h 50h29h 4Fh 4Eh 4Dh 4Ch 4Bh 4Ah 49h 48h28h 47h 46h 45h 44h 43h 42h 41h 40h27h 3Fh 3Eh 3Dh 3Ch 3Bh 3Ah 39h 38h26h 37h 36h 35h 34h 33h 32h 31h 30h25h 2Fh 2Eh 2Dh 2Ch 2Bh 2Ah 29h 28h24h 27h 26h 25h 24h 23h 22h 21h 20h23h 1Fh 1Eh 1Dh 1Ch 1Bh 1Ah 19h 18h22h 17h 16h 15h 14h 13h 12h 11h 10h21h 0Fh 0Eh 0Dh 0Ch 0Bh 0Ah 09h 08h20h 07h 06h 05h 04h 03h 02h 01h 00h
Prentice Hall 15Microcontroladores 8051
Capítulo 2:Capítulo 2: Registradores de Funções Especiais (SFRs)Registradores de Funções Especiais (SFRs)
Registradores Endereço Nome dos RegistradoresA ou ACC E0h AcumuladorB* F0h Registrador BDPL 82h Byte menos significativo do Ponteiro de DadosDPH 83h Byte mais significativo do Ponteiro de DadosIE* A8h Habilitador de InterrupçõesIP B8h Priorizador de InterrupçõesSCON* 98h Controlador da Comunicação SerialSBUF 99h Buffer de Dados SerialPSW* D0h Palavra de Status de ProgramaPCON 87h Controle de PotênciaTCON* 88h Controle do Timer/ContadorTMOD 89h Modo de operação de Timer/ContadorTH0 8Ch Byte mais significativo do Timer/Contador 0TL0 8Ah Byte menos significativo do Timer/Contador 0TH1 8Dh Byte mais significativo do Timer/Contador 1TL1 8Bh Byte menos significativo do Timer/Contador 1P0* 80h Porte 0P1* 90h Porte 1P2* A0h Porte 2P3* B0h Porte 3
Prentice Hall 16Microcontroladores 8051
Capítulo 2:Capítulo 2: Registradores de Funções Especiais (SFRs)Registradores de Funções Especiais (SFRs)
para o 8052para o 8052
Registradores Endereço Nome dos RegistradoresT2CON* C8h Controle de Timer/Contador 2TH2 CDh Byte mais significativo do Timer/Contador 2TL2 CCh Byte menos significativo do Timer/Contador 2RCAP2H CBh Byte mais significativo do Timer/Contador de captura 2RCAP2L CAh Byte mais significativo do Timer/Contador de captura 2
* Registradores endereçados por bit; Tabela 2 - Registradores de Funções Especiais.
Prentice Hall 17Microcontroladores 8051
Capítulo 2:Capítulo 2:
Figura 12: Decodificador 74138
Figura 10: Decodificador 74HC138
Prentice Hall 18Microcontroladores 8051
Capítulo 2:Capítulo 2:
Entradas SaídasG2A´ G2B´ G1 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6
1 X X X X X 1 1 1 1 1 1 1X 1 X X X X 1 1 1 1 1 1 1X X 0 X X X 1 1 1 1 1 1 10 0 1 0 0 0 0 1 1 1 1 1 10 0 1 0 0 1 1 0 1 1 1 1 10 0 1 0 1 0 1 1 0 1 1 1 10 0 1 0 1 1 1 1 1 0 1 1 10 0 1 1 0 0 1 1 1 1 0 1 10 0 1 1 0 1 1 1 1 1 1 0 10 0 1 1 1 0 1 1 1 1 1 1 00 0 1 1 1 1 1 1 1 1 1 1 1
0: 0 lógico; 1: 1 lógico; X: pode ser 0 ou 1 lógico; ´ : representa entrada ativa em 0 lógico.
Tabela 3: Tabela verdade do 74138
Prentice Hall 19Microcontroladores 8051
Capítulo 2:Capítulo 2:
Figura 11: Exemplo de mapeamentode memória com o 74138.
Prentice Hall 20Microcontroladores 8051
Capítulo 2:Capítulo 2:
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 EndereçoInicial e final
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H0 0 0 X X X X X X X X X X X X X0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000H0 0 1 X X X X X X X X X X X X X0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFFH0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000H0 1 0 X X X X X X X X X X X X X0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5FFFH0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000H0 1 1 X X X X X X X X X X X X X0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFFH1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000H1 0 0 X X X X X X X X X X X X X1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 9FFFH1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 A000H1 0 1 X X X X X X X X X X X X X1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BFFFH1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C000H1 1 0 X X X X X X X X X X X X X1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DFFFH1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 E000H1 1 1 X X X X X X X X X X X X X1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FFFFH
Dígito + sign. do endereço 2° dígito + sign do endereço 2° dígito - sign do endereço Dígito - sign do endereço
Prentice Hall 21Microcontroladores 8051
Capítulo 2:Capítulo 2:
Figura 12: Circuito de Reset para afamília de microcontroladoresMCS-51 da Intel.
Prentice Hall 22Microcontroladores 8051
Capítulo 2:Capítulo 2:
Figura 13: Circuito do sinal de relógio (clock).
Prentice Hall 23Microcontroladores 8051
Capítulo 2:Capítulo 2:Sinal de relógio: S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
Sinal de ALE:
1- Um ciclo de instrução de um byte. Ex: INC A. Lê Opcode Lê o próx. Lê o próx. Opcode (descarta) Opcode novamente
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
2- Um ciclo de instrução de dois bytes. Ex: ADD A,#data. Lê Opcode Lê segundo Lê prox. Byte Opcode
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
3- Dois ciclos de instrução de um byte. Ex: INC DPTR. Lê Opcode Lê prox. Lê prox. Lê prox. Opcode (descata) Opcode (descarta) Opcode (descarta)
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
Abaixo os sinais e tempos envolvidos na busca do programa em memória de programa externa em uso dainstrução MOVX.
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
Sinal de ALE:
PSEN\ :
RD\:
P2:PCH Out PCH Out PCH Out PCH Out PCH OutP0:
Inst.in
PCL Out Inst.in
PCL Out Inst.in
PCL Out Inst.in
PCL Out
Prentice Hall 24Microcontroladores 8051
Capítulo 2:Capítulo 2:Operação de executar um Operação de executar um programa passo a passoprograma passo a passo: :
JNB P3.2,$ ; Aguarda que o bit P3.2 vá para 1 lógicoJB P3.2,$ ; Aguarda que o bit P3.2 vá para 0 lógicoRETI ; Retorna da rotina de atendimento da fonte de interrupção INT0\
Prentice Hall 25Microcontroladores 8051
Capítulo 2:Capítulo 2:Modos de redução de potência em Modos de redução de potência em
microcontroladores microcontroladores CHMOSCHMOS: : Modo Idle
Modo Baixa PotênciaRegistrador PCON:
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0SMOD - - - GF1 GF0 PD IDL
-SMOD: Bit de duplo baud rate (freqüência de recepção e transmissão do canal de comunicação serial). Quando igual a 1 lógico, o baud rate é dobrado quando o canal de comunicação serial ou está no modo 1, ou 2, ou 3;-GF1: flag de uso de propósito geral;-GF0: flag de uso de propósito geral;-PD: Bit de baixa potência (Power Down). Fazendo este bit igual a 1 lógico, ativa o modo de baixa potência.-IDL: Bit de Modo Idle. Fazendo este bit igual a 1 lógico, ativa o modo Idle.