Archivos utilizados por MPLAB IDE

Anuncio
Archivos utilizados por MPLAB IDE
Definición de extensiones
asm
Archivo fuente del lenguaje ensamblador MPASM
c
Archivo fuente de C
chm
Archivo de ayuda HTML
cod
Contiene información sobre símbolos y código objeto
cof
Contiene información sobre símbolos y código objeto
err
Archivo de error generado por el ensamblador o compilador
evt
Archivo de eventos de MPLAB ICE 2000
exe
Programa o archivo ejecutable
fsti
Archivo de MPLAB SIM
gld
Archivo de scripts de MPLAB LINK30 (linker)
h
Archivo include de C
hex, hxl,.hxh
Código máquina de PICmicro MCU en formato hex
inc
Archivo include de MPASM
lkr
Archivo de scripts de MPLINK (linker)
lst
Archivo de listado generado por el ensamblador/compilador
mcp
Contiene información relativa al proyecto
mcw
Contiene información relativa al proyecto workspace
o
Archivo objeto de dsPIC langauge tools
obj
Archivo objeto de Microchip language tools
psti
Estímulos de pin para MPLAB SIM
rsti
Estímulos de registro para MPLAB SIM
ssti
Estímulos síncronos para MPLAB SIM
s
Archivo fuente del lenguaje ensamblador MPLAB ASM30
trc
Archivos de trazas
trg
Archivo de trigger en MPLAB ICE 2000
Directivas por Tipos
CONTROL
Directive
CONSTANT
Description
Declare Symbol Constant
Syntax
constant <label> [=
<expr>,...,<label> [=
<expr>] ]
#DEFINE
Define a Text
Substitution Label
#define <name>
[[(<arg>,...,<arg>)]
<value>]
END
End Program Block
end
EQU
Define an Assembly Constant
<label> equ <expr>
#INCLUDE
Include Additional Source File
include <<include_file>>
include "<include_file>"
ORG
Set Program Origin
<label> org <expr>
PROCESSOR
Set Processor Type
processor <processsor_type>
RADIX
Specify Default Radix
radix <default_radix>
SET
Define an Assembler Variable
<label> set <expr>
#UNDEFINE
Delete a Substitution Label
#undefine <label>
VARIABLE
Declare Symbol Variable
variable <label> [=
<expr>,..., <label> [=
<expr>] ]
CONDITIONAL ASSEMBLY
Directive
Description
ELSE
Begin Alternative
Assembly Block to IF
Syntax
else
ENDIF
ENDW
End Conditional Assembly Block
End a While Loop
endif
endw
IF
Begin Conditionally
Assembled Code Block
if <expr>
IFDEF
IFNDEF
WHILE
Execute If Symbol is Defined
Execute If Symbol is Not Defined
Perform Loop While
Condition is True
ifdef <label>
ifndef <label>
while <expr>
DATA
Directive
_ _BADRAM
Description
Specify invalidRAM locations
Syntax
_ _badram <expr>
CBLOCK
Define a Block of Constants
cblock [<expr>]
_ _CONFIG
Set configuration fuses
_ _config <expr> OR
__config <addr>, <expr>
DA
Store Strings in Program Memory
[<label>] da <expr> [,
<expr2>, ..., <exprn>]
DATA
Create Numeric and Text Data
data <expr>,[,<expr>,...,<expr>] data
"<text_string>"[,"<text_string>",...]
DB
Declare Data of One Byte
db <expr>[,<expr>,...,<expr>]
DE
Declare EEPROM Data
de <expr>[,<expr>,...,<expr>]
DT
Define Table
dt <expr>[,<expr>,...,<expr>]
DW
Declare Data of One Word
dw <expr>[,<expr>,...,<expr>]
ENDC
DATA
Directive
FILL
End an Automatic Constant Block
endc
Description
Specify Memory Fill Value
Syntax
fill <expr>, <count>
_ _IDLOCS
_ _MAXRAM
RES
Set ID locations
Specify maximum RAM address
Reserve Memory
_ _idlocs <expr>
_ _maxram <expr>
res <mem_units>
LISTING
Directive
ERROR
Description
Issue an Error Message
Syntax
error "<text_string>"
ERRORLEVEL
LIST
Set Messge Level
Listing Options
errorlevel 0|1|2|<+-><msg>
list [<option>[,...,<option>]]
MESSG
Create User Defined Message
messg "<message_text>"
NOLIST
Turn off Listing Output
nolist
PAGE
Insert Listing Page Eject
page
SPACE
Insert Blank Listing Lines
space [<expr>]
SUBTITLE
Specify Program Subtitle
subtitl "<sub_text>"
TITLE
Specify Program Title
title "<title_text>"
MACRO
Directive
ENDM
Description
End a Macro Definition
Syntax
endm
EXITM
EXPAND
LOCAL
Exit from a Macro
Expand Macro Listing
Declare Local Macro Variable
exitm
expand
local <label> [,<label>]
MACRO
NOEXPAND
Declare Macro Definition
Turn off Macro Expansion
<label> macro [<arg>,...,<arg>]
noexpand
OBJECT FILE
Directive
BANKISEL
Description
Generate RAM bank selecting
code for indirect addressing
Syntax
bankisel <label>
BANKSEL
Generate RAM bank
selecting code
banksel <label>
CODE
EXTERN
GLOBAL
IDATA
PAGESEL
Begins executable code section
Declares an external label
Exports a defined label
Begins initialized data section
Generate ROM page
selecting code
[<name>] code [<address>]
extern <label> [ ,<label>]
extern <label> [ .<label>]
[<name>] idata [<address>]
pagesel <label>
UDATA
UDATA_ACS
Begins uninitialized data section
Begins access uninitialized
data section
[<name>] udata [<address>]
[<name>] udata_acs [<address>]
UDATA_OVR
Begins overlayed uninitialized
data section
[<name>] udata_ovr [<address>]
UDATA_SHR
Begins shared uninitialized
data section
[<name>] udata_shr [<address>]
;**************************************
;* MPASM. Ejemplo de utilización de
;* directivas
;*
;**************************************
processor 16f84a
;Establece que procesador se utilizará
radix dec
;Numeros representados en decimal
;(por defecto esta en hexadecimal)
;uso radix hex|dec|oct
#include <p16f84a.inc>
;Incluye el fichero de texto
;p16f84a.inc
DTEMP equ 0x20
DFLAG equ 0x21
DFL0 equ DTEMP+5
;Asigna expresiones a las etiguetas
;correspondientes
LARGO set 4
ANCHO set 6
AREA set ANCHO * LARGO
;Define variables en ensamblador
;equivalente a EQU
cblock 0x30
dato1,dato2
;Asigna valores desde el indicado
resultado:0,resul_h,resul_l ;a las etiquetas que siguen, se
tabla:5
;puede establecer un incremento en
;la asignacion.
aux
;dato1=0x30, dato2=0x31,resul_h=0x32
W_temp,STATUS_temp
;resul_l=0x33, tabla=0x34, aux=0x39
endc
;W_temp=0x3A,STATUS_temp=0x3B
cblock 0x20
DTEMP, DFLAG
endc
PUSH macro
;asignación equivalente a la anterior
;con la directiva EQU
;definición de macro
movwf W_temp
swapf STATUS,W
movwf STATUS_temp
ende
POP macro
swapf
movwf
swapf
swapf
STATUS_temp,W
STATUS
W_temp,f
W_temp,W
endm
#define banco1 bsf STATUS,RP0
#define banco0 bcf STATUS,RP0
org 0x00
;define una cadena de sustitución
;de texto.
;Indica la posición de de la memoria
;de programa donde se ubicara el código
;siguiente
;Vector de reset
goto Inicio
org 0x04
goto ServInt
org 0x06
;Vector de interrupción
;Inicio del programa
Inicio
banco0
clrf 0x05
banco1
clrf 0x05
movlw 65
movlw d'65'
movlw h'41'
movlw a'A'
movlw b'01000001'
movlw o'101'
call Sub1
; resto
; del
; programa
; .....
;Selecciona el banco cero
;pone a cero el registro de dirección
;0x5(PORTA)
;Selecciona el banco1
;pone a cero el registro de dirección
;0x5(TRISA)
;base decimal por defecto: radix dec
;En las siguientes instrucciones carga
;el registro W con el mismo valor en
;diferentes bases
org 0x100
ServInt
;Rutina de servicio a interrupción
PUSH
; rutina...
; ....
POP
Retfie
Sub1
;Subrutina uno
PUSH
; rutina...
; ....
POP
Return
end ;fin de programa fuente
Descargar