Академический Документы
Профессиональный Документы
Культура Документы
Especificao Descritiva
Projeto Fnix
BRAZIL IP
Microcontrolador 8051
Fnix Project
Histrico de Alteraes
Data Vers o Descrio Autor
Primeira verso da especificao descritiva do mdulo referente memria RAM interna do 8051. Alteraes na figura e especificao do IP1 e IP0 Correes nos registradores PSW e IP0/IP1
Lista de Aprovadores
Nome Cargo
Memria RAM
92298859.doc
Pg 2/14
Microcontrolador 8051
Fnix Project
Contedo
1. Memria RAM................................................................................................................................... 4 2. Descrio Dos Registradores de Funo Especial............................................................................ 5 3. Referncias....................................................................................................................................... 14 [1] Documento de Requisitos; <Nome do arquivo do documento de requisitos, com link>;............14 [2] Site 8052; http://www.8052.com/tutsfr.phtml ............................................................................... 14 [3] Livro The Microcontroller; Mackenzie, I. Scott; Terceira Edio............................................... 14 [4] Data Sheet Siemens: Microcontroller Components; SAB 80C517/80C537 8-Bit CMOS SingleChip Microcontroller............................................................................................................................. 14
Memria RAM
92298859.doc
Pg 3/14
Microcontrolador 8051
Fnix Project
1. 1.1
A memria RAM interna do 8051 est dividida em trs partes: memria de propsito geral, banco de registradores e espao de memria enderevel a bit. Duas caractersticas a serem levadas em conta so: (1) Os registradores e as portas de entrada/saida so mapeados em memria e podem ser acessados como qualquer outra posio de memria, e (2) a pilha de execuo tambm armazenada na memria interna. Como mostra a figura abaixo a memria dividida em banco de registradores (00H 1FH), RAM enderevel a bit
Memria RAM
92298859.doc
Pg 4/14
Microcontrolador 8051
Fnix Project
(20H-2FH), RAM de propsito geral (30H-7FH), e registradores de funes especiais (80H-FFH). Cada um desses espaos ser discutido a diante.
1.2
Banco de Registradores
As primeiras 32 posies da memria interna contm 4 bancos de registradores. O conjunto de instrues do 8051 suporta 8 registradores, R0 at R7 (registradores do banco de registradores ativo), e por definio (depois de reiniciar o sistema) estes registradores esto no endereo 00H-07H, ou seja, o primeiro banco estar ativo. O banco de registradores ativo pode ser alterado por meio do Program Status Word (PSW). S permitido que um dos bancos de registradores esteja ativo por vez.
1.3
O 8051 contm 210 posies de memria endereveis a bit, das quais 128 esto localizadas no intervalo 20H at 2FH, e o resto so os registradores de funes especiais. Este espao pode ser acessado de duas formas. Uma das formas fazer referncia ao endereo do bit, usando instrues apropriadas, no escopo 0H at 7FH. A outra maneira de acesso enderear os bytes de 20H at 2FH. Estes bits ainda podem ser referenciados como bits de acordo com a seguinte sintaxe: 20.0 (acessa o bit 0 do endereo 20).
1.4
A memria RAM de propsito geral, como o prprio nome diz, uma memria que pode ser usada livremente e diretamente pelas instrues, sem nenhuma restrio, a no ser o fato de ser acessada apenas por bytes. Este espao de memria o espao de armazenamento de dados em geral durante a execuo de um programa,.
2.1
O 8051 possui muitos modos de operao, e esses modos de operao so configurados nos SFRs, os chamados Special Function Registers, ou registradores de funo especial. Cada um deles possui um nome, e eles so acessados como se eles fossem da memria RAM interna, mas a diferena bsica que enquanto a RAM interna vai do endereo 00h at o 7Fh, os registradores SFRs ento compreendidos entre o endereo 80h at o FFh. Embora eles estejam compreendidos nesse intervalo de endereos, nem todas as 128 posies de endereo possveis possuem SFRs. Existem apenas 21 SFRs no 8051 padro. Todos os outros
Memria RAM 92298859.doc Pg 5/14
Microcontrolador 8051
Fnix Project
endereos no intervalo (80h at FFh) so considerados invlidos, e ler e escrever nessas posies de memria deve provocar um comportamento inesperado.
2.2
Podemos classificar os SFRs em trs tipos: SFRs de Porta de I/O O 8051 tem 4 portas de I/O de 8 bits, por isso ele possui tambm quatro SFRs de I/O. P0 P1 P2 P3 SFRs de controle Eles controlam a configurao do 8051. Eles so: PCON TCON TMOD SCON IE IP0 IP1 PSW SFRs auxiliares Eles no controlam nem configuram diretamente o 8051, mas o micro-controlador no pode funcionar sem eles, pois eles possuem funes como ler e escrever na porta serial, entre outras. Eles so: SP DPL DPH TL0 TL1 TH0 TH1 SBUF ACC
Memria RAM 92298859.doc Pg 6/14
Microcontrolador 8051
Fnix Project
SFR
Endereo
Enderevel a Bit
P0 P1 P2 P3 PCON TCON TMOD SCON IE IP0 IP1 PSW SP DPL DPH TL0 TL1 TH0 TH1 SBUF ACC B
80h 90h A0h B0h 87h 88h 89h 98h A8h B8h B9h D0h 81h 82h 83h 8Ah 8Bh 8Ch 8Dh 99h E0h F0h
Sim Sim Sim Sim No Sim No Sim Sim Sim No Sim No No No No No No No No Sim Sim
2.3
P0
a entrada e sada da porta 0. Cada bit corresponde a um dos pinos do 8051. O bit 0 do registrador equivale ao pino P0.0 do 8051, e o bit 7 do registrador equivale ao pino P0.7 do 8051. Ele
Memria RAM 92298859.doc Pg 7/14
Microcontrolador 8051
Fnix Project
tanto pode ser lido, reconhecendo o valor de entrada, como escrito, sendo usado assim como sada do 8051.
P1/P2 Possuem funcionamento equivalente a P0, mas agora relativos as portas 1 e 2 respectivamente.
P3
7 P3 RD
6 WR
5 T1
4 T0
3 INT1
2 INT0
1 TxD
0 RxD
Termo
Descrio
Bit usado para receber dados da Porta Serial Bit usado para transmitir dados da Porta Serial Bit que indica interrupo externa 0 Bit que indica interrupo externa 1 Bit que a entrada para o timer 0 Bit que a entrada para o timer 1 um sinal ativo em nvel lgico baixo que significa que o processador est escrevendo na memria externa pela porta 0. um sinal ativo em nvel lgico baixo que significa que o processador est pronto para ler da memria externa pela porta 0.
PCON Ele o Power Control SFR, e controla os modos de controle de potncia do 8051. Certos modos de operao do 8051 permitem que ele entre num estado de sono, que controlado pelo PCON. Um dos bits dele usado para duplicar a taxa de baud efetiva da porta serial do 8051. Os seus bits so:
7 PCON SMOD
3 GF1
2 GF0
1 PD
0 IDL
Descrio
92298859.doc Pg 8/14
Microcontrolador 8051
Fnix Project
Quando setado, duplica a taxa de baud na porta serial, para os modos 1, 2 e 3. Flag de propsito geral bit 1. Flag de propsito geral bit 0. Quando setado, ativa o modo de baixa potncia, de onde s sair quando for resetado. Quando setado, ativa o modo idle, de onde s sair com uma interrupo ou quando for resetado. Tabela 2: Descrio do registrador PCON.
TCON usado para modificar e configurar a forma com que os dois timers do 8051 funcionam. Possui bits de overflow para cada um dos timers e bits que indicam se os timers funcionam ou ficam parados. Tambm possui bits para configurar a forma como as interrupes externas so ativadas e bits que so os flags das interrupes externas. Cada um dos bits possui uma funo, que so descritas abaixo:
7 TCON TF1
6 TR1
5 TF0
4 TR0
3 IE1
2 IT1
1 IE0
0 IT0
Flag de overflow do Timer 1. Timer 1 run, ou seja, quando este bit est setado o Timer 1 est ligado, seno ele est desligado. Flag de overflow do Timer 0. Timer 0 run, ou seja, quando este bit est setado o Timer 0 est ligado, seno ele est desligado. Flag de interrupo Externa 1. setado quando uma descida (do nvel alto para o nvel baixo) de sinal recebido em INT1. resetado quando o processador atende a interrupo. Flag de controle da interrupo externa. Se IT1 = 1, a interrupo Externa 1 trigada por uma descida do sinal INT1. Se IT1 = 0, a interrupo Externa 1 gerada se INT1 se encontra em nvel baixo. Flag de interrupo Externa 0. setado quando uma descida (do nvel alto para o nvel baixo) de sinal recebido em INT0. resetado quando o processador atende a interrupo. Flag de controle da interrupo externa. Se IT0 = 1, a interrupo Externa 1 trigada por uma descida do sinal INT0. Se IT0 = 0, a interrupo Externa 0 gerada se INT0 se
92298859.doc Pg 9/14
IT1
IE0
IT0
Memria RAM
Microcontrolador 8051
Fnix Project
TMOD usado para configurar o modo de operao de cada um dos dois timers, alm de outros parmetros relativos ao seu funcionamento, descritos abaixo:
7 TMOD GATE1
6 C/T1
5 T1M1
4 T1M0
3 GATE0
2 C/T0
1 T0M1
0 T0M0
1 1 1 1 0 0 0 0
Quando ativado o timer s rodar quando INT1 (P3.3) estiver ativo. Quando estiver desativado o timer funcionar independente do estado de INT1. Quando ativo o timer ir contar eventos em T1 (P3.5). Quando desativado o timer ser incrementado todo ciclo da mquina. Timer mode bit 1. Timer mode bit 0. Quando ativado o timer s rodar quando INT0 (P3.2) estiver ativo. Quando estiver desativado o timer funcionar independente do estado de INT0. Quando ativo o timer ir contar eventos em T1 (P3.4). Quando desativado o timer ser incrementado todo ciclo da mquina. Timer mode bit 1. Timer mode bit 0. Tabela 4: Descrio do registrador TMOD.
SCON Usado para configurar o comportamento da porta serial do 8051. Controla a taxa de Baud da porta serial, se a porta serial est ativa para receber dados, e possui flags que so setados quando um byte recebido ou enviado com sucesso.
7 SCON SM0
6 SM1
5 SM2
4 REN
3 TB8
2 RB8
1 TI
0 RI
Descrio
92298859.doc Pg 10/14
Microcontrolador 8051
Fnix Project
Modo da porta serial bit 0. Modo da porta serial bit 1. Modo da porta serial bit 2. Receptor ativado, deve ser setado para receber caracteres.. Bit 8 transmitido, ou seja, 9 bit transmitido nos modos 2 e 3. Bit 8 recebido, idem ao item anterior para recepo. Flag de interrupo para transmisso, setado no fim de uma transmisso de caracter. Flag de interrupo para recepo, setado no fim de uma recepo de caracter. Tabela 5: Descrio do registrador SCON
IE usado apara habilitar e desabilitar interrupes especficas. Os 6 bits menos significativos so usados para desabilitar as interrupes especficas, enquanto que o mais significativo usado para desabilitar todas as interrupes. O 6 bit no utilizado. Um bit setado habilita a/as interrupes.
7 IE EA
5 ET2
4 ES
3 ET1
2 EX1
1 ET0
0 EX0
EA
Flag responsvel por habilitar todas as interrupes. Se EA = 0, todas as interrupes so desabilitadas. Se EA = 1, cada interrupo pode ser individualmente habilitada ou desabilitada em seu flag correspondente. Flag de habilitao da interrupo do Timer 2. Flag de habilitao da interrupo da USART. Flag de habilitao da interrupo do Timer 1. Flag de habilitao da interrupo Externa 1. Flag de habilitao da interrupo do Timer 0. Flag de habilitao da interrupo Externa 0. Tabela 6: Descrio do registrador Interrupt Enable.
IP0/IP1 Usados para especificar a prioridade de cada interrupo. No 8051, uma interrupo pode interromper outra de menor prioridade. Cada interrupo tem dois bits para determinar sua prioridade, podendo ter ento quatro nveis possveis.
Memria RAM 92298859.doc Pg 11/14
Microcontrolador 8051
Fnix Project
OBS1: Tanto no IP0 quanto no IP1 os bits dizem respeito mesma interrupo. Por exemplo o bit 0 do IP0 seta o nvel de prioridade da interrupo externa, sendo assim o bit 0 do IP1 seta a prioridade para a mesma interrupo. OBS2: IP1 no enderevel a bit. 7 IP0/IP1 6 5 4 PS 3 PT1 2 PX1 1 PT0 0 PX0
Flag responsvel por setar o nvel de prioridade da interrupo externa 0. Flag responsvel por setar o nvel de prioridade do timer 0. Flag responsvel por setar o nvel de prioridade da interrupo externa 1. Flag responsvel por setar o nvel de prioridade do timer 1. Flag responsvel por setar o nvel de prioridade da USART.
PSW Armazena um nmero importante de bits que so setados ou resetados pelas instrues do 8051. Contm o carry de flag, carry de flag auxiliar, flag de overflow e o flag de paridade. Alm disso, possui os flags de seleo de banco, que so usados para selecionar o banco de registradores que est atualmente ativo.
7 PSW CY
6 AC
5 F0
4 RS1
3 RS0
2 OV
1 F1
0 P
CY AC
Carry Flag. Setado quando a adio for maior que 0FFh ou quando a subtrao for menor que 0. Carry Flag Auxiliar. Setado a partir da adio ou subtrao, quando o nybble menos significativo afeta o valor do nybble mais significativo. Flag do usurio 0. Seleo do banco de registrador 1. Seleo do banco de registrador 0. Flag de Overflow. Setado depois de uma adio ou subtrao, quando ocorre overflow na operao. Flag do usurio 1.
92298859.doc Pg 12/14
F0 RS1 RS0 OV F1
Memria RAM
Microcontrolador 8051
Fnix Project
Flag de Paridade. Setado quando o acumulador tem um nmero mpar de bits. Tabela 7: Descrio do registrador PSW
SP o stack pointer do microcontrolador. Ele indica onde o prximo valor a ser usado pela pilha ser lido da RAM interna. Se colocarmos (push) um valor na pilha, o valor ser escrito no endereo SP +1. Ele modificado por todas as instrues que modificam a pilha. Ele inicializado com o valor 07h. Isso quer dizer que a pilha iniciar no endereo 08h e assim ir se expandindo. DPL/DPH Trabalham juntos para representar um valor de 16 bits chamado Data Pointer. Usado em operaes envolvendo RAM externa e algumas instrues envolvendo memria de cdigo. Desde que seja um nmero sem sinal, pode representar um valor de 0000h at FFFFh. TL0 o byte menos significativo do Timer 0. Seu comportamento depende de como o Timer est configurado, mas ele trabalha sempre incrementando seu valor. TL1 o byte menos significativo do Timer 1. Seu comportamento depende de como o Timer est configurado, mas ele trabalha sempre trabalha incrementando seu valor. TH0 o byte mais significativo do Timer 0. Seu comportamento depende de como o Timer est configurado, mas ele trabalha sempre incrementando seu valor. TH1 o byte mais significativo do Timer 1. Seu comportamento depende de como o Timer est configurado, mas ele trabalha sempre incrementando seu valor. SBUF Usado para enviar e receber dados pela porta serial. Serve tanto como transmissor quando escrito como receptor quando lido. ACC usado como um registrador geral para acumular resultados para um grande nmero de instrues. B usado em duas operaes: multiplicao e diviso.
Memria RAM 92298859.doc Pg 13/14
Microcontrolador 8051
Fnix Project
3. Referncias
[1] Documento de Requisitos; <Nome do arquivo do documento de requisitos, com link>; [2] Site 8052; http://www.8052.com/tutsfr.phtml [3] Livro The Microcontroller; Mackenzie, I. Scott; Terceira Edio [4] Data Sheet Siemens: Microcontroller Components; SAB 80C517/80C537 8-Bit CMOS SingleChip Microcontroller
Memria RAM
92298859.doc
Pg 14/14