Autor Tema: sonido con pic  (Leído 1625 veces)

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

Desconectado miguel valdivia

  • PIC10
  • *
  • Mensajes: 46
sonido con pic
« en: 30 de Mayo de 2012, 23:48:57 »
Generé un sonido de 1 khz con el pic 16f84a, con retardos del la librería del libro 16f84.
Pero no puedo hacerlo parar o durar el tiempo que yo quiera.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: sonido con pic
« Respuesta #1 en: 31 de Mayo de 2012, 03:33:09 »
Código: ASM
  1. LIST            P=16F84A
  2.         INCLUDE         <P16F84A.INC>
  3.         __CONFIG        _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
  4.  
  5.         CBLOCK  0x0C
  6.    CONTADOR
  7.         ENDC
  8.        
  9. #DEFINE  SPK    PORTB,0
  10.  
  11.  
  12.         ORG     0
  13. Inicio
  14.  
  15.         bsf             STATUS,RP0                              ; Acceso al Banco 1.
  16.         bcf             SPK                                            
  17.         bcf             STATUS,RP0                              ; Acceso al Banco 0.
  18.  
  19. Principal
  20.  
  21.         bsf             SPK
  22.                                                                        
  23.      call       Retardo_500micros                            
  24.  
  25.         bcf             SPK                                    
  26.  
  27.      call       Retardo_500micros
  28.    
  29. espera_1seg  
  30.               movlw     0x100               ; b'11111111'
  31.               movwf     CONTADOR        ; 1 |
  32.                                        
  33.              decfsz     CONTADOR,1       
  34.              goto     SPKOFF
  35.  
  36.              goto    Inicio
  37.  
  38. SPKOFF    bcf   SPK
  39.  
  40.              goto Inicio
  41.              
  42.         INCLUDE  <RETARDOS.INC>
  43.  
  44.         END

Hola.
No es necesario tener que volver a configurar TRISB si siempre va a tener el mismo valor. Lo que tienes que hacer, es volver al punto después de configurar dicho registro.

En el retardo, espera_1seg hay algunas cosas que están mal.

0x100 no sirve en un pic de 8 bit. Lo más probable, es que el compilador te tome el siguiente valor 0x10; que en todo caso no corresponde con el comentario b'11111111', con respecto a tu comentario, tienes que poner 0xFF

La rutina de espera_1seg está mal. Solo se descuenta una sola vez la variable contador. Eso pasa porque, cuando se ejecuta DECFSZ, salta a goto inicio o goto SPKOFF; y en la rutina SPKOFF va a inicio.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado miguel valdivia

  • PIC10
  • *
  • Mensajes: 46
Re: sonido con pic
« Respuesta #2 en: 31 de Mayo de 2012, 12:49:04 »
Como sería entonces ??????

Desconectado miguel valdivia

  • PIC10
  • *
  • Mensajes: 46
Re: sonido con pic
« Respuesta #3 en: 01 de Junio de 2012, 00:06:54 »
Gracias Leon Pic , ya lo logré, pero el tiempo es muy poco deberé hacer mas retardo para que sea
un segundo.debo agregar mas cosas al programa que ire detallando.


 

anything