Amigo
05c4r, las dudas que tienes son las que hemos tenido varios cuando nos iniciamos con los PIC18.
Vayamos por partes.
Los 18F se usan mucho porque tienen un costo casi idéntico a los 16F más grandes pero tienen en varios casos el doble de memoria flash y eeprom. Además de poder correr hasta 40Mhz o 48 en el caso de otros modelos de la familia.
La familia es muy extensa y he usado algunos nomas, pero por ahi te puede servir algo de lo que te pueda contar.
Resumiendo, te pongo las características de los 18F
1) Más memoria
2) Más velocidad de ejecución (típicamente 40Mhz)
3) Muchos modelos incluyen un cristal interno que corre hasta 32Mhz lo que evita la necesidad de poner algo externo, reduciendo las emisiones electromagnéticas y simplificando el circuito. Estos tienen posibilidad de correr de 32Khz a 32Mhz y variarle la velocidad durante la ejecución!! Sí, asi de fantástico como lo lees. Esto te permite bajar el consumo del pic durante delays prolongados o mientras se esté esperando algun evento externo que sea lento.
4) Tienen como el doble de instrucciones que los PIC16F. Si has programado a los 16F en ensamblador, te habrás topado con limitaciones como la necesidad de hacer varias instrucciones para comparar si un registro era igual a un número, si era mayor o si era menor. En los 18F estas instrucciones vienen de movida. Además tienen instrucciones para varios registros SFR (direccionamiento indirecto) lo que te permite trabajar con buffers independientes.
5) Estas instrucciones de más permiten que el código generado en C sea mucho menor, lo cual lo se acerca mucho mas a un código generado en ensamblador. Si has programado en los 16F en C, habrás notado que al incorporar algunas cosas, ya se te quedaba sin memoria lo cual es realmente un dolor de cabeza.
6) Tienen el modulo Debugger incorporado, que permite con un debugger externo controlar al PIC viendo el estado de los registros en todo momento.
7) Tienen mas opciones de oscilador. Tienen mas rangos de brown out detector. Tienen mas opciones para proteger el código (opciones totales o parciales de protección).
Tienen una fantástica instrucción RESET que te permite hacer eso, resetear al pic por software en caso de creerlo necesario!
9) Se graban mucho más rapido y para autograbarse (con un bootloader por ejemplo) pueden grabar 8 bytes por vez. Los 16F877 pueden grabar 1 por vez y los 16F877A 4 por vez.
10) Tienen 2 niveles de prioridad de interrupción, alta y normal. Es decir que si el pic está en la rutina de código normal de interrupción y llega una interrupción de alta prioridad, el código irá hasta ahí para ejecutar la interrupción más importante. Esto es útil por ejemplo si estas manejando interrupciones para teclado y para usart, donde las de usart tengan prioridad (porque deban atenederse de inmediato) y las de teclado no sea necesario que respondan dentro del microsegundo.
11) Hay muchos modelos de 18F algunos con módulos para zigbee, can bus, usb y seguramente seguirán saliendo otros.
12) En algunos 18F se le puede acoplar memoria externa, para aumentar el código de programa que puedes llevar si mal no recuerdo hasta a 2Mbytes lo cual te da un buen espacio para escribir códigos más complejos
.
13) En el modo CCP tienen además el ECPP que permite manejar hasta 4 señales en contrafase y controlando delays de inicio de fase, lo cual es muy util para manejar servos.
14) Tienen hasta 4 timers. De timer0 a timer3.
A grandes rasgos esas son las características más impactantes que puedes encontrar entre ambas familias.
Ahora bien, respondiendo a tus preguntas.
1. ¿Con todos los PIC's 18F se puede establecer una comunicacion USB sin necesidad de añadir nuevos elementos al PIC?No, solo con los que tienen el módulo USB. 18F2550, 18F4550 por citar algunos.
2. ¿Con todos los PIC's 18F se puede estableces una comunicación bluetooth sin necesidad de añadir nuevo elementos al PIC?Hasta donde yo se no tienen módulo bluetooth, debieras agregar un módulo externo.
Los módulos nuevos tienen características muy particulares, creo que sería muy extenso explicarlos a todos pero para que te quedes tranquilo, la mayoría de los módulos que tenias usando en los 16F y están presentes en los 18F se programan casi de idéntica manera con lo cual la migración te será muy fácil y rápida.
Espero te haya servido el pequeño adelanto