Professional Documents
Culture Documents
Introduo
MICROPROCESSADORES E MICROCONTROLADORES
Ou seja, voc usa um microprocessador dentro de um microcomputador e ele, em conjunto com um monte de outros CIs, trabalham direitinho.
Introduo
MICROPROCESSADORES E MICROCONTROLADORES
Microcontrolador um componente completo por si s. Basta um programa e ele executa uma funo especfica. Dentro do microcontrolador temos memria RAM, FLASH, EEPROM ou E2PROM.
Introduo
Lgica Digital
Vamos simplificar resumindo a lgica em dois nmeros ou como falamos muito, em dois dgitos: O 0 (zero) e o 1 (um). Quando falamos em 0 (zero), estamos nos referindo a zero Volt DC e quando falamos em 1 (um) estamos falando em + Vcc. No caso dos microcontroladores PIC, geralmente, estaremos falando que:
0 = GND e 1 = 5Vcc
Introduo
TIPOS DE MEMORIAS
Memria ROM Memria RAM Memria EPROM Memria EEPROM ou E2PROM Memria FLASH
Introduo
REGISTRADORES
um endereo na memria Formados por 8 nmeros, ou melhor, 8 bits. Estes bits podem ser 0 (zero) ou 1 (um). Muitas vezes chamamos estes bits de Flags. Flag ento um bit dentro de um registrador.
Introduo
BITs e BYTES
Imaginemos 8 posies: Cada posio pode ter um valor de 0 (zero) ou 1 (um). Esta posio com um valor um bit, ou melhor, bit o valor que h dentro da posio. Quando juntamos 8 bits, como no exemplo a seguir: 00110011 Chamamos isto de byte. Um byte ento um conjunto de 8 bits.
Introduo
NIBBLES e WORDS
s vezes os bits podem ser agrupados em nmeros de 4, veja: 0101 Damos a isto o nome de nibble. Outras vezes os bits podem se agrupar com nmeros maiores que 8, veja: 001100110011 Chamamos isto de Word: 16 bits ou 2 bytes
Introduo
Curiosidade importante
Nos PICS existem registradores especiais Podemos atravs dos bits ou flags destes registradores
ajustar o funcionamento do PIC ou saber como ele est operando, para isto basta escrever ou ler os flags destes registradores.
Introduo
Os primeiros microcontroladores usavam uma estrutura interna que tinha apenas um caminho para trafegar os dados e endereos. Lembre-se, dados so informaes e endereos so os locais onde sero armazenados os dados. O nome mais correto para este caminho Bus. Com apenas um bus tnhamos que trafegar hora endereos, hora dados. Esta arquitetura de construo recebe o nome de Von Neumann.
Introduo
Hoje em dia, os PICs particularmente, trabalham com dois bus. Um para dados e outro para endereos. Este tipo de arquitetura recebe o nome de Harvard. Os PICs possuem ainda um outro recurso, chamado de Pipeline.
Introduo
CISC : possua mais de 100 instrues, o que dificultava a memorizao do programador. RISC: Este set tem entre 33 a 35 instrues dependendo do PIC. Isto ajuda na memorizao, mas, exige mais do programador. como falar fluentemente um outro idioma, conhecendo poucas palavras, all right?
Conhecendo o PIC
Fabricado pela Microchip (www.microchip.com) Possui 18 pinos Possui 35 instrues Clock at 20MHz Memoria de programa tipo Flash de 2k words 224 bytes de memoria RAM de dados
Conhecendo o PIC
128 bytes de memoria EEPROM para dados Instrues de 14 bits com 200ns de execuo Dados de 8 bits 15 registradores especiais 16 pinos de entrada/saida (I/O) ICPS, timer interno, watchdog, CPP, USART,
PINAGEM
Arquitetura interna
RETIRANDO OS PERIFRICOS
Arquitetura interna
Conhecendo o PIC
PINAGEM
Conhecendo o PIC
Conhecendo o PIC
Conhecendo o PIC
Conhecendo o PIC
0 0
0 0
1 0
1 0
1 1
1 1
0 1
0 1
Conhecendo o PIC
Com 8 nveis (imagine que voc quer guardar 8 caixas iguais uma sobre a outra, cada caixa contm algumas coisas. Pois bem, cada caixa um nvel). H de se ter cuidado para no derrubar esta pilha ou como se diz em programao, estourar a pilha (vai que dentro de uma pilha voc colocou dinamite.).
Conhecendo o PIC
O Watch dog um contador independente de tudo dentro do PIC, que reseta o mesmo, aps um certo perodo. Para que serve isto? Digamos que voc fez um projeto com um PIC para controlar um elevador, de repente um pico de tenso o PIC travao fazendo com que o elevador pare. Depois de um curto perodo o Watch dog reseta o PIC, o programa volta a funcionar e o elevador volta a funcionar tambm.
Conhecendo o PIC
Uma USART serial, mas o que isto? um recurso que permitir que voc converse com outros equipamentos, como uma porta serial de um microcomputador. USART significa Universal Synchronous Asynchrous Receiver transmiter ou Transmissor Universal Sncrono ou Assncrono.
Conhecendo o PIC
S para lembrar PWM quer dizer modulao por largura de pulso, com este recurso voc conseguir variar o brilho de uma lmpada, a velocidade de um motor DC ou at fazer uma fonte chaveada.
Conhecendo o PIC
2 comparadores analgicos com referncia interna, programvel, de tenso. Quem gosta de amplificadores operacionais prepare-se para se divertir, e quem no os conhece vamos ler um livro sobre OpAmp ou AmpOp.
Conhecendo o PIC
um sinal de onda quadrada que serve para fazer um circuito lgico funcionar ou para sincronizar diversos dispositivos ou circuitos. O nvel alto do clock =+Vcc O nvel baixo = zero volt. O perodo alto (+Vcc) chamado de Ton e o perodo baixo de Toff. Ton = Toff. melhor que sejam iguais T = Ton + ToFF ( a soma resulta no periodo) T = 1/F
Conhecendo o PIC
Ao usarmos um cristal de 4MHz teremos uma freqncia de 4MHz e o perodo de: T = 1/F = 1/4.000.000 = 250ns ou 250 nano segundos Ou 0,00000025 segundos.
Conhecendo o PIC
Q2, Q3 e Q4 PIPELINE: Busca a informao em um ciclo e a executa no prximo Para um clock de 4MHz, cada instruo executada em 1s, desde que no afete o Program Counter
Conhecendo o PIC
RC_CLKOUT = oscilador RC externo que deve estar ligado no pino 16. No pino 15 teremos este sinal dividido por 4. RC_I/O = Oscilador externo mais que usa o pino 15 como I/O.
Conhecendo o PIC
XT = cristal de 200kHz at 4MHz HS = cristal acima de 4MHz LS = cristal abaixo de 200kHz INTOSC_I/O = oscilador interno com o pino 15 operando como I/O. INTOSC_CLKOUT = o pino 15 teremos este sinal dividido por 4
Conhecendo o PIC
OS REGISTRADORES
Conhecendo o PIC
O REGISTRADOR W
Conhecendo o PIC
O REGISTRADOR W
O nome registrador W vem de Registrador Work, que traduzindo, quer dizer trabalho. atravs dele que carregamos os outros registradores com valores diversos e corretos para um perfeito funcionamento de nosso projeto. Caso desejamos colocar um determinado valor em um registrador de uso geral (GPR), primeiro temos que carregar o registrador W e depois passar para o outro registrador.
Conhecento o PIC
BIBLIOGRAFIA
Conhecento o PIC
Onde pesquisar...
Site da Microchip
www.microchip.com
Livro
Desbravando o PIC, David Jos
Internet
O incio de tudo...
Programando em Assembly
Fique atento!
Programando em Assembly
Programando em Assembly
Programando em Assembly
Exemplo: __CONFIG _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _PWRTE_ON & _LVP_OFF & _MCLRE_OFF
Programando em Assembly
#DEFINE BANK0 BCF STATUS, RP0 #DEFINE BANK1 BSF STATUS, RP0
Programando em Assembly
ORG 0X00 ; inicio do programa GOTO INICIO ; pula para o label INICIO ORG 0X04 ; inicio da interrupo RETFIE ; retorna da interrupo
Programando em Assembly
INICIO CLRF PORTA CLRF PORTB BANK1 MOVLW B00000000' MOVWF TRISA MOVLW B'00110000' MOVWF TRISB
Programando em Assembly
MOVLW B'10000011' MOVWF OPTION_REG MOVLW B'00000000' MOVWF INTCON BANK0 MOVLW B'00000111' MOVWF CMCON CLRF PORTA CLRF PORTB
Programando em Assembly
MAIN BTFSS GOTO GOTO BOTAO_LIB BCF GOTO BOTAO_PRES BSF GOTO END
Programando em Assembly
1 passo: Abra o proteus Isis 2 passo: Monte o circuito (fique atento!) 3 passo: Adicione um source. 4 passo: Edite o source.asm que voc criou com o cdigo apresentado 5 passo: Compile o programa pelo comando BUILD 6 passo: Carregue o programa para a memria do microcontrolador 7 passo: Execute o programa.
Agora sim pra valer... Cuidado ao errar, pois pode ser que voc erre somente uma vez, pois o PIC frgil...
Gravando no PIC
1 passo: Abra o IC-PROG 2 passo: Mude o idioma para portugues. 3 passo: Ative o driver para windows XP 4 passo: Utilize a API do Windows 5 passo: Selecione o PIC 6 passo: Carregue o programa em HEX para a memria do IC-PROG 7 passo: Configure os Fuses, caso necessrio 8 passo: Apague a memoria do PIC e faa a gravao do novo programa.
SIM
NO
Programando em C
Programando em C
Programando em C
Programando em C
void main() { byte i=1; SET_TRIS_A(255); SET_TRIS_B(0); while(true){ OUTPUT_LOW(PIN_B0); delay_ms(1000); OUTPUT_HIGH(PIN_B0); delay_ms(1000); } }
Programando em C
Outro exemplo
#include "16f628a.h" #fuses INTRC_IO, NOMCLR, NOWDT void main() { static boolean led=0; SET_TRIS_A(255); SET_TRIS_B(0); OUTPUT_B(0); while(true) { if(input(PIN_A0)) { output_bit(PIN_B0, led); //Quando pressiona A0, manda o bit da varivel led para o B0 led=!led; //inverte o bit da varivel led while(input(PIN_A0)) //Este lao deixa o microcontrolador sem fazer nada enquanto {// o boto A0 ainda estiver pressionado, s voltando a rodar o programa quando soltar }// o boto A0. Isto evita totalmente que o programa pense que o boto foi }// pressionado sem querer... } }
Programando em C
E agora?
Com
o cdigo compilado, voc pode carreg-lo para a memria do microcontrolodor tanto do Proteus quanto o real.
SIM
NO
Programando em Ladder
CONFIGURAES INICIAIS
Programando em Ladder
PROGAMANDO
Insira um contato em srie com uma sada. Xbotao YLamp |----] [---------------------------( )----|
D um nome ao contato e um nome sada. Determine um pino (bit de um port) para corresponder quela instruo Compile e carregue para a memria do uC (Proteus ou real).
Onde pesquisar...
Site da Microchip www.microchip.com Livros: Desbravando o PIC (Davi Jos) Microcontroladores PIC: Tcnicas avanadas ( Fbio Pereira) PIC: Programao em C (Fbio Pereira) Buscar no google...
Esta foi a ponta do Iceberg... Agora cabe a cada um buscar/aprofundar mais no assunto...