A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PIC16F877A Linguagem C e Assembly

Apresentações semelhantes


Apresentação em tema: "PIC16F877A Linguagem C e Assembly"— Transcrição da apresentação:

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.


Carregar ppt "PIC16F877A Linguagem C e Assembly"

Apresentações semelhantes


Anúncios Google