TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: miguel valdivia en 17 de Mayo de 2012, 10:23:11

Título: Cambio de en programa
Publicado por: miguel valdivia en 17 de Mayo de 2012, 10:23:11
Este programa esta hecho en c para pic me lo hizo un amigo ,pero yo solo manejo assembler.
incluyo simulación . Este programa aciva 5 puertos de un 16f84a y genera un tono distinto en cada activación positiva.
El problema es los pulsadores son normal abiertos y yo necesito normal cerrado.
intente bajarme un compilador de c y me dejo  c........
menos mal que lo tenia respaldado.
si fuera en a assembler ya lo habría modificado por que conosco las instrucioones para chequear un puerto(btfss y btfsc)
hay alguien de buen corazon que me ayude
Título: Re: Cambio de en programa
Publicado por: Suky en 17 de Mayo de 2012, 11:06:31
Sabes la lógica del programa? Parece no ser difícil, como para que lo encares en ASM, lenguaje que conoces  ;-)
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 17 de Mayo de 2012, 11:31:52
Si tienes razón, pero por eso me ayudó un amigo por que la generacón de tonos no la se aplicar en assembler.
Y como el ya lo hizo funciono espectacular hasta que se fue del pais y me cambiaron la necesidad de poner interruptor normal cerrado.
gracias
Título: Re: Cambio de en programa
Publicado por: amyver en 17 de Mayo de 2012, 11:51:42
Si tienes razón, pero por eso me ayudó un amigo por que la generacón de tonos no la se aplicar en assembler.
Y como el ya lo hizo funciono espectacular hasta que se fue del pais y me cambiaron la necesidad de poner interruptor normal cerrado.
gracias


Bueno si lo que pretendes es no meterte en la programacion del PIC, te sugiero que incorpores en tu hardware un negador 7404, y asi poder usar un interruptor normalmente cerrado...

saludos...
Título: Re: Cambio de en programa
Publicado por: Suky en 17 de Mayo de 2012, 12:45:00
Coloca el sector de código que testea los pulsadores
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 17 de Mayo de 2012, 13:59:43
no se cual es esa parte , pero aca esta el codigo completo
no entiendo mucho c


list        p=16f88a
#include <16f84A.h>
#fuses XT,NOWDT,PROTECT
#use delay(clock=4000000)

#include<tones.c>

pulso(byte numero, long frec){
output_low(PIN_B7);
while(numero >0){
generate_tone(frec,200);
//output_high(PIN_B7);
//delay_ms(400);
output_low(PIN_B7);
delay_ms(100);
numero--;
}
delay_ms(600);
}

main()  {
   
   while(TRUE)
   {
   if(input(PIN_B0))
   pulso(1,1000);
   if(input(PIN_B1))
   pulso(2,800);
   if(input(PIN_B2))
   pulso(3,600);
   if(input(PIN_B3))
   pulso(4,400);
   if(input(PIN_B4))
   pulso(5,200);

   }
}
Título: Re: Cambio de en programa
Publicado por: Suky en 17 de Mayo de 2012, 14:02:03
Es mucho más sencillo que asm  :mrgreen: Donde dice  if(input(PIN_B0)) y en todos lo demás, coloca  if(!input(PIN_B0)). Con eso invertís la lógica.


Saludos!
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 17 de Mayo de 2012, 14:07:01
voy descargar un compilador y les cuento
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 17 de Mayo de 2012, 16:24:08
Me bajé dos compiladores y me dieron puros dolores de cabeza.
Alguien podría compilarlo por mi plizz
Título: Re: Cambio de en programa
Publicado por: MGLSOFT en 17 de Mayo de 2012, 17:55:51
Bajate el compilador DEMO (gratuito) de CCS, que seguro te dejara compilar ese programa. :mrgreen:
Si te da a elegir un PIC especifico, procura pedirle el que esta en el programa PIC16F88a.
Aqui el link para que lo bajes:
http://www.ccsinfo.com/ccsfreedemo.php (http://www.ccsinfo.com/ccsfreedemo.php)
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 18 de Mayo de 2012, 00:13:50
lo  logré¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
lo que hice para no quebrarme la cabeza con C  fué desamblar el hexa y generar un archivo en assembler.
Luego leí el codigo y encontré el sector donde se testea los pines
los inverti y listo.
Muchas gracias igual por su tiempo
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 18 de Mayo de 2012, 00:14:52
este es el codigo generado y correguido
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 18 de Mayo de 2012, 13:49:42
Pero ahora me gustaía ativar mas pines del micro .
se puede ??????????
Título: Re: Cambio de en programa
Publicado por: MGLSOFT en 18 de Mayo de 2012, 15:05:37
Si que se puede, pero en que lenguaje vas a trabajar??
Pregunto porque eso puede hacer que necesites poner el tema en otro subforo...
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 18 de Mayo de 2012, 18:47:55
Yo preferiría en assembler, pero pero la generación de tonos que esta hecho este programa me complica en assembler.
Título: Re: Cambio de en programa
Publicado por: miguel valdivia en 22 de Mayo de 2012, 16:16:20
Como lo pongo en otro subforo si no manejo C y el codigo en assembler que que tengo esta desifrado de un hexa?????