Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

06/01/2015 #1


Generar sonidos con pic16f877a en Ansi C
hola amigos , estoy por terminar un proyecto y deseo añadirle pitidos o sonidos cuando realice alguna acción de proceso .... entonces mi duda salta como usar algún método que me permita poder generar esos pitidos o melodías en un pic 16f877 con compilador Hitech en ansi C

he buscado ya muchas información pero solo encuentro métodos y librerías para Picc o mikroC o CCS . pero casi nada para Ansi C

me podrian dar Luz sobre como hacerlo , que librerías o método puedo usar según con las características que he mencionado :(

se los agradecería un montón
no importan si son ejemplos sencillos lo que necesito es como se dice un inicio de como por lo menos mandar un pitido decente a través de un zumbador o spekear
06/01/2015 #2

Avatar de cosmefulanito04

Para generar sonidos, solo basta que uses una señal cuadrada y lo mandes a un parlante o uses un buzzer.

Para generar audio esto te puede servir (a pesar de estar en AVR, es C):

[Aporte] Audio - Atmega16 en adelante

De hecho yo me basé en un proyecto hecho en PIC, no recuerdo cual, pero es cuestión de buscar "Pic + audio + pwm" en google.
06/01/2015 #3


hola y gracias por tu respuesta , lo que he logrado hasta ahora es hacer un sonido algo asi como un PUM PUM asi como cuando golpeas el microfono algo asi mediante un codigo simple de :
RB4=1 ; delay_us(500); RB4=0; delay_us(500); dentro de un FOR ;

LO QUE BUSCO ES mas hacer sonido o Pitidos algo asi como suenan los coches cuando retroceden o sonidos como una melodia Midi ....habrá una libreria en C o ansi C que sea compatible con el compilador Hitech para Pic16f87 ???? y mas o menos como seria un codigo ejemplo

voy a chekar lo que me dices , mientras espero respuesta de los demás compañeros , muchas gracias por tu ayuda amigo cosmefulanito04
06/01/2015 #4
Moderador general

Avatar de DOSMETROS

Tocando de oido

Probá achicar los delay para aumentar la frecuencia

Saludos !
06/01/2015 #5


GRACIAS DOSMETROS!!! ese era el dato que me faltaba ahora si puedo generar sonidos y pitidos sin librerias en pic Ansi C para Pic16f877

gracias amigos ......... para los que se encuentren con la misma duda para con este compilador Hitech Ansi C les dejo la operacion aqui :

antes del void main va esto : void bocina(unsigned int);

luego viene el codigo que desean en : void main (){ bocina(1);bocina(3);} //ejemplo solo para probar

luego del cuerpo del void main viene la subrutina que he creado para el sonido

void bocina(unsigned int music){
int sonido;
switch(music){
case 1 :for(sonido=0;sonido<=40;sonido++){RC3=1;pausa(t20 ms);RC3=0;pausa(t20ms);}fbreak;
case 2 :for(sonido=0;sonido<=60;sonido++){RC3=1;pausa(t10 ms);RC3=0;pausa(t10ms);}break;
case 3 :for(sonido=0;sonido<=100;sonido++){RC3=1;pausa(t5 ms);RC3=0;pausa(t5ms);}break;
}}

las variables pausa(t20ms),(t10ms),(t5ms) son otra subrutinas que he creado para otros eventos y para ahorrar codigo tambien las use para los sonidos pero lo pueden reemplazar con las constantes clasicas que son delay_Us(50) y demas ....


GRACIAS POR AYUDARME AMIGOS (Y)
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.