Thaimicrotron.com Home
 
การกำเนิดเสียง1 (Sound Generator)
 
     
  การใช้ไมโครคอนโทรลเลอร์กำเนิดเสียง  
     
 
 
 
การกำเนิดเสียงออกไปยัง PORTA.0 (RA0)
 
     
  ผลการทำงาน  
  จะเกิดเสียง บิ๊บ-บิ๊บ-บิ๊บ ดังขึ้นที่ลำโพงเปียโซ (Piezo)ที่ต่อกับ RA0  
     
     
  ตัวอย่างการใช้ฟังก์ชั่นในการสร้างเสียง  
     
  SoundC.C  
 
#include <16F628.h>
#use delay(clock=4000000)
#fuses XT,PUT,BROWNOUT,MCLR,NOWDT,NOPROTECT,NOLVP

//Sound
#define	Speaker	PIN_A0			//Speaker Port

void Sound(int16 freq,int16 dura)
{
unsigned char b;
int16 i,k;

    for(i=0;i<dura;i++)
    {
     b=input(Speaker);
     b^=1;
     output_bit(Speaker,b);
     delay_cycles(3);         //Error adjust
     for(k=0;k<freq;k++)
       delay_cycles(2);
    }
}

void SoundERR(void)
{
 Sound(180,200);
}
void SoundSuccess(void)
{
    Sound(15,250);
    delay_ms(50);
    Sound(15,250);
    delay_ms(50);
    Sound(15,250);
}

//*** MAIN ***
void main()
{
    SET_TRIS_A(0B11111110);
   
    SoundSuccess();
    delay_ms(200);
    SoundERR();
}
 
     
 
DOWNLOAD
 
     
 
  • เนื่องจากลำโพงเปียโซมี Impedance สูงจึงสามารถต่อได้กับขาของ MCU ได้โดยตรง หากต้องการต่อกับลำโพงขนาดอื่นที่มี Impedance ต่ำกว่าจะต้องใช้วงจร ทรานซิสเตอร์ขับ ลำโพงอีกทีหนึ่ง
 
     
 
 
 
วงจรขยายสัญญาณเพื่อขับลำโพงขนาดเล็กทั้งแบบที่ใช้ทรานซิสเตอร์ ชนิด PNP และ NPN
 
  - การใช้ภาษาแอสแซมบลีในการสร้างเสียง