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

📄 tense.c

📁 Source code for REAL TIME RFID reader in ARM LPC2148.... Core is ARM7TDMI-S
💻 C
字号:
#define CR     0x0D
#include <LPC21xx.H>
#include<string.h>
#include<stdio.h>


void init_serial (void)			/* Initialize Serial Interface       */

	{               	   
	    	PINSEL0	= 0x20050005;		/* Enable RxD1 and TxD1              */ 
	   	PINSEL1 = 0x00000000;
		IODIR0  = 0x00100000; 					//p0.20
		U1LCR 	= 0x00000083;       /* 8 bits, no Parity, 1 Stop bit     */
	  	U0LCR   = 0x00000083;
	  	U1DLL 	= 0x000000C2;       /* 9600 Baud Rate @ 30MHz VPB Clock  */
	  	U0DLL   = 0x000000C2;
	  	U1LCR 	= 0x00000003;       /* DLAB = 0                          */
	 	U0LCR   = 0x00000003;
	}
	

char a[22],b[22];
const char ID_no[9][10]={"110055B8B5","110055B81D","110055B5DD",
		                 "110055B7FC","110055B714","110055B885",
	         	         "110055D068","110055CB9C","110055CE57"};


int i,j,l,m;
char k[30],q[30];
unsigned int val,k1,c;
 


       int main(void)
		{
        VPBDIV = 0x02;						//Divide Pclk by two
        init_serial();
				
		while(1)

		{

				IOSET0 = 0x00100000;  
	

		       if((U0LSR & 0x01))
		  
			    {
				  
				         for (i=1;i<13;i++)
						 {
 				    	 while(!(U0LSR & 0x01));
				   		 a[i]=U0RBR;
					 
				    	 }
					
					    k[0]=a[1];
					    k[1]=a[2];
					    k[2]=a[3];
					    k[3]=a[4];
					    k[4]=a[5];
					    k[5]=a[6];
					    k[6]=a[7];
					    k[7]=a[8];
					    k[8]=a[9];
					    k[9]=a[10];
	   			            k[10]='o';
				
					                     
			         for(j=0;j<9;j++)
					 {
					  c=0;
					   for(i=0;i<10;i++)
					   {
					      if(ID_no[j][i]!=k[i])
						  {
						    c++;
							break;
						  }
						}
						 if(c==0)
						 {
						   	 while (!(U1LSR & 0x20));
							i=0;
					    	while(k[i]!='\0')
							 {
							 U1THR=k[i];
							 i++;					
							 }
							 c++;
							 	IOCLR0 = 0x00100000;
						   for(val=0;val<0xefff;val++);
						  }
					   }
					        
		  }	


  

	 if((U1LSR & 0x01))
	     {
  		 	    for (i=1;i<13;i++)
					 {
	       				 while(!(U1LSR & 0x01));
						 b[i]= U1RBR;
					 }	

					q[0]=b[1];
					q[1]=b[2];
					q[2]=b[3];
					q[3]=b[4];
					q[4]=b[5];
					q[5]=b[6];
					q[6]=b[7];
					q[7]=b[8];
					q[8]=b[9];
					q[9]=b[10];
			        q[10]='i';

				  for(j=0;j<9;j++)
					 {
					  c=0;
					   for(i=0;i<10;i++)
					   {
					      if(ID_no[j][i]!=q[i])
						  {
						    c++;
							break;
						  }
						}
					  if(c==0)
						 {
						   	 while (!(U1LSR & 0x20));
							i=0;
					    	while(q[i]!='\0')
							 {
							 U1THR=q[i];
							 i++;					
							 }
							 c++;
							IOCLR0 = 0x00100000;
						    for(val=0;val<0xefff;val++);
						   
						  }
					   }
				 
			 }

		   }
  }



⌨️ 快捷键说明

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