Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COMANDOS
COMANDOS
2. INSTRUCCIONES ARITMETICAS
3. INSTRUCCIONES LOGICAS
UNIVERSIDAD NACIONAL DEL CALLAO FIEE MICROCONTROLADORES DSPIC30F
6. INSTRUCCIONES DE COMPARACION
7. INSTRUCCIONES DE SALTO
UNIVERSIDAD NACIONAL DEL CALLAO FIEE MICROCONTROLADORES DSPIC30F
8. INSTRUCCION DE STACK
9. INSTRUCCION DE CONTROL
MOV W0,W1
Mueve el contenido del registro W0 al registro W1.
Como se sabe un dspics está compuesto de 16 registros de trabajo desde W0, W1, W2... W15
de 16 bits de extensión de cada registro, por este esta instrucción se puede realizar entre
UNIVERSIDAD NACIONAL DEL CALLAO FIEE MICROCONTROLADORES DSPIC30F
registros de trabajo (registros W) y registros que disponga el dspic, también son válidas las
siguientes instrucciones:
MOV 0x0102, W6
Mueve la palabra (16 bits) de la localización 0x0102 al registro W6.
MOV #0x0003,W0
Mueve un literal (un numero) al registro WEG=W0
ADD W0,[W4],W5
Sumo el contenido de W0 mas el contenido de la dirección de memoria especificado por W4 y
el resultado lo coloco en el registro de W5 , la suma es en forma de palabra ( 16 bits)
ADD 0x0106,WREG
Suma W0 al contenido de la dirección de memoria especificado por 0x0106 y lo coloco el
resultado en W0
ADD RAM100
Sumo el contenido de la dirección de memoria (variable) especificad por RAM100 al registro
W0 y el resultado lo deposito en la variable RAM100 mismo
PUSH.S
Guarda en la pila de datos el valor de W0, W1, W3, y del registro Status
PUSH W0
Guarda en la pila el valor de W0, esta instrucción es equivalente en lenguaje ensamblador con
mov a MOV W0,[W15++]
PUSH W8
Guarda en la pila de datos el valor de W8
POP.S
Retorna de la pila de datos el valor de W0, W1, W3, y del registro Status
POP W0
Retorna de la pila de datos el valor de W0, esta instrucción aquí descrita con mov es
equivalente a MOV [--W15],W0
BTSC SR,#Z
El BIT Z (zero) del registro estatus es cero? Si es salta una instrucción, sino continua con la
siguiente instrucción.
BSET PORTB,#3
Si el BIT 3 de la pórtico PORTB del Dspic30Fxxxx es 1? Si es salta una instrucción , sino continua
con la siguiente instrucción.
UNIVERSIDAD NACIONAL DEL CALLAO FIEE MICROCONTROLADORES DSPIC30F
MOV 0xFF00, W0
MOV WO, TRISB
Configuro los pines 15:8 del port B como entradas y los pines 7:0 del port B del dspic como
salida
LAC W1,A
Muevo el contenido de W1 al registro acumulador del DSPIC
MPY W4*W5,A
Multiplique W4*W5 y el resultado coloquelo en acumulador, esta instrucción se ejecuta en
dos ciclos de reloj , he aquí en donde entra en operación las ventajas y características del dspic
SAC.R A,W0
Guarda Acumulador al registro W0
COMANDOS EN MPLAB
.bss
Ensambla las variables a usarse
.bss
B1: .space4 ; cuatro bytes reservado para B1
B2: .space1 ; 1 byte reservado par B1
Count: .space 2 ; 2 bytes reservado para Count
Sistema oscilador
Osciladores primarios
El reloj del sistema viene dado por la selección de una fuente de oscilación y una
configuración de la señal dada por éste.
Tipos de osciladores:
Interno: Disponible en el propio PIC.
Externo: Generalmente instalado en la placa en donde se inserta el
PIC.
Tratamientos posibles a la señal dada por el oscilador:
Phase Locked Loop (PLL): Multiplica una señal de reloj (aumenta la
frecuencia).
Programmable Clock Divider: Divide una señal de reloj (disminuye la
frecuencia).
La selección del reloj y sus propiedades se guardan en los registros de
configuración del sistema (memoria de código).
Ejemplo de configuración
Problema propuesto
1. Programar el dsPIC para que al tener pulsado un bot´on X se mantenga encendido el
LED correspondiente X. Al soltar el bot´on se debe apagar el LED. Pueden tenerse
pulsados varios botones a la vez.