ภาษาซี วงจรไซเรน 2 เสียง

ข้างล่างนี้ภาษาซีเสียงไซเรนตำรวจกับเสียงไซเรนรถพยาบาลค่ะ

คำถาม : หากต้องการแก้ไขให้เสียงไซเรนตำรวจและเสียงไซเรนรถพยาบาลคล้ายกับเสียงจริงที่สุดควรแก้ให้เป็นค่าเท่าไรค่ะ

           (บรรทัด 27-46 เป็นฟังก์ชันการทำงานของ sound1)
           (บรรทัด 47-66 เป็นฟังก์ชันการทำงานของ sound2)

void sound1(void);
void sound2(void);
void Vdelay_us(int time);
main()
{
TRISB=0xFC;
PORTB.F1=0;
while(1)
{
  while(PORTB.F2==0)
  {
    sound1();
  }
  while(PORTB.F3==0)
  {
    sound2();
  }
}
}
void Vdelay_us(int time)
{
int i ;
for(i=0;i<time;i++)
  {
  }
}
void sound1(void)
{
int i ;
PORTB.F1=1;
for(i=;i>20;i--)
   {
   PORTB.F0=1;
   Vdelay_us(i);
   PORTB.F0;
   Vdelay_us(i);
   }
PORTB.F1=0;
for(i=20;i<200;i++)
  {
   PORTB.F0=1;
   Vdelay_us(i);
   PORTB.F0=0;
   Vdelay_us(i);
  }
}
void sound2(void)
{
int i ;
PORTB.F1=1;
for(i=0;i<200;i++)
  {
   PORTB.F0=1;
   Vdelay_us(20);
   PORTB.F0=0;
   Vdelay_us(20);
  }
PORTB.F1=0;
for(i=0;i<200;i++)
  {
   PORTB.F0=1;
   Vdelay_us(50);
   PORTB.F0=0;
   Vdelay_us(50);
  }
}

ภาพวงจรไซเรน 2 เสียง (โปรติอุส)

แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่