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

โครงงานที่13 วงจรเครื่องตั้งเวลา


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++)
  {
    PORTB.F7=1;
    Delay_ms(100);
    PORTB.F7=0;
    Delay_ms(100);
    }
 }
  PORTB = conv7segment(0);
  PORTA.F0=1;
  PORTA.F1=0;
  }
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



code

int Read_VR1(void);
int Read_VR2(void);
 main()
 {
 TRISB = 0xF0;
 CMCON = 0x07;
 while (1)
 {
   PORTB.F0=1;
   while (Read_VR1()<5)
   {
     while (Read_VR2()<5)
     {
      PORTB.F0 = 0;
      }
     }
    }
}
int Read_VR1(void)
{
  int i;
  i =0;
  TRISA = 0xF0;
  PORTA.F0 = 1;
  PORTA.F1 = 0;
  Delay_ms(10);
  TRISA = 0xF1;
   while( PORTA.F0 == 1)
 {
   i++;
   }
i = i/10;
return i ;
}
int Read_VR2(void)
{
  int i;
  i =0;
  TRISA = 0xF0;
  PORTA.F0 = 0;
  PORTA.F1 = 1;
  Delay_ms(10);
  TRISA = 0xF2;
   while( PORTA.F1 == 1)
   {
   i++;
   }
i = i/10;
return i ;
}

โครงงานที่12 งานเครื่องทดสอบความไว


code

void alarm(void);
main()
{
TRISB = 0xF0;

while(1)
{
PORTB.F2=0;
PORTB.F3=0;
  while(PORTB.F4==0)
  {
    while(PORTB.F6==1)
    {
    PORTB.F2=1;
    alarm();
    }
   }
    while(PORTB.F5==0)
    {
    while(PORTB.F6==1)
    {
    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<150;i++)
    {
    PORTB.F0=0;
    Delay_us(1000);
    }
    }

โครงงานที่12


code

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

โครงงานที่11 เครื่องทดสอบสมาธิ หน้า 329 เลขที่ 14


code

void alarm (void);
void Vdelay_us(int time);


main()
{
TRISB=0xFC;
PORTB.F1=0;
while(1)
   {
while(PORTB.F2==0)
 {
while(PORTB.F3==1)
     {
alarm();
     }
 }
   }
}



void alarm(void)
{
int i ;
PORTB.F1=1;
for (i=100;i>50;i--)
{
PORTB.F0=1;
Vdelay_us(i);
PORTB.F0=0;
Vdelay_us(i);
}
PORTB.F1=0;
for(i=50;i<100;i++)
    {
PORTB.F0=1;
Vdelay_us(i);
PORTB.F0=0;
Vdelay_us(i);
    }
}
void Vdelay_us(int time)
{
int i ;
for(i=0;i<time;i++)
{
}
}


โครงงานที่10


code

void alarm(void);
main()
{
TRISB = 0xF0;
while(1)
{
  PORTB.F2=0;
  PORTB.F3=0;
   while(PORTB.F4==0)
   {
    while(PORTB.F6==1)
    {
     PORTB.F2=1;
     alarm();
     }
     }
     while(PORTB.F5==0)
     {
      while(PORTB.F6==1)
      {
       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<150;i++)
 {
   PORTB.F0=0;
   Delay_us(1000);
    }
  }




โครงงานที่10 กล่องดนตรี



code

void alarm(void);
main()
{
 TRISB = 0xF0;
 while(1)
 {
 PORTB.F2=0;
 PORTB.F3=0;
   while(PORTB.F4==0)
   {
   while(PORTB.F6==1)
   {
   PORTB.F2=1;
   alarm();
   }
   }
   while(PORTB.F5==0)
   {
   while(PORTB.F6==1)
   {
   PORTB.F3=1;
   alarm();
    }
    }
    }
    }
void alarm (void)
 {
   int i ;
   PORTB.F1 = i;
   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<150;i++)
    {
    PORTB.F0=0;
    Delay_us(1000);
    }
    }