Laboratório de Hardware
Introdução ao Microcontrolador PIC
Prof. Sergio Ribeiro Ciência da Computação
Microprocessadores
n Os microprocessadores são circuitos integrados compostos por diversas portas lógicas que realizam operações matemáticas e lógicas diversas. São destinados a uso geral, ou seja, simplesmente processar informações.
n Os sistemas microprocessados são compostos de dispositivos separados: microprocessador, memória, interface de entrada e saída (compostas por transistores, acopladores ópticos, etc).
n Mas por que não incluir todos estes dispositivos em um encapsulamento?
Laboratório de Arquitetura de Computadores
Microcontroladores
n A união das memórias com os microprocessadores possibilitou o advento dos microcontroladores.
n Estes circuitos integrados são compostos por pelo menos uma unidade de processamento, uma unidade lógico-aritmética, um banco de memória de programa e um banco de memória de dados.
n Além disto, os microcontroladores devem possuir uma interface com o ambiente externo, ou seja, entradas e saídas para que o desenvolvedor de hardware possa realizar operações diversas, como por exemplo, ligar um relé, um transistor, acender um LED, etc.
3
Microcontroladores
n Microcontroladores são dispositivos voltados a sistemas embarcados e aplicações específicas, ao contrário dos μPs, destinados a PCs e aplicações de uso geral.
n Memórias de programa e de dados também são frequen-temente integradas ao chip, o que não ocorre nos μPs. n Principais razões da integração das memórias aos μCs:
n Redução do número de pinos do encapsulamento; n Redução dos custos com componentes externos; n Diminuição das dimensões da montagem;
Microcontroladores
n Visão geral da organização de um microcontrolador:
Laboratório de Arquitetura de Computadores 5
Aplicações Típicas
n Tipicamente, μCs são usados no controle em:
n Periféricos de informática n Eletrônicos de consumo n Sistemas de supervisão n Instrumentação n Automação n Robótica
Laboratório de Arquitetura de Computadores
Marcas de Microcontroladores
n Algumas marcas e modelos:
n ATMEL: ATMEGA, AT91, AT90;
n INTEL: MCS51 ou 8051 (vários fabricantes fabricam este modelo, mas a Intel foi a primeira a produzi-lo, em 1977);
n Microchip: PIC, DSPIC.
n Freescale (Motorola): 68HC, MPC. n Texas Instruments: MSP430, TMS370
Microchip
7
Os Microcontroladores PIC
n Os PIC, ou PICmicro, são microcontroladores da Microchip Technologies.
n Seu nome é uma sigla para “Programmable Interface Controller” e origina-se no início dos anos 80, quando foi concebido para operar como interface controladora de periféricos para a CPU CP1600 da General Instruments. n São mais de 570 uCs divididos em 3 grandes grupos:
n 8 bits n 16 bits n 32 bits
Os Microcontroladores PIC
Família de Microcontroladores PIC:
Laboratório de Arquitetura de Computadores 9
Os Microcontroladores PIC
Os Microcontroladores PIC de 8 bits
n São mais de 300 uCs, reunindo desde os mais simples e pequenos (6 pinos) a dispositivos de alta gama, com maior poder de processamento, periféricos e interfaces, chegando a 100 pinos.
n Dividem-se em 4 categorias, de acordo com a complexidade da aplicação a que se destinam:
n Baseline
n Mid-Range
n Enhanced Mid-Range
Os Microcontroladores PIC
PIC 8-bits: Memória de Programa vs N° de Pinos
Laboratório de Arquitetura de Computadores 11
O PIC 18F4550
n Microcontrolador “Mid-Range” de 8 bits, com 40 pinos. n Reúne os principais pontos de interesse no estudo da
arquitetura de sistemas digitais.
n É o microcontrolador inserido no Kit XM118 da Exsto presente no Laboratório de Hardware da Facape, e que será adotado nas aplicações práticas do laboratório.
Laboratório de Arquitetura de Computadores
Principais Características
do PIC18F4550
n Memória FLASH de programa: 32 Kbytes.
n Memória SRAM para armazenamento de dados: 2 Kbytes. n Memória EEPROM de dados: 256 bytes.
n Pinos configuráveis como entradas ou saídas digitais: 35. n Pinos configuráveis como canais de entrada analógica: 13. n Módulo CCP (Capture / Compare / PWM)
n Capture Þ Permite a medição do tempo de duração de um evento. n Comparação Þ compara valores entre os registros do TMR1 e
CCPR.
n PWM (Pulse Width Modulation) Þ gera sinais de frequência e variáveis.
13
Principais Características
do PIC18F4550
n Porta paralela: de 8 bits (SPP – Streaming Parallelal Port). n Temporizadores de 8 e 16 bits: 4.
n Watchdog Timer: sim.
n Frequência de operação: de até 48 MHz. n Múltiplas fontes de interrupção: até 20. n Comparadores: 2.
n Periféricos avançados de comunicação: Porta de comunicação serial, Porta de comunicação USB 2.0.
n Arquitetura Harvard: tecnologia RISC com um conjunto de 75 instruções de máquina.
Laboratório de Arquitetura de Computadores
Pinagem do PIC18F4550
n Portas de entrada e saída (RA, RB, RC, RD e RE). n Canais de entradas analógicas (AN).
n Pinos de alimentação (VDD e VSS).
n Pinos de entrada para o oscilador externo (OSC). n Portas de comunicação serial (RX e TX).
n Porta de comunicação USB (D+ e D-).
** Os pinos podem ter mais de uma função.
15
n Os 35 pinos de I/O configuráveis, estão agrupados em 5 grupos denominados PORTAS, sendo:
n PORT A n PORT B n PORT C n PORT D n PORT E
Pinagem do PIC18F4550
Laboratório de Arquitetura de Computadores
Pinagem do PIC18F4550
17 Diag ram a de B loc o do P IC 1 8 F45 5 0Laboratório de Arquitetura de Computadores
n O laboratório de Hardware da Facape é equipado com kits educacionais da Exsto.
n O kit usado em Arquitetura de Computadores é o XM118 que possui o microcontrolador PIC18F4550.
n O hardware do Kit Educacional XM118 foi concebido para permitir a maior fexibilidade possível nas ligações.
n Os pinos com diversas funções foram ligados a chaves dip switch, de forma a permitir a conexão com diferentes circuitos de aplicação.
n Para configurar corretamente o hardware para suas
necessidades, verifique as funções das chaves no manual.
Kit Educacional
19
n O kit educacional XM118 é equipado com duas fontes chaveadas
independentes de +5VDC/3A e +12VDC/1A.
n As fontes de alimentação estão disponíveis para o usuário em conectores apropriados.
n Seu uso, contudo, deve respeitar a corrente máxima disponível.
PIC 18F4550
n O kit foi baseado no PIC 18F4550.
n Trata-se de um microcontrolador de 8 bits de alto desempenho com uma série de periféricos.
n Além do PIC 18F4550, outros microcontroladores de 40 pinos podem ser usados na placa do kit, desde que sejam compatíveis pino a pino. Ex: PIC 18F4520 e o PIC 16F877A.
Laboratório de Arquitetura de Computadores 21
n Imediatamente acima do protoboard, existem conectores que dão acesso direto aos pinos do microcontrolador.
n Quando usar um pino do microcontrolador para aplicações externas, desligue as chaves de configuração associadas ao pino em questão (se houver).
Laboratório de Arquitetura de Computadores
n O kit XM118 é equipado com um gravador PICkit-2 que fica embutido dentro do gabinete do kit.
n O PICkit-2 está conectado ao XM118 e
consequentemente ao microcontrolador nele instalado através da chave U8.
n Essa chave permite desconectar os pinos do PIC18F4550 do PICkit-2 quando necessário. n O conector CON9 permite gravar outros
componentes externos através do header (placa para gravação de componente) que acompanha o kit.
PICkit-2 e o Conector ICSP
23
Configuração
n O microcontrolador tem um número limitado de pinos para poder interagir com todos os circuitos presentes no kit. n Alguns circuitos estão simplesmente ligados em paralelo,
como LEDs e LCD, teclado e chaves.
n Outros circuitos são selecionados através de chaves de configuração.
n A tabela a seguir apresenta algumas configurações possíveis, indicando o portal do microcontrolador, o sinal utilizado, sua função e direção.
Configuração
Laboratório de Arquitetura de Computadores 25
Teclado Matricial
n Um teclado matricial está disponível no kit e opera por varredura. Isto significa que, ao aplicar diferentes valores nas linhas, é possível identificar a tecla pressionada por meio do valor lido nas colunas.
n O teclado está ligado ao PIC conforme a tabela abaixo.
n Obs: para o correto funcionamento do teclado, é necessário ativar os resistores de pull-up internos do PIC por software.
Laboratório de Arquitetura de Computadores
Chaves
n Há oito chaves dip switch ligadas à porta B do PIC.
n Essas chaves foram projetadas para ser baixo ativas, ou seja, ao serem ligadas, elas aterram os pinos do PIC. n Estando aberto, o nível alto nas entradas do PIC é
garantido pelos resistores de pull-up internos. n Obs: para o correto
funcio-namento do teclado, é necessário ativar os resis-tores de pull-up internos do microcontrolador por software.
27
n Existem cinco chaves pulsativas (push-buttons) ligados aos pinos do microcontrolador.
n Alguns desses pinos possuem funções especiais, como interrupções e contadores.
n Essas chaves também são baixo ativas. n A tabela abaixo mostra a ligação dessas
chaves ao PIC.
Laboratório de Arquitetura de Computadores
n O kit possui um display LCD alfanumérico de 2 linhas por 16 colunas.
n O ajuste de contraste desse LCD é feito pelo trimpot R42. n Mais informações sobre o uso do LCD na apostila do kit.
Display LCD
29
n O kit XM118 possui 4 displays de sete segmentos.
n Estes displays trabalham de forma multiplexada, isto é, seus segmentos estão todos ligados em paralelo e os comuns dos displays são acionados por um processo de varredura (impressão de estarem simultaneamente ativos).
n Na porta D do microcontrolador estão ligados 8 leds
convencionais baixo ativos (acendem com nível lógico baixo).
n Há também 2 leds bicolores
ligados a outros pinos do microcontrolador (consultar manual).
Laboratório de Arquitetura de Computadores
LEDs
31
n Um buzzer piezelétrico permite a geração de sons no kit. n Para esse buzzer operar é necessário aplicar um sinal
variável na frequência que se deseja ouvir.
n Ele não produzirá som algum se for simplesmente alimentado.
Laboratório de Arquitetura de Computadores
Relés
n Quatro relés estão disponíveis para aplicações do usuário.
n É possível ter acesso aos terminais Com (comum), NA (normalmente aberto) e NF (normalmente fechado). n Os relés tem capacidade de acionar cargas de até 10A,
com tensão máxima de até 250V.
33
Outros Módulos
n Outras partes do kit XM118 podem ser consultadas no manual de operação, como:
n Lâmpada DC
n Resistência para aquecimento n Ventoinha n Sensor de rotação n Potenciômetro n Sensor de temperatura n Interface USART n Interface USB
n Como ferramentas para o desenvolvimento de aplicações
para o PIC 18F4550 são usados o simulador Proteus, o ambiente de desenvolvimento MPLAB e um compilador C.
n O Proteus é um ótimo software de simulação de circuitos. n Usaremos o MPLAB como meio para gravar o PIC.
n Há muitos compiladores C para microcontroladores PIC,
como: PCW, C18, MikroC, entre outros.
n A Exsto, fabricante do kit XM118, adotou o compilador
C18 da Microchip.
n Porém, verificou-se que este compilador gera o firmware
não muito otimizado (ocupa mais memória no PIC) e o aprendizado da linguagem C é um pouco mais demorado. Laboratório de Arquitetura de Computadores
Ferramentas de Desenvolvimento
35
Ferramentas de Desenvolvimento
n Por este motivo, o compilador C a ser usado no laboratório é o MikroC da Mikroeletrônica.
n O MikroC é um dos compiladores mais adotados para a programação de microcontroladores PIC.
n Isso se deve ao fato dele gerar um firmware menor, ocupando menos espaço de memória no PIC.
n E outra vantagem do MikroC é sua total compatibilidade com o C padrão ANSI e a facilidade de programar em sua linguagem C, com uma curva de aprendizado mais curta. Ao programar em C, recomenda-se consultar o datasheet
Laboratório de Arquitetura de Computadores
Compilador MikroC
37
Exemplo de um programa C
n Segue abaixo um programa para fazer piscar o led conectado ao pino D0 do PIC 18F4550 no kit.
n Isso equivale a um “hello world” quando se está aprendendo a programar em C.
void main(){ // pisca o led a uma frequência de 1 Hz TrisD = 0x00; // configura toda a porta D como saída
PortD = 0x00; // atribui nível baixo a todos os pinos em D while(1){ // laço infinito
RD0_bit = 0; // nível baixo em D0 (apaga led) delay_ms(500); // atraso de 500ms (0,5s)
RD0_bit = 1; // nível alto em D0 (acende led) delay_ms(500);
Laboratório de Arquitetura de Computadores
Exemplo de um programa C
n Programa equivalente ao anterior.
#define Led RD0_bit // macro Led associado ao pino D0 void main(){ // pisca o led a uma frequência de 1 Hz
TrisD = 0x00; // configura toda a porta D como saída PortD = 0x00; // atribui nível baixo a todos os pinos em D while(1){ // laço infinito
Led = ~Led; // inverte o nível lógico do pino D0 delay_ms(500); // atraso de 500ms (0,5s)
} }