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

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

PIC16F877A - Parte IV Jadsonlee da Silva Sá

Apresentações semelhantes


Apresentação em tema: "PIC16F877A - Parte IV Jadsonlee da Silva Sá"— Transcrição da apresentação:

1 PIC16F877A - Parte IV Jadsonlee da Silva Sá

2 Ambiente de Desenvolvimento Integrado - IDE
Possibilitam: Editar, compilar, simular e depurar programas. IDEs PIC. MPLAB v8.56. Linguagem assembly e C. CCS. Linguagem C. Disponíveis em

3 MPLAB MPLAB_User_Guide_51519c.pdf. Disponível no site da disciplina.
Tutorial básico na pg. 41.

4 MPLAB Desenvolvendo o primeiro projeto. ProjectProject Wizard.

5 MPLAB Desenvolvendo o primeiro projeto. Selecione um dispositivo.

6 MPLAB Desenvolvendo o primeiro projeto.
Selecione as ferramentas de linguagem.

7 MPLAB Desenvolvendo o primeiro projeto. Crie um projeto.

8 MPLAB Desenvolvendo o primeiro projeto. Adicione arquivos ao projeto.
Arquivo assembly (.asm) . C:\Arquivos de programas\Microchip\MPASM Suite\Template\Code\16F877ATEMP.asm

9 MPLAB Desenvolvendo o primeiro projeto.

10 MPLAB Desenvolvendo o primeiro projeto. Construindo o projeto.
Project  Build All.

11 MPLAB Adicione código após Monitorar o conteúdo dos registradores.
main ; remaining code goes here Monitorar o conteúdo dos registradores. View  Special Function Registers.

12 MPLAB Selecionar simulador. Executar. Executar passo a passo.
Debugger  MPLAB SIM Executar. Debugger  Run. Executar passo a passo. Debugger  Step over.

13 MPLAB – Assembly Compilador MPASM

14 Diretivas - MPASM

15 Diretivas - MPASM Comandos que controlam o compilador assembly.
Existem 6 tipos de diretivas no MPASM: Controle  Controlam como o código é montado. Ex.: define, end, equ, org, constant,... Condicional assembly  Permitem que seções de códigos sejam montados condicionalmente. Ifdef, ifndef, else, endif,... Dados  Controlam a alocação da memória e fornecem o modo de se referir a itens de dados simbolicamente. Ex.: __config, __maxram, data, res,...

16 Diretivas - MPASM Listing  Permite a especificação de títulos e paginação. Ex.: List, page, title,... Macro  Controlam a execução e alocação de dados dentro das definições do corpo de uma macro. Ex.: macro, local, endm,... Arquivo objeto  Utilizadas para criação desses arquivos. Ex.: code, udata, udata_shr, udata_acs,...  DS33014K.

17 Diretivas - Template 16F877A
Define o processador utilizado. Inclui variáveis específicas do processador – Definição de registradores. Define uma constante. Define a quantidade máxima de RAM. RAM não implementada.

18 Diretivas - Template 16F877A
Define os valores dos bits do registrador configuration_word. Declara o início de uma seção de dados não inicializados compartilhados – O endereço da RAM (GPR) pode ser especificado. Definição de variáveis. Semelhante a UDATA, mas pode ser utilizada somente em partes com memória acessível em vários bancos. Reserva memória.

19 Diretivas - Template 16F877A
Definição de variáveis. Declara o início de uma seção de dados não inicializados – Códigos relocáveis.

20 Diretivas - Template 16F877A
Definição de variáveis. Declara o início de uma seção de dados overlaid não inicializados – Código relocável. É possível declarar múltiplas variáveis temporárias na mesma locação de memória.

21 Diretivas - Template 16F877A
Código reset e seleção da página da memória de programa. Declara o início de uma seção do código do programa. Faz com que o linker gere o código de seleção da página, para setar os bits da página (bits 3 e 4 de PCLATH), para a página contendo o rótulo designado.

22 Diretivas - Template 16F877A
Programa principal e seleção do banco da RAM. Declara o início do programa principal. Gera o código para setar/zerar os bits de seleção do banco RP0 e RP1 de STATUS dependendo do valor de count. . Vá para linha atual.

23 Diretivas - Template 16F877A
Código de Interrupção. GIE = 0, PC salvo na pilha e PC = 0004. Salva W em w_temp, STATUS em status_temp e PCLATH em pclath_temp Restaura contexto. PC = TOS e GIE = 1.

24 Diretivas - Template 16F877A
Memória de programa. Qual página da memória de dados e qual banco da RAM estão sendo utilizados? Página 3  FFF

25 Diretivas - Template 16F877A
Memória de dados - GPR.

26 Diretivas - Template 16F877A
Outro template. Página 0 – CLRF PCLATH entre NOP e GOTO. PCLATH 3:4?

27 Diretivas - Template 16F877A
Outro template. Qual banco da RAM? BCF STATUS, RP0 BCF STATUS, RP1

28 Diretivas - Template 16F877A
Exemplos.

29 Diretivas - Template 16F877A
Exemplos. View  Special Function Registers e File Registers

30 Diretivas - Template 16F877A
Exercícios. Utilizando o código do exemplo anterior, acrescente um código que zera as posições de memória 20h – 2Fh. Faça um programa que implemente uma progressão aritmética crescente com razão 2. Faça um programa que implemente uma progressão geométrica crescente com razão 2. Faça uma ULA que realiza todas as possíveis operações disponíveis no conjunto de instruções do PIC (Soma, subtração, and, xor, rotação,...)


Carregar ppt "PIC16F877A - Parte IV Jadsonlee da Silva Sá"

Apresentações semelhantes


Anúncios Google