วันจันทร์ที่ 6 มกราคม พ.ศ. 2563

ใบงานที่5




#define sw1 PORTB.F2
#define sw2 PORTB.F6
#define LED_YELLOW PORTC.F0
#define LED_GREEN PORTC.F1

void main()
{
     TRISB=0xFF;
     TRISC=0;
     PORTC=0;
     while(1)
     {
             if(sw1==0)
             {
                    LED_YELLOW=1;
                    if(sw2==0)LED_GREEN=1;
                    else LED_GREEN=0;
             }
             else if(sw2==0)LED_GREEN=1;
             else
             {
                    LED_YELLOW=0;
                    LED_GREEN=0;
             }
     }
}

ใบงานที่2




#define digit1 PORTB.F5
#define digit2 PORTB.F6
#define digit3 PORTB.F7

unsigned char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char i,j;

void interrupt()
{
     if(INTCON.INT0IF==1)
     {
            i++;
            if(i>9)i=0;
            INTCON.INT0IF=0;
     }
     if(INTCON3.INT1IF==1)
     {
            j++;
            if(j>9)j=0;
            INTCON3.INT1IF=0;
     }
}

void main()
{
   TRISB=0x03;
   TRISC=0;
   INTCON.INT0IE=1;
   INTCON.INT0IF=0;
   INTCON2.INTEDG0=0;
   INTCON3.INT1IE=1;
   INTCON3.INT1IF=0;
   INTCON2.INTEDG1=0;
   INTCON.GIE=1;
   while(1)
   {
           digit1=0;digit2=1;digit3=1;
           PORTC=segment[i];
           delay_ms(25);
           digit1=1;digit2=0;digit3=1;
           PORTC=~0x3F;
           delay_ms(25);
           digit1=1;digit2=1;digit3=0;
           PORTC=segment[j];
           delay_ms(25);
    }
}

ใบงานที่1




Void main()
{
     unsigned char dice[]={0x08,0x22,0x2A,0x55,0x5D,0x77};
     unsigned char i;
     TRISC=0;
     TRISB=0x01;
     PORTC=0;
     while(1)
     {
            if(PORTB.F0==0)
            {
                    PORTC=dice[i];
                    delay_ms(3000);
                    PORTC=0;
            }
            i++;
            if(i>5)i=0;
     }
}

ใบงานที่7




#define sw_R PORTB.F0
#define sw_L PORTB.F1
#define mo_L PORTC.F0
#define mo_R PORTC.F1

void main()
{
     TRISB=0xFF;
     TRISC=0;
     mo_L=0;mo_R=0;
     while(1)
     {
           if(!sw_L&sw_R)
           {
                  mo_L=1;mo_R=0;
           }
           else if(sw_L&!sw_R)
           {
                  mo_L=0;mo_R=1;
           }
           else
           {
                  mo_L=0;mo_R=0;
           }
     }
}

ใบงานที่6



#define sw1 PORTB.F2
#define sw2 PORTB.F6
void main()
{
     char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
     int i=10;
     TRISC=0;
     PORTC=segment[0];
     while(1)
     {
             if (sw1==0)
              {
                delay_ms(500);
                i=i-1;
                if(i==-1)i=10;
     }
     else if (sw2==0)
     {
                       delay_ms(500);
                       i=i+1;
                       if(i==10)i=1;
                       PORTC=segment[i];
            }
            else{
          PORTC=segment[0];
          i=0;
          }
         }
     }

ใบงานที่9



#define sw_R PORTC.F2
#define sw_L PORTC.F1
#define mo_L PORTB.F7
#define mo_L PORTB.F6
#define mo_R PORTB.F3
#define mo_R PORTB.F2
void main()
{
     TRISB=0;
     TRISC=0xFF;
     mo_L=0;mo_R=0;
     while(1)
     {
           if(!sw_L&sw_R)
           {
                  mo_L=1;mo_R=0;
           }
           else if(sw_L&!sw_R)
           {
                  mo_L=0;mo_R=1;
           }
           else
           {
                  mo_L=0;mo_R=0;
           }
     }
}

ใบงานที่8




#define sw_R PORTC.F2
#define sw_L PORTC.F1
#define mo_L PORTB.F5
#define mo_R PORTB.F3

void main()
{
     TRISB=0;
     TRISC=0xFF;
     mo_L=0;mo_R=0;
     while(1)
     {
           if(!sw_L&sw_R)
           {
                  mo_L=1;mo_R=0;
           }
           else if(sw_L&!sw_R)
           {
                  mo_L=0;mo_R=1;
           }
           else
           {
                  mo_L=0;mo_R=0;
           }
     }
}

ใบงานที่4




#define digit1 PORTB.F6
#define digit2 PORTB.F7

void main()
{
     TRISB=0;
     TRISC=0;
     while(1)
     {
             digit1=1;
             digit2=0;
             PORTC=~0x06;
             delay_ms(50);
             digit1=0;
             digit2=1;
             PORTC=~0x07;
             delay_ms(50);
      }
}

ใบงานที่3


Void main()
{
     char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
     int i=0;
     TRISC=0;
     PORTC=segment[0];
     while(1)
     {
           delay_ms(500);
           i=i+1;
           if(i==10)i=0;
           PORTC=segment[i];
     }
}