Pic 16F877A
Pic 16F877A
Pic 16F877A
__CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _RC_OSC &
_WRT_ENABLE_ON & _LVP_ON & _DEBUG_OFF & _CPD_OFF
FURG/CCC
03133 - ELETRÔNICA DIGITAL
MICROCONTROLADOR PIC16F877A
Programação em Linguagem Assembly
Código absoluto
Fluxo da programação de um microcontrolador (PIC)
• Labels
Palavra que designa uma linha ou trecho de um programa
Deve iniciar por uma letra ou “_” (underline)
• Instruções
São específicas para cada família de µC;
Sintaxe definida
• Operandos (Argumentos)
São os elementos das instruções a serem executadas
Podem ser registradores, constantes ou variáveis
• Diretivas
São comandos do programa tradutor/montador (assembler)
São utilizados para controlar o assembler: sua entrada, saída e alocação de dados
(configuração).
• Comentários
Inseridos pelo programador, devem colocados após as instruções e iniciados por “;”
Programa exemplo contendo os elementos básicos do Assembly
p16F877.inc
Mapa da memória do
PIC16F877A (Dados)
Diretivas do Assembler (PIC)
• Diretivas de Dados → Controlam a alocação da memória e como os dados podem ser referenciados
• Diretivas de Macro → Controlam a execução e a alocação dos dados na definição das macros
access_ovr - Begin an Object File Overlay Section in Access RAM (PIC18 MCUs)
bankisel - Generate Indirect Bank Selecting Code (PIC12/16 MCUs)
Banksel - Generate Bank Selecting Code
code - Begin an Object File Code Section
code_pack - Begin an Object File Packed Code Section (PIC18 MCUs)
extern - Declare an Externally Defined Label
global - Export a Label
idata - Begin an Object File Initialized Data Section
idata_acs - Begin an Object File Initialized Data Section in Access RAM
(PIC18 MCUs)
pagesel - Generate Page Selecting Code (PIC10/12/16 MCUs)
pageselw - Generate Page Selecting Code Using WREG Commands
(PIC10/12/16 MCUs)
udata - Begin an Object File Uninitialized Data Section
udata_acs - Begin an Object File Access Uninitialized Data Section (PIC18
MCUs)
udata_ovr - Begin an Object File Overlayed Uninitialized Data Section
udata_shr - Begin an Object File Shared Uninitialized Data Section (PIC12/16
MCUs)
Diretiva macro
Uma macro é uma seqüência de instruções que pode ser inserida no código fonte
assembly. Deve ser definida antes do seu uso.