Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERNIVERSIDADE ESTÁCIO DE SÁ CURSO DE GRADUAÇÃODE AUTOMAÇÃO INDUSTRIAL Rosinei José Pinheiro da Silva Luiz Carlos de Souza Denis Luís Francisco Alex Sandro Cesário Barreto Paulo Vinícius Belo MICROPROCESSADORES Rio de Janeiro 2017 2 Sumário 1 INTRODUÇÃO ............................................................................................................. 4 1.2. HISTÓRIA ............................................................................................................. 4 2 QUE É UM MICROPROCESSADOR ...................................................................... 5 2.1 Arquitetura de um Microprocessador ..................................................................... 5 2.1.1 Arquitetura Harvard ..................................................................................... 6 2.1.2 Arquitetura Neumann....................................................................................... 7 2.1.3. Diferença entre as Arquiteturas Neumann e Harvard ..................................... 8 3 EVOLUÇÃO DOS MICROPROCESSADORES ......................................................... 9 4 Elementos de um Microprocessador ............................................................................ 13 4.1 Unidade de Memória............................................................................................. 13 4.2 Unidade Central de Processamento ...................................................................... 14 4.4 Unidade de Saidas e Entradas (I/O) ...................................................................... 16 4.5 Comunicação em série .......................................................................................... 16 4.6 Unidade de temporização ...................................................................................... 18 4.7 Watchdog ............................................................................................................. 18 4.8 Conversor analógico – digital ............................................................................... 19 5 Programa ...................................................................................................................... 20 Bibliografia: .................................................................................................................... 22 3 Rosinei José Pinheiro da Silva Luiz Carlos de Souza Denis Luís Francisco Alex Sandro Cesário Barreto Paulo Vinícius Belo MICROPROCESSADORES Apresentação de trabalho de conclusão de curso à Universidade Estácio de Sá como requisito parcial para obtenção do grau de Tecnólogo em Automação Industrial. Orientador: Prof. Ary Manoel Gama da Silva Rio de Janeiro 2017 4 1 INTRODUÇÃO As circunstâncias que se nos deparam hoje no campo dos microcontroladores têm os seus primórdios no desenvolvimento da tecnologia dos circuitos integrados. Este desenvolvimento tornou possível armazenar centenas de milhares de transístores num único chip. Isso constituiu um pré- requisito para a produção de microprocessadores e, os primeiros computadores foram construídos adicionando periféricos externos tais como memória, linhas de entrada e saída, temporizadores e outros. Um crescente aumento do nível de integração, permitiu o aparecimento de circuitos integrados contendo simultaneamente processador e periféricos. Foi assim que o primeiro chip contendo um microcomputador e que mais tarde haveria de ser designado por microcontrolador. 1.2. HISTÓRIA Embora as primeiras gerações de computadores tivessem obtido grande sucesso nas décadas de 50 e 60, apresentavam alguns inconvenientes: o tamanho e a velocidade. Um impacto tecnológico viria a reduzir as dimensões dos computadores ao mesmo tempo em que os tornariam mais rápidos: o surgimento dos microprocessadores. Um microprocessador é um circuito integrado (“chip”) capaz de executar instruções, tendo com sua principal parte a Unidade Central de Processamento (CPU). Com o avanço tecnológico na área da microeletrônica, outras características vêm sendo incorporadas ao longo das últimas décadas aos microprocessadores, como unidades de gerenciamento de memória, memória cache, coprocessador numérico, etc, tornando-os cada vez mais complexos. A origem dos microprocessadores data de 1971, quando a Intel Corporation lançou no mercado o microprocessador 4004, denominado originalmente como “calculadora em um único chip”, podendo ser considerado como o primeiro processador de propósito geral. Possuía em torno de 3.000 transistores e logo surgiram aplicações para ele. A partir desta nova tecnologia surgiriam as 5 calculadoras mais modernas, os computadores pessoais (PC), as “workstations”, e atualmente os microprocessadores vêm derrubando a última fronteira na área dos computadores: os “mainframes”. 2 QUE É UM MICROPROCESSADOR O microprocessador é um dispositivo lógico programável em um único chip de silício, concebido sob a tecnologia VLSI (circuito integrado em alta escala). Ele age sob o controle de um programa armazenado em memória, executando operações aritméticas, lógica booleana, tomada de decisão, além de entrada e saída, permitindo a comunicação com outros dispositivos periféricos. 2.1 Arquitetura de um Microprocessador Os circuitos de um computador que executam operações sobre dados, tais como adição e subtração, são isolados em uma região chamada Unidade Central de ProcessamentoUCP(CPU– Central Processing Unit), ou processador. Os dados que estão armazenados na memória principal do computador são transferidos através de barramentos que interligam estes componentes. A comunicação com o mundo externo, os usuários, se dá pelos dispositivos de Entrada e Saída (E/S). A comunicação entre o computador e estes dispositivos se dá através dos controladores de cada dispositivo de E/S. Em computadores comuns, estes controladores correspondem placas de circuito encaixadas na placa principal do computador (placa mãe). Está ilustrada na Figura1, “Arquitetural geral de um computador”, a arquitetura básica de um computador. 6 Figura 1 – Arquitetura geral de um computador 2.1.1 Arquitetura Harvard A Arquitetura de Harvard baseia-se em um conceito mais recente que a de Von-Neumann, tendo vindo da necessidade de por o microcontrolador para trabalhar mais rápido. É uma arquitetura de computador que se distingue das outras por possuir duas memórias diferentes e independentes em termos de barramento e ligação ao processador. Baseia-se na separação de barramentos de dados das memórias onde estão as instruções de programa e das memórias de dados, permitindo que um processador possa acessar as duas simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de von Neumann, pois pode buscar uma nova instrução enquanto executa outra. A principal vantagem desta arquitectura é dada pela dupla ligação às memórias de dados e programa (código), permitindo assim que o processador leia uma instrução ao mesmo tempo em que faz um acesso à memória de dados. (figura 2 Arquitetura Harvard). 7 Figura 2 – Arquitetura Harvard 2.1.2 Arquitetura Neumann A Arquitetura de von Neumann (de John von Neumann), é uma arquitetura de computador que secaracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas. A máquina proposta por Von Neumann reúne os seguintes componentes: (i) uma memória, (ii) uma unidade aritmética e lógica (ALU), (iii) uma unidade central de processamento (CPU), composta por diversos registradores, e (iv) uma Unidade de Controle (CU), cuja função é a mesma da tabela de controle da Máquina de Turing universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada. Cada um dos elementos apresentados é realizado à custa de componentes físicos independentes, cuja implementação tem variado ao longo do tempo, consoante a evolução das tecnologias de fabricação, desde os relés eletromagnéticos, os tubos de vácuo (ou válvulas), até aos semicondutores, abrangendo os transistores e os circuitos electrónicos integrados, com média, alta ou muito alta densidade de integração (MSI – medium scale, LSI – large scale, ou VLSI – very large scale integration), medida em termos de milhões transistores por pastilha de silício. Na figura 3 é demonstrado a estrutura da arquitetura Neumann 8 Figura 3 – Arquitetura proposta por Neumann 2.1.3. Diferença entre as Arquiteturas Neumann e Harvard A diferença entre a arquitetura Von Neunmann e a Harvard é que a última separa o armazenamento e o comportamento das instruções do CPU e os dados, enquanto a anterior utiliza o mesmo espaço de memória para ambos. Nos CPUs atuais, é mais comum encontrar a arquitetura Von Neunmann, mas algumas coisas da arquitetura Harvard também são vistas. Nessas distintas arquiteturas, temos vantagens e desvantagens, como pode-se observar a seguir: Arquitetura tipo Harvard: Caminhos de dados e de instrução distintos, dessa forma, seus componentes internos têm a seguinte disposição. Já na arquitetura Von-Neumann, é processada uma única informação por vez, visto que nessa tecnologia, execução e dados percorrem o mesmo barramento, o que torna o processo lento em relação à arquitetura Harvard. Essa é a tecnologia mais utilizada nos PC’s e microcontroladores, pois proporcionam maior velocidade de processamento, pois enquanto a CPU processa uma informação, outra nova informação está sendo buscada, de forma sucessiva. 9 3 EVOLUÇÃO DOS MICROPROCESSADORES Existem diversos fabricantes de microprocessadores que foram surgindo desde o lançamento pioneiro da Intel, como a Motorola, a Zilog e a Texas Instruments, entre outros. A Intel, após o lançamento do microprocessador 4004, concebeu outros microprocessadores, e alguns deles foram utilizados na implementação dos primeiros PCs, tornando-se referência de mercado. Os principais microprocessadores lançados no mercado pela Intel são: • 4004 (1971): primeiro microprocessador de 4 bits, contendo 45 instruções e 4 Kbytes de capacidade de endereçamento de memória. Foi utilizado em aplicações simples, como calculadoras, o primeiro vídeo games e pequenos sistemas de controle. • 8008 (1972): primeiro microprocessador de 8 bits, possui capacidade de endereçamento de memória e 16 Kbytes. Utilizado em aplicações mais complexas que o anterior, onde a manipulação de caracteres de 8 bits era importante, como caixas registradoras. Logo tornou-se obsoleto pela sua limitação de endereçamento de memória. • 8080 (1973): primeiro dos microprocessadores modernos de 8 bits. A partir dele outros fabricantes começaram a lançar seus microprocessadores de 4 e 8 bits, alavancando um grande avanço tecnológico nesta área. Ele é capaz de endereçar 64 Kbytes de memória, possui mais instruções do que o anterior e ainda utiliza um clock cerca de 10 vezes mais rápido que o 8008. Além disso, possui a vantagem de ser compatível com a família TTL, facilitando o seu interfaceamento com outros componentes. • 8085 (1976): este processador pode ser considerado a nova versão do 8080 Além de mais rápido, possuindo algumas características extras, como a 10 incorporação do gerador de clock e circuitos internos para a geração de sinais de controle, diminuindo o número de componentes adicionais necessários para a construção de um sistema. • 8086 (1978): primeiro processador de 16 bits, incorporando instruções de multiplicação e divisão, e com velocidade 3 vezes maior que o 8085. Endereça 1 Mbytes de memória, o que permitiu a concepção dos primeiros microcomputadores da linha PC, e posteriormente os XT, ancestrais dos microcomputadores atuais, que na época até os substituíam em algumas aplicações. Possui ainda um número maior de registradores, possibilitando a agilização de operações entre registradores, sem o envolvimento da memória exterior. • 8088 (1979): possui basicamente as mesmas características do microprocessador anterior, trabalhando internamente com 16 bits, com via de dados externa de 8 bits, o que reduz a sua performance a 75 % da do 8086, mas permitindo a concepção de sistemas mais baratos. • 80186 (1982): evolução do 8086, sendo compatível a nível de software com o seu antecessor. Possui recursos adicionais, como gerador de clock interno, controlador de interrupção programável, temporizadores, unidade programável de ADM (acesso direto à memória) e unidade de seleção de dispositivos de memória e E/S. • 80188 (1982): versão com via de dados externa de 8 bits do 80186. • 80286 (1983): versão avançada do 8086, ainda em 16 bits, tendo sido projetado para permitir aplicações de multi-usuários e multitarefas. Pode endereçar até 16 Mbytes de memória física e 1 Gbytes de memória virtual gerenciada por uma unidade de gerenciamento de memória localizada no próprio processador. É capaz de executar instruções em menos ciclos de clock que o 8086, e foi utilizado pelos microcomputadores PC-AT. 11 • 80386 (1985): versão em 32 do 8086, suportando multitarefa e gerenciamento de memória virtual com ou sem paginação, proteção de software e capacidade de endereçamento de 4 Gbytes de memória física, e 64 Tbytes de memória virtual. Pode chavear entre o modo real e modo protegido de memória via software, sem necessidade de reinicialização. Disponível em duas versões, muito utilizadas nos PCs que sucederam o PC AT: • 386DX: versão com via de dados externa de 32 bits. • 386SX: versão com via de dados externa de 16 bits. • 80486 (1989): versão aprimorada do 80386, incorporando o coprocessador numérico 387 e 8 Kbytes de memória cache. Apresenta uma melhor performance em relação ao 80386, tendo sido concebido sob o conceito das arquiteturas RISC. Disponível nas versões: • 486SX: versão sem o coprocessador numérico 80387. • 486DX: versão com o coprocessador numérico 80387. • 486DX2: versão com clock interno duplicada (2 x 20, 25 ou 33 Mhz). • 486DX4: versão com clock interno triplicada (3 x 25 ou 33 Mhz), e 16 Kbytes de memória cache. • Pentium (1993): contém o equivalente a dois 80486, sendo que o trabalho a ser realizado é dividido automaticamente entre os dois processadores, visando mantêlos ocupados a maior parte do tempo. Possui duas unidades de processamento de números inteiros implementados na forma de pipeline de cinco estágios, que permitem o paralelismo de algumas operações, e duas unidades de memória cache de 8 Kbytes cada para dados e instruções. • Pentium Pro(1995): possui arquitetura semelhante à do Pentium,mas com cache de nível 1 (16 Kbytes) e cache de nível 2 (até 1 Mbytes) conectados ao 12 bus com a mesma freqüência do processador. A freqüência de trabalho está entre 150 Mhz e 200 Mhz. • Pentium MMX(1996): possui arquitetura semelhante à do Pentium, com a incorporação de instruções destinadas ao processamento de imagem. A partir desse processador forami previstas diferentes tensões de alimentação do núcleo e de interação com o meio externo que são respectivamente 2.8V e 3.3V. • Pentium II(1997): possui arquitetura baseada no processador Pentium Pro, com cache de nível 1 de 32 Kbytes que opera na mesma freqüência do processador, e a incorporação de instruções do MMX. O cache de nível 2, com 512 Kbytes, opera na freqüência do bus externo. A freqüência de operação está entre (66 – 100Mhz) x (3– 5). • Pentium II Xeon (1998): possui arquitetura semelhante à do Pentium II, mas com o cache de nível 2 (512 Kbytes ou 1 Mbytes) operando na freqüência do processador. O desenvolvimento deste processador teve o objetivo de suprir o mercado anteriormente suprido pelo Pentium Pro, envolvendo servidores e estações de trabalho. • outros processadores: 1999: Celeron® Processor, 1999: Pentium® III Processor, 1999: Pentium® III Xeon™ Processor, 2000: Pentium® 4 Processor, 2001: Intel® Xeon™ Processor, 2001: Itanium™ Processor. 13 4 Elementos de um Microprocessador 4.1 Unidade de Memória A memória é a parte do microcontrolador cuja função é guardar dados. A maneira mais fácil de explicar é descrevê-la como uma grande prateleira cheia de gavetas. Se supusermos que marcamos as gavetas de modo a elas não se confundirem umas com as outras, então o seu conteúdo será facilmente acessível. Basta saber a designação da gaveta e o seu conteúdo será conhecido. Os componentes de memória são exatamente a mesma coisa. Para um determinado endereço, nós obtemos o conteúdo desse endereço. Dois novos conceitos foram apresentados: endereçamento e memória. A memória é o conjunto de todos os locais de memória (gavetas) e endereçamento nada mais é que selecionar um deles. Isto significa que precisamos selecionar o endereço desejado (gaveta) e esperar que o conteúdo desse endereço nos seja apresentado (abrir a gaveta). Além de ler de um local da memória (ler o conteúdo da gaveta), também é possível escrever num endereço da memória (introduzir um conteúdo na gaveta). Isto é feito utilizando uma linha adicional chamada linha de controle. Nós iremos designar esta linha por R/W (read/write) - ler/escrever. A linha de controle é usada do seguinte modo: se r/w=1, é executada uma operação de leitura, caso contrário é executada uma operação de escrita no endereço de memória. A memória é o primeiro elemento, mas precisamos de mais alguns para que o nosso microcontrolador possa trabalhar. Na figura 4, observamos como se faz o acesso físico da memoria de um micro processador 14 Figura 4 Memoria de um microprocessador 4.2 Unidade Central de Processamento Vamos agora adicionar mais 3 locais de memória a um bloco específico para que possamos ter as capacidades de multiplicar, dividir, subtrair e mover o seus conteúdos de um local de memória para outro. A parte que vamosacrescentar é chamada "central processing unit" (CPU) ou Unidade Central de Processamento. Os locais dememória nela contidos chamam-se registos. Os registos são, portanto, locais de memória cujo papel é ajudar a executar várias operações matemáticas ou quaisquer outras operações com dados, quaisquer que sejam os locais em que estes se encontrem.Vamos olhar para a situação atual. Nós temos duas entidades independentes (memória e CPU) que estão interligadas, deste modo, qualquer troca de dados é retardada bem como a funcionalidade do sistema é diminuída. Se, por exemplo, nós desejarmos adicionar os conteúdos de dois locais de memória e tornar a guardar o resultado na memória, nós necessitamos de uma ligação entre a memória e o CPU. Dito mais simplesmente, nós precisamos de obter um "caminho" através do qual os dados possam passar de um bloco para outro. 15 4.3 Barramentos Este "caminho" designa-se por "bus" . Fisicamente ele corresponde a um grupo de 8, 16 ou mais fios. Existem dois tipos de bus: bus de dados e de endereço. O número de linhas do primeiro depende da quantidade de memória que desejamos endereçar e o número de linhas do outro depende da largura da palavra de dados, no nosso caso é igual a oito. O primeiro bus serve para transmitir endereços do CPU para a memória e o segundo para ligar todos os blocos dentro do microcontrolador (figura 5 Barramento de microprocessador). Figura 5 – Barramento de Microprocessador 16 4.4 Unidade de Saidas e Entradas (I/O) Estas localizações que acabamos de adicionar, chamam-se "portos". Existem vários tipos de portos: de entrada, de saída e de entrada/saída. Quando trabalhamos com portos primeiro de tudo é necessário escolher o porto com que queremos trabalhar e, em seguida, enviar ou receber dados para ou desse porto (figura 6 – saidas e entradas) Figura 6 – saídas e entradas 4.5 Comunicação em série Anteriormente, acrescentámos à unidade já existente a possibilidade de comunicar com o mundo exterior. Contudo, esta maneira de comunicar tem os seus inconvenientes. Um dos inconvenientes básicos é o número de linhas que é necessário usarmos para transferir dados. E se for necessário transferi-los a uma distância de vários quilómetros? O número de linhas vezes o número de quilómetros não atesta a economia do projeto. Isto leva-nos a ter que reduzir o número de linhas de modo a que a funcionalidade se mantenha. Suponha que estamos a trabalhar apenas com três linhas e que uma linha é usada para enviar dados, outra para recebê-los e a terceira é usada como linha de 17 referência tanto do lado de entrada como do lado da saída. Para que isto trabalhe nós precisamos definir as regras para a troca de dados. A este conjunto de regras chama-se protocolo. Este protocolo deve ser definido com antecedência de modo que não haja mal entendidos entre as partes que estão a comunicar entre si. Por exemplo, se um homem está a falar em francês e o outro em inglês, é altamente improvável que efetivamente e rapidamente, ambos se entendam. Vamos supor que temos o seguinte protocolo. A unidade lógica "1" é colocada na linha de transmissão até que a transferência se inicie. Assim que isto acontece, a linha passa para nível lógico '0' durante um certo período de tempo (que vamos designar por T), assim, do lado da recepção ficamos a saber que existem dados para receber e, o mecanismo de recepção, vai ativar-se. Regressemos agora ao lado da emissão e comecemos a pôr zeros e uns lógicos na linha de transmissão correspondentes aos bits, primeiro o menos significativo e finalmente o mais significativo. Vamos esperar que cada bit permaneça na linha durante um período de tempo igual a T, e, finalmente, depois do oitavo bit, vamos pôr novamente na linha o nível lógico "1" , o que assinala a transmissão de um dado. O protocolo que acabamos de descrever é designado na literatura profissional por NRZ (Não Retorno a Zero) .figura 7 – transmissão em série. Figura 7 – transmissão em série 18 4.6 Unidade de temporização Agora quejá temos a unidade de comunicação série implementada, nós podemos receber, enviar e processar dados. Contudo, para sermos capazes de utilizar isto na indústria precisamos ainda de mais alguns blocos. Um deles é o bloco de temporização que nos interessa bastante porque pode dar-nos informações acerca da hora, duração, protocolo, etc. A unidade básica do temporizador é um contador que é na realidade um registo cujo conteúdo aumenta de uma unidade num intervalo de tempo fixo, assim, anotando o seu valor durante os instantes de tempo T1 e T2 e calculando a sua diferença, nós ficamos a saber a quantidade de tempo decorrida. Esta é uma parte muito importante do microcontrolador, cujo domínio vai requerer muita da nossa atenção. Figura 8 unidade de temporização 4.7 Watchdog Outra coisa que nos vai interessar é a fluência da execução do programa pelo microcontrolador durante a sua utilização. Suponha que como resultado de qualquer interferência (que ocorre frequentemente num ambiente industrial), o nosso microcontrolador pára de executar o programa ou, ainda pior, desata a trabalhar incorretamente. Claro que, quando isto acontece com um computador, nós simplesmente carregamos no botão de reset e continuamos a trabalhar. Contudo, no caso do microcontrolador nós não podemos resolver o nosso problema deste. modo, porque não temos botão. 19 Para ultrapassar este obstáculo, precisamos introduzir no nosso modelo um novo bloco chamado watchdog (cão de guarda). Este bloco é de facto outro contador que está continuamente a contar e que o nosso programa põe a zero sempre que é executado corretamente. No caso de o programa "encravar", o zero não vai ser escrito e o contador, por si só, encarregar-se-á de fazer o reset do microcontrolador quando alcançar o seu valor máximo. Isto vai fazer com que o programa corra de novo e desta vez corretamente. Este é um elemento importante para que qualquer programa se execute fielmente, sem precisar da intervenção do ser humano. 4.8 Conversor analógico – digital Como os sinais dos periféricos são substancialmente diferentes daqueles que o microcontrolador pode entender (zero e um), eles devem ser convertidos num formato que possa ser compreendido pelo microcontrolador. Esta tarefa é executada por intermédio de um bloco destinado à conversão analógica-digital ou com um conversor A/D. Este bloco vai ser responsável pela conversão de uma informação de valor analógico para um número binário e pelo seu trajeto através do bloco do CPU, de modo a que este o possa processar de imediato. Neste momento, a configuração do microcontrolador está já terminada, tudo o que falta é introduzi-la dentro de um aparelho electrónico que poderá aceder aos blocos internos através dos pinos deste componente. A figura a seguir, ilustra o aspecto interno de um microcontrolador. Configuração física do interior de um microcontrolador As linhas mais finas que partem do centro em direção à periferia do microcontrolador correspondem aos fios que interligam os blocos interiores aos pinos do invólucro do microcontrolador. Na figura 9 podemos obervar o esquema de funcionamento de um analógico digital. 20 Figura 9 – conversor analógico digital 5 Programa Escrever um programa é uma parte especial do trabalho com microcontroladores e é designado por "programação". Vamos tentar escrever um pequeno programa numa linguagem que seremos nós a criar e que toda a gente será capaz de compreender. INICIO REGISTO1=LOCAL_DE_ MEMORIA_A REGISTO2=LOCAL_DE_ MEMORIA_B PORTO_A=REGISTO1+REGISTO2 FIM O programa adiciona os conteúdos de dois locais de memória e coloca a soma destes conteúdos no porto A. A primeira linha do programa manda mover o conteúdo do local de memória "A" para um dos registos da unidade central de processamento. Como necessitamos também de outra parcela, vamos colocar o outro conteúdo noutro registo da unidade central de processamento (CPU). A instrução seguinte pede ao CPU para adicionar os 21 conteúdos dos dois registos e enviar o resultado obtido para o porto A, de modo a que o resultado desta adição seja visível para o mundo exterior. Para um problema mais complexo, naturalmente o programa que o resolve será maior. A tarefa de programação pode ser executada em várias linguagens tais como o Assembler, C e Basic que são as linguagens normalmente mais usadas. O Assembler pertence ao grupo das linguagens de baixo nível que implicam um trabalho de programação lento, mas que oferece os melhores resultados quando se pretende poupar espaço de memória e aumentar a velocidade de execução do programa. Como se trata da linguagem mais frequentemente usada na programação de microcontroladores, ela será discutida num capítulo mais adiantado. Os programas na linguagem C são mais fáceis de escrever e compreender, mas, também, são mais lentos a serem executados que os programas assembler. Basic é a mais fácil de todas para se aprender e as suas instruções são semelhantes à maneira de um ser humano se exprimir, mas tal como a linguagem C, é também de execução mais lenta que o assembler. Em qualquer caso, antes que escolha entre uma destas linguagens, precisa examinar cuidadosamente os requisitos de velocidade de execução, de espaço de memória a ocupar e o tempo que vai demorar a fazer o programa em assembly. Depois de o programa estar escrito, nós necessitamos de introduzir o microcontrolador num dispositivo e pô-lo a trabalhar. Para que isto aconteça, nós precisamos de adicionar mais alguns componentes externos. Primeiro temos que dar vida ao microcontrolador fornecendo-lhe a tensão (a tensão eléctrica é necessária para que qualquer instrumento electrónico funcione) e o oscilador cujo papel é análogo ao do coração que bate no ser humano. A execução das instruções do programa é regulada pelas pulsações do oscilador. Logo que lhe é aplicada a tensão, o microcontrolador executa uma verificação dele próprio, vai para o princípio do programa e começa a executá-lo. O modo como o dispositivo vai trabalhar depende de muitos parâmetros, os mais importantes dos quais são a competência da pessoa que desenvolve o hardware e do programador que, com o seu programa, deve tirar o máximo do dispositivo. 22 Bibliografia: http://www.di.ufpb.br/raimundo/ArqDI/Arq2.htm http://www.ece.ufrgs.br/~fetter/ele00002/up.pdf http://www.lsa.isep.ipp.pt/~aprender/pagina_lsa/aprender/datasheets/Micros.pd f
Compartilhar