ผู้เขียน หัวข้อ: งานครั้งที่ 12 การประกอบวงจรและเขียนโปรแกรมสร้างความถี่เสียง  (อ่าน 21789 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
ใช้วงจรบัฟเฟอร์ตัวเดิมของใบงานที่ 1 เพียงแต่ต่อเพิ่มเติมตามรูป
ปลดโหลดอื่นออกก่อนไม่เช่นนั้นเสียงที่ได้จะเบา



วงจรสำหรับการทดลอง (ปลดกราวด์ที่ LED ออกก่อน)


โน้ตเพลงสามารถค้นหาในอินเตอร์เน็ตได้  หรือในเวป
http://www.wichai.net/thaisong/main.htm
« แก้ไขครั้งสุดท้าย: กรกฎาคม 14, 2013, 12:19:39 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
Re: วงจรใบงานที่ 4
« ตอบกลับ #1 เมื่อ: พฤศจิกายน 18, 2009, 09:29:44 PM »
« แก้ไขครั้งสุดท้าย: ธันวาคม 31, 2010, 08:44:46 AM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
ตัวอย่างโค้ดเพลง "เดือนเพ็ญ"

โค๊ด: [Select]
#include<reg52.h>
void sound(int f,t);
code unsigned char sfh[]={0x00,0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,0xFC,0xF7};
code unsigned char sfl[]={0x00,0x1F,0xDF,0x8A,0xD9,0x68,0xE9,0x5B,0x8F,0xEF,0xD1};
sbit spk=P0^0;

void main (void)
{ TMOD=0x11;
  while(1)
  { sound(6,4);sound(0,1); //668542
  sound(6,5);sound(0,1);
  sound(8,2);sound(0,1);
  sound(5,4);sound(0,1);
  sound(4,2);sound(0,1);
  sound(5,2);sound(0,1);
  sound(2,5);sound(0,1);
//-------------------------
  sound(4,2);sound(0,1);
  sound(1,2);sound(0,1);
  sound(10,2);sound(0,1); //6 low
  sound(1,2);sound(0,1);
  sound(2,2);sound(0,1);
  sound(4,2);sound(0,1);
  sound(5,2);sound(0,1);
  sound(6,2);sound(0,1);
  sound(8,2);sound(0,1);
  sound(5,2);sound(0,1);
  sound(6,2);sound(0,1);
  sound(8,2);sound(0,1);
  sound(9,2);sound(0,1);
  sound(6,8);sound(0,1);
//---------------------
  sound(8,5);sound(0,1);
  sound(6,2);sound(0,1);
  sound(5,4);sound(0,1);
  sound(4,2);sound(0,1);
  sound(5,2);sound(0,1);
  sound(2,3);sound(0,1);
//---------------------------
  sound(4,2);sound(0,1);
  sound(1,2);sound(0,1);
  sound(10,2);sound(0,1); //6 low
  sound(1,2);sound(0,1);
  sound(2,2);sound(0,1);
  sound(4,2);sound(0,1);
  sound(5,2);sound(0,1);
  sound(6,2);sound(0,1);
  sound(8,2);sound(0,1);
  sound(5,2);sound(0,1);
  sound(4,2);sound(0,1);
  sound(5,1);sound(0,1);
  sound(4,1);sound(0,1);
  sound(2,2);sound(0,1);
  sound(4,8);sound(0,10);

 
}
}
void sound(int f,t)
{
int n,l;
l=t*3;
for(n=0;n<l;n++)
{
TH0=0x4c;
TL0=0x00;
TF0=0;
TR0=1;
loop:
if (f>0)
{
TH1=sfh[f];
TL1=sfl[f];
TF1=0;
TR1=1;
spk=!spk;
}
else
{
spk=0;
}

while(TF1==0)
{}
if(TF0==0)
goto loop;
else
{
TR0=0;
TR1=0;
}


}

}


admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
<a href="http://www.buttonbeats.com/images/pianoB.swf" target="_blank" class="new_win">http://www.buttonbeats.com/images/pianoB.swf</a>



<a href="http://www.bgfl.org/custom/resources_ftp/client_ftp/ks2/music/piano/flash/piano.swf" target="_blank" class="new_win">http://www.bgfl.org/custom/resources_ftp/client_ftp/ks2/music/piano/flash/piano.swf</a>
ใช้คีย์แถว ASDFGH.....

ตัวอย่างโน๊ต










เพลงเดือนเพ็ญ โน๊ตขลุ่ยเพียงออ
โค๊ด: [Select]
ล ล ดํ ซ ฟ ร ( หรือ ล ล ดํ ซ ฟ ซฟร ) 
ฟ ด ล ด ร ฟ
ซ ล ดํ ซ ล ดํ รํ ล
ดํ ล ซ ฟ ร
ฟ ด ล ด ร ฟ
ซ ล ดํ ซ ฟ ร ด ฟ ( หรือ ซ ล ดํ ซ ฟ ร ดรฟ )

« แก้ไขครั้งสุดท้าย: ตุลาคม 03, 2013, 09:46:37 AM โดย admin »