Você está na página 1de 43

w.mackenzie.com.

br

PRIMEIRO SEMESTRE 2007 PROF. IVAIR REIS N. ABREU UNIDADE: EEUM DISCIPLINA: Microprocessadores PROFESSOR: Ivair Reis Neves Abreu Departamento: Eletrnica ETAPA: 4 CARGA HORRIA: 4 aulas tericas Introduo: a proposta deste planejamento pedaggico baseia-se no processo de Qualidade Total (TQM) tendo como base o principio PDCA ou seja, PLAN, DO, CHECK e ACT. O planejamento o prprio documento proposto, com objetivos, pr-requisitos, plano de aulas, avaliao e bibliografia deixando bem claro a proposta do curso de forma a ajustar as expectativas necessrias. A nfase no ciclo e no apenas no processo de avaliao (comum em cursos pedaggicos) leva a entender que o objetivo o processo de capacitao do aluno dentro do objetivo proposta atravs de um plano de aulas gradual, acompanhada de verificaes contnuas e principalmente processo de ao corretiva. Internet -> no site w.ivair.com.br, ler texto de Sistema PDCA e acessar links de Sistemas da Qualidade. 09/02/200725/05/2007

PR-REQUISITOS: Eletrnica Digital (Combinacional e Sequencial) e Programao Estruturada (Linguagem C). conversor A/D OBJETIVO: ampliar a capacidade de projeto (HD) de sistemas programveis e programao (SW) Assembly. Estudo dos perifricos LCD e EMENTA: - Reviso de Conceitos de Microprocessadores - Arquitetura do Microcontrolador 8051: - Linguagem Assembler com as instrues do 8051: - Projetos de Sistemas Prticos com Microcontroladores: - Interfaces de controle: display LCD e conversor A/D exerccios e projetosUma apostila envolvendo todos os pontos abordados Aula expositiva com auxlio de recursos audiovisuais (principalmente retroprojetor). O aluno dever constantemente participar atravs de aplicao de servir de apoio didtico durante as exposies. Trabalhos levaro o aluno a refletir sobre pontos avanados no abordados diretamente na sala de aula.

onde P1 = primeira prova semestral - 13/04/2007 T = trabalho individual de projeto de um sistema de controle P2 = segunda prova semestral. - Secretaria Lab = laboratrio Mdia > 7 -> aluno aprovado 5,5 <= mdia <= 6.9 -> aluno aprovado se presena no curso > 80% Calendrio de Provas Conceituao de Sistemas Programveis, Arquitetura Microprocessadores e Microcontroladores. Sistemas auxiliares (inicializao, temporizao, interrupo, DMA, sincronizao e multiplexao de pinos. Sistema mnimo 8085. Arquitetura do Microcontrolador 8051: - Definir Arquitetura tpica de microcontrolador - Estudo da Arquitetura da famlia de microcontrolador 8051 da Intel.

- Sistema Mnimo com o 8051. Linguagem Assembler com as instrues do 8051: - Conceitos de Linguagem Estruturada. - Definir cdigo de operao de instrues e mneumnicos do 8051. Instrues de transferncia de informao, aritmtica, lgica, transferncia de controle e booleana. - Estudo de rotinas tpicas de controle: rotina de tempo, escrita e leitura de perifricos. Projetos de Sistemas Prticos com Microcontroladores: - Alarme Residencial. - Controle de Iluminao. - Automao Industrial e Residencial. Interface LCD - Sistema Mnimo - Rotinas de acesso Conversos A/D - Princpios do conversor A/D e D/A - Sistema Mnimo - Rotinas de Acesso Projetos integrados de CLP com LCD e A/D. BIBLIOGRAFIA - APLICAES PRTICAS DO MICRONTROLADOR 8051. Vidal Pereira da Silva Jr. - rica MICROCONTROLADORES 8051. Salvador P. Gimenez. Prentice Hall - THE 8051 FAMILY OF MICROCONTROLLERS. Richard H. Barnett. - THE 8051 MICROCONTROLLER Prentice Hall. Internet: w.microcontroller.com w.8052.com w.vidal.com.br w.questlink.com w.microchip.com w.ti.com w.zilog.com w.asm51.eng.br Plano de Aula: Segundo Semestre de 2006 I. Schott Mackenzie. Prentice Hall.

- APOSTILA MICROPROCESSADORESIvair Reis Neves Abreu

Incio: 09/02/2007 Trmino: 25/05/2007 Prazo entrega final das notas: 23/06 Falta Prevista: Aulas Previstas: 13 semanas 1) - Conceitos de Sistemas Programveis Planejamento (P): Este captulo capacitar o aluno nos seguintes pontos: - Conceituar Sistema Programvel - Estrutura de um computador: unidade central de processamento, memria semicondutora e perifricos de entrada / sada. - Definio de microprocessadores e microcontroladores. - Barramentos de dados, endereo e controle. - Revisar conceitos de eletrnica digital combinacional e seqencial. - Revisar sistema numrico digital e hexadecimal. - Arquitetura de memria semicondutora voltil (RAM) e no voltil (ROM). Projetos com bancos de memria. - Arquitetura de um microprocessador: unidade lgica aritmtica, decodificador de instrues e registradores. - Registradores acumulador, flag, contador de programa (PC) e apontador de pilha (SP). Conceito de pilha e sub-rotina. - Sistema de inicializao, reset e watch dog. - Sistema de temporizao, ciclo de instruo e ciclo de mquina. - Sistema de interrupo. - Multiplexao de barramentos (A / D) em microprocessadores. - Acesso Direto a Memria (DMA). - Sincronizao de memria / perifricos. - Estudo da arquitetura do microprocessador 8085. - Sistema Mnimo 8085. - Interpretao de diagramas de tempo em microprocessadores. Execuo (D): 1.1) - Sistema Programvel:

A grande utilizao dos microprocessadores nos sistemas eletrnicos atuais vem do fato de serem programveis, ou seja, estes sistemas so compostos por um conjunto fsico (Hardware) constante, com repetibilidade, dentro de um processo industrial e portanto com uma tima relao custo / benefcio que realizar determinada tarefa, orientado por uma seqncia de instrues conhecidas por programa (Software), proporcionando grande versatilidade e poder de processamento. Observem a determinao da tarefa do sistema a partir a mudana do programa, mantendo o sistema fsico inalterado.

Figura 1.1 - Estrutura de um sistema programvel Exemplos: O computador pessoal (PC) padronizado e pode realizar infinitas funes com a simples troca de aplicativo. Este sistema jamais custaria uma base de US$ 1.0,0 se fosse customizado para cada aplicao. Um mesmo computador capaz, sem alterao nenhuma ao nvel de mquina, de torna-se um poderoso processador de texto, ou apenas trocando-se o programa ser um grande parceiro em um jogo de xadrez. oportunidade de aprendizado O prprio ser humano um sistema fsico relativamente padronizado (a gentica j prova a grande semelhana entre ns) mas com grandes diferenas de capacidade de acordo com a experincia de vida individual e O sistema fsico programvel recebe normalmente a denominao de computador. 1.2) - Estrutura de um computador: Essencialmente os sistemas programveis podem ter as suas estruturas resumidas a 3 blocos: Unidade Central de Processamento (C.P.U), Memria e Perifricos.

Figura 1.2 - Arquitetura Computador mais barramentos 1.2.1) - Unidade Central de Processamento: Bloco com capacidade de realizar tarefas (controlar sinais de controle e temporizao do sistema, bem como barramentos de dados e endereo) orientadas por instrues. o principal elemento de deciso do computador, podendo ser comparado ao crebro do computador ser humano. Quando a C.P.U. est encapsulada em um nico chip, temos um MICROPROCESSADOR. As aplicaes tpicas de microprocessadores so voltadas a multimdia, onde temos processamento de som, imagem e comunicao simultaneamente. 1.2.2) - Memria: Bloco semicondutor com capacidade de armazenar informaes. Armazena basicamente as instrues a serem processadas (atravs de seus cdigos de operao), variveis (como resultados de operaes da C.P.U.) ou dados de entrada e sada dos perifricos. O programa a ser processado deve necessariamente estar presente na memria (por isso o tamanho cada vez maior das memrias volteis - RAMs - dos computadores atuais, pois os programas tm tamanhos cada vez maiores). A memria dos computadores pode ser dividida em voltil (RAM esttica / dinmica) e no volteis (ROM / PROM / EPROM / E2PROM - FLASH). Em computadores pessoais temos o conceito de BIOS (programa de inicializao de perifricos) + SISTEMA OPERACIONAL ( interface grfica amigvel ao usurio) + APLICATIVO (programa final).

Ex: BIOS inicializa placa de vdeo, interfaces seriais e paralelas, comunicao. Aps este processo, existe a busca do sistema operacional (Windows) e aplicativos. Em sistemas dedicados, temos o conceito de Firmware (software dedicado) normalmente residente em uma memria no voltil. Ex: Firmware contido em uma impressora a laser ou um alarme residencial. Os seres humanos, de maneira anloga, tem a memria para armazenamento de funes permanentes (aprendizado, controle dos rgos internos) e armazenamento de funes temporrias (lembranas armazenadas apenas durante uma tarefa como dirigir entre a residncia e o local de trabalho). Resumindo: O computador pessoal (PC) possui o sistema BIOS + SISTEMA OPERACIONAL (WINDOWS / LINUX) + APLICATIVO (WORD, EXCEL, GAMES, ETC). Equipamentos Dedicados possuem FIRMWARE dedicado. 1.2.3) - Perifricos: Bloco de comunicao do conjunto micro / memria com o meio exterior. Pode ser caracterizado como entrada (teclado, mouse, etc.) ou sada (monitor, impressora, plotter, etc.). a interface de comunicao com o usurio e a parte do sistema que normalmente tem acesso. 1.3 - Definio de Microprocessador, Processador Digital de Sinais (DSP) e Microcontrolador: imagem + comunicao) Microprocessador -> CPU encapsulada em um nico circuito integrado. Pelo fato de concentrar apenas a funo de controle no chip, as aplicaes de microprocessadores so complexas voltadas para multimdia (controle de som + Ex: - Microprocessador Pentium IV da Intel. A aplicao do Pentium em computadores multimdia. - Microprocessador 8085. Ser estudado neste captulo. nico circuito integradoDedicado a funes menos complexas de controle.

Microcontrolador -> CPU + MEMORIA + PERIFRICOS encapsulados em um Normalmente est embarcado em equipamentos dedicados. Utiliza o conceito de firmware para o programa dedicado. Ex: - Microcontrolador 8051 da Intel - Microcontrolador PIC12F629 da Microchip Aplicaes finais tpicas: - Controladores Lgicos Programveis (CLPs) em plantas industriais - Injeo eletrnica de automveis. DSP -> tambm utiliza o conceito de CPU dedicada, podendo ser microcontrolador ou apenas CPU dependendo da capacidade de processamento. Possui um poder de processamento intermedirio entre produtos com microcontroladores (dedicados) e produtos com microprocessadores (multimdia). Ex: - DSP TMS320C5XXX da Texas Instruments ( w.ti.com ) - DSPIC da Microchip ( w.microchip.com ) Aplicaes finais tpicas: - Telecomunicaes como telefone celular. - Controle de motores. - Processamento de imagem mdica (tomografia computadorizada). O curso de Microprocessadores abordar projetos de CLPs utilizando microcontroladores. Isto ocorre devido: - O conceito dos 3 sistemas o mesmo. - A prtica em laboratrio com microcontroladores mais til utilizando as ferramentas de desenvolvimento com esta tecnologia. - As empresas nacionais com capacidade de dominar o ciclo de projetos de sistemas programveis concentram-se em aplicaes dedicadas com microcontroladores (empresas de segurana, controle de rastreabilidade de gado, coletores de dados de carto de ponto, calibradores automticos de pneus, CLPs, etc). - A grande maioria dos cursos introdutrios das mais conceituadas universidades mundiais estudam sistemas com microcontroladores. - O nmero de publicaes acadmicas com microcontroladores muito maior que as dedicadas a DSP e microprocessadores.

Rastreamento de veculos w.autotrac.com.br Telefone Pblico w.icatel.com.br Figura 1.3 Sistemas utilizando microcontroladores 1.4) - Reviso dos conceitos de Eletrnica Digital Por que os computadores modernos so digitais e no analgicos como os seres humanos??? que um amplificador operacional representando 256 nveis diferentes Analisando sob a tica da tecnologia disponvel (integrao de circuitos eletrnicos), muito mais fcil integrar chaves eletrnicas (transistores de 2 estados) do que sistemas analgicos (amplificadores operacionais). Desta forma, mesmo considerando uma representao binria de um maior nmero de smbolos, mais facilmente implementvel um byte com 8 chaves eletrnicas do Atualmente consegue-me integrar milhes de transistores em uma pastilha, chaves que so a base da representao numrica digital. Um processador Pentium IV hoje implementado com cerca de 40 milhes de chaves eletrnicas (os primeiros processadores tinham um pouco mais de 10 mil transistores). O transistor normalmente utilizado para implementar um sistema lgico integrado o Transistor de Efeito de Campo (FET) pelo fato do mesmo ter um processo construtivo mais simples (semelhante ao capacitor) e ser possvel uma maior integrao desta tecnologia quando comparado ao Transistor Bipolar. 1.5) - Reviso sistema numrico binrio (B) e hexadecimal (H).

Devido a facilidade de implementao do sinal binrio (atravs de chaves transistorizadas saturada ou cortada), toda a informao dentro do computador (com exceo de interfaces analgica / digitais) possui a forma binria. Por isso, fundamental o perfeito conhecimento dos diversos sistemas de numerao, bem como a converso entre cada base. - Decimal -> base 10. - Binrio -> base 2 -> mais fcil de chavear (atravs de transistores, chaves, etc.) - Hexadecimal binrio -> converte cada 4 nmeros binrios (nibble) em nmeros de 0 (0000B) a F (1111B) - Decimal binrio (B.C.D.) -> converte cada 4 nmeros binrios em nmeros de 0 (0000B) a 9 (1001B) - Octal -> converte cada 3 nmeros binrios em nmeros de 0 (000B) a 7 (111B). <Converses importantes: Binrio -> Decimal Binrio -> Hexadecimal <Lembre-se: 1 bit -> 0 e 1 1 byte = 8 bits 1 word = 2 bytes 1 double-word = 4 bytes

3) - 2A0FH -> hexadecimal -> decimal 1.6 - Reviso de Sistema Digital (Pr-requisito) Eletrnica Digital Combinacional: sem realimentao entre sada e entrada, a lgica dos circuitos combinacionais pode ser representado atravs de uma tabela da verdade. Portas Lgicas: AND, OR, OR-EXCLUSIVE, NOT Decodificadores 3x8 -> procurar na Internet 74HC138

Figura 1.3 - Pinagem e tabela da verdade 74LS138 Eletrnica Digital Seqencial: baseado em elementos de memria flip-flops Flip-Flop tipo RS, D (procurar Latch Octal 74HC373) e JK

Figura 1.4 - Pinagem e tabela da verdade 74LS373 1.7 - Barramento do Sistema Programvel impresso) interligando a CPU, memria e os perifricos de entrada / sada Em

Conforme pode ser observado na figura representativa da arquitetura do computador, os barramentos so meios fsicos (normalmente trilhas de circuito um circuito impresso, so as trilhas interligando os diversos pinos dos chips do sistema.

Figura 1.4: Representao de um barramento em um lay-out de circuito impresso Considerando o tipo de INFORMAO presente no barramento, o mesmo pode ser classificado em: - Barramento de Dados (Data Bus): carrega a informao da instruo (atravs do cdigo de operao), varivel do processamento (clculo intermedirio de uma frmula por exemplo) ou informao de um perifrico de E/S (dado digitado em um teclado). O tamanho da via de dados determina respectivamente o mximo nmero de instrues (e portanto o potencial de processamento) e a preciso do processamento aritmtico (atravs do clculo de ponto flutuante) ou o nmero de smbolos possveis a ser representado (por exemplo, pontos de uma foto). Ex: 1) - O processador 8085 possui 8 bits no barramento -> mximo de 256 instrues e variveis numricas entre -127 a +127 (ou 0 a 255). 2) - O processador Pentium IV possui 32 bits no barramento -> variveis numricas entre 2147483648 e + 2147483648. O tamanho do barramento de dados est ligado a capacidade de processamento do sistema. Se o processamento simples (como o controle booleano de um CLP) 8 bits so suficientes. Por outro lado, se h a necessidade de um processamento complexo (como os sistema de multimdia onde h a necessidade de processarmos milhes de pontos de imagem) processamento de at 128 bits j esto disponveis. Obviamente existe a necessidade de

aumentar igualmente a velocidade do sistema pois a pacincia do usurio a mesma ao ligar uma lmpada ou processar uma imagem fotogrfica. - Barramento de Endereo (Address Bus) : carrega a informao binria da localizao de um dado de memria ou E/S. A capacidade de acesso determinada pela expresso 2n . O tamanho do barramento de endereo acompanhou a evoluo do poder de processamento do microprocessadores j que foi necessrio cada vez mais memria para armazenar uma quantidade cada vez maior de dados.

- 8088 -> 20 bits na via de endereo -> 1 Mbyte - Barramento de controle (Control Bus): leva todas os outros sinais que no so dado ou endereamento. Exemplo: sinais de alimentao (Vcc e GND), sinais de temporizao (clock), sinais de inicializao (reset) 1.7 - Arquitetura de memria semicondutora Memria Semicondutora: nmero menor de gravaes) - No Voltil -> ROM (Read Only Memory) -> ROM (o fabricante grava uma nica vez), PROM (o usurio grava uma nica vez), EPROM (o usurio grava milhares de vezes aps um processo de apagamento por luz ultravioleta), EEPROM (o usurio grava milhes de vezes eletricamente) e FLASH (EEPROM rpida com Figura 1.5 - Arquitetura da memria 27C64

Exerccio

- Voltil -> RAM (Random Acess Memory) -> dinmica (memria de massa utilizada em computadores) e esttica (memria utilizando flip-flops).

Figura 1.6 - Arquitetura Memria RAM 6264 Projetos de Bancos de Memria 1) - Banco de 8 K de Eprom (BIOS) com 27C64 + 8 K de Dados com 6264. Fazer mapa de memria 2) - Banco com 32 K de Eprom com 27C64 e 32 K de RAM com 6264. Fazer mapa de memria. Verificao: Exerccios

2) Verificar os seguintes dados do seu computador pessoal (painel de controle ou programa Sandra) : - Tipo de Processador - Velocidade de Processamento - Perifricos disponveis. - Levantar o mapa de endereo da memria interna do computador (Ram, Bios, memria de vdeo, etc). Quantos bits de endereo esto disponveis? Qual a capacidade mxima de memria para este nmero de bits. 3) - Projetar bancos de memria com a seguinte caracterstica: - 32 K memria Eprom (27C256) e 32 K memria RAM (62256). - 2 Mbytes memria Eprom (27C4000) e 2 Mbytes memria RAM (624000) Ao - Para dvidas em Eletrnica Digital Combinacional e Sequencial estudar a bibliografia da disciplina Eletrnica Digital (Sugesto: Eletrnica Digital - Vol 1 e 2 - Malvino ou Microcomputadores e Microprocessadores - Malvino) - Rever o conceito de memria e projeto de banco de memrias. - Procurar o professor ou monitor para tirar dvidas 1.8) - Arquitetura de Microprocessador:

Figura 1.5 - Arquitetura tpica de um Microprocessador

- Decodificador de Instrues: Bloco lgico combinacional responsvel por receber o cdigo de operao das diversas instrues e a partir deste gerar sinais de controle externos e/ou internos, bem como sinais de temporizao, com o objetivo de executar a instruo. implementado atravs de lgica combinacional (tabela da verdade), onde as variveis de entrada so o cdigo de operao do microprocessador e as variveis de sada os diversos sinais de controle e temporizao internos/externos. - Unidade Lgica Aritmtica (ULA): Unidade responsvel pela realizao de operaes lgico/aritmticas no microprocessador. As operaes aritmticas so todas baseadas na soma (implementada atravs de lgica 'OU EXCLUSIVO'). Toda lgica de deciso dos programas baseada em operaes lgica/aritmticas. Por exemplo: a comparao entre duas variveis implementada atravs da operao de subtrao que por sua vez viabilizada pela operao de complemento de 2 ('A - B = A + /B + 1'). A complexidade da ULA do microprocessador determina a capacidade do mesmo em realizar processamentos complexos (como tratamento de imagem ou som em sistemas multimdia). Exemplos clssicos so os microprocessadores tipo D.S.P. (Processador Digital de Sinais) ou os coprocessadores aritmticos presentes na famlia de computadores PC at os microprocessadores 486-SX. Registradores: Posies de memria internas (latchs tipo D) responsveis pelo armazenamento temporrio de informaes gerais (registradores genricos) ou especficas. Registradores para armazenamento de dados ou endereos dentro do microprocessador. So implementados atravs de "latchs" internos (podendo ser comparados a posies de memria dentro do microprocessador). Quanto maior o nmero de registradores internos maior a velocidade de processamento, pois no necessrio o acesso memria externa para armazenamento de variveis. comum os microcontroladores e os D.S.P.s possurem algumas centenas de 'posies de memria internas', diminuindo em muito o tempo de acesso memria. Outro exemplo bastante apropriado a memria "caches" internas aos microprocessadores 486 e PENTIUM. Registradores Especficos: - Acumulador: principal registrador de auxlio da U.L.A. Bastante acessado pelas instrues, o registrador armazenador dos resultados da U.L.A. O nmero de bits do acumulador pode ser

do tamanho da via de dados ou o dobro (para aumentar a preciso do resultado presente no acumulador). - Flag: registrador sinalizador de algumas condies do acumulador (portanto do resultado) depois de realizadas operaes lgico / aritmticas. As condies encontradas normalmente so: zero, sinal, "vai-um", "overflow", paridade, etc. Ex: Flag do 8085: | S | Z | - | AC | - | P | - | C | S = 0 -> positivoS=1 -> negativo Z = 1 -> zero no acumulador , Z = 0 -> nmero diferente - S -> flag de sinal. Indica a condio do oitavo bit do acumulador. - Z -> flag indicar de zero. de zero. - P -> flag de paridade. Indica o nmero de '1' no acumulador. P = 1 -> nmero par , P = 0 -> nmero impar - AC -> flag auxiliar carry. Em 1 indica "vai um" entre primeiro e segundo nibble do resultado. - C -> flag carry principal. Em 1 indica "estouro" ("overflow") do acumulador. Ex: BBH + FAH

Verificao Exerccios 1) Qual o contedo do Acumular e Flag da seguinte rotina? Haver salto no programa? MOV A,CAH ;CARREGA ACUMULADOR COM O NMERO CA ADD A,9DH ;SOMA A + 9D JZ SALTO ;SALTA SE Z = 1 2) Pesquisar as principais caractersticas dos barramentos ISA e PCI do computador PC. 3) Pesquisar as principais caractersticas do barramento serial I2C (site da Philips ou Microchip). 4) Pesquisar as principais caractersticas do co-processador aritmtico do processador Pentium I.

5) - Qual o contedo do Acumular e Flag da seguinte rotina? Haver salto no programa? MOV A,7AH MOV B,53H ADD A,B JNC SALTO - Contador de Programa (PC): registrador armazenador do endereo da prxima instruo. Determina o fluxo do programa. Quando o programador altera o valor do PC, necessariamente desvia o programa (atravs de saltos sem retorno ou chamada de subrotinas). Exemplo: - Instruo: JMP 2000H -> carrega o PC com o endereo 2000H. O contedo anterior do PC destrudo (por isso o programa no consegue voltar). - Instruo: CALL 2000H -> carrega o PC com o endereo 2000H. Neste caso, o contedo anterior do PC (PCH->SP-1 e PCL->SP-2) salva em uma regio de memria (interna ou externa ao microprocessador) conhecida por PILHA. Ao ser executada a instruo RET, o programa retorna ao ponto em que foi chamado. A rotina acessada pela instruo CALL conhecida por subrotina. O contedo do registrador SP decrementado de dois para possibilitar o salvamento de outros parmetros na pilha (ou a chamada de outras subrotinas dentro de subrotinas) - Apontador de Pilha (SP): registrador armazenador do endereo na rea de pilha do sistema. Ser nesta rea que sero armazenados endereos de retorno das sub-rotinas, bem como parmetros dos diversos registradores. 1.9) - Conceitos Complementares de um Microprocessador: 1.9.1) - Temporizao das Instrues - Ciclo de Instruo: ou ser implementado atravs de um C.I. dedicado a isto As atividades de um processador central so cclicas. O processador busca a instruo na memria, executa a tarefa ligada ao cdigo lido, busca a prxima instruo e assim por diante. A temporizao de um computador depende basicamente do sinal de clock que sincroniza todas as operaes do sistema. O clock gerado a partir de um oscilador com freqncia determinada normalmente por um cristal. Este cristal pode estar interno ao microprocessador A figura abaixo mostra um exemplo de clock gerado atravs de cristal, LC e RC :

Figura 1.6 - Oscilador do 8085 Ciclo de instruo: nmero de perodos de clock necessrios para executar uma instruo. O ciclo de instruo composto basicamente dos ciclos de mquina M1 e M2. Ciclo de Mquina: composto dos ciclos M1 ou busca da instruo (onde o cdigo de operao lido na memria) e ciclo M2 ou ciclo de execuo. O ciclo de busca da instruo vai depender do nmero de bytes necessrios para a leitura da instruo (por exemplo: o 8085 possui instrues de at 3 bytes que obviamente necessitam de 3 ciclos de busca de cdigos na memria). O tempo total necessrio para o ciclo de instruo determinado pelo nmero de estados T (ou nmero de pulsos do clock) fornecidos pelo conjunto de instrues do microprocessador. Exerccios: 1) - Calcular os ciclos M1, M2 e o ciclo de instruo para a instruo MOV A,B utilizando fc = 6 Mhz, n = 3, M1 = 4 clocks e M2 = 3 clocks. 2) - Idem para a instruo OUT 10h, fc = 1 Mhz, n=4, M1 = 4 clocks, M2 = 3 clocks e M3 = 3 clocks. 1.9.2) - Circuito de Inicializao:

Tambm conhecido por "reset", a entrada de inicializao nos microprocessadores carrega o registrador de endereo PC com o endereo inicial da rea de programa (normalmente 0). Pode ser acionado com sinal positivo (0 -> 1) ou negativo (1 -> 0). O manual do microprocessador normalmente informa o tempo mnimo necessrio para que o sinal de reset fique ativo de tal forma a se determinar a constante RC do circuito. fundamental que o sinal de reset seja gerado cada vez que o microprocessador seja ligado (reset automtico) e em pequenas quedas de rede (pois o microprocessador quando tem a tenso de alimentao abaixo do nvel mnimo recomendado, passa a executar tarefas fora do controle). O circuito abaixo mostra o reset utilizado pelo 8085 (lgica positiva, reset manual e automtico). Nota-se a funo do diodo em descarregar rapidamente o capacitor em caso de queda de energia.

Figura 1.7 - Sistema de Reset - Watch Dog: circuito supervisrio que inicializa o microprocessador a cada perodo de tempo configurvel (1 ou 2 segundos normalmente) se no receber um sinal do microprocessador. Desta forma o programa do sistema deve, em um tempo menor que o tempo do W.D., gerar este sinal. Se o programa se perder e no gerar o referido sinal, o W.D. inicializar o microprocessador.

Figura 1.8 - Supervisrio MAX690 e circuito de aplicao tpica Verificao Exerccio: 1) - Determinar o mnimo valor de um capacitor para um circuito de reset automtico considerando:

Vcc = 5V, Vreset = 2/3 Vcc R = 100k Freqncia: 100 Mhz Nmero de clocks mnimo para reset: 100 2) Calcular o perodo dos ciclos M1 (4 clocks), M2 (3 clocks) e o ciclo de instruo para a instruo MOV A,B, freqncia do cristal de 6 Mhz. 3) Idem para a instruo OUT 10h, fc = 1 Mhz e M1=4clocks, M1'= 3 clocks e M2 = 3 clocks. Sinal de entrada no microprocessador gerado normalmente por perifricos, fazendo o microprocessador parar seu processamento, salvar o endereo atual, saltar para uma subrotina especfica do perifrico (endereado pelo vetor de interrupo, que pode ser fixo ou varivel) e posteriormente retornar ao ponto de parada (poderamos comparar o processo a uma chamada de subrotina atravs de um sinal de hardware). Ex: -Atendimento ao teclado: quando uma tecla acionada, o teclado gera um sinal positivo que ao entrar na interrupo do microprocessador faz o mesmo parar o processamento, salvar o endereo atual do PC na pilha e saltar para o endereo indicado no "vetor de interrupo" (varivel ou fixo). -Interrupes disponveis no 8085: 5 entradas de interrupes ativadas em nvel alto por um dispositivo externo. Neste caso, o 8085 interrompe a seqncia de execuo do programa e salta para um endereo pr-determinado (vetor de interrupo). As interrupes possuem os seguintes vetores e prioridades: Interrupes Endereo + prioritrio TRAP 0024H | |RST6,5 003CH |RST6,5 0034H |RST5,5 002CH | |INTR endereo fornecido por um controlador de interrupo Observa-se que a interrupo INTR necessita de um controlador de interrupo (como o 8259 do IBM-PC) para gerar este endereo. Neste caso, o microprocessador mostra o reconhecimento do endereo atravs do sinal de sada INTRA.

Figura 1.9 - Interrupo no vetoriada Dentro dos microprocessadores esto disponveis registradores de configurao que determinam interrupes pendentes e nveis de prioridade. No caso do IBM-PC, os vetores das 16 interrupes disponveis para perifricos (e programadas no 8259) so determinadas pelo sistema operacional. Verificao Exerccios / Pesquisa Complementares 1) - Levantar com o auxlio do Painel de Controle / Sistemas / Gerenciador de Sistemas / Propriedades os vetores e perifricos do seu computador PC. 2) Qual ser o efeito para o computador se um modem for instalado na mesma interrupo / vetor do mouse? 3) Explicar a diferena entre as instrues JMP 2000H e CALL 2000H. 4) Quais as vantagens de utilizar sub-rotinas em programao. 1.9.4) - Acesso direto memria (D.M.A): Sistema onde o barramento do computador retirado do microprocessador (colocando o mesmo em tri-state) e controlado atravs de um outro microprocessador (multiprocessamento) ou atravs de um controlador de D.M.A. (como o 8257) para transferncia de dados entre perifricos e memria. Ex: 1) - Carga de programas de um "winchester" ou "floppy" para memria RAM de um computador. 2) - Co-processador aritmtico nos computadores IBM-PC.

Figura 1.10 - DMA 1.9.5) - Multiplexao de sinais em microprocessadores: Consiste em um recurso de misturar 2 ou mais sinais em um terminal do microprocessador com o objetivo bsico de economizar pinagem do chip. Um exemplo tpico a multiplexao da via de dados/endereo do 8085: os 8 bits de dados (D0-D7) so multiplexados no tempo com o byte menos significativo de endereo (A0-A7). O sinal de controle "ALE" (sigla de "Address Latch Enable") indica a natureza da informao presente naquele instante.

Ex:

Figura 1.1 - Sinal ALE realizada com os latchs octais 74373 (unidirecional) e 74245 (bidirecional) A A separao da via de dados (D0-D7) da via de endereos (A0-A7) necessria pelo fato de termos diversos dispositivos de memria e perifrico com estes barramentos separados. A implementao desta separao pode ser figura abaixo mostra um circuito tpico utilizado na demultiplexao dos sinais de dados/endereo do 8085.

Figura 1.12 - Separao do barramento A/D do 8085 1.9.6) Sincronizao de Dispositivos Lentos: O pino de entrada READY (em nvel alto permite o funcionamento do microprocessador e em nvel alto o mesmo permanece em estado de espera wait). O dispositivo de sincronizao de memria / perifrico lento controla o sinal READY do processador de tal forma a fazer o mesmo aguardar uma diferena de velocidade de acesso. Figura 1.13 - Circuito tpico de Wait State Ex: Qual o perodo de um pulso de espera (Wait State) para o acesso a uma escrita no disco rgido considerando: Ciclo de instruo de escrita: 10 clocks Clock: 133 Mhz Tempo de Acesso ao disco rgido: 100 microsegundos. Verificao Exerccios / Pesquisa Complementares 1) - Determinar o mnimo valor de um capacitor para um circuito de reset automtico considerando: VCC = 3,3 V R = 10k Freqncia: 500 Mhz Nmero de clocks mnimo para reset: 500 2) Qual o perodo de um pulso de espera (Wait State) para o acesso a uma memria RAM rpida considerando: Ciclo de instruo de escrita: 5 clocks Clock: 500 Mhz Tempo de Acesso a RAM: 15 nseg.

3) Fazer um circuito de separao de dados / endereo de um processador com um barramento AD0-AD15, com sinal de ALE. Colocar um Buffer para a via de dados. 1.10) - Comparativo e Arquitetura de Microprocessadores Intel

Figura 1.14 - Tabela comparativa entre microprocessadores Intel As especificaes de alguns destes processadores, bem como do Pentium IV, esto disponveis no site w.ivair.com.br 1.1) - Estudo da Arquitetura do 8085 disponveis na Internet As informaes deste tpico esto baseadas no Data-Book do 8085 / Z80 1.1.1) - Principais caractersticas do 8085: - 8 bits na via de dados (possui 246 instrues). - 16 bits na via de endereo (acessa 64 k de memria e 256 perifricos). - 5 entradas para interrupes. - Interface serial. - Controle de D.M.A. - Controle de sincronizao para perifricos lentos. - Clock tpico de 3 Mhz.

1.1.2) - Anlise da arquitetura interna e pinagens: ver data-book

Figura 1.15 - Arquitetura interna 8085 Descrio das principais funes internas: - U.L.A: realiza operaes aritmticas (soma, subtrao, incrementao e decrementao) e operaes lgicas (AND, OR, OR EXCLUSIVO, Inverso, deslocamentos bit a bit e comparao). - FLAG: registrador que sinaliza o resultado de operaes da U.L.A. - Acumulador: registrador de 8 bits com multiplas funes (armazena resultados e operandos da U.L.A., dados de dispositivos de E/S, mscara de interrupes, etc). - Registradores de uso geral: 6 registradores de 8 bits (armazenando dados) podendo ser utilizados como pares de 16 bits (armazenando endereos). H L -> par de registrador mais utilizado como Pares D E Fixos \ ponteiro de memria. - Registrador contador de programa (PC): registrador de 16 bits com a funo especfica de armazenar o endereo de busca da prxima instruo. Quando carregado atravs de instruo altera o fluxo seqencial do programa ( realizando uma salto simples - instruo 'jump' - ou chamando uma subrotina - instruo 'call'). - Registrador apontador de pilha (SP): registrador de 16 bits com a funo especfica de armazenar o endereo final da rea de memria denominada "pilha" (onde so armazenados parmetros de retorno das subrotinas)

- Decodificador de instrues: bloco lgico interno com a funo de receber as instrues (cdigos de operao que entram pela via de dados), decodificando-as e gerando sinais de controle e temporizao. - Buffer de endereos alto (A8-A15): via de endereos mais significativa formando junto com A0-A7 os 16 bits totais da via de endereo. - Controle Serial: o 8085 possui uma sada serial de dados (SOD) controlada pela instruo SIM (coloca o oitavo bit do acumulador no pino SOD) e uma entrada serial de dados (SID), controlada pela instruo RIM (coloca o bit da entrada serial no oitavo bit do acumulador). Anlise da pinagem do microprocessador 8085: - Alimentaes +5V e GND: alimentao nica. Recomenda-se a colocao de um capacitor cermico de desacoplamento com valor variando entre 10-100 nF para eliminar rudos. - X1 e X2: pinos de entrada do cristal. Possui um oscilador interno com a funo de gerar um sinal de clock de 2 fases. Dispensa o circuito dedicado gerador de clock. - CLOCKOUT: sada de clock para perifricos. Tem a metade da freqncia do cristal ligado ao X1 e X2. - RESETIN: entrada de reset do 8085. Inicializa o 8085 (colocando o PC = 0000h e portanto buscando a primeira instruo) quando temos um nvel baixo por mais de 10 mseg. - RESETOUT: sada ativa em nvel alto com a funo de inicializar os perifricos ligados ao 8085. Sincronizado com o sinal RESETIN. - RD: sada ativa em nvel baixo indicando processo de leitura de memria ou perifrico. Coloca o barramento de dados como entrada. - WR: sada ativa em nvel baixo indicando processo de leitura na memria ou perifrico. Coloca o barramento de dados como sada. _ - IO/M: sinal de sada. Em nvel alto indica acesso a perifricos. Em nvel baixo indica acesso a memrias. - S0 e S1: sinais de sada indicando status. 0 0 -> 8085 parado (HALT) 0 1 -> processo de leitura 1 0 -> processo de escrita 1 1 -> processo de busca de instruo ("fetch")

- READY -> sinal de entrada com a funo de sincronizar perifrico ou memria mais lenta que o 8085. Em nvel alto habilita a operao do 8085. Em nvel baixo para o 8085, fazendo-o permanecer em estado de 'WAIT'. controlador de D.M.A. ou para o microprocessador paralelo - HOLD: sinal de entrada. Em nvel alto coloca barramentos de dado, endereo e controle em "tri-state". Desta forma, um sistema externo (controlador de D.M.A. ou um outro microprocessador mais prioritrio) assume um controle do barramento: - HOLDA: sada ativa em nvel alto indicando barramento em tri-state para o 1.1.3) - Sistema Mnimo com o 8085:

Figura 1.16 - Sistema Mnimo 8085 Exemplo: 1) Projetar um sistema mnimo com o 8085 com as seguintes caractersticas: Clock 4 Mhz Reset automtico / manual 5 perifricos ligados a 5 interrupes Sistema DMA (representar em blocos) Desabilitar sinal READY. 32 Kbytes de memria EPROM (2764) 32 Kbytes de memria RAM (6264) 8 Perifricos (endereo 0 f). Representar cada perifrico por um bloco. Verificao Exerccios / Pesquisa Complementares 1) Comparar o microprocessador Z80 com o 8085. 2) Projetar um sistema mnimo com o 8085 com as seguintes caractersticas: Clock 1 Mhz Reset automtico / manual Desabilitar as interrupces atravs de resistores de pull-down Sistema DMA (representar em blocos) Desabilitar sinal READY. 32 Kbytes de memria EPROM (27256) 32 Kbytes de memria RAM (62256) 8 Perifricos (endereo 0 f). Representar cada perifrico por um bloco.

3) Projetar um sistema mnimo com o 8085 com as seguintes caractersticas: Clock 2 Mhz Reset automtico / manual Desabilitar as interrupces atravs de resistores de pull-down Sistema DMA (representar em blocos) Desabilitar sinal READY. 16 Kbytes de memria EPROM (2764) endereo 0-3fffh 32 Kbytes de memria RAM (62256) endereo 8000h-bfffh 8 Perifricos (endereo 0 f). Representar cada perifrico por um bloco. 4) Pesquisar no Painel de Controle do PC os endereos de memria e perifricos do computador. Qual a faixa de memria de vdeo? 5) Projetar um banco de memria de um computador com 1 Mbytes tendo 512 K de eprom (27C1000) e 512 K de ram (621000). 1.1.4) Anlise de 1 ciclo de temporizao: Temporizao da Instruo 'OUT <end>' (2 bytes) Ex: OUT 20H (D3 20)

Verificao EXERCCIO 1) - FAZER UM DIAGRAMA DE TEMPO PARA A INSTRUO IN 40H Verificao Final do Captulo I - Conceituao de Sistemas Programveis 1) - Sistemas de Numerao: 1.1) - Converter os seguintes nmeros para decimal:

1.2) - Converter os seguintes nmeros para hexadecimal:

2) - Por que o computador utiliza no seu processamento smbolos digitais? Por que no analgico se ns o somos e o computador procura nos copiar. Comente como o transistor bipolar / cmos colabora para este processamento. 3) - Pesquise o nmero de transistores dos processadores: 8088-80286-80386- 80486-Pentium I at o Pentium IV. Qual a relao entre o nmero de transistores e a capacidade de processamento. 4) - Explicar por que um SISTEMA PROGRAMVEL favorece a escala de produo industrial. Comenta o fato das placas centrais (mother board) possuirem poucos fabricantes e custarem cerca de US$ 20,0 (placa + processador + memria RAM), um preo baixo comparado ao seu poder de processamento. 5) - PESQUISA: investigar as tcnicas de fabricao de Circuitos Integrados e Microprocessadores na Biblioteca e na Internet. 6) - Mostrar a estrutura de um sistema programvel (computador), explicando seus 3 blocos e os tipos de barramentos. 7) - Qual a diferenas entre um microprocessador e um microcomputador. 8) - PESQUISA: identificar as 3 estruturas de um sistema programvel nos microcontroladores 12F629 (w.microchip.com) e MSP430F135 (w.ti.com). 9) - Comparar funcionalmente a estrutura de um computador com o ser humano. 10) - Quais so os tipos de memria semicondutorasQual o tipo de memria 36 utilizado na BIOS do PC e da memria de dados. Qual o tamanho da memria BIOS e da RAM do seu computador (pesquise no painel de controle do seu computador os endereos iniciais / finais do seu PC). 1) - Pesquise: quais so as principais caractersticas da EPROM 27512 e da RAM 62512. 12) - Qual a funo da BIOS, Sistema Operacional e Aplicativos no computador. Cite qual o fabricante da BIOS e do Sistema Operacional e o aplicativo mais utilizado no seu computador. 13) - Qual a diferena entre as expresses Firmware e Software Cite 3 exemplos de Firmware que voc conhece.

14) - PESQUISA: qual a diferena entre memria EEPROM e FLASH. Qual o tamanho da memria Flash do chip 12F629. 15) - PESQUISA: citar as diferenas entre os barramentos ISA, PCI e AGP do computador. 16) - PESQUISA: procurar as diferenas entre os barramentos seriais I2C e SPI. 17) - Explicar a estrutura bsica da arquitetura de um microprocessador. Qual a funo de cada componente bsico? 18) - PESQUISA: levantar no livro do A. Malvino (Microcomputadores e Microprocessadores) a arquitetura da ULA, Decodificador de Instrues e Registradores implementada atravs de lgica discreta. 19) - Qual a nica operao aritmtica implementada fsicamente na ULA dos microprocessadores? Qual a estrutura lgica utilizada para implementar um somador binrio completo. Pesquise um circuito integrado TTL (famlia 74XXX) discreto utilizado para implementar uma ULA. 20) - Quais so as 4 operaes lgicas booleanas implementveis? 21) - Qual a funo do acumulador e do registrador FLAG em uma estrutura de microprocessador. 2) - Qual o contedo do Acumulador, do FLAG do 8085 e registrador D nos 2 programas CONT MOV A,85H ADI A,FEH JZ SALTO MOV D,87H JMP CONT SALTO MOV D,9AH CONT MOV A,85H MOV B,A7H ADD A,B JNP SALTO MOV D,00H JMP CONT SALTO MOV D,FFH 23) - Explicar o conceito de pilha e de sub-rotina em programao. Quais as vantagens de utilizar uma sub-rotina em programao? 24) - Qual a diferena das instrues JMP <END> e CALL <END>? O que acontece com o registrador PC nos 2 exemplos. 25) - Mostrar os osciladores a cristal e RC Quais dos 2 mais estvel com relao a temperatura? 26) - Definir ciclo de instruo e ciclo de mquina.

27) - Considerando um oscilador a cristal (fc = 32 Khz, diviso de freqncia por 2), qual o perodo do ciclo de instruo e ciclo M1 (busca) e M2 (execuo) das instrues abaixo: ADD A,B (1 BYTE)LXI B,2000H (3 BYTES) M1 -> 4 CLOCKS M1 -> 4, 3, 3 CLOCKS M2 -> 3 CLOCKS M2 -> 3 CLOCKS baixo 28) - Representar o sistema de inicializao (reset) ativo em nvel alto e nvel 29) - Definir e explicar o funcionamento de um supervisrio WATCH DOG. Como o WD evita o travamento do microprocessador? 30) - Explicar o funcionamento de um sistema BROWN-OUT. 31) - Por que consideramos um sistema com reset externo no confivel? 32) - Calcular o capacitor mnimo para um sistema de reset ativo em 0: R = 100 K Vcc = 3,3 V 50 pulsos de clock (100 kHz) para inicializao Vreset = Vcc 3) - Explicar como funciona um sistema de interrupo em um microprocessador. Dar 3 exemplos aplicveis ao computador PC. O que um vetor de interrupo? 34) - Levantar as 16 interrupes do PC e qual o vetor de cada um deles. 35) - Se voc instalar uma placa de rede em um computador e surgir uma mensagem de conflito com o mouse. Qual a razo do programa e qual uma possvel soluo. 36) - Sob o ponto de vista de interrupo, como um sistema PLUG AND PLAY instala uma nova placa de rede? 37) - Qual a diferena entre uma interrupo com o vetor fixo e com vetor varivel. Cite uma interrupo de cada tipo no 8085. 39) - Explicar o funcionamento de um sistema de DMA. 40) - Explicar como o sistema de DMA atua em uma placa de vdeo no PC. 41) - Como o sinal de ALE ajuda a separar os dados AD0-AD7 no 8085. Mostre o circuito utilizando um buffer para dado e endereo. 42) - Mostrar um circuito de separao de AD0-AD7 utilizando apenas um latch. 43) - Mostrar um circuito de separao de um barramento AD0-AD15. 4) - Mostrar a funo dos sinais RD, WR e IO/M. Qual a condio destes sinais nas instrues MOV M,A, OUT 20h e MOV A,M.

memria RAM de 100 nseg e um disco rgido de 1 mseg 45) - Calcular os tempos de Wait-State do sinal READY no acesso de uma dentro de um microprocessador 46) - Qual a vantagem de termos uma memria cache de grande capacidade 47) - Por que importante ter-se uma grande quantidade de memria RAM de dados no seu computador no aspecto do tempo de Wait State. 48) - Descrever os 40 pinos do 8085. 49) - Comparar o 8085 e o Z80. 50) - Fazer o diagrama de tempo da instruo IN 80H. 51) - Pesquisar a temporizao da instruo MOV A,B do 8085. 52) - PESQUISA: Fazendo paginao de memria, colocar 1 Mbyte de memria 62512 em um sistema com o 8085. Quais os endereos iniciais e finais de cada chip de memria. 53) - Projetar um sistema de 8 perifricos com o 74LS373: 8 solenides, 8 motores, 8 ventiladores, 8 lmpadas, 8 sensores fotoeltricos, 24 chaves liga/desliga. 54) - Para o circuito acima, fazer um programa para o primeiro sensor fotoeltrico ligar / desligar a quinta lmpada. 5) - Comparar a arquitetura entre os microprocessadores 8088-80286-80386- 80486-Pentium I at o Pentium IV.

2) - Arquitetura de Microcontroladores Planejamento (P): Este captulo capacitar o aluno nos seguintes pontos: - Conceituar Microntrolador - Conhecer a arquitetura interna da famlia MCS-51 - Sistema Mnimo da famlia MCS-51 com e sem memria externa - Projetar CLPs utilizando ports de comunicao paralelo. Execuo (D): 2.1 - Introduo Considerando as aplicaes tpicas e a tecnologia envolvida: Aplicao

Multimdia - PC Sistema Aberto (BIOS + SO + Aplicativo)

Anlise de Sinais - Sistema Dedicado (Firmware)

Controle Booleano / Sinal Analgico de baixa freqncia

Microcontrolado r 8 / 16 bits Microprocessado r 32 / 64 bits Tecnologia Sistemas com microcontroladores so utilizados para controle e sistemas dedicados. So tpicos de equipamentos como CLPs e bastante presentes em equipamentos nacionais pelo fato dos mesmos atuarem em nichos de mercado (baixo volume, baixo custo de desenvolvimento, longevidade). 2.2 - ARQUITETURA MICROCONTROLADORES Quadro comparativo entre Microprocessadores / Microcontroladores Caractersticas Microcontrolador Microprocessador Velocidade Lenta ( tpico < 1Mhz) Rpida (tpico > 1 Ghz) Consumo Baixo (uA) Alto ( ventilador, fonte chav.) Memria de Programa Pequena capacidade (kbytes) Grande capacidade (mbytes) Memria de Dados Mnima (bytes) Grande capacidade (mbytes) Arquitetura de Memria Hardware (tpica) Von- Newmann Barramento 8 bits (dados) > 64 bits (dados) Aplicao fechada, firmware aberta, multimidia 2.2.1) - Famlia de Microcontroladores INTEL MCS-51: Ao contrrio da linha de microprocessadores (segue Lei de Moore no desenvolvimento), microcontroladores tem um tempo de vida de dcadas. A Intel lanou apenas 2 famlias de microcontroladores:

MCS-48 (meados da dcada de 70) MCS-51: presente at hoje de forma bastante atuante no mercado. Apesar de existirem diversas famlias importantes de microcontroladores no mercado (Microchip, Texas, Zilog, Motorola, Cypress, National), a linha da Intel continua bastante atuante no mercado (principalmente pelo grande nmero de fabricantes que utilizam esta arquitetura - Philips, Atmel, Nec, Dallas, Temic) e principalmente muito estudada pela sua arquitetura conceitual (contem conceitos de microcontroladores com acesso a memria externa). Os principais recursos dos microcontroladores MCS-51: - Memria de Programa de 4 kbytes: ROM (8051), OTP (8751), FLASH / EEPROM (89Sxx), ROMLESS (8031) com expanso at 64K. - 256 bytes de RAM (registradores) com expanso at 512 bytes - 4 ports (latchs bidirecionais programveis) com 8 bits. Existem verses de 2 ports at 6 ports. - 2 temporizadores ("timers") de 16 bits. Expanso at 3 timers - 1 unidade serial assncrona (UART) "full-duplex". - 5 interrupes (2 externas, 2 "timers" e 1 "UART"). - Oscilador interno para gerao de temporizao. - Acesso a at 64 Kbytes de RAM externa (dados) e 64 Kbytes de EPROM (programa) externa atravs do controle de 2 sinais de leitura (PSEN -> rea de programa - RD -> rea de dados). Esta estrutura conhecida como 'arquitetura HARVARD'. - 256 instrues otimizadas para controle. Arquitetura do Microcontrolador 8051:

Figura - Arquitetura MCS-51 (fonte: Intel) Arquitetura funcional

Figura - Arquitetura Funcional (fonte: Apostila MCS-51 Ricardo Zelenovsky) Pinagem: - Vcc,Gnd: alimentao nica de 5 Vcc.

- X1-X2: conectada ao cristal externo (12 Mhz tpico). O sistema de temporizao interno divide a freqncia do cristal por 12, proporcionando um ciclo tpico de mquina de 1 mseg. - RST: entrada de inicializao ativa em nvel alto - EA ("external acess"): em nvel baixo, desabita os 4 kbytes de memria de programa interna. Toda a busca de instruo realizada externamente (atravs de uma EPROM). Em nvel alto habilita a memria interna.

- ALE ("Address Latch Enable"): na utilizao de memria de programa externa, este pino tem a funo de indicar a presena de endereo (em nvel alto) ou dado (em nvel baixo) no barramento de endereo/dado multiplexado (AD0- AD7). _ - PSEN ("Program Strobe Enable"): em nvel baixo indica leitura de uma instruo da rea de programa. Normalmente ligado ao pino RD da memria de programa. - Port P0 (P0.0-P0.7): seus 8 pinos podem ter dupla funo. Se no houver memria externa, so utilizados como sinais de entrada/sada do "latch" bidirecional P0. Se houver memria externa, atua como 8 sinais multiplexados de dados/endereo (AD0-AD7). O sinal de ALE indica a condio deste barramento. - Port P1 (P1.0-P1.7): 8 pinos de entrada/sada do "latch" bidirecional P1. - Port P2 (P2.0-P2.7): seus 8 pinos tambm podem ter dupla funo. Se no houver memria externa com mais de 256 endereos, so utilizados como sinais de entrada/sada do "latch" bidirecional P2. Se houver necessidade de endereamento maior que 8 bits, atua como 8 sinais de endereo A8-A15. - Port P3 (P3.0-P3.7): novamente, seus 8 sinais tem dupla funo: - P3.0: RxD (recepo serial) / port P3.0 - P3.1: TxD (transmisso serial) / port P3.1 - P3.6: WR (sinal de escrita da RAM externa)/port P3.6 - P3.7: RD (sinal de leitura da RAM externa)/port

Descrio das funes internas: - U.L.A.: unidade lgia aritmtica de 8 bits, responsvel pela execuo das 4 operaes aritmticas bsicas e das operaes lgicas tradicionais (AND, OR, OR EXCLUSIVE, INVERSO e SHIFT). - Acumulador: registrador de 8 bits mais utilizado pelo microcontrolador. Normalmente utilizado para colocar resultados da U.L.A. ou fatores utilizados nas operaes lgico / aritmticas. No caso das operaes de multiplicao, o registrador B tambm utilizado para colocao dos resultados, pois o resultado apresentado em 16 bits. - Flag PSW: registrador sinalizador das operaes aritmticas da U.L.A., configurador dos registradores R0-R7 e para uso geral. Abaixo mostrado a posio e nome de seus 8 bits: CYAC F0 RS1 RS0 OV - P CY (PSW.7): indica presena de bit CARRY (vai um) nas operaes aritmticas da U.L.A. AC (PSW.6): indica presena do bit Auxiliar Carry quando ocorre vai um entre os 3 e 4 bits nas operaes aritmticas da U.L.A.. F0 (PSW.5): bit para uso livre do programador. RS1 e RS0 (PSW.4 E PSW.3): configura qual banco de registradores R0- R7 ser acessado. 0 - 0 -> primeiro banco 0 - 1 -> segundo banco 1 - 0 -> terceiro banco 1 - 1 -> quarto banco OV (PSW.2): indica presena de bit CARRY (bit 8 ativado) nas operaes de multiplicao da U.L.A. Auxilia tambm as operaes de subtrao. P (PSW.0): indica paridade do acumulador. Se setado, indica nmero par de '1' no acumulador. Caso contrrio indica nmero mpar. - Contador de Programa (PC): registrador de 16 bits que guarda o endereo da prxima instruo. Quando o 8051 resetado, este registrador zerado, fazendo o 8051 buscar a primeira instruo da memria. - Apontador de Pilha (SP): registrador de 8 bits indicador do endereo inicial da pilha do 8051. A pilha necessariamente tem que estar localizada entre os endereos 30H e 7FH da rea RAM interna do microcontrolador. O tamanho da pilha deve ser suficiente para permitir os diversos acessos de sub-rotinas do programa (considerando os armazenamento dos endereos do PC e dos parmetros da instruo PUSH).

- Ponteiro de Memria Externo (DPTR): registrador de 16 bits utilizado para armazenar endereos de memria externa. - Registrador B: registrador auxiliar nas operaes de multiplicao e diviso. - Decodificador e Registrador de Instrues / Controle e Temporizao: sistema responsvel pelo armazenamento, decodificao e execuo dos cdigos de operao (bytes) das 256 instrues do 8051. Controla os sinais externos de controle (reset, ALE, configurao da memria interna de programa e sinal de leitura da memria externa). - Timers: o 8051 possui 2 sistemas de temporizao de 16 bits. Maiores detalhes sero fornecidos nos captulos subsequentes. - Unidade Serial: sistema para comunicao serial assncrona full-duplex. Maiores detalhes sero fornecidos nos captulos seguintes. - Memria de Dados (SFR) e de Programa: o 8051 possui um estrutura de acesso ao sistema de memria conhecida como HARVARD, onde o acesso a memria de programa diferenciado do acesso a memria de dados (atravs de sinais de leitura distintos). Desta forma, o microcontrolador no permite que um determinado programa fique localizado na rea de dados ou vice-versa. A grande vantagem deste sistema a otimizaco do sistema no acesso as instrues do programa e aos dados. O programa dos sistemas com microcontroladores normalmente so dedicados (FIRMWARE). Observe que este modo de acesso a memria diferente dos microcomputadores padro IBM-PC, onde normalmente os programas localizam-se na rea de dados (da o fato de cada vez mais ser importante uma grande rea de memria RAM dentro dos computadores). - Memria de Dados (SRF): o 8051 possuir 256 bytes de memria de dados interna e permite o acesso de mais 64 Kbytes de memria de dados externa (unicamente atravs das instrues MOVX). Na maioria das vezes a memria interna de dados suficiente, pois as aplicaes de controle normalmente no exigem muita quantidade de memria voltil (j que os programas no so armazenados na rea de RAM). A memria RAM interna divida em 4 reas: - rea de Registradores R0-R7 (0-1FH): o 8051 possui 4 bancos de registradores selecionados atravs dos bits RS1 e RS0 do registrador PSW. Normalmente estes registradores armazenam endereos da rea de rascunho (modo de endereamento indireto). - rea Booleana (binria) (20H-2FH): 16 bytes endereados bit a bit (totalizando 128 bits). Pode-se acessar cada bit individualmente indicando uma determinada condio binria (por

exemplo: a tecla A de um teclado foi acionada). Estes bits so acessados pelas instrues booleanas do 8051. - rea de Rascunho (30H-7FH): memria de uso geral onde se localiza a pilha do sistema. - rea de Registradores Especiais (SFR) (80H-FFH): rea onde se localiza todos os registradores com funo especial. O nmero destes registradores varia de acordo com as funes disponveis dentro do processador. Os registradores especiais mais comuns so: - PO (80H): port P0. - ACC (E0H): acumulador. - PSW (D0H): registrador de status - SP (81H): apontador de pilha - DPL (82H): byte menos significativo do registrador DPTR. - DPH (83H): byte mais significativo do registrador DPTR. - PCON (87H): registrador de controle de consumo do 8051. - IE (A8H): registrador de habilitao do sistema de interrupes. - IP (B8H): registrador indicador de prioridade do sistema de interrupo. - TMOD (89H): registrador de modo dos timers. - TCON (88H): registrador de controle do timer 1 - T2CON (C8H): registrador de controle do timer 2. - TL0 (8AH): byte inferior do timer 1. - TH0 (8CH): byte superior do timer 1. - TL1 (8DH): byte inferior do timer 2. - TH1 (8BH): byte superior do timer 2. A seguir o mapa de endereo dos registradores especiais (Databook Atmel 89S51 - w.atmel.com.br).

Figura - Tabela de Endereo dos Registradores Dedicados (fonte: Atmel) Verificao (C) Exerccios / Pesquisa Complementares 1) Fazer um download de um arquivo .PDF com a arquitetura do 89S51. 2) Fazer um levantamento dos fabricantes que possuem microcontroladores com a arquitetura do 8051 (w.8052.com). 3) Fazer um levantamento dos microcontroladores fabricados pela Philips e pela ATMEL. 4) Obter um compilador para Assembler diferente do ASM51 utilizado no laboratrio. 2.2.1) - Sistema Mnimo com o 8051: - 32 sinais de entrada/sada

INT1), "timer" duplo externo (T0 e T1) - Interface serial (RxD e TxD), interrupes externas (INT0 e

Verificao (C) Exerccios 1) Sistema com o 8031 com as seguintes caractersticas:

- Reset automtico e manual - Alarme com uma chave liga/desliga, 4 sensores ultrasnicos, 1 lmpada e 1 buzina. 2) Sistema com o 89S51 com as seguintes caractersticas: - Clock de 12 Mhz - Reset automtico e manual. - Controle de 12 motores . - 12 entradas de chaves. 3) Obter na internet um projeto com o 8051. 4) Projetar um coletor de dados com o 8031 com as seguintes caractersticas:

- Reset automtico e manual - 8 ports para um teclado. - Comunicacao serial 49 - Previso de utilizar 2 ports para controle de um display. 3) - Linguagem Assembler

Planejamento (P): Este captulo capacitar o aluno nos seguintes pontos: - Conceituar Programao estruturada. - Conhecer os mnemnicos do MCS-51 - Editar, compilar, simular e emular programas em Linguagem Assembler para o MCS-51 Projetar CLPs utilizando ports de comunicao paralelo e program-los em Linguagem Assembler. Execuo (D): A linguagem Assembler uma linguagem de nvel intermediria, composta basicamente de mnemnicos (palavra representando o cdigo de operao da instruo), diretivas (pseudoinstrues), labels e comentrios. Pelo fato de estar bem prxima a linguagem de microprocessador (linguagem de mquina composta de bits compreensvel pelo processador), exige um compilador (programa que converte o programa fonte em linguagem de mquina) bastante simples e portanto rpido. ideal para utilizao na rea de projeto e testes de microprocessadores, pois exige conhecimento da estrutura do microprocessador utilizado (ao contrrio das linguagens superiores transparentes a estrutura do processador). Tem a desvantagem de no possuir a estrutura de linguagens como PASCAL e C. Aplicativo (camada de programao interativa com o usurio) Linguagem Superior (camada de programao composta de estrutura de programao (IF THEN < > ELSE < >)) Linguagem Assembler (camada de programao composta de mnemnicos dos cdigos de operao). Linguagem de Mquina (camada de programao composta por cdigos de operao presentes na memria e lida pela CPU para executar uma tarefa) Hardware