Carregar apresentação
A apresentação está carregando. Por favor, espere
1
PIC16F877A Linguagem C e Assembly
Jadsonlee da Silva Sá
2
IDE PCW – CCS C Desenvolvido pela CCS – www.ccsinfo.com
Utilizado para desenvolver projetos em linguagem C para PICs – Compatível com o padrão ANSI. O IDE consiste de três módulos independentes: PCB Dispositivos de 12 bits. PCM Dispositivos de 14 bits. PCH Dispositivos de 16 bits. PCD Dispositivos de 24 bits.
3
IDE PCW – CCS C Manual digite f12.
4
IDE PCW – CCS C Desenvolvendo um projeto. Project New Source File.
Inclui o uC 16F877A. Utilizado para programar as opções de word_configuration – view/fuses valid. Define clock utilizado.
5
Aplicação - LED Utilizar o pino B3 para controlar o LED.
A queda de tensão no LED é de 0,7 V e a corrente nominal de até 20 mA. O PIC fornece no máximo 20 mA.
6
Aplicação - LED Programas em C (CCS) e Assembly (MPLAB).
O atraso entre ligar/desligar é aproximadamente zero.
7
Exercício - LED Em grupo: faça um programa em C e outro em assembly que dê um atraso de 1 s entre o ligar/desligar e desligar/ligar do LED.
8
Proteus Ferramenta para desenvolvimento de sistemas eletrônicos.
ARES Projeto de circuitos para prototipação. ISIS Simulação de circuitos eletrônicos. Instalação...
9
Proteus .
10
Configuração Básica PIC16F877A.
11
Exercício Em grupo: monte o circuito do PIC/LED e execute o programa do exercício anterior no Proteus.
12
Interrupções Assembly. Apenas PC é salvo automaticamente na pilha.
W, STATUS e PCLATH devem ser salvos via software. Para ser acessível na mesma posição por todos os bancos (0x70-0x7F).
13
Interrupções Assembly.
Verificar qual bit IF do periférico utilizado está setado. Se o bit IF testado for zero, salta o goto. A seqüência dos testes indica a prioridade das interrupções. Porta B INT Timer 0 END_ISR aponta para o endereço imediatamente antes do restaurar o contexto.
14
Interrupções Exemplo – INT externa (RB0).
15
Interrupções Exemplo – INT externa (RB0).
16
Interrupções Linguagem C - CCS.
Existem duas formas básicas para tratar as interrupções: Automático - O compilador gera quase todo código necessário para tratar a interrupção – O programador apenas inclui as funções de tratamento. Manual - O programador inclui todo código para tratar a interrupção. O automático é simples, mas o código torna-se maior. Enquanto que no manual, o código é menor, mas o programador deve incluir todo código para realizar o tratamento.
17
Interrupções Linguagem C - CCS. Automático.
A diretiva #INT_xxx deve ser utilizada antes da função ISR. O compilador zera o bit IF do periférico. Ver manual (#INT_xxx)
18
Interrupções Linguagem C - CCS. Automático – Definição da prioridade.
#priority nome_int1, nome_int2,... nome_int1 possui a maior prioridade...
19
Interrupções Linguagem C - CCS. Manual.
Apenas a diretiva #INT_GLOBAL deve ser utilizada. #locate Prioridade é idêntica ao procedimento em assembly.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.