Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Microcontroladores: Tipo PIC e Suas Características, Notas de estudo de Cultura

Saiba sobre microcontroladores inteligentes, especificamente o tipo pic, que possui processador, memória e pinos de entrada/saída. Diferencie-se entre os diversos modelos pelo tamanho de memória interna, velocidade de processamento, quantidade de pinos i/o, alimentação, periféricos, arquitetura e conjunto de instruções. Saiba como programar e utilizar um pic, incluindo informações sobre o mplab ide, compilador, software gravador e simulador.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 29/05/2010

felipe-thiago-11
felipe-thiago-11 🇧🇷

1 documento

1 / 14

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
MICROCONTROLADORES
Os microcontroladores são chips inteligentes, que tem um processador, pinos
de entradas/saídas e memória. Através da programação dos microcontroladores
podemos controlar suas saídas, tendo como referencia as entradas ou um programa
interno.
O que diferencia os diversos tipos de microcontroladores, são as quantidades
de memória interna (programa e dados), velocidade de processamento, quantidade
de pinos de entrada/saída (I/O), alimentação, periféricos, arquitetura e set de
instruções.
O QUE ÉO PIC?
O PIC éum circuito integrado produzido pela Microchip Technology Inc. , que
pertence a categoria dos microcontroladores, ou seja, um componente integrado que
em um único dispositivo contem todos os circuitos necessarios para realizar um
completo sistema digital programavel. O pic pode ser visto externamente como um
circuito integrado TTL ou CMOS normal, mas internamente dispõe de todos os
dispositivos típicos de um sistema microprocessado, ou seja: Uma CPU (Central
Processor Unit ou Unidade de Processamento Central) e sua finalidade éinterpretar
as instruções de programa; Uma memória PROM (Programmable Read Only
Memory ou Memória Programavel Somente para Leitura) na qual ira memorizar de
maneira permanente as instruções do programa; Uma memória RAM (Random
Access Memory ou Memória de Acesso Aleatório) utilizada para memorizar as
variaveis utilizadas pelo programa; Uma serie de LINHAS de I/O (entrada e saída)
para controlar dispositivos externos ou receber pulsos de sensores, chaves, etc. ;
Uma serie de dispositivos auxiliares ao funcionamento, ou seja, gerador de clock,
bus, contador, etc. A presença de todos estes dispositivos em um espaço
extremamente pequeno, da ao projetista ampla gama de trabalho e enorme
vantagem em usar um sistema microprocessado, onde em pouco tempo e com
poucos componentes externos podemos fazer o que seria oneroso fazer com
circuitos tradicionais.O PIC esta disponível em uma ampla gama de modelos para
melhor adaptar-se as exigências de projetos específicos, diferenciando-se pelo
numero de linha de I/O e pelo conteúdo do dispositivo. Inicia-se com modelo
pequeno identificado pela sigla PIC12Cxx dotado de 8 pinos, atéchegar a modelos
maiores com sigla PIC17Cxx dotados de 40 pinos. Uma descrição detalhada da
tipologia do PIC édisponível no site da Microchip ( www.microchip.com ) , onde
conseguimos encontrar grandes e variadas quantidades de informações técnicas,
software de apoio, exemplos de aplicações e atualizações disponíveis.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Pré-visualização parcial do texto

Baixe Microcontroladores: Tipo PIC e Suas Características e outras Notas de estudo em PDF para Cultura, somente na Docsity!

MICROCONTROLADORES

Os microcontroladores são chips inteligentes, que tem um processador, pinos de entradas/saídas e memória. Através da programação dos microcontroladores podemos controlar suas saídas, tendo como referencia as entradas ou um programa interno. O que diferencia os diversos tipos de microcontroladores, são as quantidades de memória interna (programa e dados), velocidade de processamento, quantidade de pinos de entrada/saída (I/O), alimentação, periféricos, arquitetura e set de instruções.

O QUE É O PIC?

O PIC é um circuito integrado produzido pela Microchip Technology Inc. , que pertence a categoria dos microcontroladores, ou seja, um componente integrado que em um único dispositivo contem todos os circuitos necessarios para realizar um completo sistema digital programavel. O pic pode ser visto externamente como um circuito integrado TTL ou CMOS normal, mas internamente dispõe de todos os dispositivos típicos de um sistema microprocessado, ou seja: Uma CPU (Central Processor Unit ou Unidade de Processamento Central) e sua finalidade é interpretar as instruções de programa; Uma memória PROM (Programmable Read Only Memory ou Memória Programavel Somente para Leitura) na qual ira memorizar de maneira permanente as instruções do programa; Uma memória RAM (Random Access Memory ou Memória de Acesso Aleatório) utilizada para memorizar as variaveis utilizadas pelo programa; Uma serie de LINHAS de I/O (entrada e saída) para controlar dispositivos externos ou receber pulsos de sensores, chaves, etc. ; Uma serie de dispositivos auxiliares ao funcionamento, ou seja, gerador de clock, bus, contador, etc. A presença de todos estes dispositivos em um espaço extremamente pequeno, da ao projetista ampla gama de trabalho e enorme vantagem em usar um sistema microprocessado, onde em pouco tempo e com poucos componentes externos podemos fazer o que seria oneroso fazer com circuitos tradicionais.O PIC esta disponível em uma ampla gama de modelos para melhor adaptar-se as exigências de projetos específicos, diferenciando-se pelo numero de linha de I/O e pelo conteúdo do dispositivo. Inicia-se com modelo pequeno identificado pela sigla PIC12Cxx dotado de 8 pinos, até chegar a modelos maiores com sigla PIC17Cxx dotados de 40 pinos. Uma descrição detalhada da tipologia do PIC é disponível no site da Microchip ( www.microchip.com ) , onde conseguimos encontrar grandes e variadas quantidades de informações técnicas, software de apoio, exemplos de aplicações e atualizações disponíveis.

O PROCESSO DE GRAVAÇÃO DE UM PIC

Para podermos escrever (gravar) em um microcontrolador nós vamos precisar de uma gravadora, um software gravador, um compilador e um programa. · O programa pode ser escrito em assembler. Nele ira conter as informações de configuração do nosso microcontrolador e a lógica do nosso dispositivo. Normalmente usa-se o bloco de notas ou o MPLAB IDE (editor e simulador) para escrever estes programas. · O compilador (mpasmwin – que pode ser encontrado no site http://www.microchip.com ) vai transformar as informações geradas pelo programa (.asm) em opcode – códigos operacionais (hexadecimais de 14 bits) e transformar em hexadecimal (.hex).

· O Software Gravador (icprog – www.ic-prog.com) , vai transmitir as informações hexadecimais geradas pelo compilador de forma correta para o gravador. · O Gravador converte e organiza os sinais gerados pelo computador, para que eles sejam armazenados no microcontrolador.

software pode ser encontrado no endereço abaixo. http://www.microchip.com/1010/pline/tools/picmicro/devenv/mplabi/mplab6/index.htm

ESCREVENDO UM PROGRAMA

Fazem parte de um programa para nosso microcontrolador: o tipo do processador (ex. p16f84a), arquivo contendo o set de instruções – comandos (ex. p16f84.inc), o tipo de oscilador e recursos de gravação, as portas que serão de entrada/saída, as variaveis do sistema, os endereços de memória que cada parte do programa vai utilizar, e o mais importante: A lógica de programação. Para aprender a programar no pic, não deixe de visitar esta excelente pagina: http://tanzilli.com/pbe/brasiliano/index.htm ( em português ) ou baixe o curso em http://www.mecatrom.cjb.net/ , na seção de downloads.

Segue abaixo um exemplo comentado de programa:

PROCESSOR 16F84 ; TIPO DE PROCESSADOR RADIX DEC ; NUMEROS SEM ESPECIFICAÇÃO SERÃO DECIMAIS INCLUDE "P16F84.INC" ; INVOCA SET DE INSTRUÇÕES __CONFIG 0x3FF1 ; CONFIGURA A INCICIALIZAÇÃO DO OSCILADOR LED EQU 0 ; DEFINIÇÃO INTERNA DO PROGRAMA (LED=0) ORG 0x0C ; LUGAR DA MEMORIA ONDE FICARAM AS VARIAVEIS Count RES 2 ; VARIAVEL E TAMANHO ORG 0x00 ; LUGAR DA MEMORIA ONDE DO PONTO DE RESET bsf STATUS,RP0 ;ACESSA O BANCO “ 0 ” DE NDEREÇOS/COMANDOS movlw B'00011111' ;ADICIONA ESTE VALOR PARA WORKS (W) movwf TRISA ;DEFINE AS ENTRADAS/SAIDAS DO PORTA movlw B'11111110' ;ADICIONA ESTE VALOR PARA WORKS (W) movwf TRISB ;DEFINE AS ENTRADAS/SAIDAS DO PORTB bcf STATUS,RP0 ; VOLTA P/ BANCO “ 1 ” DE ENDEREÇOS/COMANDOS bsf PORTB,LED ;DESLIGA O PINO 6 (RB0) DO CI, APAGANDO O LED MainLoop ;DECLARAÇÃO DE ROTINA PRINCIPAL call Delay ;CHAMADA DE ROTINA DE TEMPO btfsc PORTB,LED ;TESTA SE O LED ESTA ACESO (1 OU 0) goto SetToZero ;SE APAGADO ENTÃO EXECUTA ESTA ROTINA bsf PORTB,LED ;SE NÃO, APAGA O LED (RBO = 0) goto MainLoop ;VOLTA PARA A ROTINA PRINCIPAL SetToZero ;ROTINA QUE ACENDE O LED bcf PORTB,LED ;COMANDO QUE ACENDE O LED goto MainLoop ;VOLTA PARA ROTINA PRINCIPAL Delay ;ROTINA DE TEMPO clrf Count ;LIMPA COUNT clrf Count+1 ;LIMPA COUNT+ DelayLoop ;ROTINA DE LOOP DE TEMPO decfsz Count,1 ;DECREMENTA E PULA A PROXIMA LINHA SE 0 goto DelayLoop ;VOLTA PARA O LOOP DE TEMPO decfsz Count+1,1 ;DECREMENTA E PULA A PROXIMA LINHA SE 0 goto DelayLoop ; VOLTA PARA O LOOP DE TEMPO return ;VOLTA PARA ONDE CHAMOU A ROTINA END ;FINALIZA O PROGRAMA

Cada uma das instruções identificara precisamente a função basica que o PIC ira executar. Onde a instrução é representada por um código operativo (do ingles operation code ou abreviadamente opcode) podemos memorizar 14 bits em cada locação da memória EEPROM. Esta memória no PIC16C84 dispões de 1024 locações e cada uma devera conter uma só instrução. Um exemplo de opcode em notação binaria esta escrito a seguir: 00 0001 0000 0000B É mais provavel que um opcode venha representado na notação hexadecimal ou seja: 0100H Este código, completamente sem sentido para nós humanos, é o que o PIC esta preparada para entender. Para facilitar a compreensão ao programador, se recorre a um instrumento e convenção para tornar a instrução mais compreensível. A primeira convenção é a que associa o opcode (um total de 35 para o PIC16C84) a uma sigla mnemônica, ou seja uma inicial que seja facil de recordar o significado da instrução. Voltando ao nosso exemplo o opcode 0100H corresponde a instrução mnemônica CLRW que é a forma abreviada da instrução CLEAR W REGISTER, ou seja, zere o registro W. Estes códigos podem ser encontrados dentro do arquivo de biblioteca do compilador, que é invocado pelo programa. No caso este arquivo é o P16C84 (pela linha include “P16C84.INC).

O SOFTWARE GRAVADOR - ICPROG

Através do ic-prog (http://www.ic-prog.com/icprog105C.zip ou www.ic- prog.com ) vamos transferir o arquivo gerado pelo compilador (que agora é hexadecimal - *.hex) para a nossa gravadora. Existem varios tipos de gravadoras compatíveis com o icprog. No nosso caso vamos utilizar o tipo JDM. Para isso va ao menu configurações e na opção Hardware (ou pressione F3) e configure o programa como a figura abaixo (atenção, para os sistema 2000/NT/XP, leia o texto em negrito após a figura) :

No menu configurações, opções temos a possibilidade de substituir o idioma para português (guia linguagem) e de ativarmos o suporte para

Atenção, apesar dos PIC´s serem praticamente imunes a energia estatica e muito resistentes para qualquer ambiente, nunca devemos inserir ou retirar o microcontrolador com a gravadora ligada ou conectada. Para preservação da porta de comunicação com o pc, não devemos remover o cabo durante o processo de gravação ou com o ic-prog aberto. É recomendavel que você mantenha sempre o microcontrolador em um porta soquete (mesa para CI) com furos torneados, aumentando assim a vida útil do microcontrolador.

EXEMPLO 1

Gravador exclusivo para pic´s de 18 pinos (PIC16C84, PIC16f84, PIC16F84A, PIC16F628, etc ). Visite a ótima pagina http://www.furb.br/~mw/pratica/, para mais informações. Este é o gravador que eu uso diariamente e recomendo-o. Ele obtém os 13VCC para o MCLR de um diodo zener e os 5VCC de alimentação de um 7805. Os outros zeners (5,6V) são para controlar a tenção nos pinos de SDA e SDL. Este modelo, não precisa de fonte externa. O software a ser utilizado é o IC-PROG ( http://www.ic-prog.com/ ), com as configurações ja mencionadas a cima.

2 zeners 5v 4 res 10k 1 7805 (formato transistor - BC) 1 1n 1 cap eletrolitico 22uF/16v 1 cap eletrolítico 470uF/16v 1 zener 13V 1 cap 100nF cerâmico 1 soquete dip18 torneado 1 conector DB9 fêmea + capa 1,5 mts de cabo 5 vias com malha 1 kit parafusos espaçadores (base do gravador) 1 PIC 16f84A - 4p

R1 10K Resistor

R2 1.5K Resistor

D2 5.1V/0.5W Zener

D3 1N4148 ou 1N4448 Diodo

D4 1N4148 ou 1N4448 Diodo

D5 1N4148 ou 1N4448 Diodo

D6 8.2V/0.5W Zener

D7 1N4148 ou 1N4448 Diodo

C2 100μF/25V Capacitor eletrolitico

C3 22μF/16V ou 47μF/6.3V Capacitor tantalo

Q1 BC547B Transistor NPN

Q2 BC547B Transistor NPN

P1 DS25 (female) 25 pol DSUB connector

P2 Conector Conector para programação no circuito

Não esqueça dos 2 jumpers em baixo da placa

EXEMPLO 3

Um outro bom exemplo de gravador pode ser obtido em:

http://www.semis.demon.co.uk/ http://www.semis.demon.co.uk/uJDM/uJDMmain.htm

Ele foi desenvolvido com base no JDM original, porém tem seu funcionamento simplificado. É conhecido como micro JDM (uJDM).

TODOS OS PROGRAMAS, AQUI MENSIONADOS SÃO “FREEWARE”, OU

SEJA, POSSUEM LIVRE DISTRIBUIÇÃO. NÃO ME RESPONSABILIZO POR

QUALQUER DANO CAUSADO EM SEU EQUIPAMENTO.

NOSSA INTENÇÃO NÃO FOI A DE APROFUNDAR NAS TÉCNICAS DE

PROGRAMAÇÃO DE MICROCONTROLADORES, MAS SIM CATIVAR O

INTERESSE DO LEITOR PELO FACINATE MUNDO DA AUTOMAÇÃO,

TECNOLOGIA E MICROCONTROLADORES.

ABRAÇOS,

PEDRO V. T. TREVISAN

([email protected])

VISITE MEU SITE

http://www.mecatrom.cjb.net/