Академический Документы
Профессиональный Документы
Культура Документы
(continuação)
Ricardo de Oliveira Duarte
DECOM – UFOP
(baseado no curso de SE do prof. Manoel L. Anido NCE – UFRJ)
1
Sumário
Introdução a Família PIC e fabricantes.
Características Básicas
Arquitetura do PIC
Organização da Memória no PIC
Registradores do PIC
Assembly e Conjunto de Instruções do PIC.
Endereçamento de Memória no PIC.
• 0x55, 0x3C
3
Conjunto de Instruções do PIC 16F877A
35 instruções diferentes.
3 tipos de categorias:
• Para operações com BYTEs.
• Para operações com BITs.
• Para operações com Literais e Operações de Controle.
Para operações com BYTEs (byte-oriented instructions),
‘f’ representa um registrador e ‘d’ representa o destino,
que será usado pela instrução. E se ´d´ for omitido? W
será o destino.
5
Conjunto de Instruções do PIC 16F877A
6
Conjunto de Instruções do PIC 16F877A
7
Assembly do PIC
Diretivas Assembly:
• ORG xxxxH ;origem, inicia montagem programa no end. xxxxH
• EQU ;define uma constante
• DB ;armazena bytes na mem. programa, define dados
• END ; termina arquivo assembly
8
Sumário
Introdução a Família PIC e fabricantes.
Características Básicas
Arquitetura do PIC
Organização da Memória no PIC
Registradores do PIC
Assembly e Conjunto de Instruções do PIC.
Endereçamento de Memória no PIC.
10
Sumário
Introdução a Família PIC e fabricantes.
Ambientes de Desenvolvimento para o PIC.
Características Básicas
Arquitetura do PIC
Organização da Memória no PIC
Registradores do PIC
Assembly e Conjunto de Instruções do PIC.
RA3:RA0 RA4
12
Entradas Digitais são do tipo TTL ou Schmitt Trigger
Família PIC16Fxx.
Características
Hardware: Porta A
(continuação)
RA
5
13
Família PIC16Fxx.
Características Hardware: Porta B
Resistencia de pull-
up da porta B,
configurável por
software através do
bit RBPU, do
registrador
OPTION_REG.
Cuidado! Verifique
a corrente máxima
que uma porta pode
entregar/absorver.
RB3:RB0
RB4:RB7 14
Características elétricas: Portas A e B
15
Exemplo de código de inicialização da porta A
16
PIC 16F877A - Porta C
17
PIC 16F877A - Porta D e E
18
Características elétricas: Portas C e D
19
Características elétricas: Porta E
20
Sumário
Introdução a Família PIC e fabricantes.
Características Básicas
Arquitetura do PIC
Organização da Memória no PIC
Registradores do PIC
Assembly e Conjunto de Instruções do PIC.
Endereçamento de Memória no PIC.
descida – pinos RB4…RB7).
22
Interrupções no PIC 16F877A: Funcionamento
O que acontece na ocorrência de uma
interrupção?
1. O Flag da Interrupção correspondente é marcado.
2. Se as chaves de habilitação da interrupção (geral e individual)
estiverem ligadas, o sistema será paralisado e desviado para
0004h.
As chaves geral e individual para cada uma
23
Interrupções no PIC 16F877A: Funcionamento
A chave geral (GIE) é desligada antes de desviar
para o endereço 0004h.
• Logo: 2 interrupções não podem ser tratadas ao mesmo tempo.
• Nada impede que o FLAG de uma segunda interrupção seja
ativado.
• Ao final do tratamento da interrupção, GIE deverá ser ligada
(instrução RETFIE).
É necessário testar os flags de todas as INTs,
Assembly e Conjunto de Instruções do PIC.
Endereçamento de Memória no PIC.
• Graphical project manager
• Visual Device Initializer (VDI)
• Version control support for MS Source Safe, CVS, PVCS, Subversion
• MPASM™ macro assembler with MPLINK™ linker and MPLIB™ librarian
• MPLAB ASM30 assembler, MPLAB LINK30 and Utilities for PIC24 and dsPIC
devices
• PROCMD command line programmer for MPLAB PM3 and PRO MATE® II
• Visual PROCMD for simplified GUI control of MPLAB PM3 and PRO MATE® II
• CCS PCB C Compiler
• PICStart Plus programmer
• PICDEM-2 demo board
• PIC ICD in circuit debugger
• PIC-ICE In circuit emulator
26
Ambientes de Desenvolvimento para o PIC
Compilador C para o PIC:
• Fabricante CCS
• Modelos:
PCB para PICs de 12 bits (série PIC12)
PCM para PICs de 14 bits (séries PIC14 e PIC16)
PCH para PICs de 16 bits (série PIC18)
PCWH (todos)
MPLAB:
•
•
•
•
Grava o PIC e Depura.
Ambiente de Desenvolvimento Integrado (IDE)
Permite compilar de dentro do ambiente (Necessita compilador CCS).
28
Fluxo de Desenvolvimento
29
Primeiro Exemplo de um Programa em C para o PIC
// Definições do Microcontrolador
// Configurações do Projeto
// Definição da Entradas
// Definição da Saídas
#define LED0 PIN_B0
// Programa principal
void main ()
{
int tempo = 100;
while(true) {
output_high(LED0); // seta o pino B0
delay_ms(tempo); // aguarda 100 ms
output_low(LED0); // reseta o pino B0
delay_ms(tempo); // aguarda 100 ms
}
}
30
Segundo Exemplo de um Programa em C para o PIC
31
Segundo Exemplo de um Programa em C para o PIC
// Definições do Microcontrolador
// Configurações do Projeto
#use delay(clock=4000000) // informa ao sistema o frequência de clock, para temporização.
// Definição da Entradas
#define BOTAO PIN_B0
// Definição da Saídas
#define LED0 PIN_B1
// Programa principal
void main ()
{
for(;;) {
if(!input(BOTAO))
output_low(LED0);
else output_high(LED0);
}
} 32
Segundo Exemplo de um Programa em C para o PIC
33
Tipos de Dados: Linguagem C do PIC
34
Declaração e Tipos de Constantes
Constantes:
• const valor1 = 10;
• const valor2 = -5;
• const valor3 = 55.12;
• const valor4 = ´a´;
• const valor5 = “teste”;
•
•
const valor6 = 0x50;
const valor7 = 050;
35
Sumário
Introdução a Família PIC e fabricantes.
Características Básicas
Arquitetura do PIC
Organização da Memória no PIC
Registradores do PIC
Assembly e Conjunto de Instruções do PIC.
Circuito de alimentação
(capacitor de 0.1 µF).
Circuito para programação em
serie.
Circuito de reset.
Circuito de clock (~10 MHz).
Periféricos:
• Conexão com LEDs, displays de 7
segmentos.
• Conexão com botões e interruptores.
38
Hardware mínimo para montagens com os PICs
Circuitos de CLOCK.
Diversas
configurações:
• Com circuito RC,
proporciona baixo custo,
mas estabilidade também
baixa. Permite obter uma
saida de frequencia F/4 no
Para XTAL 4 MHz: C1=C2=27 pF. RS só terminal OSC2/CLKOUT.
é necessário em algumas configurações
• Para melhorar a
de HS. estabilidade se implementa
circuitos com cristal de
quarzo (3 configurações):
LP (baixo consumo), de 0
a 200 kHz.
XT, de 200 kHz a 4 MHz.
HS (alta velocidade), de 4
MHz a 10 MHz (20 MHz
para PICs de média e alta
linha).
39
Hardware mínimo para montagens com os PICs
Para a interconexão de
periféricos é necessário
consultar as características de
hardware das portas A e B.
registrador OPTION_REG.
Cuidado! Verifique a corrente
máxima que uma porta pode
entregar/absorver.
Configuração mínima do
PIC16F84 sem periféricos,
com um clock de 4 MHz
40
Hardware mínimo para montagens com os PICs
Periféricos básicos de
saída: LEDs e display de 7
segmentos.
• Como conectamos mais de um
display?
• Quantos números de displays
podemos conectar?
• O que acontece com o consumo?
41
Hardware mínimo para montagens com os PICs
Periféricos básicos de
entrada: botões e
interruptores.
• Eliminação de debounce por
software.
• Eliminação de debounce por hw
usando as carcaterísticas do PIC.
• Eliminação de debounce por hw
externo.
Variantes: teclado matricial.
42
Relés e motores DC
O par darlington não é
imprescindível.
Aplicações com
pequenos relés um único
transistor bipolar é
suficiente.
A velocidade do motor DC é
controlada com PWM e pelo
circuito integrado 293D, na
figura ao lado.
43
Motores de passo e Áudio
Gerar um som:
• Para gerar um som é
necessário gerar um sinal de
onda quadrada de período
apropriado.
44