Hacer pruebas con el santo intrucción MOVLB

Hola:

Estoy observando mucho el PIC16F18875 de gama media mejorada con 49 instrucciones, son 14 más.

Quiero hacer un ejemplo sencillo sobre hacer cambios de bancos de memoria que tiene 32 y sin usar la directiva BANKSEL.

BANKSEL
Sintaxis: BANKSEL registro
Agrega las instrucciones necesarias (BSF y BCF en los registros FSR o STATUS) para cambiar al banco donde se encuentra el registro indicado.

El STATUS como es en los PIC16F84A/628/88 no funciona igual ya que no incluyen el RP0 y RP1.

bbbbbbbbbbbbbbb9.png

Quiero hacer un ejemplo con el MPLAB X en asm sobre cambiar bancos de memorias, en cada proceso que muestre cambiar sus bancos cuando lo simule.

Por ejemplo:
Estoy en el banco 0.
Cambio al banco 17.
Cambio al banco 28
Cambio al banco 31
Cambio al banco 5
Cambio al banco 22
Cambio al banco 3

Por nombrar alguno. Es para coger el truco es la instrucción MOVLB.

Saludos.
 
Hola, Meta. Acabo de revisar las instrucciones y parte de la nueva arquitectura, me gusta las mejoras.
Con la instrucción que pones, el cambio de banco se puede realizar con una sola instrucción.

La instrucción que más me llamó la atención, fue "callw", me imagino que en C se podría usar como puntero a funciones, aunque PIC C no la tiene implementada.

Seguiré leyendo. Saludos.
 
Última edición por un moderador:
Gracias por la información. La aarquitectura son el PIC de gama media mejorada.

PIC12Fxx Gama baja. 33 Intrucciones.
PIC16Fxx Gama media de 35 instrucciones.
PIC16F1xxx Gama media mejoradad 49 instrucciones. (14 instrucciones nuevos).
PIC18F Gama alta con mñas de 70 instrucciones más otros tantos específicos de cada PIC.

Microchip Anuncia Nuevos Microcontroladores PIC® Mejorados de Gama Media con 8, 14 y 20 patillas
Microchip anuncia nuevos microcontroladores PIC® de 8 bit que incorporan numerosos periféricos y caracterizados por corrientes activas inferiores a 50 µA/MHz así como corrientes extremadamente reducidas en modo dormido. Los microcontroladores PIC12F182X y PIC16F182X (PIC1XF182X) amplían la línea de productos Mejorados de gama Media con núcleo de 8 bit dentro del segmento de
8 patillas, llevando así hasta 16 el número total de microcontroladores PIC Mejorados con núcleo de
8 bit, en encapsulados de 8 a 64 patillas. Con su consumo extremadamente bajo y sus elevados niveles de integración, incluyendo detección táctil capacitiva mTouch™ y múltiples periféricos de comunicaciones, los microcontroladores de aplicación general PIC12F182X y PIC16F182X se adaptan muy bien a una amplia variedad de aplicaciones en los mercados de electrodomésticos, consumo y automóvil, entre otros.

La tecnología nanoWatt XLP sigue siendo el estándar para microcontroladores alimentados mediante baterías y, cuando se combinan con un consumo extremadamente bajo de corriente en modo activo inferior a 50 µA/MHz, mejora la eficiencia energética general en una gran variedad de aplicaciones. La arquitectura de Gama Media Mejorada de 8 bit proporciona hasta un 50% de incremento en prestaciones y 14 nuevas instrucciones que dan como resultado un aumento de hasta el 40% en la eficiencia de ejecución de código C respecto a los microcontroladores PIC16 de 8 bit de la generación anterior. Los microcontroladores PIC1XF182X incorporan interfaces dobles I2C™/SPI, más salidas PWM con bases de tiempo independientes y Modulador de Señal para Datos que permite a los diseñadores combinar muchas funciones en un solo microcontrolador.

Características de los Microcontroladores PIC1XF182X

La siguiente tabla resume las principales características de los microcontroladores PIC1XF182X.



Característica​
Frecuencia Máx.
32 MHz
Oscilador Interno
31,25 kHz a 32 MHz, Seleccionable por Software
Memoria de Programa
Hasta 14 KB Flash
EEPROM de Datos
256 Bytes
Memoria de Datos
Hasta 1 KB
Temporizadores
Hasta 4 x 8 bit, 1 x 16 bit, con Soporte de Reloj en Tiempo Real
Comunicaciones
Hasta 2 x MI2C/SPI y 1 x EUSART
Convertidor A/D
Hasta 12 x 10 bit
Comparadores
Hasta 2 x con Entradas Rail-to-Rail
Canales PWM
Hasta 4 con Bases de Tiempo Independientes
Tensión de Trabajo
1,8 – 5,5V (incluyendo funcionamiento completo con periféricos analógicos)
Corriente en Modo de Espera
20 nA a 1,8V, Típico
Detección Táctil Capacitiva mTouch
Hasta 12 Canales
Otras Funciones
Modulador de Señal para Datos


Los diseñadores pueden utilizar todo el conjunto de herramientas de desarrollo estándar de Microchip con los nuevos microcontroladores, incluyendo el MPLAB® IDE gratuito y de sencillo manejo, así como el compilador HI-TECH C® para microcontroladores PIC16. Además, existe una amplia variedad de hardware de depuración, desde el conocido Depurador/Programador In-Circuit PICkit 3 hasta el Depurador In-Circuit MPLAB ICD 3, el Programador Universal de Dispositivos MPLAB PM3 y el Emulador In-Circuit MPLAB REAL ICE™.

Fuente:
http://www.elektor.es/noticias/micr..._source=ES&utm_medium=email&utm_campaign=news

Lo anuncié aquí hace años.
 
Última edición:
Hola, Meta. Gracias por la información.
He leído algunas características, lo más resaltante (desde mi perspectiva):

- Facilidad de cambiar de banco (movlb)
- Facilidad de cambiar de página (movlp)
- 2 registros independientes para punteros (FSR) y el acceso veloz a sus datos
- Facilidad de generar tablas con los saltos relativos
- Y lo que más me gustó: el uso automático del proceso de Context de entrada y salida.

Aunque por aquí aún no puedo conseguir uno de ellos por falta de demanda.

Saludos.
 
Última edición por un moderador:
Hola:

¿Y esta instrucción movlp?

¿Qué es lo que llamas cambiar de página exactamente?

- y lo q más me gusto: el uso automático del proceso de Context de entrada y salida.

¿Puedes explicar lo que hace exactamente lo que te gusta?

Ahora vendrá el nuevo ICD 4 de Mcirochip. El IDC 3 costaba en españa unos 300 € en adelante. Hay otro de su época más de 1.000 € y la versión más barata el PicKit 3.

Parace ser que el PicKit 4 llegará dentro de un par de años pero llegará.

Saludos.

Saludos.
 
Hola de nuevo,

¿Y esta instrucción movlp?
¿Qué es lo que llamas cambiar de página exactamente?
Saludos.

Esta instrucción cambia de página de la memoria de programa. (PCLATH)
Las instrucciones goto y call tienen un rango de operación de 2k, y esta familia tiene 32k posiciones de memoria de programa, si el destino del salto esta fuera de los 2k, es necesario "compaginar". Por ejemplo esta familia con 32k tiene 16 paginas.


¿Puedes explicar lo que hace exactamente lo que te gusta?

Lo que me gusta es que ahora me ahorra el proceso de context-in (salvar registros PCLATH STATUS,BSR,WREG durante la interrupción) y context-out(devolver los valores antes de la interrupcion).


Yo tengo un PK3.5 (clone), el cual no me funciona con el MPLAB, sólo con el PK3 software. Yo lo desarme y vi que le faltaban 2 integrados, a veces funciona con el MPLAB pero generalmente dice que el voltaje es muy pequeño. Ojalá salga pronto el PK4, aunque tal vez para entonces ya deje los micros.

Saludos.
 
Última edición por un moderador:
Gracias por la explicación. El PicKit 3 salió desde por el 2008/09 que recuerde,
. Todo el mundo alegando de la poca calidad y seriedad.

Muy buen ICD 4, me hace saber vendrá o estaré en desarrollo sus otras dos herramientas.

En cuanto a la arquitectura de estos PIC, ya que el PIC16F84A tiene un buen libro morado de Enrique Palacios sobre ensamblador. Sería muy bueno que otro autor se dedicase a los PIC de gama media mejorada de 49 instrucciones como el PIC16F1xxx. Como ya no estamos en la moda de los PIC, nos quedamos la moda actual que es Arduino y Raspberry Pi.

Eso qu ehay gente ya están usando los PIC16F1xxx desde hace tiempo, pero no salen del PIC18F, en el cual está muy bien.

Si sacan libro para institutos en español aunque sea el C de PIC con el MPLAB X y el compilador XC8, sería la leche.
 
Atrás
Arriba