Anda di halaman 1dari 21

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN CAMPUS DE PONTA GROSSA COORDENAO DE ELETRNICA

MICROCONTROLADOR

PIC
MAURICIO DOS SANTOS KASTER PONTA GROSSA - 2011

SUMRIO
Construo de bancos de memrias.................................................................................3 Bancos de memrias.........................................................................................................3 Exerccios..........................................................................................................................5 Mapeando vrias memrias..............................................................................................5 Exerccios..........................................................................................................................7 Circuitos lgicos programveis.........................................................................................9 Programmable Logic Array (PLA)......................................................................................9 Arquiteturas de microprocessadores..............................................................................17 1. Arquitetura C.I.S.C. versus R.I.S.C.............................................................................17 2. Arquiteturas Harvard versus Von Neumann...............................................................19 Fluxo de dados em barramentos.....................................................................................23 Arquitetura interna de um microprocessador................................................................27 Registradores de propsito geral....................................................................................27 Unidade Lgica e Aritmtica (ULA).................................................................................27 Registrador temporrio....................................................................................................29 Acumulador......................................................................................................................29 Program Counter (PC).....................................................................................................29 Registrador de instruo.................................................................................................29 Decodificador de instruo e unidade de controle..........................................................29 Unidade de Deslocamento..............................................................................................29 Pilha.................................................................................................................................31 SINAIS DE CONTROLE ENTRE P E MEMRIA.............................................................33 Processo de leitura..........................................................................................................33 Processo de escrita.........................................................................................................35 FAMLIA DE MICROPROCESSADORES PIC...................................................................37 Caractersticas de um Microcontrolador..........................................................................37

NDICE DE FIGURAS
Figura 1 Direo dos sinais de uma memria 2764...........................................................5 Figura 2 Circuito para mapeamento de RAM 6064 e EPROM 2716.................................7 Figura 3 Exemplo esquemtico de uma PLA elementar....................................................9 Figura 4 PAL elementar programada com a funo A+BC..............................................11 Figura 5 Exemplo de arranjo matricial para PLA para um produto elementar................13 Figura 6 Exemplo de arranjo matricial para PLA completa..............................................13 Figura 7 PLA 16L8............................................................................................................15 Figura 8 Arquitetura Harvard............................................................................................19 Figura 9 Arquitetura Von Neumann..................................................................................19 Figura 10 Barramento com registradores A, B, 1, 2 e somador......................................23 Figura 11 Registrador bidirecional conectado a um barramento.....................................25 Figura 12 Arquitetura interna genrica de microprocessadores......................................27

MICROPROCESSADORES

Fluxo de dados em barramentos


O diagrama esquemtico da figura 1 exemplifica o funcionamento de um sistema microprocessado elementar.
RAIN RAOU T RBIN RBOUT R1IN R2IN RSOUT

Figura 1 Sistema microprocessado elementar com registradores A, B, 1, 2 e somador

Para realizar a transferncia simples de dados do registrador RA para o registrador RB, fazemos o sinal RAOUT=1 para conectar a sada do registrador RA ao barramento. Com isso, temos certeza que os bits presentes em RA so levados a todo o barramento. Para completar a transferncia, aplicamos um pulso de CLOCK na entrada RBIN. At mesmo nas operaes matemticas e lgicas so usadas transferncias. No sistema da figura 1, podemos perceber que o fluxo dos dados dos registradores comandado exclusivamente pelos sinais de controle. Nesse sistema os sinais de controle so: ___________________________ __________________________________________________________. O conjunto de todos os sinais de controle de um sistema compe o que chamamos MICROINSTRUO. A sequncia correta das microinstrues pode realizar diversas tarefas dentro do sistema digital. Imaginemos que o RB R1 R2 Rs OBS. 0 0 0 0 sistema deva somar RA 0 0 0 0 com RB e armazenar o 0 1 0 0 resultado em RA.
OUT IN IN OUT

RAIN 0 0 0

RAOUT 0 1 1

RBIN 0 0 0

MICROPROCESSADORES Um Barramento como uma avenida de sinais que interconectam todos os registradores de um sistema digital. Para isso importante que um registrador tenha uma conexo bidirecional com o barramento podendo ler e escrever bits nele. Imaginemos um registrador simples de 4 bits e como poderia ter uma ligao bidirecional ao barramento:

Figura 2 Registrador bidirecional conectado a um barramento

Os dados podem ser transportados de um registrador para outro obedecendo os sinais de controle RIN e ROUT.Construo de bancos de memrias.

MICROPROCESSADORES

Arquitetura interna de um microprocessador


Embora cada P tenha suas peculiaridades, a grande maioria deles guarda grandes semelhanas quanto ao seu modo geral de funcionamento. A figura a seguir ilustra a arquitetura bsica de um microprocessador:
REG. A ACUM. TEMP REG. B REG. C REG. D ULA PC UNID. DESLOCAM. DEMUX SINAIS DE CONTROLE UNID. DECODIF. CONTROLE SP

Rinstr

PARTE INTERNA PARTE EXTERNA

SINAIS DE CONTROLE

BARR. DADOS

BARR. ENDEREO

Figura 3 Arquitetura interna genrica de microprocessadores

Registradores de propsito geral

So os registradores nomeados de Reg. A at Reg. D. O nmero desses registradores varia de P para P: no 8085, so 8 registradores de 8 bits; no Z80, so 16 de 8 bits; no 8031, so 8 de 8 bits, no MCS6502, so 3 de 8 bits, no PIC tem um acumulador mais cada um dos endereos da memria RAM mapeados como registradores, todos de 8 bits nas famlias 12, 16.
Unidade Lgica e Aritmtica (ULA)

Essa unidade possui somador, subtrator (em alguns Ps, multiplicador e divisor), operaes AND, OR e XOR bit a bit, incrementador e decrementador tudo integrado em uma nica unidade. Portanto, todas as operaes lgicas e aritmticas do P passam obrigatoriamente por esta unidade.
Registrador temporrio

Serve apenas para armazenar um dos operandos da ULA. 5

MICROPROCESSADORES
Acumulador

Trata-se de um registrador especial dedicado s operaes envolvendo a ULA. Esse registrador um dos operandos envolvidos nas operaes da ULA e tambm o registrador que guarda o resultado dessa operao. Assim como os registradores de propsito geral, admite transferncia bidirecional.
Program Counter (PC)

nesse registrador que o P guarda o endereo de memria de onde est lendo as instrues do programa. O P usa esse contedo para informar memria o endereo onde est a instruo, faz a leitura dessa instruo e guarda a instruo lida no REGISTRADOR DE INSTRUO. Logo aps ter lido a instruo, o contedo do registrador PC automaticamente incrementado para que o P possa ler a prxima instruo.
Stack Pointer (SP)

o registrador que auxilia no controle da pilha de sistema. A pilha uma estrutura de armazenamento temporrio de informaes. Normalmente implementada como uma estrutura LIFO na memria RAM interna. O SP contm o endereo atual da pilha. No 8051 e no 6502 ele incrementado quando uma informao colocada na pilha e decrementado quando ela retirada. No Z80, 8085 e 80x86 (todos com arquitetura Intel) acontece o contrrio. No PIC a estrutura separada e dedicada a apenas armazenar valores do registrador PC nas chamadas de subrotinas.
Decodificador de instruo e unidade de controle

Quando uma instruo lida da memria, ela no passa de um byte qualquer lido da memria. Como saber qual a instruo que corresponde a esse byte e como tomar as devidas providncias (microinstrues) para fazer o que a instruo est mandando? Como foi visto anteriormente, cada registrador precisa ser conduzido pelos seus sinais de controle R IN e ROUT. No s os registradores mas todo o sistema precisa ser comandado pelos sinais de controle para que o sistema possa funcionar. Esses sinais de controle precisam Um exemplo de um byte genrico 01001011 aps sofrer um deslocamento esquerda. obedecer a uma seqn cia adequada para que 0 1 0 0 1 0 1 1 no ocorram conflitos. A instruo lida passa por 1 0 0 1 0 1 1 0 uma unidade com um n mero imenso de portas Costuma-se diferenciar deslocamento de rotao (do ingls: SHIFT e ROTATE). lgicas que geram os si Deslocamento faz com que um o ltimo bit no sentido Rotao faz com que o ltimo bit ocupe o da rotao seja descartado e um valor predeterminado lugar do primeiro. nais de controle de todo (normalmente 0) seja introduzido no primeiro bit. o sistema. Pode-se dizer descartado 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 1 que essa unidade real mente o crebro de todo 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 o sistema.

MICROPROCESSADORES
Unidade de Deslocamento

Essa unidade contm um registrador de deslocamento srie bidirecional e capaz de realizar um deslocamento dos bits esquerda ou direita, ou ento, no realizar deslocamento nenhum.

MICROPROCESSADORES

SINAIS DE CONTROLE ENTRE P E MEMRIA


Para que o P possa se comunicar com as memrias so necessrios alguns sinais de controle: Endereos (A0...A15): Esse conjunto de sinais serve para localizar a informao dentro da memria. Dados (D0...D7): Tratam-se de 8 bits que conduziro o byte lido da memria para o P ou do P para ser escrito na memria (somente a RAM permite escrita). RD (Read): Sinal enviado pelo P requisitando que a memria coloque no barramento de dados (D0...D7) o byte previamente endereado. O P l esse byte e logo aps desativa o sinal RD. Na grande maioria dos sistemas digitais, esse sinal ativo em nvel baixo (RD) WR (Write): Sinal enviado pelo P requisitando que a memria armazene o byte presente no barramento de dados (D0...D7) no endereo presente no barramento de endereos (A0...A15). (o byte e o endereo j devem estar preparados antes da ativao deste sinal). Assim como RD, normalmente ativo em nvel baixo (WR).
Processo de leitura

Supondo que uma dada regio da memria contenha os bytes relacionados na tabela: ... 1017 1018 1019 101A ... ... 1F 61 75 C0 ...

A13 A12 A0

CS A12 A0

P
D7 D0 RD WR D7 D0 RD

memria

Trecho de memria com contedo qualquer

Processo de leitura de dados da memria

1o) O P coloca o endereo no barramento de endereos. (ex. 1019H). Note que a memria usa somente A0 at A13 e que A13=0 causa a ativao da memria.

MICROPROCESSADORES 2o) O P requisita que a memria coloque no barramento o byte apontado no barramento de endereo. Para isso, faz RD=0. 3o) O P l o barramento de dados (ex.: 75H) e, logo a seguir, desativa a requisio de leitura: RD=1. Como o endereo j no mais necessrio, o P libera o barramento de endereos.
Processo de escrita

Para a escrita, o processo semelhante:

A13 A12 A0

CS A12 A0

P
D7 D0 RD WR D7 D0 RD WR

memria

Processo de escrita de dados na memria

1o) O P coloca o endereo no barramento de endereos. (ex. 1019H). 2o) O P coloca a informao que deseja escrever na memria no barramento de dados (ex.: 6FH). 3o) O P ativa o sinal da requisio de escrita fazendo WR=0. Nesse momento, a memria escreve o valor 6FH no endereo 1019H sobrescrevendo o que havia antes nesse endereo. 4) O P deve aguardar o tempo necessrio para que a memria complete o ciclo de escrita (normalmente na casa de dezenas de nanossegundos) antes de outra solicitao memria. Ao final desse tempo, o P deasativa o sinal de escrita (WR=1). Dos dois exemplos acima, podemos tirar alguma concluses: exceo dos sinais de dados (D0...D7), todos os demais sinais so sempre gerados pelo P; portanto, esses sinais so passivos na memria. Mesmo os sinais de dados so passivos durante o processo de escrita.

MICROPROCESSADORES

Bancos de memrias
Frequentemente quando lidamos com sistemas microprocessados torna-se de especial relevncia o conhecimento a respeito de bancos de memria e faixas de endereamento. Comecemos imaginando uma memria 2764 (EPROM de uso geral):
2764
64 Kbits prefixo 27

Como a memria possui 64 Kbits e est organizada em palavras de 8 bits, ela possui, na verdade, _____________=________ KBytes. A afirmao acima nos diz que existem 8K=____________ endereos distintos. Sendo assim, a memria possui 2n=__________, n=_______ pinos de endereamento. atravs desses pinos de endereamento que informamos memria a localizao exata da informao que ser lida ou escrita na memria. Esses pinos so nomeados de _____ at _____. Essa memria possui o seguinte mapeamento de endereos:
A12 A11 A10 A9 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 A8 0 0 0 1 A7 0 0 0 1 A6 0 0 0 . . . 1 A5 0 0 0 1 A4 0 0 0 1 A3 0 0 0 1 A2 0 0 0 1 A1 0 0 1 1 A0 0 1 0 1 HEXA

. . .

Em cada um desses endereos cabe uma palavra de 8 bits (byte). Essa memria pode ser esquematizada como na figura a seguir:

10

MICROPROCESSADORES

A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 CS RD D7 D6 D5 D4 D3 D2 D1 D0

Figura 4 Direo dos sinais de uma memria 2764

Exerccios

Construa o mapeamento das memrias a seguir: 1. 27256 2. 6016 (RAM)


Mapeando vrias memrias

Quando um sistema possui mais memrias compartilhando o mesmo barramento de dados, torna-se necessrio fazer um mapeamento tal que as memrias no se sobreponham, ou seja, que nunca acontea de duas ou mais estarem ativas simultaneamente. Vejamos um exemplo: Deseja-se construir um sistema que possua uma EPROM 2716 e uma 6064.
2716 16 Kbits 8 = 2 Kbytes 2n = 2048 n = 11 ( A0 at A10 ) A13 A12 A11 A10 A9 0 X X 0 0 . . . 0 X X 1 1 1 0 0 0 0 . . . 1 1 1 1 1 A8 0 1 0 1 A7 0 1 0 1 A6 0 . . . 1 0 . . . 1 A5 0 1 0 1 6064 64 Kbits 8 = 8 Kbytes 2n = 8192 n = 13 ( A0 at A12 ) A4 0 1 0 1 A3 0 1 0 1 A2 0 1 0 1 A1 0 1 0 1 A0 0 1 0 1 HEXA . . . . . . EPROM

RAM

Observe que a EPROM no ir utilizar A11 e A12, sendo esses valores irrelevantes para a formao do endereo. Desse modo, pode-se acessar 11

MICROPROCESSADORES toda a EPROM usando endereos entre 0000h e 07FFh, ou entre 0800h e 0FFFh, ou entre 1000h e 17FFh, ou finalmente, entre 1800h e 1FFFh. Todas essas 4 faixas de endereamento acessam a EPROM e so redundantes. As ligaes que permitem o mapeamento acima so:
A13 A12 A11 A10 A0

A0 D7

A10

D0

CS

RD

A0 D7

A10 A11 A12 CS RD WR

D0

Figura 5 Circuito para mapeamento de RAM 6064 e EPROM 2716

Exerccios

3. No exemplo acima a EPROM foi mapeada antes da RAM. Reprojete o sistema para que ocorra o contrrio (a RAM antes da EPROM). 4. Projete um sistema que possua o seguinte mapeamento:
0000h a 3FFFh 7000h a 7FFFh 8000h a FFFFh EPROM 1 EPROM 2 RAM

12

MICROPROCESSADORES

Circuitos lgicos programveis


Programmable Logic Array (PLA)

At ento, vimos diversos tipos de circuitos lgicos (portas AND, OR, NAND, NOR, XOR, NOT, Flip-flops, Contadores, etc.) com os quais podemos contruir muitos circuitos digitais. Entretanto, no so circuitos programveis. Sempre que desejarmos uma funo um pouco diferente do circuito, necessrio alterar ligaes eltricas ou at mesmo trocar circuitos integrados. Dizemos que o circuito digital altervel por Hardware, ou seja, as alteraes so fsicas. O desenvolvimento da tecnologia tornou possvel a construo de dispositivos com muitas portas lgicas integradas e fossem programveis, ou seja, para realizar alteraes na lgica do sistema digital basta programar o mesmo tipo de dispositivo (PLA) com outra funo lgica. Normalmente, as PLA possuem todas as portas lgicas que permitem ao dispositivo realizar qualquer soma de produtos com suas entradas. Imaginemos uma PLA bastante elementar com 3 entradas e 1 sada:
A B C
SINAIS DE P ROGRAMA O

UNIDADE DE PROGRAMAO

Figura 6 Exemplo esquemtico de uma PLA elementar

As sadas das portas AND esto todas originalmente ligadas porta OR. Atravs de um dispositivo programador especial, o usurio tem a 13

MICROPROCESSADORES possibilidade de queimar algumas dessas ligaes (fusveis) deixando outras intactas. Com isso, possvel programar qualquer funo lgica de 3 entradas no dispositivo. Imagine que o usurio deseje programar a PLA acima com a funo lgica A+BC. Em primeiro lugar, deve expandir a funo nos mintermos equivalentes. A(B+B)(C+C) + (A+A)BC ABC + ABC + ABC + ABC + ABC + ABC ABC + ABC + ABC + ABC + ABC Com isso pode-se verificar que, para programar a funo desejada, o usurio precisa realizar algumas ligaes porta OR. Essa programao feita com a ajuda de equipamentos especiais.
A B C
Fusvel queimado SINAIS DE P ROGRAMA O

UNIDADE DE PROGRAMAO

Figura 7 PAL elementar programada com a funo A+BC

No difcil de imaginar como iria ficar uma PLA semelhante anterior s que para 4 entradas A, B, C e D. Seriam ___ portas AND, cada uma com ___ entradas e uma porta OR com ___ entradas ao final. Dependendo do tipo da funo desejada, podem haver PLAs mais especficas. Por exemplo, se desejssemos uma PLA que gerasse apenas 1 mintermo entre 16, seria muito desvantajoso utilizarmos uma PLA de 4 entradas como descrito no pargrafo acima. Em seu lugar podemos utilizar PLAs mais simples com arranjos matriciais. 14

MICROPROCESSADORES Pode-se tirar grande proveito dos arranjos matriciais para simplificar esse grande nmero de portas. A seguir temos uma figura de um arranjo matricial capaz de efetuar as mesmas operaes de uma PLA com 4 entradas:

Figura 8 Exemplo de arranjo matricial para PLA para um produto elementar


A B C D

Figura 9 Exemplo de arranjo matricial para PLA completa

No primeiro caso, observamos que a PLA com arranjo matricial possui ___ portas AND, cada uma com ___ entradas, ___ portas OR com ___ entradas e uma porta AND ao final. Esse arranjo traz grande economia de

15

MICROPROCESSADORES portas para o circuito final, embora no seja capaz de gerar todos os mintermos. No segundo caso, observamos que a PLA com arranjo matricial possui ___ portas AND, cada uma com ___ entradas e ___ portas OR com ___ entradas. Embora utilize muitas portas, esse arranjo emprega portas mais simples. Comercialmente, encontramos PLAs com um nmero muito maior de entradas e sadas. o caso da PLA 16L8 que possui 10 entradas, 2 sadas e 6 entradas ou sadas definveis pelo usurio. O seu esquema pode ser visto na figura a seguir.
I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 O8

PLA 16L8

Figura 10 PLA 16L8

Essa PLA, por possuir at 16 entradas, teria 2 16=65536 portas AND, cada uma com 16 entradas. Essas sadas programveis esto todas inicialmente conectadas porta OR podendo o usurio escolher quais delas deseja desconectar (processo inverso ao que foi visto no exemplo).

16

MICROPROCESSADORES

Tipos de arquiteturas de microprocessadores


1. Arquitetura C.I.S.C. versus R.I.S.C.

A partir do 4004, com 46 instrues, comeava a escalada dos microprocessadores (sero, daqui para frente, referidos apenas como P) rumo a Ps mais complexos e com maior nmero de instrues. O 8008 possui 48 instrues. O 8080, 78 instrues. O 8085, aprox. 150 instrues, o Z80, mais de 500, o 8086/8088 j possui mais de 700 instrues e o 80386, mais de 1500 instrues. Isso nos mostra que, com o aumento do nmero de instrues, tambm crescia o nmero e a complexidade dos circuitos internos do P. Alguns P de arquitetura CISC atuais possuem um gigantesco volume de transistores incorporados no CHIP. Os Ps 80x86 da Intel, utilizados nos PCs so um exemplo tpico de processadores CISC. H algum tempo, a preocupao nos projetos de Ps passou a ser a velocidade de processamento e no a sua complexidade. Por isso, foram criados Ps com conjunto reduzido de instrues (menos de 250 instrues), mas com alta velocidade de processamento (RISC). CISC = Complex Instruction Set Code RISC = Reduced Instruction Set Code O ciclo de projeto de um P CISC muito longo e difcil. O volume de testes para certificao do seu funcionamento muito grande e a preocupao com a otimizao do circuito para ganhar velocidade s vem depois do pleno estabelecimento do novo P. Em contrapartida, Ps RISC tem um ciclo de projeto bem mais curto. Alm disso, o enfoque dado elevao das taxas de clock e uso de barramentos largos (64 bits ou 128 bits). Em geral, o desempenho de Ps RISC costuma ser melhor que Ps CISC. Outro aspecto importante o tamanho dos programas. Imagine um programa que faa uma movimentao de dados de 1000 bytes de uma parte da memria para outra. Em um P CISC esse programa curto (podemos supor algo em torno de 5 ou 6 bytes). Isso porque utiliza instrues complexas. Em um P RISC, a mesma tarefa pode ser desempenhada por um programa maior (algo em torno de 10 a 15 bytes). Esse P possui instrues muito simples e certamente precisaria de vrias instrues para uma tarefa feita por uma nica instruo complexa. Isso nos permite concluir: os programas de P RISC so maiores.
vantagem 1: facilidade na implementao do projeto do CHIP: ___________. vantagem 2: tamanho dos programas: _____________. vantagem 3: velocidade de processamento: _______________.

17

MICROPROCESSADORES
2. Arquitetura Harvard versus Von Neumann

Na arquitetura Harvard, h dois barramentos de endereos independentes e dois de dados tambm independentes. Enquanto um desses barramentos serve para a leitura de instrues de um programa, o outro serve para a leitura e escrita de dados. Com isso, possvel operar simultaneamente uma instruo e um byte de dados. . Isso garante maior velocidade de processamento. Atualmente, os processadores de sinais digitais (DSP) utilizam essa arquitetura. So processadores especializados no processamento dos sinais em tempo real.
A0 DA 0 CA0 A0

AN memria com dados WR RD D0

DA N DWR DRD DD0

CAN

AN memria com instrues

CRD CD0

RD D0

D7

DD7

CD7

D7

Figura 11 Arquitetura Harvard

A0

A0

AN

AN memria com instrues D0

A15

D0

D7 RD WR

D7 CS RD

A0

AN memria com dados D0

Na arquitetura Von Neumann, h apenas um barramento de dados e um de endereos. Neste caso, as instrues estariam em uma faixa de endereos que ative a memria que possui as instrues e os dados esto em outra faixa de endereos que ative outra memria onde pode-se ler e escrever os dados. Por exemplo, qualquer endereo entre 0000h e 1FFFh ativa a memria de programas, e entre 8000h e FFFFh ativa a memria de dados. Nessa arquitetura s possvel o acesso a uma memria de cada vez. Comparando ambas, conclui-se que Harvard mais veloz mas exige mais de um barramento, Von Neumann utiliza apenas um

D7 CS RD WR

Figura 12 Arquitetura Von Neumann

18

MICROPROCESSADORES barramento mas no pode efetuar acessos simultneos s memrias. Alguns processadores possuem uma arquitetura mista: Os 8051 possuem apenas um barramento, mas utilizam sinais de requisio de leitura de memria independentes, um para programa, outro para dados.

19

MICROPROCESSADORES

FAMLIA DE MICROPROCONTROLADORES PIC


Lanado no mercado em 1980, esse microcontrolador ainda um dos mais utilizados em projetos de sistemas digitais em todo o mundo. Por ter sido to utilizado, seu bom funcionamento est mais do que comprovado e por ter produo em larga escala, seu preo bem baixo (em torno de US$ 2,00).
Caractersticas de um Microcontrolador

Os 8051 possuem trs tipos de memrias: Memria RAM de dados interna, cuja capacidade de 128 bytes ou 256 bytes. Memria (E)EPROM interna (depende do P) de programa, cuja capacidade de 4 Kbytes. Essa memria somente est disponvel se o sinal EA=1. Memria (E)EPROM externa de programa. Essa memria somente est disponvel se o sinal EA=0. Memria RAM de dados externa.

A memria de programa ou interna ou externa, no ambas.

20

Anda mungkin juga menyukai