Académique Documents
Professionnel Documents
Culture Documents
EMENTA
Ementa: Boto e LED, Teclado matriz, Displays multiplexados, Display de cristal lquido, Converso A/D, Modulao por largura de pulso PWM, Comunicao serial RS232 e RS485, Protocolos I2C e SPI. Material didtico: ZANCO, W. S. Microcontroladores PIC18F4520 com Linguagem C - uma abordagem prtica e objetiva. 1 edio. So Paulo: rica, 2010.
OBJETIVOS
Objetivo geral: Desenvolver projetos de circuitos eletrnicos microcontrolados para fins profissionais, incluindo interface homem-mquina e comunicao de dados. Objetivos especficos: 1 - Empregar as tcnicas utilizadas para interfacear microcontroladores com dispositivos perifricos utilizados na construo de interface homem-mquina. 2 - Compreender os protocolos de comunicao mais utilizados na troca de informaes entre microcontroladores e outros dispositivos. 3 - Aplicar a Linguagem C no desenvolvimento de aplicaes profissionais para microcontroladores.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
MICROCONTROLADORES
Baseado no PIC18F4520
SUMRIO ARQUIVO 1
OBJETIVOS
Ao final da aula o aluno dever ser capaz de:
1. Diferenciar as diversas arquiteturas utilizadas no projeto de microcomputadores.
Disciplina: Microcontroladores
O computador processa as informaes e retorna o resultado para o usurio por meio de um dispositivo de sada como o vdeo ou impressora.
10
ARQUITETURA VON-NEUMANN
CPU um circuito integrado (CI) capaz de executar um conjunto de tarefas denominadas instrues. A CPU gerencia todo o sistema e executa os programas. Memria armazena os dados que sero processados e os programas que sero executados. Dispositivos de I/O so os responsveis pela entrada e sada de dados do sistema.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
11
ARQUITETURA HARVARD
12
ORGANIZAO DA MEMRIA
Do ponto de vista lgico, a memria composta por vrias localidades podendo armazenar um conjunto de bits em cada uma. Cada localidade possui seu prprio endereo, sendo este um valor numrico representado no sistema hexadecimal.
13
CPU CISC as CPUs utilizadas em computadores que seguem a arquitetura Von-Neumann so do tipo CISC, as quais possuem um set de instrues ampliado (muitas instrues). CPU RISC as CPUs utilizadas em computadores que seguem a arquitetura Harvard so do tipo RISC, as quais possuem um set de instrues reduzido (poucas instrues).
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
14
GERENCIANDO O SISTEMA
Para gerenciar o sistema a CPU precisa se comunicar com a memria e com os dispositivos de I/O. Esta comunicao pode ser de leitura ou de escrita.
Escrita -
quando a CPU envia uma informao para ser armazenada numa localidade de memria ou para um dispositivo de I/O. Por exemplo, quando a CPU envia uma informao para o vdeo, dizemos que ela escreveu no vdeo.
Leitura -
quando a CPU busca uma informao na memria ou num dispositivo de I/O. Quando uma tecla pressionada no teclado e aparece no vdeo, porque a CPU efetuou uma leitura no teclado e escreveu o dado lido no vdeo.
15
GERENCIANDO O SISTEMA
A CPU reconhece cada um dos dispositivos de I/O, assim como cada localidade de memria pelo seu respectivo endereo.
16
- Etc.
17
MEMRIAS SEMICONDUTORAS
So memrias implementadas em circuitos integrados (chips de memria).
Esto divididas em dois grupos: Voltil e no-voltil. Voltil a memria que perde os dados armazenados quando a energia desligada. No-voltil a memria que no perde os dados armazenados quando a energia desligada.
18
ROM - Somente leitura - Vem programada de fbrica - No pode ser reprogramada PROM - Somente leitura - programada eletricamente pelo usurio - Uma vez programada se transforma numa ROM - No pode ser reprogramada
MEMRIA
NO-VOLTIL
EPROM - Somente Leitura - Programvel Eletricamente pelo usurio - Possui uma janela que quando exposta a raios ultravioletas seus dados so apagados, podendo ser reprogramada. E2PROM - Somente Leitura - Programvel Eletricamente pelo usurio - semelhante a uma EPROM s que seus dados so apagados por meio de uma tenso eltrica aplicada a um de seus pinos, podendo ser reprogramada da mesma forma que uma EPROM. FLASH-ROM: - Somente Leitura - Programvel Eletricamente pelo usurio - Pode ser reprogramada por software.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
19
DRAM - Leitura e escrita - Fabricada com capacitores - Precisa de refresh SRAM - Leitura e escrita - Fabricada com flip flop - No precisa de refresh - mais rpida do que DRAM
MEMRIA
NO-VOLTIL
20
MICROCONTROLADOR
um computador em um nico chip. O microcontrolador integra em um nico invlucro CPU, memria e dispositivos de I/O. O primeiro microcontrolador, o 8048, foi desenvolvido pela empresa Intel no final da dcada de setenta. Ao contrrio do microcontrolador, para se construir um computador com um microprocessador necessrio utilizar memria externa e dispositivos de I/O externos.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
21
22
23
FAMLIA PIC
Desenvolvida pela empresa Microchip Technology Inc.
- PIC10 (8 bits) (menor microcontrolador do mundo)
- PIC12 (8 bits) - PIC14 (8 bits)
- PIC16 (8 bits)
- PIC18 (8 bits) - PIC24 (16 bits) - PIC32 (32 bits) - DSPIC (16 bits)
(processador digital de sinais + microcontrolador)
Wagner da Silva Zanco Microcontroladores PIC18F4520 com Linguagem C
24
OTP - Estes dispositivos utilizam memria PROM para armazenar os programas. Eles vem de fbrica vazios,
sendo a gravao do programa feita pelo usurio, no podendo o mesmo ser regravado. Isto impede a utilizao destes componentes na fase de desenvolvimento e teste de programas. Os mesmos so identificados pelo sufixo C.
EPROM - Estes componentes possuem uma janela onde podemos, atravs da exposio a raios ultravioletas,
apagar os programas gravados no chip. Embora seja trabalhoso efetuar o apagamento do programa, estes componentes podem ser utilizados na fase de testes e desenvolvimento de programas. O sufixo pode ser JW para dispositivos com encapsulamento do tipo DIP ou CL para dispositivos com encapsulamento do tipo PLCC.
FLASH - Identificados pelo sufixo F, estes componentes permitem ser apagados/regravados milhares de
vezes atravs de sinais eltricos aplicados em alguns de seus pinos, o que pode ser feito automaticamente por um circuito gravador de Flash como o Picstart Plus, fabricado pela Microchip ou o JDM, cujo hardware encontrado facilmente na internet. Estes componentes so a melhor opo para teste de programas e implementao final dos circuitos, visto que esto ficando cada dia mais baratos.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
25
Capture/Compare/PWM Modules
Enhanced Capture/Compare/PWM Modules Comunicao serial
2
0 MSSP, Enhanced USART
2
0 MSSP, Enhanced USART
1
1 MSSP, Enhanced USART
1
1 MSSP, Enhanced USART
No
No
Sim
Sim
10 canais de entrada 10 canais de entrada 13 canais de entrada 13 canais de entrada POR, BOR, instruo POR, BOR, instruo POR, BOR, instruo POR, BOR, instruo RESET, Stack Full, RESET, Stack Full, RESET, Stack Full, RESET, Stack Full, Stack Underflow Stack Underflow Stack Underflow Stack Underflow (PWRT, OST), (PWRT, OST), (PWRT, OST), (PWRT, OST), (opcional), WDT (opcional), WDT (opcional), WDT (opcional), WDT
Resets (e Delays)
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
75 instrues; 83 75 instrues; 83 75 instrues; 83 75 instrues; 83 com set de com set de com set de com set de instrues estendido instrues estendido instrues estendido instrues estendido habilitado habilitado habilitado habilitado
Encapsulamentos
26
Arquitetura Harvard
27
28
PERIFRICOS DO PIC18F4520
Capacidade de corrente de 20 mA pino;
Trs pinos de interrupo externa; Mdulo temporizador/contadorTimer0 de 16 bits; Mdulo temporizador/contadorTimer1 de 16 bits; Mdulo temporizadorTimer2 de 8 bits; Mdulo temporizador/contadorTimer3 de 16 bits; Treze canais de conversor A/D de 10 bits; Dois mdulos Capture/Compare/PWM(CCP); Mdulo de deteco de alta e baixa tenso; Mdulo MSSP podendo operar nos modos I2CTM e SPITM; Mdulo EUSART com endereamento avanado com suporte para RS232, RS485 e LIN 1.2; Dois comparadores analgicos com entradas multiplexadas; Mdulo PSP (Parallel Slave Port).
29
PINAGEM DO PIC18F4520
30
PINO MULTIPLEXADO
Um pino est multiplexado quando ele capaz de desempenhar mais de uma funo. necessrio, no entanto, que o pino seja configurado para executar uma das funes para as quais ele est apto. A configurao que define como o pino ir funcionar normalmente feita por meio do programa. Algumas funes, entretanto, podem ser ativadas por meio dos bits de configurao na hora da gravao. Vejamos o caso a seguir.
Pino 1 /MCLR VPP RE3 Funo Reset Tenso de programao Pino digital TTL /MCLR/VPP/RE3 ST
Veja que o pino 1 do PIC18F4520 multiplexado com trs funes diferentes. importante observar que somente uma das funes pode esta ativa de cada vez. Quando uma funo ativada, automaticamente so desativadas as outras funes. Neste caso a funo reset ativada na hora da programao por meio dos bits de configurao. Estando a funo /MCLR desativada a funo digital do pino ser ativada (RE3).
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
31
Port C (RC7:RC0)
Port D (RD7:RD0) Port E (RE3:RE0).
36 pinos de I/O.
O pino RE3 s pode ser configurado como entrada digital.
32
CONFIGURAO DO OSCILADOR
O PIC18F4520 possui dez formas diferentes de funcionamento do oscilador. Os bits de configurao FOSC2:FOSC0 (CONFIG1H<2:0>) so os responsveis pela configurao do oscilador. As opes disponveis para o oscilador so:
LP: cristal de baixa potncia (at 200KHz).
XT: cristal/ressonador (at 4MHz). HS: cristal/ressonador de alta frequncia (acima de 4MHz). HSPLL: cristal/ressonador de alta frequncia com o PLL habilitado.
RC: RC externo com sada de clock. Essa opo fornece ao pino OSC2/CLKO/RA6 um sinal digital com frequncia quatro vezes menor que a do oscilador principal (Fosc/4).
RCIO: RC externo. Nessa opo o RA6 funciona como pino digital. INTIO1: oscilador interno com Fosc/4 no pino RA6 e pino RA7 configurado como digital. INTIO2: oscilador interno com RA6 e RA7 configurados como pinos digitais. EC: oscilador externo com sada de clock. Essa opo fornece no pino OSC2/CLKO/RA6 um sinal digital com frequncia quatro vezes menor que a do oscilador principal. ECIO: oscilador externo. Nessa opo o pino RA6 funciona como digital.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
33
OSCILADOR
Qualquer instruo executada pela CPU utiliza como referncia um sinal de clock que gerado por um oscilador. O Oscilador pode ser externo ou interno.
34
SINAL DE CLOCK
O sinal de clock uma onda quadrada que sincroniza a execuo das instrues executadas pela CPU.
Os Microcontroladores PIC gastam quatro ciclos de clock (ciclo de instruo) para executar uma instruo, salvo algumas excees. O ciclo de instruo tambm chamado de clock interno.
35
OSCILADOR CRISTAL/RESSONADOR
Boa preciso do oscilador, como aquelas que envolvem o uso de temporizadores, por exemplo. Figura 1.4: Oscilador a cristal Figura 1.5: Ressonador de trs pinos. A opo para os bits de configurao deve ser LP, XT, HS ou HSPLL e a frequncia do oscilador ser definida pelo cristal/ressonador.
Microcontroladores PIC18F4520 com Linguagem C
Tipo de oscilador
Frequncia do cristal
LP XT
HS
36
OSCILADOR RC
Quando a preciso do clock no essencial para uma determinada aplicao, o oscilador com RC externo pode ser uma boa opo. A frequncia do sinal de clock determinada pela tenso de alimentao, pelos valores de RC e pela variao de temperatura.
Na configurao RC do oscilador, um sinal digital com Fosc/4 fornecido no pino OSC2/CLK0/RA6. Na configurao RCIO ativada a funo RA6 no pino 14.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
37
OSCILADOR INTERNO
O PIC18F4520 possui dois osciladores internos que, se ativados, dispensam a utilizao de componentes externos. INTOSC - frequncia de 8MHz e pode ser utilizado como oscilador de clock. Tem associado um recurso chamado postscaler que permite prover frequncias na faixa de 31kHz - 4MHz. habilitado quando selecionada uma frequncia de clock dentro da faixa de 125kHz a 8MHz. INTRC, prov uma frequncia de 31kHz. habilitado se ele for selecionado como origem do sinal de clock. Ele tambm habilitado automaticamente quando um dos seguintes recursos selecionado:
38
Registrador OSCTUNE Bit 7 R/W - 0 INTSRC Bit 6 R/W - 0 PLLEN Bit 5 Bit 4 R/W - 0 TUN4 Bit 3 R/W - 0 TUN3
Endereo F98h Bit 2 R/W - 0 TUN2 Bit 1 R/W - 0 TUN1 Bit 0 R/W - 0 TUN0
Bit 7:
Bit 6:
39
OSCILADOR EXTERNO
Seja para obter um alto nvel de preciso do clock ou para sincronizar o microcontrolador com outros dispositivos presentes no sistema, o PIC18F4520 permite que um sinal de clock externo seja aplicado ao pino OSC1, como mostra a figura abaixo. Na configurao EC do oscilador um sinal digital com Fosc/4 fornecido no pino OSC2/CLKO/RA6. Na configurao ECIO ativada a funo RA6 no pino 14. Um oscilador externo pode ser conectado ao pino OSC1 com uma das seguintes opes: EC, ECIO ou HS habilitada.
40
HSPLL
41
CHAVEAMENTO DO OSCILADOR
O PIC18F4520 possui trs fontes diferentes que podem gerar o sinal de clock. O sinal de clock pode vir do oscilador primrio, do oscilador secundrio ou de um dos osciladores internos. Oscilador primrio: inclui as opes cristal/ressonador externo, RC externo, oscilador externo e os osciladores internos. Oscilador secundrio: est associado ao mdulo Timer1 e inclui a conexo de um cristal de baixa frequncia entre os pinos T1OSO e T1OS1. Para que o oscilador secundrio possa ser utilizado necessrio que o mdulo Timer1 esteja habilitado. O cristal de baixa frequncia conectado entre os pinos T1OSO e T1OS1 normalmente de 32,768kHz e pode ser utilizado como base de tempo para um RTC (Real Time Clock). Osciladores internos: alm de fazerem parte do set de opes do oscilador primrio, esto disponveis como fontes de clock para o modo de energia gerenciado (power-managed). O oscilador interno INTRC ainda utilizado como fonte de clock para vrios recursos especiais, tais como WDT e Fail-Safe Clock Monitor.
Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco
42
Registrador OSCCON Bit 7 R/W - 0 IDLEN Bit 6 R/W - 1 IRCF2 Bit 5 R/W - 0 IRCF1 Bit 4 R/W - 0 IRCF0 Bit 3 R(1) OSTS
Endereo FD3h Bit 2 R-0 IOFS Bit 1 R/W - 0 SCS1 Bit 0 R/W - 0 SCS0
Bit 7:
Bit 6:4:
43
Registrador OSCCON Bit 7 R/W - 0 IDLEN Bit 6 R/W - 1 IRCF2 Bit 5 R/W - 0 IRCF1 Bit 4 R/W - 0 IRCF0 Bit 3 R(1) OSTS
Endereo FD3h Bit 2 R-0 IOFS Bit 1 R/W - 0 SCS1 Bit 0 R/W - 0 SCS0
Bit 3:
Bit 2:
Bit 1:0:
Notas: (1) - Nvel lgico aps o Reset depende do status do bit de configurao IESO. (2) - Origem selecionada pelo bit OSCTUNE<7>.
44
OSCILADOR DO PIC18F4520
45
46
47
48
EXERCCIOS
1. Qual a frequncia de clock mxima na qual pode operar o PIC18F4520?
7. O PIC18F4520 dispe de sete modos de funcionamento aplicados gerncia e conservao de energia. Quais so eles e como afetam a disponibilidade do clock para a CPU e os demais perifricos?
49