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

โครงการที่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);
      }
  }

โครงงานที่16


code


int Read_T(void);
main()
{
TRISB = 0xF0;
CMCON = 0x07;
PORTB.F0=0;
while(1)
{
if(Read_T()<20)
{
PORTB.F0=1;
}
if(Read_T()>30)
{
PORTB.F0;
}
}
}
int Read_T(void)
{
     int i;
     i =0;
     TRISA = 0xF0;
     PORTA.F0 = 1;
     Delay_ms(10);
     TRISA = 0xF1;
       while(PORTA.F
       {
       i++;
       }
       i = i/10;
       return i ;
       }




โครงงานที่14วงจรเครื่องนับจำนวณ


code

int conv7segment(int number);
main()
{
 int i;
  TRISB = 0x00;
  CMCON = 0x07;
  TRISA = 0xFF;
  i = 0;
  while(1)
  {
    while(PORTA.F0==0)
    {
     i++;
     if(i>9)
     {
        i = 0;
     }
     while(PORTA.F0==0)
     {
       Delay_ms(10);
     }
    }
    while(PORTA.F1==0)
    {
     i--;
    if(i<0)
    {
       i = 9;
    }
    while(PORTA.F1==0)
    {
      Delay_ms(10);
    }
   }
   PORTB = conv7segment(i);
 }
}
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;
  }
}
     

โครงงานที 13.5


code

void alarm(void);
main()
{
TRISB = 0xFC;
PORTB.F1 = 0;
while(1)
{
while(PORTB.F2==1)
{
while(PORTB.F3==1)
{
alarm();
}
}
}
}
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);
}
}