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

T13




#line 1 "C:/Users/bunthit/Desktop/TEST 1/T13.c"
void main()
{
 unsigned char num[4];
 unsigned char input[4];
 unsigned char a,b;
 unsigned char keypad[]={0,1,2,3,0,
 4,5,6,0,
 7,8,9,0,
 0,0,0,0};
 unsigned int kp,i,j;
 TRISC=0;
 TRISD=0xFF;
 Lcd_Init(&PORTC);
 Keypad_Init(&PORTD);
 Lcd_Cmd(LCD_CURSOR_OFF);
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"Enter 4 numbers");
 for(i=0;i<4;i++)
 {
 while(!Keypad_Read());
 kp=Keypad_Read();
 num[i]=keypad[kp];
 Lcd_Chr(2,i+1,keypad[kp]+48);
 while(Keypad_Read());
 }
 while(Keypad_Read()!=15);
 Return:Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"What are 4 numbers?");
 while(Keypad_Read());
 for(i=0;i<4;i++)
 {
 while(!Keypad_Read());
 kp=Keypad_Read();
 input[i]=keypad[kp];
 Lcd_Chr(2,i+1,keypad[kp]+48);
 while(Keypad_Read());
 }
 while(Keypad_Read()!=15);
 Lcd_Cmd(LCD_CLEAR);
 while(Keypad_Read());
 for(i=0;i<4;i++)
 {
 if(input[i]==num[i])
 {
 a++;
 continue;
 }
 for(j=0;j<4;j++)
 {
 if(input[i]==num[j])b++;
 }
 }
 Lcd_Chr(1,1,a+48);
 Lcd_Chr(1,2,'A');
 Lcd_Chr(1,3,b+48);
 Lcd_Chr(1,4,'B');
 if(a==4)Lcd_Out(2,1,"Correct");
 else
 {
 Lcd_Out(2,1,"Wrong!");
 a=0;b=0;
 while(Keypad_Read()!=15);
 goto Return;
 }
}

T12



void main()
{
     unsigned char num;
     unsigned char input;
     unsigned char keypad[]={0,1,2,3,0,
                               4,5,6,0,
                               7,8,9,0,
                               0,0,0,0};
     unsigned int kp,i;
     TRISC=0;
     TRISD=0xFF;
     Lcd_Init(&PORTC);
     Keypad_Init(&PORTD);
     Lcd_Cmd(LCD_CURSOR_OFF);
     Lcd_Cmd(LCD_CLEAR);
     Lcd_Out(1,1,"Enter number");
     for(i=0;i<2;i++)
     {
            while(!Keypad_Read());
            kp=Keypad_Read();
            num=num*10*i+keypad[kp];
            Lcd_Chr(2,i+1,keypad[kp]+48);
            while(Keypad_Read());
     }
     while(Keypad_Read()!=15);
     Return:Lcd_Cmd(LCD_CLEAR);
     Lcd_Out(1,1,"What is number?");
     while(Keypad_Read());
     for(i=0;i<2;i++)
     {
            while(!Keypad_Read());
            kp=Keypad_Read();
            input=input*10*i+keypad[kp];
            Lcd_Chr(2,i+1,keypad[kp]+48);
            while(Keypad_Read());
     }
     while(Keypad_Read()!=15);
     Lcd_Cmd(LCD_CLEAR);
     while(Keypad_Read());
     if(num>input)
     {
            Lcd_Out(1,1,"More than!");
            while(Keypad_Read()!=15);
            goto Return;
     }
     else if(num<input)
     {
            Lcd_Out(1,1,"Less than!");
            while(Keypad_Read()!=15);
            goto Return;
     }
     else
     {
            Lcd_Out(1,1,"Correct");
     }
}




T11




#line 1 "C:/Users/bunthit/Desktop/TEST 1/T11.c"
void timer0_setup()
{
 T0CON.TMR0ON=0;
 INTCON.TMR0IF=0;
 TMR0H=0xC2;
 TMR0L=0xF7;
 T0CON.TMR0ON=1;
}

void main()
{
 TRISC=0;
 TRISD=0xFF;
 T0CON=0x05;
 Lcd_Init(&PORTC);
 Keypad_Init(&PORTD);
 Lcd_Cmd(LCD_CURSOR_OFF);
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Chr(1,1,'3');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==3)
 {
 Lcd_Chr(1,1,' ');
 break;
 }
 }
 Lcd_Chr(2,5,'6');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==7)
 {
 Lcd_Chr(2,5,' ');
 break;
 }
 }
 Lcd_Chr(1,9,'8');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==10)
 {
 Lcd_Chr(1,9,' ');
 break;
 }
 }
 Lcd_Chr(2,16,'0');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==14)
 {
 Lcd_Chr(2,16,' ');
 break;
 }
 }
 Lcd_Chr(2,1,'7');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==9)
 {
 Lcd_Chr(2,1,' ');
 break;
 }
 }
 Lcd_Chr(1,12,'4');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==5)
 {
 Lcd_Chr(1,12,' ');
 break;
 }
 }
 Lcd_Chr(2,9,'1');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==1)
 {
 Lcd_Chr(2,9,' ');
 break;
 }
 }
 Lcd_Chr(1,16,'5');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==6)
 {
 Lcd_Chr(1,16,' ');
 break;
 }
 }
 Lcd_Chr(1,5,'9');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==11)
 {
 Lcd_Chr(1,5,' ');
 break;
 }
 }
 Lcd_Chr(2,12,'2');
 timer0_setup();
 while(INTCON.TMR0IF==0)
 {
 if(Keypad_Read()==2)
 {
 Lcd_Chr(1,12,' ');
 break;
 }
 }
}

T10




#line 1 "C:/Users/bunthit/Desktop/TEST 1/T10.c"
void main()
{
 unsigned char Dec,d1,d2,d3;
 unsigned char Bin[8];
 unsigned char keypad[]={0,1,2,3,0,
 4,5,6,0,
 7,8,9,0,
 0,0,0,0};
 unsigned int kp,i;
 TRISC=0;
 TRISD=0xFF;
 Lcd_Init(&PORTC);
 Keypad_Init(&PORTD);
 Lcd_Cmd(LCD_CURSOR_OFF);
 Return:Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"Dec>Bin Bin>Dec");
 Lcd_Out(2,1,"   1       2   ");
 while(Keypad_Read()!=1&&Keypad_Read()!=2);
 if(Keypad_Read()==1)goto DectoBin;
 if(Keypad_Read()==2)goto BintoDec;
 DectoBin:while(Keypad_Read());
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"Enter Dec");
 for(i=0;i<2;i++)
 {
 while(!Keypad_Read());
 kp=Keypad_Read();
 Dec=Dec*10*i+keypad[kp];
 Lcd_Chr(2,i+1,keypad[kp]+48);
 while(Keypad_Read());
 }
 Bin[0]=Dec%2;
 Bin[1]=(Dec/2)%2;
 Bin[2]=(Dec/4)%2;
 Bin[3]=(Dec/8)%2;
 Bin[4]=(Dec/16)%2;
 Bin[5]=(Dec/32)%2;
 Bin[6]=(Dec/64)%2;
 Bin[7]=(Dec/128)%2;
 while(Keypad_Read()!=15);
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"Bin");
 for(i=0;i<8;i++)
 {
 Lcd_Chr(2,i+1,Bin[7-i]+48);
 }
 while(Keypad_Read());
 while(Keypad_Read()!=15);
 goto Return;
 BintoDec:while(Keypad_Read());
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"Enter Bin");
 for(i=0;i<8;i++)
 {
 while(Keypad_Read()!=1&&Keypad_Read()!=14);
 kp=Keypad_Read();
 Bin[7-i]=keypad[kp];
 Lcd_Chr(2,i+1,Bin[7-i]+48);
 while(Keypad_Read());
 }
 Dec=Bin[0];
 Dec=Dec+Bin[1]*2;
 Dec=Dec+Bin[2]*4;
 Dec=Dec+Bin[3]*8;
 Dec=Dec+Bin[4]*16;
 Dec=Dec+Bin[5]*32;
 Dec=Dec+Bin[6]*64;
 Dec=Dec+Bin[7]*128;
 d1=Dec/100;
 d2=(Dec%100)/10;
 d3=Dec%10;
 while(Keypad_Read()!=15);
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"Dec");
 Lcd_Chr(2,1,d1+48);
 Lcd_Chr(2,2,d2+48);
 Lcd_Chr(2,3,d3+48);
 while(Keypad_Read());
 while(Keypad_Read()!=15);
 goto Return;
}

T9



#line 1 "C:/Users/bunthit/Desktop/TEST 1/T9.c"
void main()
{
 unsigned int equ[4];
 unsigned char keypad[]={0,7,8,9,0,
 4,5,6,0,
 1,2,3,0,
 0,0,0,0};
 unsigned char kp,i;
 unsigned char r[4];
 TRISC=0;
 TRISD=0xFF;
 Lcd_Init(&PORTC);
 Keypad_Init(&PORTD);
 Lcd_Cmd(LCD_CURSOR_OFF);
 RETURN:while(Keypad_Read());
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Chr(1,1,'0');
 for(i=0;i<2;i++)
 {
 while(!Keypad_Read());
 if(Keypad_Read()==16)
 {
 equ[1]=10;
 goto STEP2;
 }
 if(Keypad_Read()==8)
 {
 equ[1]=11;
 goto STEP2;
 }
 kp=Keypad_Read();
 Lcd_Chr(1,i+1,keypad[kp]+48);
 equ[0]=equ[0]*10*i+keypad[kp];
 while(Keypad_Read());
 }
 while(Keypad_Read()!=8&&Keypad_Read()!=16);
 if(Keypad_Read()==16)equ[1]=10;
 if(Keypad_Read()==8)equ[1]=11;
 STEP2:while(Keypad_Read());
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Chr(1,1,'0');
 for(i=0;i<2;i++)
 {
 while(!Keypad_Read());
 if(Keypad_Read()==15)goto STEP3;
 kp=Keypad_Read();
 Lcd_Chr(1,i+1,keypad[kp]+48);
 equ[2]=equ[2]*10*i+keypad[kp];
 while(Keypad_Read());
 }
 while(Keypad_Read()!=15);
 STEP3:if(equ[1]==10)equ[3]=equ[0]+equ[2];
 if(equ[1]==11)equ[3]=equ[0]*equ[2];
 r[3]=equ[3]/1000;
 r[2]=(equ[3]%1000)/100;
 r[1]=(equ[3]%100)/10;
 r[0]=equ[3]%10;
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Chr(1,1,'=');
 for(i=0;i<4;i++)
 {
 Lcd_Chr(1,i+2,r[3-i]+48);
 }
 while(Keypad_Read()!=13);
 goto RETURN;
}

T8




#line 1 "C:/Users/bunthit/Desktop/TEST 1/T8.c"
void main()
{
 unsigned char password[]={1,2,3,4};
 unsigned char input[4];
 unsigned char keypad[]={0,1,2,3,0,
 4,5,6,0,
 7,8,9,0,
 0,0,0,0};
 unsigned int kp,i;
 TRISC=0;
 TRISD=0xFF;
 Lcd_Init(&PORTC);
 Keypad_Init(&PORTD);
 Lcd_Cmd(LCD_CURSOR_OFF);
 RETURN:Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"ENTER PASSWORD");
 for(i=0;i<4;i++)
 {
 while(!Keypad_Read());
 kp=Keypad_Read();
 input[i]=keypad[kp];
 Lcd_Chr(2,i+1,input[i]+48);
 while(Keypad_Read());
 }
 while(Keypad_Read()!=15);
 if(input[0]==password[0]&&input[1]==password[1]&&input[2]==password[2]&&input[3]==password[3])
 {
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"CORRECT PASSWORD");
 }
 else
 {
 Lcd_Cmd(LCD_CLEAR);
 Lcd_Out(1,1,"WRONG PASSWORD");
 delay_ms(1000);
 goto RETURN;
 }
}

T7



#line 1 "C:/Users/bunthit/Desktop/TEST 1/T7.c"
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);
 }
}