TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: JOJOJORGE5 en 10 de Noviembre de 2015, 18:56:34
-
hola amigos, viendo que este PIC es increíblemente barato y se puede conseguir en smd me puse a hacer pruebitas, y viendo el data sheet del PIC puede funcionar a 20mhz lo compre le puse un cristal de 20mhz y escribí un pequeño programita en ccs para encender y apagar el puerto B todos los pines sin ningun retardo y medí la salida con un osciloscopio para ver que tan rápido puede cambiar la salida de los pines y vi que esta es como maximo de 1mhz
sera que se le puede sacar mas jugo al pic?
este micro me agrada mucho por que es muy barato, y en smd no ocupa mucho espacio y para muchas aplicaciones seria muy útil.
aunque ahora quería probar hasta que punto podía conmutar el pin
-
Si. lo maximo que podrias cambiar seria cada 4/20Mhz = 200ns , necesitas 2 cambios asi que te lleva a tener 400ns, es decir 2.5Mhz.
El tema esta en que necesitas hacer un salto, y cada tanto vas a tener un ciclo con un poco mas de duracion.
Con respeto a lo barato, el PIC16F628A ya es "viejito" y estoy mas que seguro que tenes mejores PIC a menos precio ya que ese.
Un ejemplo seria este:
http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC16F1826
Cuesta 0.5 dolares menos y tiene muchas mas cosas. Misma cantidad de pines, un poco mas de memoria EEPROM, mas frecuencia, etc
Es posible lograrlo con C, sea cual sea el compilador a esa velocidad, pero te acercas mas al funcionamiento casi en ASM
-
si estoy consciente de que ya es un micro muy antiguo, pero lo que me atrajo es el precio
también estoy buscando alternativas pero quería probar primero este que se encuentra donde sea, y muy barato en las tiendas chinas.
por supuesto hay micros mejores normalmente yo trabajo con los pic18 y 32 y las limitaciones en memoria de este pequeñito y viejito son otro punto en su contra, pero para muchas aplicaciones me parece que esta muy interesante, todavía quiero ver hasta que punto se le puede exprimir velocidad.
-
Si es CCS creo que lo mas rapido que podes hacer es:
#use fast_io(b)
void main(){
set_tris_b(0);
while(1)
{
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
output_high(PIN_B0);
output_low(PIN_B0);
}
}
Seguro que me falta codigo y que las funciones estan mal, pero eso seria lo mas rapido Suponiendo que el while se transforme en un GOTO y los output_x() em BSF y BCF
Bueno el precio Chino no puedo decir nada.. Hablo de precio desde microchip
No se cuanto estaran esos PIC en los chinos, pero en microchip los 5k estan a 1.7 dolares. lo cual es caro para lo que es.