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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainjb.lst

?? 最流行的mifare卡讀卡器全部源代碼
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V6.12  MAINJB                                                                 12/09/2002 13:03:09 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE MAINJB
OBJECT MODULE PLACED IN mainjb.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE mainjb.c DB OE SMALL ROM(LARGE) 

stmt level    source

   1          /****************** 本文件定義IC卡讀寫器物理層及數據鏈路層函數  **************************/
   2          /****************** 編寫時間:2001年9月12日                     **************************/
   3          //#pragma OE
   4          #include "52User.h"
   5          #include "datas.h"
   6          #include "errcode.h" 
   7          #include "intrins.h"
   8          #include "tr2.h"
   9          #include "transt1.h"
  10          #include "memcard1.h"
  11          /****************子函數定義*********************/
  12          void delay_50us()
  13          {
  14   1      	uchar i;
  15   1      	for(i=0;i<5;i++);
  16   1      }
  17          
  18          void delay_104us()
  19          {
  20   1      	TL0=0x68;
  21   1      	ET0=0;
  22   1      	TR0=1;
  23   1      	while(!TF0);
  24   1      	TR0=0;
  25   1      	TF0=0;
  26   1      	ET0=1;
  27   1      }
  28          
  29          void delay_104SAM()
  30          {
  31   1      	TL1=0x68;
  32   1      	ET1=0;
  33   1      	TR1=1;
  34   1      	while(!TF1);
  35   1      	TR1=0;
  36   1      	TF1=0;
  37   1      	ET1=1;
  38   1      }
  39          
  40               
  41          void initT0()
  42          {
  43   1         TL0=0x60;
  44   1         ET0=1;
  45   1         TR0=1;   
  46   1      }
  47          void initT1()
  48          {
  49   1         TL1=0x60;
  50   1         ET1=1;
  51   1         TR1=1;   
  52   1      }
  53          
  54          
  55          /***** 定義ReceiveATR函數,該函數接收來自ICC的復位應答,并將其保存到以RICCBuf為首址的存儲空間 *****/
C51 COMPILER V6.12  MAINJB                                                                 12/09/2002 13:03:09 PAGE 2   

  56          /******************* 正確接收完則返回OK,無卡則返回NoCard,超時則返回HaveTimeOut *******************/
  57          
  58          uchar ReceiveATR()
  59          {
  60   1      	uchar i;
  61   1      	uint WaitTime;
  62   1      	WaitTime=9600;
  63   1      	IfSend=0;
  64   1      	ICC_OUTPUT=1;
  65   1      	for(RICCLen=0,i=0;;RICCLen++)
  66   1      	{	
  67   2      		ET0=0;							//關T0中斷允許
  68   2      		TR0=1;							
  69   2      		EtuCount=0;
  70   2      		
  71   2      		while(1)						//等待ICC回復起始位
  72   2      		{
  73   3      			if(ICC_OUTPUT==0)			//是否是起始位
  74   3      			{
  75   4      				delay_50us();			//延時去噪
  76   4      				if(ICC_OUTPUT==0)
  77   4      					break;				//是起始位則準備接收
  78   4      			}
  79   3      			if(TF0)
  80   3      			{
  81   4      				TF0=0;
  82   4      				EtuCount++;
  83   4      				if(EtuCount>WaitTime)
  84   4      				{
  85   5      					if(RICCLen!=0)
  86   5      						return OK;
  87   5      					else if(!ICC_Detect)
  88   5      						return NoCard;
  89   5      					else 
  90   5      						return HaveTimeOut;
  91   5      				}						
  92   4      			}				
  93   3      		}
  94   2      		EtuCount=0;
  95   2      		WaitTime=500;
  96   2      		initT0();
  97   2      		rbyte=0x00;
  98   2      		RBitCount=0x08; 				//置接收數據位數
  99   2      		while(RBitCount);				//等待接收結束
 100   2      		delay_104us();
 101   2      		check=ICC_OUTPUT;				//接收校驗位
 102   2      		if(check==P)					//接收正確則保存
 103   2      		{
 104   3      			RICCBuf[RICCLen]=rbyte;
 105   3      			ICC_OUTPUT=1;				//接收正確
 106   3      		}
 107   2      		else
 108   2      		{
 109   3      			ICC_OUTPUT=0;				//接收錯誤,請求重發
 110   3      			delay_50us();
 111   3      			delay_104us();
 112   3      			ICC_OUTPUT=1;
 113   3      			RICCLen--;
 114   3      			continue;					//重新接收數據
 115   3      		}
 116   2      		delay_104us();					//延時,準備接收下一位數據
 117   2      	}
C51 COMPILER V6.12  MAINJB                                                                 12/09/2002 13:03:09 PAGE 3   

 118   1      }
 119          
 120          /****************** 定義函數SendToICC,該函數實現將以SICCBuf為首址的數據發送到ICC **********/
 121          /*********************	發送正確則返回OK,無卡則返回Nocard,其他返回invalid ****************/
 122          
 123          uchar SendToICC()
 124          {  	
 125   1          uchar data ErrorCount;											//錯誤次數計數	
 126   1      	bit check;															//奇偶校驗位
 127   1      	uchar data i;        	
 128   1      	IfSend=1;															// 置接收標志
 129   1      	ICC_OUTPUT=1;
 130   1      	delay_104us();
 131   1      	for(i=0;i<SICCLen;i++)												//準備發送
 132   1      	{
 133   2      		sbyte=SICCBuf[i];
 134   2      		check=P;
 135   2      		SBitCount=8;													//發送數據					
 136   2      //		initT0();
 137   2      		TL0=0x74;
 138   2      		TR0=1;
 139   2      		ET0=1;
 140   2      		ICC_OUTPUT=0;													//發送起始位
 141   2      		while(SBitCount);
 142   2      		TL0=0x88;
 143   2      		ET0=0;
 144   2      		while(!TF0);														//延時1etu
 145   2      		ICC_OUTPUT=check;												//發送校驗位
 146   2      		TF0=0;
 147   2      		while(!TF0);
 148   2      	//	delay_104us();
 149   2      		_nop_();
 150   2      		_nop_();
 151   2      		ICC_OUTPUT=1;
 152   2      		TF0=0;
 153   2      		delay_104us();													//保護時間
 154   2      		//delay_50us();
 155   2      		if(ICC_OUTPUT==1)												//判斷ICC是否接收正確
 156   2      		{
 157   3      			delay_104us();
 158   3      			ErrorCount=0;
 159   3      			continue;													//正確則發送下字節數據
 160   3      		}
 161   2      		else if (ErrorCount<3)											//判斷錯誤次數是否超出
 162   2      		{
 163   3      			i--;
 164   3      			ErrorCount++;
 165   3      			delay_104us();
 166   3      			delay_104us();
 167   3      			continue;
 168   3      		}
 169   2      		else
 170   2      		{
 171   3      			if(!ICC_Detect)												//判斷是否有卡
 172   3      				return 	NoCard;		
 173   3      			else	
 174   3      				return  SendError;
 175   3      		}
 176   2      	}
 177   1      	return OK;
 178   1      }
 179          
C51 COMPILER V6.12  MAINJB                                                                 12/09/2002 13:03:09 PAGE 4   

 180          
 181          /***** 定義ReceiveFromICC函數,該函數接收來自ICC的數據,并將其保存到以RICCBuf為首址的存儲空間 *****/
 182          /******************* 正確接收完則返回OK,無卡則返回NoCard,超時則返回HaveTimeOut *******************/
 183          
 184          uchar ReceiveFromICC()
 185          {
 186   1      	uchar data i;
 187   1      	uint WaitTime;
 188   1      	WaitTime=9600;
 189   1      	ICC_OUTPUT=1;		
 190   1      	for(RICCLen=0,i=0;;RICCLen++)
 191   1      	{	
 192   2      		IfSend=0;
 193   2      		EtuCount=0;
 194   2      		ET0=0;							//關T0中斷允許
 195   2      		TR0=1;							
 196   2      		while(1)						//等待ICC回復起始位
 197   2      		{							
 198   3      			if(ICC_OUTPUT==0)			//是否是起始位
 199   3      			{
 200   4      				delay_50us();			//延時去噪
 201   4      				if(ICC_OUTPUT==0)
 202   4      					break;							//是起始位則準備接收
 203   4      			}
 204   3      			if(TF0)
 205   3      			{
 206   4      				TF0=0;
 207   4      				EtuCount++;
 208   4      				if(EtuCount>WaitTime)
 209   4      				{
 210   5      					if(ICC_Detect&RICCLen!=0)
 211   5      						return OK;
 212   5      					else if(!ICC_Detect)
 213   5      						return NoCard;
 214   5      					else	
 215   5      						return HaveTimeOut;
 216   5      				}						
 217   4      			}				
 218   3      		}
 219   2      		EtuCount=0;
 220   2      		if(!isTimeOut)
 221   2      			WaitTime=50;
 222   2      		initT0();
 223   2      	 	rbyte=0x00;
 224   2      		RBitCount=0x08; 				//置接收數據位數
 225   2      		while(RBitCount);				//等待接收結束
 226   2      		delay_104us();
 227   2      		check=ICC_OUTPUT;				//接收校驗位
 228   2      		if(check==P)					//接收正確則保存
 229   2      		{
 230   3      			RICCBuf[RICCLen]=rbyte;
 231   3      			ICC_OUTPUT=1;				//接收正確
 232   3      			ErrorCount=0;
 233   3      		}
 234   2      		else if(ErrorCount<3)
 235   2      		{
 236   3      			ICC_OUTPUT=0;				//接收錯誤,請求重發
 237   3      			delay_50us();
 238   3      			delay_104us();
 239   3      			ICC_OUTPUT=1;
 240   3      			RICCLen--;
 241   3      			ErrorCount++;
C51 COMPILER V6.12  MAINJB                                                                 12/09/2002 13:03:09 PAGE 5   

 242   3      			continue;					//重新接收數據
 243   3      		}
 244   2      		else 
 245   2      		{
 246   3      			if(!ICC_Detect)
 247   3      				return NoCard;
 248   3      			else	
 249   3      				return ReceiveError;
 250   3      		}
 251   2      		delay_104us();					//延時,準備接收下一位數據
 252   2      	}
 253   1      }
 254          /*************定義T0的中斷服務程序*************/
 255          /**************接收來自ICC的數據***************/
 256          		
 257          RICC()interrupt 1 using 1
 258          {
 259   1      	if(!IfSend)
 260   1      	{
 261   2      		ICC_OUTPUT=1;//
 262   2      		if (ICC_OUTPUT==1)
 263   2      		{
 264   3      			_nop_();
 265   3      			if(ICC_OUTPUT==1)
 266   3      			rbyte|=0x80;	
 267   3      			else 
 268   3      			{
 269   4      				//ICC_OUTPUT=1;//
 270   4      				_nop_();
 271   4      				if(ICC_OUTPUT==1)
 272   4      				rbyte|=0x80;	
 273   4      			}
 274   3      		}
 275   2      		if(RBitCount>1)
 276   2      			rbyte=rbyte>>1;
 277   2      		RBitCount--;  
 278   2        	}
 279   1       	else
 280   1        	{
 281   2      		if(sbyte%2)										//發送一位數據
 282   2      			ICC_OUTPUT=1;
 283   2      		else 
 284   2      			ICC_OUTPUT=0;
 285   2      		sbyte=sbyte>>1;												//右移一位 		
 286   2      		SBitCount--;
 287   2        	}
 288   1      }      
 289          
 290          void EnableEX1()
 291          {
 292   1      	EX1=1;//開外部中斷0,即允許拔卡中斷;
 293   1         	IT1=1;//下降沿觸發;	
 294   1      }
 295          void DisableEX1()
 296          {
 297   1      	EX1=0;
 298   1      	IT1=0;
 299   1      }
 300          void EnableEX0()
 301          {
 302   1      	EX0=1;//開外部中斷0,即允許拔卡中斷;
 303   1         	IT0=1;//下降沿觸發;	
C51 COMPILER V6.12  MAINJB                                                                 12/09/2002 13:03:09 PAGE 6   

 304   1      }
 305          void DisableEX0()
 306          {
 307   1      	EX0=0;
 308   1      	IT0=0;
 309   1      }
 310          
 311          
 312          /***** 定義ReceiveATR函數,該函數接收來自ICC的復位應答,并將其保存到以RICCBuf為首址的存儲空間 *****/
 313          /******************* 正確接收完則返回OK,無卡則返回NoCard,超時則返回HaveTimeOut *******************/
 314          
 315          uchar ReceiveSAMATR()
 316          {
 317   1      	uchar i;
 318   1      	uint WaitTime;
 319   1      	WaitTime=9600;
 320   1      	IfSend=0;
 321   1      	SAM_DATA=1;
 322   1      	for(RICCLen=0,i=0;;RICCLen++)
 323   1      	{	
 324   2      		ET1=0;							//關T0中斷允許
 325   2      		TR1=1;							
 326   2      		EtuCount=0;
 327   2      		TF1=0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频一二三区| 午夜视频在线观看一区| 日韩午夜中文字幕| 在线不卡欧美精品一区二区三区| 色噜噜久久综合| 欧美综合一区二区三区| 91美女片黄在线观看| 在线观看成人小视频| 色视频欧美一区二区三区| 欧美性色综合网| 欧美欧美欧美欧美首页| 日韩视频一区二区| 久久久精品tv| 亚洲欧美日韩一区二区三区在线观看| 亚洲欧美日韩国产另类专区| 亚洲图片欧美色图| 麻豆国产精品一区二区三区| 国产一区二区三区免费| 成人精品国产一区二区4080| 色狠狠一区二区三区香蕉| 欧美日韩电影一区| 精品国产乱码久久久久久夜甘婷婷| 久久久午夜精品| 亚洲欧美激情插 | 国产日韩欧美不卡在线| 中文字幕制服丝袜成人av| 亚洲精品日韩一| 蜜臀精品久久久久久蜜臀| 风间由美性色一区二区三区| 在线免费亚洲电影| 精品国产免费人成电影在线观看四季 | 日韩成人av影视| 国产精品一线二线三线精华| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美在线观看视频在线| 久久嫩草精品久久久久| 亚洲成av人影院| 国产精品自拍在线| 欧美日韩免费在线视频| 欧美激情一二三区| 久久99深爱久久99精品| 欧美性受xxxx黑人xyx| 国产欧美日韩卡一| 免费在线看成人av| 欧美无乱码久久久免费午夜一区 | 日韩精品一级中文字幕精品视频免费观看| 韩国在线一区二区| 91精品综合久久久久久| 一区二区欧美国产| 成人午夜视频在线| 337p日本欧洲亚洲大胆精品| 午夜国产不卡在线观看视频| 99久久精品情趣| 久久色在线视频| 97se亚洲国产综合自在线不卡| 555www色欧美视频| 一片黄亚洲嫩模| 大陆成人av片| 久久久久久久久久久久久女国产乱 | 国产亚洲精品精华液| 日韩国产欧美视频| 欧美精品在线观看播放| 一区二区在线看| 一本一道综合狠狠老| 亚洲国产精品传媒在线观看| 国产毛片精品视频| 欧美mv日韩mv国产网站app| 日韩精品免费专区| 制服.丝袜.亚洲.中文.综合| 亚洲福中文字幕伊人影院| 欧美综合一区二区| 亚洲国产一区二区视频| 欧美日韩精品一区二区天天拍小说 | 粉嫩一区二区三区在线看| 久久免费看少妇高潮| 激情图区综合网| 国产欧美久久久精品影院| 国产精品99久久久久久有的能看| 久久精品一区二区三区不卡牛牛| 极品少妇xxxx精品少妇| 精品国产乱码久久久久久久| 国内精品伊人久久久久av影院| 日韩精品一区二| 国产成人综合在线观看| 国产精品二三区| 欧美自拍偷拍午夜视频| 日韩专区一卡二卡| 欧美精品一区二区精品网| 国产精品1区2区| 亚洲视频一区二区在线观看| 色婷婷久久综合| 亚洲国产色一区| 精品乱人伦小说| 成人精品视频.| 亚洲精品大片www| 久久久国际精品| 亚洲视频香蕉人妖| 成人国产视频在线观看| 91在线你懂得| 国产亚洲综合av| 亚洲免费av观看| 欧美日韩一区视频| 韩国三级电影一区二区| 国产精品丝袜一区| 欧美自拍偷拍一区| 男女激情视频一区| 亚洲天堂成人网| 91精品国产综合久久蜜臀| 国产精品夜夜嗨| 亚洲一区二区三区四区中文字幕| 精品久久久久久久久久久久久久久久久 | 欧美蜜桃一区二区三区| 国产麻豆日韩欧美久久| 一区二区高清在线| 精品国产乱码久久久久久免费 | 精品卡一卡二卡三卡四在线| 成人精品视频.| 免费一级片91| 一区二区三区在线免费播放 | 成人久久18免费网站麻豆| 亚洲va欧美va人人爽| 最新热久久免费视频| 日韩欧美在线影院| 欧美视频在线观看一区| thepron国产精品| 精品一区二区三区视频| 777午夜精品免费视频| 99精品视频在线播放观看| 美女网站在线免费欧美精品| 日韩理论片中文av| 久久久国产一区二区三区四区小说| 欧美亚洲综合另类| 色噜噜狠狠色综合中国| 福利电影一区二区三区| 韩国三级中文字幕hd久久精品| 三级精品在线观看| 亚洲一区二区欧美激情| 亚洲女同ⅹxx女同tv| 国产精品人人做人人爽人人添| 精品国产乱码久久久久久蜜臀 | 亚洲精品乱码久久久久久日本蜜臀| 亚洲精品在线电影| 日韩欧美综合一区| 日韩欧美国产午夜精品| 欧美福利一区二区| 7777精品伊人久久久大香线蕉完整版 | 欧美日韩国产一级二级| www.欧美.com| 99视频一区二区| 成人短视频下载| 成人美女视频在线观看18| 福利视频网站一区二区三区| 岛国av在线一区| 不卡的av在线| 色婷婷av一区二区三区之一色屋| 97se亚洲国产综合自在线不卡| k8久久久一区二区三区| 99精品国产一区二区三区不卡| 99在线精品免费| 欧美性生活影院| 3atv一区二区三区| 久久综合给合久久狠狠狠97色69| www亚洲一区| 国产精品久久午夜| 伊人色综合久久天天人手人婷| 亚洲综合成人在线| 日韩av一区二区三区四区| 久久精品国产在热久久| 国产自产v一区二区三区c| 91精品国产综合久久精品app| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品性做久久久久久| 国产成人在线看| 99在线精品一区二区三区| 精品视频在线免费观看| 欧美一区二区三区人| 中文字幕精品三区| 亚洲一级电影视频| 久久99精品国产.久久久久久| 国产69精品久久99不卡| 色狠狠色狠狠综合| 精品免费国产二区三区| 亚洲欧洲精品成人久久奇米网| 亚洲成av人影院| 成人激情综合网站| 欧美日韩国产小视频在线观看| 精品国产免费一区二区三区香蕉| 亚洲国产成人一区二区三区| 亚洲一卡二卡三卡四卡| 国产一区二区视频在线| 欧美在线综合视频| 欧美精品一区二区三区高清aⅴ | 亚洲精选一二三| 久久激情五月激情| 91美女片黄在线| 久久久影视传媒| 日韩精品电影一区亚洲| fc2成人免费人成在线观看播放| 欧美精品日日鲁夜夜添| 亚洲欧美电影一区二区|