วันเสาร์ที่ 5 มกราคม พ.ศ. 2562

T7







void main()
{
     unsigned char clock[4];
     unsigned char sec;
     TRISC=0;
     Lcd_Init(&PORTC);
     Lcd_Cmd(LCD_CURSOR_OFF);
     Lcd_Cmd(LCD_CLEAR);
     T0CON=0x05;
     TMR0H=0xC2;
     TMR0L=0xF7;
     INTCON.TMR0IF=0;
     T0CON.TMR0ON=1;
     while(1)
     {
              Lcd_Chr(1,6,clock[0]+48);
              Lcd_Chr(1,7,clock[1]+48);
              Lcd_Chr(1,8,':');
              Lcd_Chr(1,9,clock[2]+48);
              Lcd_Chr(1,10,clock[3]+48);
              while(!INTCON.TMR0IF);
              T0CON.TMR0ON=0;
              sec++;
              if(sec>59)
              {
                        sec=0;
                        clock[3]++;
              }
              if(clock[3]>9)
              {
                        clock[3]=0;
                        clock[2]++;
              }
              if(clock[2]>5)
              {
                        clock[2]=0;
                        clock[1]++;
              }
              if(clock[1]>9)
              {
                        clock[1]=0;
                        clock[0]++;
              }
              if(clock[0]==2&&clock[1]>3)
              {
                        clock[0]=0;
                        clock[1]=0;
              }
              TMR0H=0xC2;
              TMR0L=0xF7;
              INTCON.TMR0IF=0;
              T0CON.TMR0ON=1;
              Lcd_Cmd(LCD_CLEAR);
     }
}




T6







void main()
{
     TRISB=0xFF;
     TRISC=0;
     Lcd_Init(&PORTC);
     Lcd_Cmd(LCD_CURSOR_OFF);
     Lcd_Cmd(LCD_CLEAR);
     Lcd_Out(1,2,"                SMART LEARNING");
     Lcd_Out(2,1,"                ADVANCE PIC BY C");
     while(1)
     {
             RETURN:if(PORTB.F0==0)
             {
                      Lcd_Cmd(LCD_SHIFT_RIGHT);
                      while(PORTB.F0==0);
             }
             if(PORTB.F1==0)
             {
                      Lcd_Cmd(LCD_SHIFT_LEFT);
                      while(PORTB.F1==0);
             }
             if(PORTB.F2==0)
             {
                      while(1)
                      {
                              Lcd_Cmd(LCD_SHIFT_RIGHT);
                              delay_ms(100);
                              if(PORTB.F0==0||PORTB.F1==0)goto RETURN;
                      }
             }
      }
}

T5







unsigned char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char i1,i2,i3,i4,i5,i6;

void interrupt()
{
     i6++;
     if(i6>9)
     {
             i6=0;
             i5++;
     }
     if(i5>9)
     {
             i5=0;
             i4++;
     }
     if(i4>9)
     {
             i4=0;
             i3++;
     }
     if(i3>9)
     {
             i3=0;
             i2++;
     }
     if(i2>9)
     {
             i2=0;
             i1++;
     }
     if(i1>9)i1=0;
     INTCON.INT0IF=0;
}

void main()
{
     TRISB=0xFF;
     TRISC=0;
     TRISD=0;
     INTCON.INT0IE=1;
     INTCON.INT0IF=0;
     INTCON2.INTEDG0=0;
     INTCON.GIE=1;
     while(1)
     {
             PORTD=0xDF;
             PORTC=segment[i1];
             delay_ms(10);
             PORTD=0xEF;
             PORTC=segment[i2];
             delay_ms(10);
             PORTD=0xF7;
             PORTC=segment[i3];
             delay_ms(10);
             PORTD=0xFB;
             PORTC=segment[i4];
             delay_ms(10);
             PORTD=0xFD;
             PORTC=segment[i5];
             delay_ms(10);
             PORTD=0xFE;
             PORTC=segment[i6];
             delay_ms(10);
      }
}

T4







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

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

void interrupt()
{
     j--;
     if(j<0)
     {
            j=9;
            i--;
     }
     if(i==0&&j==0)
     {
            T0CON.TMR0ON=0;
            PORTB.F5=1;
     }
     TMR0H=0xC2;
     TMR0L=0xF7;
     INTCON.TMR0IF=0;
}

void main()
{
     TRISB=0x01;
     TRISC=0;
     PORTB.F5=0;
     T0CON=0x05;
     TMR0H=0xC2;
     TMR0L=0xF7;
     INTCON.TMR0IE=1;
     INTCON.TMR0IF=0;
     INTCON.GIE=1;
     while(1)
     {
             if(PORTB.F0==0)T0CON.TMR0ON=1;
             digit1=0;digit2=1;
             PORTC=segment[i];
             delay_ms(50);
             digit1=1;digit2=0;
             PORTC=segment[j];
             delay_ms(50);
     }
}


T3







#define digit1 PORTE.F0
#define digit2 PORTE.F1

unsigned char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char i1,i2,i3,i4,i5,i6;

void interrupt()
{
     i6++;
     if(i6>9)
     {
             i6=0;
             i5++;
     }
     if(i5>9)
     {
             i5=0;
             i4++;
     }
     if(i4>9)
     {
             i4=0;
             i3++;
     }
     if(i3>5)
     {
             i3=0;
             i2++;
     }
     if(i2>9)
     {
             i2=0;
             i1++;
     }
     if(i1>5)i1=0;
     TMR3H=0xD8;
     TMR3L=0xF0;
     PIR2.TMR3IF=0;
}

void main()
{
     TRISB=0;
     TRISC=0;
     TRISD=0;
     TRISE=0;
     T3CON=0x80;
     TMR3H=0xD8;
     TMR3L=0xF0;
     PIE2.TMR3IE=1;
     PIR2.TMR3IF=0;
     INTCON.PEIE=1;
     INTCON.GIE=1;
     T3CON.TMR3ON=1;
     while(1)
     {
             digit1=0;digit2=1;
             PORTC=segment[i1];
             PORTD=segment[i3];
             PORTB=segment[i5];
             delay_ms(15);
             digit1=1;digit2=0;
             PORTC=segment[i2];
             PORTD=segment[i4];
             PORTB=segment[i6];
             delay_ms(15);
      }
}

T2







#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);
    }
}

T1





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;
     }
}


Internet of Things (IoT)

Internet of Things หรือ IoT Internet of Things (IoT)  คือ การที่อุปกรณ์อิเล็กทรอนิกส์ต่างๆ สามารถเชื่อมโยงหรือส่งข้อมูลถึงกันได้ด้วยอิน...