You are on page 1of 51

Microcontroladores

Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br


Conceito final ser constitudo de duas avaliaes: 1 Conceito avaliao terica 2 Conceito dividido em duas partes - Desenvolvimento do projeto - Implementao do projeto No caso de no execuo do projeto em tempo hbil, uma avaliao terica/prtica poder ser feita para substituir o conceito 2. Projeto em equipe

Microcontroladores
Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br
BIBLIOGRAFIA David Jos de Souza, Desbravando o PIC - Ampliado e Atualizado para PIC 16F628A. Erica. David Jos de Souza e Nicols Csar Lavinia, Conectando o PIC - Recursos Avanados. Erica Fbio Pereira, Microcontroladores PIC - Tcnicas Avanadas. Erica. Fbio Pereira, Microcontroladores PIC Programao em C. Erica. Wagner da Silva Zanco, Microcontroladores PIC - Tcnicas de Software e Hardware para Projetos de Circuitos Eletrnicos. Erica.

Microcontroladores

Microcontroladores
Por que usar ???? Onde usar ???? Tipo de programao ???? Custo ???? Qual tipo de microcontrolador usar ????

Tem material de consulta ????

Microcontroladores
Exemplo
Imagine em um sistema de controle de acesso de pessoas a uma rea restrita. Para entrar no local a pessoa ter que digitar um senha. Se for usado um computador como seria o sistema ???? Quais os problemas que poderiam acontecer ????

Microcontroladores
Microcontroladores versus Microprocessadores Um microcontrolador difere de um microprocessador em vrios aspectos. Para que um microprocessador possa ser usado, outros componentes
devem ser adicionados, tais como memria, AD, componentes para receber e enviar dados, etc. Em resumo, isso significa que o microprocessador o verdadeiro corao do computador gerenciando todos os perifricos. Por outro lado, o microcontrolador foi projetado para ter tudo num s. Nos microcontroladores, nenhum outro componente externo necessrio, porque os principais perifricos necessrios j esto contidos nele. Assim, ns poupamos tempo e espao na construo dos dispositivos.

Microcontroladores
Introduo: Um microcontrolador (C) um componente eletrnico que possui integrado na mesma pastilha um microprocessador mais uma srie de perifricos que so teis para o controle de um processo. Memria de programa Memria de dados Portas de entrada e sada Timers Conversor AD etc... Desta forma, conectando-se o mnimo de hardware ao dispositivo obtm-se o sistema microprocessado desejado.

Microcontroladores
Arquitetura Harvard x Von Neumann
Os microcontroladores existentes no mercado usam em sua maioria o tipo de arquitetura de Von Neumann e os microcontroladores da microchip que ser estudado, usam a arquitetura de Harvard.

Microcontroladores
Arquitetura Harvard

Na arquitetura de Harvard, a memria de dados est separada da memria de programa. Assim, possvel uma maior fluncia de dados atravs da unidade central de processamento e claro, uma maior velocidade de funcionamento do dispositivo. So designados por "microcontroladores RISC". RISC provm de Computador com um Conjunto Reduzido de Instrues (Reduced Instruction Set Computer)

Microcontroladores
Arquitetura Von Neumann

Na arquitetura de Von Neumann, h um nico barramento onde os dados e endereos so usados. Os microcontroladores com uma arquitetura von-Neumann so designados por 'microcontroladores CISC'. O nome CISC deriva de Computador com um Conjunto Complexo de Instrues (Complex Instruction Set Computer)

Microcontroladores
Diagrama interno

Microcontroladores
Unidade de Memria

A memria a parte do microcontrolador cuja funo guardar dados. Para um determinado endereo, h um contedo desse endereo.

Microcontroladores
Unidade Central de Processamento CPU
Bloco para executar aritmtica e lgica. operaes

Desta maneira possvel multiplicar, dividir, subtrair e mover o seus contedos de um local de memria para outro. Os locais de memria da CPU chamam-se registros. Estes so, portanto, locais de memria cujo papel ajudar a executar vrias operaes matemticas ou quaisquer outras operaes com dados, quaisquer que sejam os locais em que estes se encontrem.

Microcontroladores
Barramento Bus
O barramento fisicamente falando corresponde a um grupo de 8, 16 ou mais fios. Existem dois barramento: tipos de

Barramento de dados Barramento de endereo.

O nmero de linhas do barramento de dados depende da quantidade de memria que se deseja enderear e o nmero de linhas do barramento de endereo depende da largura da palavra de dados.

Microcontroladores
Unidade de entrada/sada
As entradas e sadas so chamadas de portas I/O, que podem ser configuradas como entrada e sadas.

I significa input ou seja entrada

O significa output ou seja sada

Microcontroladores
Porta de comunicao serial

Microcontroladores
Unidade de temporizao
Bloco de temporizao dar informao acerca da hora, durao, protocolo, etc. A unidade bsica do temporizador um contador, que na realidade um registro cujo contedo aumenta de uma unidade num intervalo de tempo fixo. Desta forma o seu valor durante os instantes de tempo T1 e T2 se sabe a quantidade de tempo decorrida. Esta parte do microcontrolador, requer um domnio muito grande

Microcontroladores
Watchdog co de guarda
Este bloco de um contador continuo por um clock interno e que o programa pe a zero sempre que executado corretamente. No caso de o programa travar, o zero no vai ser escrito e o contador, por si s, se encarregar de fazer o reset do microcontrolador, quando o contador alcanar o seu valor mximo. Isto vai fazer com que o programa No est acessvel ao programador corra de novo e desta vez corretamente.

Microcontroladores
Conversor analgico - digital
Como os sinais dos perifricos so 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 intermdio de um bloco destinado converso analgica-digital (A/D). Este bloco vai ser responsvel pela converso de uma informao de valor analgico para um nmero binrio e pelo seu trajeto atravs do bloco da CPU, de modo a que este o possa processar de imediato.

Microcontroladores
Diagrama interno de um microcontrolador

Microcontroladores
Microcontrolador PIC16F84
O PIC 16F84 pertence a uma classe de microcontroladores de 8 bits, com uma arquitetura RISC. O PIC um circuito integrado produzido pela Microchip Technology Inc.

O PIC esta disponvel em uma ampla gama de modelos para melhor adaptar-se as exigncias de projetos especficos, diferenciando-se pelo numero de linha de I/O e pelo contedo do dispositivo.

Microcontroladores
Caractersticas : 16F84 18 pinos; 13 pinos de I/O configurveis; 1 K de memria de programa; 64 bytes de EEPROM para dados; 35 instrues; 4 interrupes Timer de 8 bits (TMR0) Externa Mudana de estado Finalizao da EEPROM Stack com 8 nveis; Interrupes externas disponveis; Memria de programa protegida contra cpias ....

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84 Memria de programa
EEPROM (Electrical Erasable Programmable Read Only Memory) memria somente de leitura programvel e apagvel eletricamente. Esta a memria de programa. Capacidade de memorizao de 1024 locaes e que podero conter somente um opcode de 14 bit. onde se coloca o programa.

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84

Mapa de Memria de programa

Tipo : 14 bits Tamanho : 1024 palavras 1K x 14 Vetor de reset: 000h Vetor de interrupo: 004h

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84 Memria de dados
O REGISTER FILE uma parte da locao de memria RAM denominada REGISTRO. Pode-se escrever, ler, ou modificar tranqilamente qualquer endereo do REGISTER FILE no programa a qualquer momento em que for necessrio. Tamanho de 68 x 8. EEPROM Memria de dados do sistema uma RAM, ou seja a outra parte que juntamente com o REGISTER FILE completa uma RAM. utilizada para guardar todas as variveis e registradores utilizados pelo programa. uma memria de 64 x 8 bits.

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84
A memria EEPROM consiste em 64 posies para palavras de oito bits e cujos contedos no se perdem durante uma falha na alimentao. A memria EEPROM no faz parte diretamente do espao de memria mas acessada indiretamente atravs dos registros EEADR e EEDATA. Como a memria EEPROM serve usualmente para guardar parmetros importantes (por exemplo, de uma dada temperatura em reguladores de temperatura), existe um procedimento estrito para escrever na EEPROM que tem que ser seguido de modo a evitar uma escrita acidental. Desta forma possvel gravar dados na EEPROM durante o processo.

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84 Memria de Dados
Dividido em: - register file (registradores especiais)

Register File

- regio de dados de uso geral.

Tipo : 8 bits Tamanho : 68 bytes Incio: 0Ch ou 8Ch Fim: 4Fh ou CFh
Os endereos 50h a 7Fh e D0h a FFh so locais no implementados, se forem lidos retornam valor zero

Memria de dados

Dividida em 2 bancos de memrias

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84 Memria de Dados

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84
A ALU (Arithmetic and Logic Unit) unidade aritmtica e lgica) contm todos os circuitos destinados a desenvolver as funes de calculo e manipulao de dados durante a execuo de um programa. A ALU do PIC16F84 esta preparada para operar com 8 bits, at 255. Registro W (Work) acumulador. Este registro consiste de uma locao de memria destinada a conter um s valor de 8 bits.

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84
PC (Program Counter) contador de programa. o registrador especial que guarda o endereo da instruo na memria de programa, que ser executada. No reset o PC ser sempre zerado, determinando o incio da execuo no endereo 0000h. Stack (cascata) de 8 nveis usada nas instrues de chamada de subrotinas (call). Esta subrotina desvia o programa para um local especificado e executar a mesma, e s retornara a execuo da instruo imediatamente aps a chamada call, o valor ser armazenado em uma rea particular da memria denominada Stack.

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84
O PIC16F84 dispes de um total de 13 linhas de I/O digitais organizadas em duas portas denominadas de PORTA A e PORTA B. A PORTA A dispe de 5 linhas configurveis tanto em entrada como em sada identificadas pelas siglas RA0, RA1, RA2, RA3 e RA4. A PORTA B dispe de 8 linhas tambm configurveis seja em entrada ou em sada identificadas pelas siglas RB0, RB1, RB2, RB3, RB4, RB5, RB6 e RB7.

Microcontroladores
Diagrama de blocos do microcontrolador PIC16F84
O registro TMR0 um contador, ou seja um registro particular, na qual, seu contedo incrementado com cadencia regular e programada diretamente pelo hardware do PIC. Na pratica, a diferena de outro registro, que o TMR0 no mantm inalterado o valor que memorizado, mas o incrementa continuamente O registrador ir contar at 255, quando ir recomear a contagem no valor zero, se no for programado outro valor novamente

Microcontroladores
Diagrama de blocos geral do microcontrolador PIC16F84

Microcontroladores
Ciclos de mquina

Clock interno dividido por 4. Portanto, para um clock externo de 4MHz, temos um clock interno de 1MHz, logo um ciclo de maquina de 1us. A diviso feita pelas fases Q1, Q2, Q3 e Q4. O contador de programa incrementado automaticamente na fase Q1 do ciclo de maquina e a instruo seguinte buscada da memria de programa e armazenada no registrador de instrues no ciclo Q4. ela decodificada e executada no novo ciclo Q1 a Q4.

Microcontroladores
Pipeline

Quando uma instruo est sendo executada em um ciclo de maquina, e uma outra instruo buscada no mesmo ciclo de maquina e executa no prximo ciclo a chamamos de Pipeline. Desta maneira as instrues so executadas mais rapidamente e em maior quantidade. Pipeline implementado na arquitetura Harvard

Microcontroladores
Pipeline
OBS: nem todas as instrues podem ser realizadas usando a pipeline. As instrues de saltos no contador de programa, levam o contador de programa a ser zerado, pois estas instrues levam 2 ciclos de maquinas.

Microcontroladores
Caractersticas : 16F877A 40 pinos; 33 pinos de I/O configurveis; 8 K de memria de programa; 256 bytes de EEPROM para dados; 368 bytes de Ram; 35 instrues; interrupes; Serial; 8 Canais analgicos de 10 bit; comparadores; Stack com 8 nveis; Interrupes externas disponveis; Memria de programa protegida contra cpias ....

Microcontroladores
Comparativo : 16F84 X 16F877A
18 pinos; 13 pinos de I/O configurveis; 1 K de memria de programa; 64 bytes de EEPROM para dados; 35 instrues; 4 interrupes Timer de 8 bits (TMR0) Externa Mudana de estado Finalizao da EEPROM Stack com 8 nveis; Interrupes externas disponveis; Memria de programa protegida contra cpias .... 40 pinos; 33 pinos de I/O configurveis; 8 K de memria de programa; 256 bytes de EEPROM para dados; 368 bytes de Ram; 35 instrues; interrupes; Serial; 8 Canais analgicos de 10 bit; comparadores; Stack com 8 nveis; Interrupes externas disponveis; Memria de programa protegida contra cpias ....

Microcontroladores
Pinagem do 16F877

Microcontroladores
Pinagem do 16F877

Microcontroladores
16F877
RA0 a RA5 RB0 a RB7 RC0 a RD0 a RC7 RD7 RE0 a RE3

Memria de Programa EEPROM 8k x 14 Registros Especiais e memria de dados RAM 368 x 8

B
STACK PC

PORTAS DE E/S USART

P S P

SSP

TIMER 0 TIMER 1 (16 bits) TIMER 2 (8 bits) Brown-out detect Power-up timer Start-up timer Power on reset Watchdog
Unid. Programao

Dec.Instruo Comparador CCP1 CCP2

Conv.A/D 10bits

Memria de Dados EEPROM 256 x 8

W ALU Timing

OSC2 / CLKOUT OSC1 / CLKIN

MCLR

Vdd Vss

Microcontroladores
16F877 Mapeamento da memria

Microcontroladores

Microcontroladores

Microcontroladores

Microcontroladores

Microcontroladores

Microcontroladores

Microcontroladores

Microcontroladores

Microcontroladores

You might also like