亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rfid.c

?? 自己作的的射頻卡項目的源程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//******************************************************************************************
//                                          頭文件處理
//******************************************************************************************
#include	<18F252.H>
#device 	ICD=TRUE
#fuses		HS,NOWDT,NOLVP
#use		delay(clock=4000000)
#use		rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
#use		fast_io(c)
#use		fast_io(a)
#use		fast_io(b)
//******************************************************************************************
//                                          IO口處理
//******************************************************************************************
#define		RF_DATA_IN	PIN_C2
#bit		Time_Out=	0xff2.2
#bit		Star_Timer=	0xfd5.7
//******************************************************************************************
//                                          變量處理
//******************************************************************************************
// LCD 模塊命令
#define	DISP_ON		0x0C	//開顯示
#define	DISP_ON_C	0x0E	//開顯示, 開指針
#define	DISP_ON_B	0x0F	//開顯示, 開指針,開閃爍
#define	DISP_OFF	0x08	//關(guān)顯示
#define	CLR_DISP	0x01	//清顯示的操作數(shù)
#define	ENTRY_INC	0x06	//操作數(shù)
#define	ENTRY_INC_S	0x07	//操作數(shù)
#define	ENTRY_DEC	0x04	//操作數(shù)
#define	ENTRY_DEC_S	0x05	//操作數(shù)
#define	DD_RAM_ADDR	0x80	//初始化第一行顯示的操作數(shù)
#define	DD_RAM_UL	0xc0	//初始化第二行顯示的操作數(shù)
//*******************************************************
int16		TIMER_1=0;
int8		moniter_Data[11],normal_Data[11];
int8		sendData[11];
int1		Check_Data_bit;
int8		temp;
int8		flag,jing;
int16		last_timer,width,haha;
int8		timeout=0,bit_over=1,bitdata=0;
int8		a=0,b=0;

//******************************************************************************************
//                                          寄存器處理
//******************************************************************************************
#byte		ADCON0=0xfc2
#byte		ADCON1=0xfc1
#byte		TRISA=0xf92
#byte		ADRESH=0xfc4
#byte		STATUS=0xfd8
#byte		PORTA=0xf80
#byte		PORTB=0xf81
#byte		TRISA=0xf92
#byte		TRISB=0xf93
#byte		SPBRG=0xfaf
#byte		TXSTA=0xfac
#byte		RCSTA=0xfab
#byte		TRISC=0xf94
#byte		PIE1=0xf9d
#byte		RCREG=0xfae
#define		GO		2
#define		C		0
#define		RCIE	5
#bit		tim3Str=	0xfb1.0
#bit		over=		flag.0
#bit	LCD_DB7=    	PORTB.5  
#bit	LCD_DB6=    	PORTB.4  
#bit	LCD_DB5=    	PORTB.3  
#bit	LCD_DB4=    	PORTB.2  
#bit	LCD_E=    		PORTA.5  
#bit	LCD_RS=    		PORTB.1  
#bit	LCD_DB7_DIR=	TRISB.5   
#bit	LCD_DB6_DIR=	TRISB.4   
#bit	LCD_DB5_DIR=	TRISB.3   
#bit	LCD_DB4_DIR=	TRISB.2   
#bit	LCD_E_DIR=		TRISA.5   
#bit	LCD_RS_DIR=		TRISB.1  
#bit	CFE_DIR=		TRISA.2
#bit	CFE	=			PORTA.2				
//******************************************************************************************
//                                          函數(shù)聲明處理
//******************************************************************************************
void moniter(void);
void moniter_Inti(void);
void moniter_Clern_Number(void);
void moniter_Recive(void);
//******************************************************************************************
void normal(void);
void normal_Inti(void);
void normal_Clern_Number(void);
void normal_Recive(void);
//*******************************************************************************
void simulation_Inti(void);
void simulation(void);
void TIMER3_isr(void);
//*******************************************************************************
void InitADKEY(void);
int8 GetADKEY(void);
void InitLCD(void);
void putcLCD(int8 Byte);
void SendCmd(int8 Byte);
void clrLCD(void);
void write(int8 Byte);
//******************************************************************************************
//                                          監(jiān)聽模塊
//******************************************************************************************
#INT_CCP1
void rise (void)
{
		if(a==1)
	{
		b=1;
		if(CCP_1<CCP_2)
		{
			haha=CCP_1+65536-CCP_2;
		}
		else
		{
		haha=CCP_1-CCP_2;
		}
	}

	if(CCP_1<last_timer)
	{
		width=65536+CCP_1-last_timer;
	}
	else
	{
		width=CCP_1-last_timer;
	}
	delay_us(1);
	if(width<150||width>320)
	{
		if(width>330&&width<800)
		{
			bitdata=1;
			bit_over=1;
			last_timer=CCP_1;
		}
		else
		{
		timeout=1;
		}
	}
}
#INT_CCP2
void fall (void)
{
		a=1;
	if(CCP_2<last_timer)
	{
		width=65536+CCP_2-last_timer;
	}
	else
	{
		width=CCP_2-last_timer;
	}
	delay_us(1);
	if(width<150||width>320)
	{
		if(width>330&&width<800)
		{
			bitdata=0;
			bit_over=1;
			last_timer=CCP_2;
		}
		else
		{
		timeout=1;
		}
	}
}
void moniter_Inti(void)
{
	setup_ccp1(CCP_CAPTURE_RE);    							// Configure CCP1 to capture rise
	setup_ccp2(CCP_CAPTURE_FE);    							// Configure CCP2 to capture fall
	setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);    				// Start timer 1
	setup_timer_0(RTCC_INTERNAL|RTCC_OFF|RTCC_8_BIT|RTCC_DIV_1);
	set_tris_c(0x86);
	disable_interrupts(GLOBAL);
	enable_interrupts(INT_CCP1);
	enable_interrupts(INT_CCP2);
}
//************************************************************
void moniter_Clern_Number(void)
{
       moniter_Data[0]=0;
       moniter_Data[1]=0;             
       moniter_Data[2]=0;      
       moniter_Data[3]=0;             
       moniter_Data[4]=0;      
       moniter_Data[5]=0;             
       moniter_Data[6]=0;      
       moniter_Data[7]=0;             
       moniter_Data[8]=0;      
       moniter_Data[9]=0;             
       moniter_Data[10]=0;                                                                       
}
//************************************************************
void moniter_Recive(void)
{
	int8	header,pc;
	int8	temp,temp1;
	int16	temp2;
	int8	ByteCounter;
	int8	*PData,*PData1;
	int8	BitCounter;
	int16	fall,rise,num;
	int16	value,delay_time;
str:
	disable_interrupts(GLOBAL);
	if(input(RF_DATA_IN)==1)
	if(input(RF_DATA_IN)==1)
	if(input(RF_DATA_IN)==1)
	if(input(RF_DATA_IN)==1)
	if(input(RF_DATA_IN)==1)
	{
		enable_interrupts(GLOBAL);
		while(b==0);
		a=0;b=0;
		delay_us(1);
		if(haha<430||haha>550)
		{

			goto	str;
		}
		last_timer=CCP_1;
		header=0;
		value=0;
		do
		{
			jing=header;
			bit_over=0;
			timeout=0;
			num=0;
			while(!bit_over)
			{
				delay_us(1);
				num++;
				if(num>600)
				{
				timeout=1;
				break;
				}
			}
			bit_over=0;
			if(!(timeout==0&&bitdata==1))
			{
				timeout=0;
				goto	str;
			}
		//	value+=TIMER_1;
			header=header+1;
		}while(header<8);
	//	delay_time=value*0.2;
		if(header==8)
		{
			ByteCounter=0;
			PData=moniter_Data;
			do
			{
				BitCounter=5;
				temp1=0;
				do
				{
					bit_over=0;
					timeout=0;
					num=0;
					while(!bit_over)
					{
						delay_us(1);
						num++;
						if(num>600)
						{
						timeout=1;
						break;
						}
					}
					bit_over=0;
					if(timeout==1)
					{
						timeout=0;
						goto	str;
					}
					temp=bitdata;
					temp1=(temp1<<1)|temp;
					BitCounter--;
				}while(BitCounter);
				*(PData+ByteCounter)=temp1;
				ByteCounter=ByteCounter+1;
			}while(ByteCounter<11);
			if(temp==0)
			{
				
				PData=moniter_Data;
				PData1=sendData;
				for(ByteCounter=0;ByteCounter<11;ByteCounter++)//有5個字節(jié)數(shù)據(jù)
       				{
              			temp=(((*(PData+ByteCounter))&0x10)>>4)+(((*(PData+ByteCounter))&0x08)>>3)+(((*(PData+ByteCounter))&0x04)>>2)+(((*(PData+ByteCounter))&0x02)>>1);  
					if(ByteCounter==10)
						{   
						temp1=*(PData+ByteCounter)&0x1f;
						*(PData1+ByteCounter)=temp1;
              			
       					}
					else
						{
						if((temp&0x01)==((*(PData+ByteCounter))&0x01))//效驗高4位
              						{
							temp1=*(PData+ByteCounter)&0x1f;
							*(PData1+ByteCounter)=temp1;
							temp1=(temp1&0x1e)>>1;
							*(PData+ByteCounter)=temp1;
              						}
              					else
              						{
                     				moniter_Clern_Number();//并清所有數(shù)據(jù)
									goto	str;
              						}
						}
					}
				output_high(PIN_C5);
				delay_ms(1000);
				output_low(PIN_C5);
				Check_Data_bit=1;
				disable_interrupts(GLOBAL);
				disable_interrupts(INT_CCP1);
				disable_interrupts(INT_CCP2);
				SendCmd(0xc0);
				putcLCD(' ');
				putcLCD(' ');
				putcLCD(' ');
				putcLCD(' ');
				putcLCD(' ');
				putcLCD('s');
				putcLCD('u');
				putcLCD('c');
				putcLCD('c');
				putcLCD('e');
				putcLCD('s');
				putcLCD('s');
			}
			else
			{
				moniter_Clern_Number();
				goto	str;
			}
		}
	}	
}
//***************************************************************
void moniter(void)
{
	int8	temp;

	delay_ms(100);
	moniter_Inti();
wo:
	moniter_Recive();
	if(Check_Data_bit==0)
	goto	wo;
	else
	{
		Check_Data_bit=0;
		simulation_Inti();
		while(1)
		{
			simulation();
		}
	}
}
//******************************************************************************************
//                                          讀卡模塊
//******************************************************************************************
void normal_Inti(void)
{
	setup_ccp1(CCP_CAPTURE_RE);    							// Configure CCP1 to capture rise
	setup_ccp2(CCP_CAPTURE_FE);    							// Configure CCP2 to capture fall
	setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);    				// Start timer 1
	setup_timer_0(RTCC_INTERNAL|RTCC_OFF|RTCC_8_BIT|RTCC_DIV_1);
	set_tris_c(0x86);
}
//************************************************************
void normal_Clern_Number(void)
{
       normal_Data[0]=0;
       normal_Data[1]=0;             
       normal_Data[2]=0;      
       normal_Data[3]=0;             
       normal_Data[4]=0;      
       normal_Data[5]=0;             
       normal_Data[6]=0;      
       normal_Data[7]=0;             
       normal_Data[8]=0;      
       normal_Data[9]=0;             
       normal_Data[10]=0;                                                                       
}
//************************************************************
void normal_Recive(void)
{
	int8	header,pc;
	int8	temp,temp1;
	int16	temp2;
	int8	ByteCounter;
	int8	*PData,*PData1;
	int8	BitCounter;
	int16	fall,rise;
str:
	if(input(RF_DATA_IN)==0)
	if(input(RF_DATA_IN)==0)
	if(input(RF_DATA_IN)==0)
	if(input(RF_DATA_IN)==0)
	if(input(RF_DATA_IN)==0)
	{
		while(input(RF_DATA_IN)==0);
		rise=CCP_1;
		delay_us(10);
		while(input(RF_DATA_IN)==1);
		fall=CCP_2;
		TIMER_1=fall-rise;
		if(fall<rise)
		TIMER_1=TIMER_1+65536;
		temp2=560;
		if(TIMER_1>temp2)
		{
			goto	str;
		}
		temp2=540;
		if(TIMER_1<temp2)
		{
			goto	str;
		}
		header=0;
		do
		{
			TIMER_1=0;
			while(input(RF_DATA_IN)==0);
			rise=CCP_1;
			delay_us(10);
			while(input(RF_DATA_IN)==1);
			fall=CCP_2;
			TIMER_1=fall-rise;
			if(fall<rise)
			TIMER_1=TIMER_1+65536;
			temp2=280;
			if(TIMER_1>temp2)
			{
				header=0;
				goto	str;
			}
			temp2=230;
			if(TIMER_1<temp2)
			{
				header=0;
				goto	str;
			}
			header++;
		}while(header<8);
		//delay_us(65);
		if(header==8)
		{
			set_timer0(106);//對計數(shù)器0賦初值
			Time_Out=0;
			ByteCounter=0;
			PData=normal_Data;
			do
			{
				BitCounter=5;
				temp1=0;
				do
				{
					delay_us(445);
					if(input(RF_DATA_IN)==1)
					temp=1;
					else
					temp=0;
					Star_Timer=1;
					while(input(RF_DATA_IN)==temp)
					{
						if(Time_Out==1)
						{
							Star_Timer=0;//停止計數(shù)器
							Time_Out=0;
							goto	str;
						}
					}
					Star_Timer=0;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美的一区| 久久久久99精品国产片| 欧美丰满高潮xxxx喷水动漫| 欧美一级二级在线观看| 国产日韩欧美麻豆| 一区二区三区欧美激情| 亚洲一区二区精品3399| 国产美女一区二区| 91久久精品日日躁夜夜躁欧美| 91精品国产日韩91久久久久久| 国产免费成人在线视频| 日韩影院免费视频| av日韩在线网站| 日韩视频123| 亚洲欧美韩国综合色| 精品一区二区久久| 欧美性三三影院| 中文字幕不卡的av| 亚洲成av人片www| 99久久综合狠狠综合久久| 久久精品夜夜夜夜久久| 亚洲一区二区三区在线播放| 国产传媒一区在线| 不卡的av中国片| 日韩午夜三级在线| 欧美激情一区二区三区全黄| 免费看精品久久片| 欧美日韩一级片在线观看| 国产精品网站一区| 蜜桃精品视频在线观看| 欧美午夜片在线看| 亚洲人成人一区二区在线观看| 国产一区久久久| 日韩一本二本av| 天天综合网 天天综合色| av亚洲精华国产精华精华| 国产无一区二区| 亚洲一区二区三区国产| 91视频在线看| 中文字幕一区二区三区精华液| 国产不卡一区视频| 国产日韩三级在线| 国产乱理伦片在线观看夜一区| 日韩美女在线视频| 蜜臀久久99精品久久久久久9| 欧美日韩午夜在线| 亚洲精品国久久99热| 91久久国产综合久久| 亚洲精品一二三四区| 在线影院国内精品| 亚洲一区二区美女| 欧美美女黄视频| 青青青伊人色综合久久| 日韩一区二区不卡| 精品无人码麻豆乱码1区2区| 亚洲色图欧美偷拍| 91亚洲国产成人精品一区二区三| 国产精品久久久久久亚洲伦| 99久久伊人精品| 一区二区三区在线观看国产| 色视频成人在线观看免| 亚洲第一在线综合网站| 日韩视频一区二区| 美脚の诱脚舐め脚责91 | 91福利小视频| 亚洲综合一区在线| 欧美日韩情趣电影| 久久精品99久久久| 久久久久综合网| 国产一区二区三区免费看| 中文字幕精品综合| 日本韩国精品一区二区在线观看| 亚洲伊人伊色伊影伊综合网| 欧美精品777| 看片的网站亚洲| 亚洲国产成人午夜在线一区| 91麻豆精东视频| 亚洲一区二区三区视频在线播放| 欧美日本一道本| 国产成人综合在线播放| 一区二区三区四区五区视频在线观看 | 91免费看视频| 另类综合日韩欧美亚洲| 亚洲综合在线免费观看| 欧美日韩日日夜夜| 国产盗摄女厕一区二区三区| 亚洲最新在线观看| 久久网站最新地址| 色久综合一二码| 国产乱码精品一区二区三| 亚洲一区中文日韩| 久久天堂av综合合色蜜桃网| 日本道色综合久久| 国产精品一区二区久激情瑜伽| 亚洲卡通动漫在线| 337p粉嫩大胆色噜噜噜噜亚洲| 9i在线看片成人免费| 免费观看日韩电影| 一区二区三区 在线观看视频| 欧美精品一区二区在线观看| 色婷婷久久一区二区三区麻豆| 麻豆国产欧美日韩综合精品二区| 亚洲欧美日韩一区二区三区在线观看| 欧美一区二区私人影院日本| 成人一区二区三区在线观看| 日本欧美加勒比视频| 国产欧美日韩不卡| 欧美岛国在线观看| 欧美日韩成人综合天天影院 | 91精品免费观看| 色天天综合久久久久综合片| 国产一区二区h| 蜜桃在线一区二区三区| 亚洲国产日产av| 中文字幕一区二区三| 国产视频在线观看一区二区三区| 91精品国产综合久久精品性色| 9色porny自拍视频一区二区| 黑人巨大精品欧美黑白配亚洲| 亚洲www啪成人一区二区麻豆| 日韩理论在线观看| 1区2区3区国产精品| 国产无一区二区| 国产亚洲午夜高清国产拍精品| 国产精品超碰97尤物18| 日韩午夜激情av| 欧美一区二区视频网站| 91精品国产91久久久久久最新毛片| 日本精品一区二区三区高清| 91网站黄www| 欧美日韩另类一区| 色素色在线综合| 制服.丝袜.亚洲.中文.综合 | 97久久精品人人爽人人爽蜜臀| 99久久精品国产麻豆演员表| 91成人在线免费观看| 717成人午夜免费福利电影| 欧美成人猛片aaaaaaa| 国产农村妇女毛片精品久久麻豆| 亚洲欧美在线视频| 丝袜诱惑亚洲看片| 国产精品亚洲一区二区三区在线| 99久久久精品| 欧美电影在线免费观看| 久久久久久黄色| 伊人一区二区三区| 秋霞国产午夜精品免费视频| 国产精品亚洲人在线观看| 91麻豆.com| 91精品国产高清一区二区三区| 国产欧美视频在线观看| 亚洲在线视频网站| 久久国产精品99精品国产 | 国产精品国产三级国产普通话三级| 一级中文字幕一区二区| 激情六月婷婷久久| 欧美视频在线一区| 欧美激情一区不卡| 免费成人在线观看| 91蝌蚪porny| 国产偷v国产偷v亚洲高清| 亚洲一二三级电影| 成人黄色免费短视频| 欧美一区二区三区色| 亚洲欧洲日产国码二区| 男人操女人的视频在线观看欧美| kk眼镜猥琐国模调教系列一区二区| 欧美精品第一页| 亚洲日本在线天堂| 国产乱对白刺激视频不卡| 欧美人牲a欧美精品| 亚洲精品乱码久久久久久日本蜜臀| 久久99在线观看| 欧美久久久久久久久中文字幕| 国产精品久久久久一区| 美女在线观看视频一区二区| 欧美午夜精品久久久久久超碰| 国产精品欧美久久久久无广告| 久久国产精品72免费观看| 欧美日韩精品系列| 伊人婷婷欧美激情| 91亚洲午夜精品久久久久久| 久久午夜国产精品| 久久av老司机精品网站导航| 欧美精品一二三| 亚洲成国产人片在线观看| 色成年激情久久综合| 亚洲天堂网中文字| av爱爱亚洲一区| 国产精品人人做人人爽人人添| 国产精品1区2区| 久久欧美中文字幕| 激情小说亚洲一区| 久久综合精品国产一区二区三区| 日韩经典中文字幕一区| 欧美肥胖老妇做爰| 青青国产91久久久久久| 欧美电影免费观看完整版| 久久精品国产一区二区| 日韩一区二区精品在线观看|