Autor Tema: generador de señales  (Leído 1426 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JOLUCI

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
generador de señales
« en: 10 de Septiembre de 2017, 13:52:48 »
Hola amigos.
necesito generar una forma como la de la figura 1, pero sólo puedo hacerla quedar como está en la figura 2.
¿sería posible hacerlo?
estoy enviando las figuras y los archivos adjuntos.
si algún amigo puede ayudarme, estaré muy agradecido.
« Última modificación: 01 de Octubre de 2017, 13:40:59 por JOLUCI »

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re:generador de señales
« Respuesta #1 en: 11 de Septiembre de 2017, 02:06:13 »
Tienes que tomar en cuenta la interrupción para ambos flancos, tanto de subida como de bajada, por cada que se detecte un flanco, dentro de la interrupción hay que configurar para detectar el flanco contrario. Una forma puede ser así (todo el código dentro de la interrupción):

lo que se hace es poner a la salida el valor detectado en el flanco, excepto para los flancos de 33 a 37 para el cambio a 1, mientras que para los flancos 38 y 39 para el cambio a 0.

Código: [Seleccionar]
/*******************************************************************************
*                      PROGRAMA PARA SIMULAÇÃO DE SINAIS                       *
*******************************************************************************/

#include <12F683.h>

#use delay(clock = 8000000)
#fuses INTRC_IO,NOMCLR,NOWDT,NOPROTECT,PUT,BROWNOUT

char saida1=0;

#int_ext
void indexador(){
   saida1++;
   if (saida1 >= 40) {
      saida1 = 0;
   }

   // L_TO_H
   if (input(PIN_A2)) {
      if (saida1 < 32 || saida1 >= 37) {
         output_high(PIN_A0);
      }
      ext_int_edge(H_TO_L);
   }
   // H_TO_L
   else {
      if (saida1 < 38 || saida1 >= 39) {
         output_low(PIN_A0);
      }
      ext_int_edge(L_TO_H);
   }
}

void main() {
   ext_int_edge(L_TO_H);                //interrupção externa na borda de descida
   SET_TRIS_A (0b00000100);             //configura GP2 como entrada e o resto saida
   Enable_interrupts(INT_EXT);          //habilita interrupção externa
   Enable_Interrupts(GLOBAL);           //habilita interrupção global
   
   while(true) {
   }
}
« Última modificación: 11 de Septiembre de 2017, 02:13:36 por Geo »
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado JOLUCI

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re:generador de señales
« Respuesta #2 en: 11 de Septiembre de 2017, 08:19:16 »
Gracias Geo,

me voy testar y despues retorno

Desconectado JOLUCI

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re:generador de señales
« Respuesta #3 en: 11 de Septiembre de 2017, 09:24:37 »
Geo,

la señal se hizo perfecta, pero los ciclos no quedan iguales en la simulación que hice.
puede ser error del compilador o del simulador que estoy usando aquí?
ha ocurrido lo mismo con usted en la simulación?

Desconectado JOLUCI

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re:generador de señales
« Respuesta #4 en: 11 de Septiembre de 2017, 09:26:42 »
me olvidé de adjuntar la figura de mi simulación.

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re:generador de señales
« Respuesta #5 en: 11 de Septiembre de 2017, 18:17:08 »
Probablemente sea el simulador, pero intenta analizar el funcionamiento del programa en varios ciclos para validar que no sea problema de este.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado JOLUCI

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re:generador de señales
« Respuesta #6 en: 12 de Septiembre de 2017, 06:50:20 »
Gracias Geo,

me voy testar y despues retorno.

Desconectado JOLUCI

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re:generador de señales
« Respuesta #7 en: 16 de Septiembre de 2017, 21:07:14 »
Hola Geo,
la señal se quedó perfecta grabada en el pic, no tiene errores.
voy a dejar un mensaje privado para usted.

Desconectado JOLUCI

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re:generador de señales
« Respuesta #8 en: 28 de Octubre de 2017, 10:22:35 »
Hola Geo,

¿sería posible hacer más formatos de onda con otras cantidades de pulsos y poner en un código que tiene botones y display para seleccionar?
Estoy tratando de hacer aquí, pero no estoy obteniendo resultados


 

anything