Autor Tema: beep con tMR0 y TMR1  (Leído 1726 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado manongo_123

  • PIC10
  • *
  • Mensajes: 25
beep con tMR0 y TMR1
« en: 19 de Diciembre de 2005, 20:11:00 »

hola amigos, hace poco me pidieron un proyecto electronico, de un secuenciador con decenas de  juegos. todo bien hasta ahi, solo que no encuentro la manera de conseguir el sonido beep del buzzer mediante el tmr cada vez que presiono un pulsador.

si alguien me pudiera dar un ejemplo a que frecuencia y como ponerlo sin que interfiera al programa se lo agradeceria mucho.   el proyecto lo hago en asembler con un pic 16f628 usando uno de sus dos timer.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: beep con tMR0 y TMR1
« Respuesta #1 en: 20 de Diciembre de 2005, 09:16:00 »
Hola Manongo, si el buzzer es si  oscilador, necesitaras de dos pines del pic, para que trabajen opuestos....
y no creo que sea necesario consumir recursos del tmr..., ya que el beep tendra que funcionar cuando esta pulsado, entonces en la misma rutina del antirrebote, por ejemplo dentro de la demora, puedes testear un bit del registro que empleas en la demora, y activas o desactivas las salidas.... y obtendras el sonido Sonrisa Gigante

a modo de ejemplo


suponiendo que empleas una demora como esta
DEMORA   ;RETURN
   MOVLW   .80
   MOVWF   TIEMPO1
OTRO2
   MOVLW   .110
   MOVWF    TIEMPO2
OTRO
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
   DECFSZ   TIEMPO2,F
   GOTO    OTRO
   DECFSZ    TIEMPO1,F
   GOTO    OTRO2
   RETURN   

LO REEMPLAZAS POR ESTA DEMORA, DONDE PIN1 Y PIN2 SERIAN LAS PATITAS DEFINIDAS DONDE COLOCAS EL BUZZER

DEMORA   
   MOVLW   .80
   MOVWF   TIEMPO1
OTRO2
   MOVLW   .110
   MOVWF    TIEMPO2
OTRO

   BTFSS   TIEMPO2,4
   GOTO   $+4
   BSF      PIN1
   BCF      PIN2
   GOTO   $+4
   
   BCF      PIN1
   BSF      PIN2
   NOP

   DECFSZ   TIEMPO2,F
   GOTO    OTRO
   DECFSZ    TIEMPO1,F
   GOTO    OTRO2
   RETURN   

Navidad

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: beep con tMR0 y TMR1
« Respuesta #2 en: 20 de Diciembre de 2005, 09:23:00 »
ten en cuenta que es a modo de ejemplo, ya que no se si estas empleando cristal, ni se la frecuencia.... asi que tendras que calcular el periodo para saber la frecuencia del beep, o cambiar el bit que testeas del registro tiempo2,5..... o tiempo2,7...
o tiempo1,X  Sonrisa Gigante

Norberto Navidad
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: beep con tMR0 y TMR1
« Respuesta #3 en: 20 de Diciembre de 2005, 09:54:00 »
Escrito originalmente por manongo_123

hola amigos, hace poco me pidieron un proyecto electronico, de un secuenciador con decenas de  juegos. todo bien hasta ahi, solo que no encuentro la manera de conseguir el sonido beep del buzzer mediante el tmr cada vez que presiono un pulsador.

si alguien me pudiera dar un ejemplo a que frecuencia y como ponerlo sin que interfiera al programa se lo agradeceria mucho.   el proyecto lo hago en asembler con un pic 16f628 usando uno de sus dos timer.


Y porque no usas el PWM ?

Te facilitará todo.

Saludos

PD: sabes si el  buzzer realmente funciona?

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)