วันศุกร์ที่ 8 กุมภาพันธ์ พ.ศ. 2562

โครงงานที24


code

void beep(void);
 main()
{
 int time1,time2;
 TRISB = 0xF0;

   while(1)
  {
    PORTB.F1=0;
    PORTB.F2=0;
    PORTB.F3=0;
  while(~PORTB.F4&PORTB.F5&PORTB.F6)
  {
    PORTB.F1=1;
    PORTB.F2=0;
    PORTB.F3=0;
    for(time1=0;time1<20000;time1++)
    {
    while(PORTB.F4&~PORTB.F5&PORTB.F6)
    {
     PORTB.F1=1;
     PORTB.F2=1;
     PORTB.F3=0;
     for(time2=0;time2<10000;time2++)
     {
     while(PORTB.F4&PORTB.F5&~PORTB.F6)
            {
             PORTB.F1=1;
             PORTB.F2=1;
             PORTB.F3=1;
             beep();
             Delay_ms(1000);
            }
            }
         }
         }
       }
      }
  }
void beep(void)
{
  int i ;

  for(i=0;i<200;i++)
   {
     PORTB.F0=1;
     Delay_us(200);
     PORTB.F0=0;
     Delay_us(200);
   }

}

โครงงานที่22


code

int conv7segment(int number);
main()
{
 int minute,sec;
 TRISB= 0x00;
 TRISA= 0x00;
 CMCON= 0x07;
 PORTA.F0=0;
 PORTA.F1=1;
   for(minute=9;minute>0;minute--)
   {
   PORTB = conv7segment(minute);
   for(sec=0;sec<=59;sec++)
    {
     PORTA.F7=1;
     Delay_ms(500);
     PORTA.F7=0;
     Delay_ms(500);
    }
   }
  PORTB = conv7segment(0);
  PORTA.F0=0;
  PORTA.F1=1;
}
int conv7segment(int number)
{
  switch(number)
  {
  case 1: return 0x06;
  case 2: return 0x5b;
  case 3: return 0x4f;
  case 4: return 0x66;
  case 5: return 0x6d;
  case 6: return 0x7d;
  case 7: return 0x07;
  case 8: return 0x7f;
  case 9: return 0x6f;
  case 0: return 0x3f;
  }
}


โครงงานที่20



code

int Read_VR (void);
main()
{
int i,time;
  TRISB = 0x00;
  CMCON = 0x07;
 while(1)
  {
 for(i=1;i<129;i=i*2)
    {
  PORTB = i;
  time = Read_VR ()*2;
  Vdelay_ms(time);
    }
  }
}
  int Read_VR(void)
  {
  int i;
  i = 0;
   TRISA = 0xf0;
   PORTA.F0 = 1;
   Delay_ms(10);
   TRISA = 0xF1;
     while(PORTA.F0 == 1)
     {
     i++;
     }
     i = i/10;
     return i ;
     }

โครงการที่19


code


 int Read_VR(void);
void alarm(void);
main()
{
TRISB = 0xF0;
CMCON = 0x07;
while(1)
{
while(Read_VR()<5)
{
   alarm();
   }
  }
 }
 int  Read_VR(void)
 {
   int i;
   i =0;
   TRISA = 0xF0;
   PORTA.F0 =1;
   Delay_ms(10);
   TRISA = 0xF1;
     while(PORTA.F0 == 1)
{
     i++;
   }
     i = i/10;
     return i ;
}
void alarm(void)
{
  int i ;
  PORTB.F1 = 1;
  for(i=0;i<500;i++)
   {
   PORTB.F0=1;
   Delay_us(500);
   PORTB.F0=0;
   Delay_us(500);
   }
 PORTB.F1=0;
 for(i=0;i<250;i++)
 {
   PORTB.F0=0;
   Delay_us(1000);
    }
  }

โครงงานที่19



code

int Read_VR(void);
main()
{
int i,time;
 TRISB = 0x00;
 CMCON = 0x07;
 while(1)
 {
  for(i=1;i<129;i=i*2)
  {
   PORTB = i;
   time = Read_VR()*2;
   Vdelay_ms(time);
   }
 }
}
int Read_VR(void)
{
 int i;
 i =0;
 TRISA = 0xF0;
 PORTA.F0 = 1;
 Delay_ms(10);
 TRISA = 0xF1;
       while(PORTA.F0 == 1)
       {
        i++;
        }
        i = i/10;
        return i ;
}

โครงงานที่18 ไซเรน 2เสียง หน้า 364 เลขที่ 14



code

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=80;i>20;i--)
{
PORTB.F0=1;
Vdelay_us(i);
PORTB.F0=0;
Vdelay_us(i);
}
PORTB.F1=0;
for(i=20;i<80;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);
}
}



โครงงานที่17 ลูกเต๋าอิเล็กทรอนิกส์



code

void beep(void);
int display_led(int in);
main()
{
 int i,j,time_n;
 TRISB = 0x00;
 CMCON = 0x07;
 TRISA = 0xfd;
 while(1)
 {
  time_n =120;
  while(PORTA.F0==1)
  {
   time_n++;
   if(time_n>240)
   {
    time_n=120;
   }
  }
  j=1;
  for(i=1;i<time_n;i++)
  {
   PORTB = display_led(j);
   beep();
   Delay_ms(10);
   j++;
   if(j>6)
   {
          j=1;
        }
      }
    }
  }
  int display_led(int in)
  {
   switch(in)
    {
    case 1:return 0b0001000;
    case 2:return 0b0010100;
    case 3:return 0b0101010;
    case 4:return 0b1100011;
    case 5:return 0b1101011;
    case 6:return 0b1110111;
    }
  }
  void beep(void)
  {
    int i_b;
      for(i_b=0;i_b<20;i_b++)
      {
      PORTA.F1=1;
      Delay_us(300);
      PORTA.F1=0;
      Delay_us(300);
      }
  }