⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample.c

📁 lpc2368 source files
💻 C
📖 第 1 页 / 共 2 页
字号:
	//FIO4PIN3=0x20;			  
	Disp_erase();
	Disp_msg("IRDA MODE",9);
	 serial_open(3,9600);
	
		Disp_erase();
	gotoxy(1,1);
	Disp_msg("F1-IRDA TO PC",13);
	gotoxy(2,1);
	Disp_msg("F2-PC TO IRDA",13);    
	gotoxy(3,1);
	key = _getkey();
	Disp_erase();
	gotoxy(1,1);
	ch = 0;
   switch(key)
    {
	case F1: Disp_msg("Sending Data To PC",18);
			 while(ch!=ESC)
			 { 
				ch= _getkey();
				 IrDA_send(ch);	
				
			 }
			 break;
	case F2: Disp_msg("Receiving Data Fr PC",20);
			 while(ch!='z')
			 { 
				ch = IrDA_receive();	 
				buff[0]=ch;
			
				Disp_msg(buff,1);
			 } 
		 	 break;
	
	default: break;


}  
}
void display_time(void)
{
	BYTE i,ch=0;
	while(ch!=29)
	{
	 	for(i=0;i<3;i++)
		{
		time[i]=0;
		date[i]=0;}
		Disp_erase();
		timedate_Read();
		Disp_msg("DATE:",5);
		Disp_date();
		gotoxy(2,1);
		Disp_msg("TIME:",5);
		Disp_time();
		ch = get_key();
	}
}







void gsm_test(void)
{
	char ch1,flag=0; //,buff[10]
	//DWORD i;
	//gsm_enable();
	//Disp_erase();
	for(i=0;i<20;i++)
	for(j=0;j<90000;j++);
	clrscr();
	printf("Initializing...");
	for(i=0;i<20;i++)
	for(j=0;j<90000;j++);
	
    ch1=0;
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	
	serial_send(1,'A');
    serial_send(1,'T');
    serial_send(1,0x0d);
    for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
    serial_send(1,'A');
    serial_send(1,'T');
	serial_send(1,'E');
    serial_send(1,'0');
    serial_send(1,0x0d);
    for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	//while(1){
	serial_send(1,'A');
    serial_send(1,'T');
    serial_send(1,0x0d);
	//serial_send(0,serial_receive(1,0));for(i=0;i<90000;i++);}
	while(1){ch1=serial_receive(1,0);serial_send(0,ch1);if((ch1=='O')||(ch1=='K')){flag=1;break;}if(ch1=='R')break;} //serial_send(0,ch1);
	 
	gotoxy(2,1);
	if(flag==1)
		Disp_msg("GSM HARDWARE OK",15);
	else
		Disp_msg("GSM HARDWARE ERROR",18);	
	get_key();
//   	serial_send(1,'A');
//	serial_send(1,'T');
//	serial_send(1,'D');
//	serial_send(1,'T');
//
//	sprintf(buff,"9848995560");
//	for(i=0;i<10;i++)serial_send(1,buff[i]);
//	serial_send(1,';');
//	serial_send(1,0x0D);

}

void smstest(void)
 { 
	char ch1; //,buff[10]
	//DWORD i;
	//gsm_enable();
	//Disp_erase();
	for(i=0;i<20;i++);
	for(j=0;j<90000;j++);
	clrscr();
	printf("Initializing...");
	for(i=0;i<20;i++);
	for(j=0;j<90000;j++);
	
    ch1=0;
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	
	serial_send_string(1,"AT");
    serial_send(1,0x0d);
    for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	while(1)
	{
	ch1=serial_receive(1,0);
	serial_send(0,ch1);
	if((ch1=='O')||(ch1=='K'))
	{
//	flag=1;
	break;
	}
	if(ch1=='R')
	break;
	} 
	serial_send(0,ch1);
	 
	
	serial_send_string(1,"AT+CREG=1");
    serial_send(1,0x0d);
    for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	while(1)
	{
	ch1=serial_receive(1,0);
	serial_send(0,ch1);
	if((ch1=='O')||(ch1=='K'))
	{
//	flag=1;
	break;
	}
	if(ch1=='R')
	break;
	} 
	serial_send(0,ch1);
	
	
	serial_send_string(1,"AT+CSQ?");
    serial_send(1,0x0d);
    for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	while(1)
	{
	ch1=serial_receive(1,0);
	serial_send(0,ch1);
	if((ch1=='O')||(ch1=='K'))
	{
//	flag=1;
	break;
	}
	if(ch1=='R')
	break;
	} 
	serial_send(0,ch1);

	serial_send_string(1,"AT+CMGF=1");
    serial_send(1,0x0d);
    for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	for(i=0;i<90000;i++);
	while(1)
	{
	ch1=serial_receive(1,0);
	serial_send(0,ch1);
	if((ch1=='O')||(ch1=='K'))
	{
//	flag=1;
	break;
	}
	if(ch1=='R')
	break;
	} 
	serial_send(0,ch1);


	serial_send_string(1,"AT+CMGS=");
	serial_send(1,0X22);
  	serial_send_string(1,"9989654987");
  	serial_send(1,0X22);
	serial_send(1,0X0D);
	serial_send_string(1,"gsm TESTING...");
  	serial_send(1,0X1A);

  	while(1)
	{
	ch1=serial_receive(1,0);
	serial_send(0,ch1);
	if((ch1=='O')||(ch1=='K'))
	{
//	flag=1;
	break;
	}
	if(ch1=='R')
	break;
	} 
	serial_send(0,ch1);	
	
 }


void disp_test(void)
{
 	unsigned char ch;
	unsigned int j;

     Disp_erase();
	 gotoxy(1,1);
     Disp_msg("DISPLAYING ALL 128",18);
     gotoxy(2,1);
     Disp_msg("CHARACTERS",10);
	 for(j=0;j<500000;j++);
     for(j=0;j<500000;j++);
	 	Disp_erase();
     gotoxy(1,1);
  	 ch=0; 
  	 for(ch=32;ch<128;ch++)
  	 {		buff[0]=ch;
			Disp_msg(buff,1);
            for(j=0;j<100000;j++);   
			for(j=0;j<100000;j++);   
	 } // end for 
	 for(j=0;j<200000;j++);   
	 for(j=0;j<200000;j++);
	 	Disp_erase();
	 gotoxy(5,1);
	 Disp_msg("DISPLAY TESTED OK",17);
	 get_key(); 
			   
}

void key_test(void)
{
		unsigned char key,i;
		
       		Disp_erase();
        gotoxy(1,1);
        Disp_msg("PRESS ANY KEY",13);
        gotoxy(4,1);
        Disp_msg("PRESS ESC TO EXIT   ",20);    
        gotoxy(3,1);
        i=0;
        while(1)
		{
			
            key = _getkey();
				Disp_erase();
			gotoxy(1,1);
        	Disp_msg("                    ",20);
			gotoxy(2,1);
        	Disp_msg("                    ",20);
	        gotoxy(2,1);
 			if(shift_flag == 1)
	        Disp_msg("PRESS ANY KEY  SHIFT",20);
			else
	        Disp_msg("PRESS ANY KEY       ",20);
			 gotoxy(4,1);
			  Disp_msg("PRESS ESC TO EXIT   ",20);			
            //gotoxy(3,1);
           // Disp_msg("                    ",20);    
            gotoxy(3,1);
            Disp_msg("     KEY   = ",13);    

            if( key == F1)
                Disp_msg("F1",2);
            else if( key == F2)
                Disp_msg("F2",2);
            else if( key == F3)
                Disp_msg("F3",2);
            else if( key == F4)
                Disp_msg("F4",2);
            else if( key == F5)
                Disp_msg("F5",2);
            else if( (key == ENTER) || (key == ENT))
			//else if(key == '\n')
                Disp_msg("ENT",3);
            //else if( key == CTRL)
                //Disp_msg("PF");
            
            else 
				if( key == ESC)//	
	            {
	                Disp_msg("ESC",3);
	                gotoxy(4,1);
	                Disp_msg("  KEYS TESTED  OK   ",20);
					for(i=0;i<=12;i++)
	                delay_Ms(30);
					break;
				}
//            else 
//				if(key == BKSP)//BKSP
//	            {
//	                Disp_cur_rev();
//					
//	                //Disp_msg(" ");  
//					//Disp_msg(" ",1);  
//	            }

            else 
            {	buff[0]=key;
                Disp_msg(buff,1);
            }

		key = 0;
        }
}
   
 void print_test(void) 
{	int i; 
 	

	   clrscr();
	   for(i=0;i<1000;i++);
	   gotoxy(2,4);
     printf("PRINTING....."); 
	// gotoxy(3,1);
    // printf("no. of bills=%d", counter++);
		//prn_pow_init();
	  // prt_msg(prt_lfeed,1);
	  // count();
	//	timedate_Read();
		prt_msg(prt_lfeed,1);
	//	prt_date();
	//	prt_msg("      ",6);
		//prt_time();
		//prt_msg(prt_lfeed,1);
	//	prt_msgb(buff);	
//	prt_msgb1(c++);	
		for(i=0;i<8;i++)
		{
		 
		 if(i<=2)
		  {	  prt_msg(prt_lfeed,1);
	       //prt_msg("----------              ",24);	
	      prt_msg("       THANK YOU        ",24);
	      prt_msg("ANALOGICS TECH INDIA LTD",24);
	      prt_msg("   NACHARAM HYDERABAD   ",24);
		  //prt_msg("------------------------",24);
		  }
		else if(i==2)
		  {
		 // prt_msg("                        ",24);
	      prt_msg("     DOUBLE HEIGHT      ",24);
		  //prt_msg("                        ",24);
		  }
		  if((i>=3)&&(i<4))
		  {
		  prt_dh_flag = 1;
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  prt_msg("       ANALOGICS        ",24);
		  }
		
		 /* if(i==5)
		  {
		  prt_msg(prt_lfeed,1);
		  prt_dh_flag = 0;
		  prt_dw_flag = 0;
	   	  prt_msg("   D-HEIGHT / D-WIDTH   ",24);
		  //prt_msg("                        ",24);
		  }
		  if((i>=6)&&(i<7))
		  {
		  prt_dw_flag = 1;
		  prt_dh_flag = 1;
		  prt_msg("ANALOGIC",8);
		  prt_msg("ANALOGIC",8);
		 // prt_msg("            ",12);
		  //prt_msg("\n",1);
		  }	*/
		} 
		  prt_dh_flag = 0;
		  prt_dw_flag = 0;
	
		  					 
	//	  prt_msg("------------------------",24);
	//	  prt_msg("                        ",24);
	//	  prt_msg("                        ",24);
	//	  prt_msg("                        ",24);
//		  prt_msg("                        ",24);
//		  prt_msg("                        ",24);
//		  prt_msg("                        ",24);
		  
}
	 
 


//**************************RFIT TEST****************************
void rfid_test(void)
{
	 unsigned char key;

	clrscr();

    
	for(x=0;x<200;x++)
		tsrdelay();	

	
	for(x=0;x<200;x++)
		tsrdelay();	

    for(x=0;x<=30;memptr[x++]=' ');

	key = 0;
	gotoxy(1,1);
	printf("F1 - WRITING TO CARD");
	gotoxy(2,1);
	printf("F2 - READ FROM CARD");
	key = get_key();

	switch(key)
    	{
        	case 1 : write_renew();
					 break;
            case 2 : show();
                     break;
			default: break;
		}
}
void tsrdelay(void)
{
     int tsi;
    for(tsi=0;tsi<300;tsi++);
}

int call_req(void)
{
    unsigned int val_int1;//,cnt; //,v1;

   //cnt=0;
   key_temp1 = 0;
   while(1)
   {
       val_int1=0;
//	   printf("out request");	
       if(mif_request() == 1)
          {
//			printf("request ok");
            if(mif_anti_col() == 1)
            {
//			  printf("anti colli ok");
		      val_int1=1;
              break; 
			}
        }
       if(val_int1==0)
        {
            gotoxy(4,1);
            printf("                   ");
			gotoxy(4,1);
//            for(i4=0;i4<2000;i4++);
            //cnt++;
        }
	   //key_temp1 = kbhit();	    
	   if(key_temp1 != 0)
			break;	

  //     if(cnt==30000)
   //       break;

   } //while1

   if(val_int1==1)
      return 1;
	else
		return 2;
   //if(cnt==30000)
    //  return 0;

}
void show(void)
{
	 unsigned char rf1;
	rf1 = 0;
	
	clrscr();
	printf("PLACE THE CARD NOW");
    rf1 = init_reading_card();	
	if(rf1 == 1)
	{
		clrscr();
		set_cursor(ROW1);
		printf("THE VALUE WRITTEN IS");
		gotoxy(2,1);
		for(i=0;i<20;i++)
			printf("%c",memptr[i]);
	
		//printf("%.20s",memptr);
		get_key();
	}
	return;
}

int init_reading_card(void)
{
     unsigned int x,val2,halt_flag;  //,addr1;

	for(x=0;x<50;x++)
		tsrdelay();	

    for(x=0;x<=200;memptr[x++]=' ');

    addr1=0x04;//location for default card id

    cnt1=1;
	cnt3=0;
    x=0;
    val2=0;
    while(1)
    {
       if(val2==0)
          val2=call_req();

       if(val2==1)
          	  val2=read_pass_card(addr1,((cnt1-1)*16));

       if(val2==1)
       {
         //addr1++;
          cnt1++;
       }
       else if(val2==0)
         {
            cnt3++;
            val2=0;  //by force
         }
	  else if(val2==2)	
	  	  break;

      if(cnt1==2)
         break;

       if(cnt3==30000)
          break;

   }

  halt_flag=0;
  while(1)
  {
     halt_flag=mif_halt();
     if(halt_flag == 1)
        break;
  }

   if(val2==1)
    {
      clrscr();
      printf("  ACCEPTED CARD ... ");
      
     }
	if (val2==1)
	   return 1;
	if (val2==2)
	   return 2;
    else
	   return 0;
}


int read_pass_card(unsigned char addr2,unsigned int rf_j)
{
    unsigned char rf_i,che;//,abc;

   //che = authenticate(addr2);
   //set_cursor(ROW4);
   //printf("                   ");
   che = mif_read_card(rd_data1,addr2);
   if (che==1)
   {
        clrscr();
        printf("READING CARD DATA ..");
        //strcpy(rd_data1,readrf(addr2));
		for(rf_i=0;rf_i<16;rf_i++)
        {
            memptr[rf_j]=rd_data1[rf_i];
            rf_j++;
        }

		return 1;
    }
   else
	   return 0;
}
/*
int wrt_crd(unsigned char addr,char *buff)
{
   if(authenticate(addr)==1)
    {
        if(writerf(addr,buff)==1)  //place
          {
		    clrscr();
            printf("WRITING DATA TO CARD",20);
            strcpy(rd_data1,readrf(addr));
            return 1;
       }
    }
   return 0;
}
*/
void write_renew(void)
{
	 unsigned char rs2;

	for(rs2=0;rs2<16;rs2++)
		main_buff[rs2] = ' ';
	clrscr();
	printf("ENTER VALUE TO WRITE");	
	i = input(main_buff,16);
	if(i==0)
		return;
	
//	(main_buff,16);
	
	write_card_rfid();

}


void write_card_rfid(void)
{
     unsigned int p_i,p_j;
     unsigned char val,haltflag;

    for(p_j=0;p_j<20;ptmp[p_j++]=' ');

	p_j=0;
    cnt1=1;
//	amt = 0;

    for(p_i=0;p_i<16;p_i++)
    {
        ptmp[p_i] = main_buff[p_i];
    }

	clrscr();
	gotoxy(2,1);
	printf("PRESS ANY KEY ....");
	get_key();
	gotoxy(3,1);
	printf("PLACE THE CARD...");

    addr1=0x04;
    val=0;
	cnt3=0;
    while(1)            //size 15-->place
    {
       if(val==0)
          val=call_req();

       if(val==1)
         val=mif_write_card(ptmp,addr1);

       if(val==1)
         {                 
             cnt1++;
         }
       else
         {
           clrscr();
           printf("NO CARD DETECTED");
		   val=0;
		   cnt3++;
          // get_key();
         }

         if(cnt1==2)
            break;

		 if (cnt3==30000)
		    break;
    }

    haltflag=0;
    while(1)
    {
        haltflag=mif_halt();
        if(haltflag ==1)
           break;
    }

    clrscr();
    printf("WRITING TO CARD.... ");
    gotoxy(2,1);
    printf("COMPLETED SUCCESSFUL");
    
        
//    init_reading_card();
}


int input(unsigned char* ch,unsigned int n)
{
	 unsigned char keyf;

//	shift_flag=1;
    for(i=0;i<n;i++)
        ch[i] = ' ';

    j = 0;
    keyf = 0;
    keyf = _getkey();
	//printf("%c",keyf);
    while((keyf != ENTER) && (j<n))
    {
        if ((keyf >= '0') && (keyf <= '9'))
        {	   ch[j] = keyf ;
           // ch[j] = keyf + 0x30;
            j++; printf("%c",keyf);
        }
        else
        if ((keyf != SHIFT) && (keyf != BKSP))
        {
            ch[j] = keyf;printf("%c",keyf);
            j++;
        }
        if (keyf == BKSP)
        {
            //Disp_cur_rev();
            //printf(" ");
            //Disp_cur_rev();
            j--;
        }
        if(keyf == ESC)
            break;
        keyf = _getkey();
    }

    if(keyf == ESC)
        return 0;

    if ((keyf >= '0') && (keyf <= '9'))
    {
        ch[j] = keyf + 0x30;printf("%c",keyf);
        j++;
    }
    if ((keyf == ENTER) && (j == 0))
    {
//        set_cursor(ROW3);
//        printf("   INVALID ENTRY   ");
//		gotoxy(3,20);
//		for(i=0;i<30000;i++);	
//		for(i=0;i<30000;i++);
//		for(i=0;i<30000;i++);
        return j;
    }
    //ch[j] = '\0';
    return j;
}
//**************************RFIT TEST ends****************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -