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

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

?? ic_card.c

?? C8051讀寫M1射頻卡源程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//用C8051F410讀寫器讀寫M1射頻卡,讀卡模塊用WM-11T6
#include <C8051F410.h>
#include <stdio.h>
#include <intrins.h>
//-----------------------------------------------------------------------------
// typedef
//-----------------------------------------------------------------------------
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
typedef signed char s8;
typedef signed int s16;
typedef signed long s32;
//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------

//////////////以下為卡密碼/////////////////////////
/*
 #define key1 0xff
 #define key2 0xff
 #define key3 0xff
 #define key4 0xff
 #define key5 0xff
 #define key6 0xff
 //*/
#define SYSCLK       24500000    // SYSCLK frequency in Hz
#define BAUDRATE       9600     // Baud rate of UART in bps
#define T0_RELOAD_H    0xF0  // Reload value for Timer0 high byte //to calc
#define T0_RELOAD_L    0x00  // Reload value for Timer0 low byte
#define BUFSIZE_UREC 26         //接收緩沖區最大長度	
			
//-----------------------------------------------------------------------------
//定義全局變量
//-----------------------------------------------------------------------------
u8 indexUartRec = 0;  //接收指針
u8 Numrxdi = 0;    //接收到的數據字節數
u8 srxdbuff[24];//發送緩沖區
u8 rxdbuff[21];	//接收緩沖區
u8 CardData[16];//讀卡數據緩沖區
u8 CardNO1[4];//卡號
u8 WriteCardData[16];
bit rx_complete = 0;//發送完成標志位

//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
void Init_SYSCLK (void)
{
   OSCICN = 0x87;                      // configure internal oscillator for
                                       // 24.5MHz
   RSTSRC = 0x04;                      // enable missing clock detector
}


void Init_T0(void)
{
  TH0 = T0_RELOAD_H;           // Init Timer0 High register
  TL0 = T0_RELOAD_L ;          // Init Timer0 Low register
  TMOD = 0x01;                 // Timer0 in 16-bit mode
  CKCON = 0x02;                // Timer0 uses a 1:48 prescaler
  ET0 = 1;                     // Timer0 interrupt enabled
  TR0 = 0;                     // Timer0 OFF //
}
//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------

void Init_PORT (void)
{
  P0MDIN    = 0xFF;          //所有端口數字
  P0MDOUT   = 0x10;          // Enable UTX as push-pull output 
 // P0SKIP    = 0x0C;          //INT0: P0.2:  & INT1: P0.3       
  XBR0     = 0x01;           // Enable UART on P0.4(TX) and P0.5(RX)
  XBR1     = 0x40;           // Enable crossbar and weak pull-ups
}
//-----------------------------------------------------------------------------
// UART0_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// Configure the UART0 using Timer1, for <BAUDRATE> and 8-N-1.
//-----------------------------------------------------------------------------

void Init_UART0 (void)
{
   SCON0 = 0x10;                       //        SCON0: 8-bit variable bit rate
                                       //        level of STOP bit is ignored
                                       //        RX enabled
                                       //        ninth bits are zeros
                                       //        clear RI0 and TI0 bits
   if (SYSCLK/BAUDRATE/2/256 < 1) {
      TH1 = -(SYSCLK/BAUDRATE/2);
      CKCON |=  0x08;                  // T1M = 1; SCA1:0 = xx
   } else if (SYSCLK/BAUDRATE/2/256 < 4) {
      TH1 = -(SYSCLK/BAUDRATE/2/4);
      CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 01
      CKCON |=  0x01;
   } else if (SYSCLK/BAUDRATE/2/256 < 12) {
      TH1 = -(SYSCLK/BAUDRATE/2/12);
      CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 00
   } else if (SYSCLK/BAUDRATE/2/256 < 48) {
      TH1 = -(SYSCLK/BAUDRATE/2/48);
      CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 10
      CKCON |=  0x02;
   } else {
      while (1);                       // Error.  Unsupported baud rate
   }

   TL1 = TH1;                          // init Timer1
 //  TMOD &= ~0xf0;                      // TMOD: timer 1 in 8-bit autoreload
   TMOD |=  0x20;
   TR1 = 1;                            // START Timer1
   TI0 = 1;                            // Indicate TX0 ready
   ES0 = 1;                            // enable uart0 interrupt      
}


u8 XORCheck(u8 *psData,u8 length)
{
    u8 i;
    u8 XORData=0;

    for(i = 0; i < length; i++)
    {
            XORData ^= psData[i];
    }

    return XORData;
}
void Delay_10ms(void)//10ms
{
       u8 i;
        for(i = 0; i < 150;  i++)//
        {
        }
}


//-----------------------------------------------------------------------------
// 通過UART0發送數據
//-----------------------------------------------------------------------------
void Uart0_Send (void *ptr, u8 num)
{
	TI0 = 0; // 可刪除

   	REN0=0;//禁止接受
	EA = 0;

  while(num!= 0)
  {
	SBUF0 = *((char *)ptr)++;
    while(!TI0);  //wait for sending
	TI0 = 0;   
	num--;  
  }

    REN0=1;//允許接受,	
	EA = 1;
}

//尋卡
//下傳命令:3C 04 01 70 00(尋卡模式00(IDLE)或01(ALL)) 00 BCC 0D
//成功返回:3C 05 四字節卡號 00 BCC 0D
//錯誤返回:3C 01 FF(錯誤返回代碼) BCC 0D  
//11T6讀卡模塊無論卡在不在感應區內都返回尋卡成功,飛利浦的設計 
u8  CardReady()     //成功則返回0,否則返回失敗原因
  {
   u8 j;
   u16 n;
CardReadyERR:
   Delay_10ms(); //保證每條指令之間延時20ms
   Delay_10ms();
   TR0=0;
   srxdbuff[0]=0x3c;
   srxdbuff[1]=0x04;
   srxdbuff[2]=0x01;
   srxdbuff[3]=0x70;
   srxdbuff[4]=0x01;//尋卡模式
   srxdbuff[5]=0x00;
   srxdbuff[6]=XORCheck(srxdbuff,6);
   srxdbuff[7]=0x0d;  	
   Uart0_Send(srxdbuff,8);
   n=20000;
   while(n)
   {
     if(rx_complete)//接收完成
	 {
	   rx_complete = 0;
	 //  n = 0;
	   break;
	 }
	 Delay_10ms();
	 n--;
   }
   if(n==0)
     return 1;//超時返回
	if(rxdbuff[1] == 0x01)
	  {
	    return 2;			//錯誤返回	 
	  }
	else if(rxdbuff[1] == 0x05)
	  {
	   if((XORCheck(rxdbuff,7)==rxdbuff[7])&&(rxdbuff[8])==0x0d)
	     {
		   for(j=0;j<4;j++)
		      {
			    CardNO1[j]=rxdbuff[2+j];
			  }
		   return 0;//尋卡成功返回		
		 }
		else 

		{
		  return 3;//校驗錯誤返回
		 }

	  }
    else  goto CardReadyERR;
}
//密碼驗證
//下傳命令:3C 0E 01 6C 六字節密碼 認證模式(00-A/01-B) 絕對塊號 四字節卡號 校驗位 0D
//成功返回:3C 02 00 00 BCC 0D 
//錯誤返回:3C 01 FF(錯誤代碼) BCC 0D
//注:根據原先的設置,一般都用B密碼
u8 KeyPass(u8 BlockNum)//成功則返回0,否則返回失敗原因
{
  u16 n;
  Delay_10ms(); //保證每條指令之間延時20ms
  Delay_10ms();
  TR0=0;
  srxdbuff[0]=0x3c;
  srxdbuff[1]=0x0e;
  srxdbuff[2]=0x01;
  srxdbuff[3]=0x6c;
  srxdbuff[4]=key1;//六字節密碼
  srxdbuff[5]=key2;
  srxdbuff[6]=key3;
  srxdbuff[7]=key4;  
  srxdbuff[8]=key5;
  srxdbuff[9]=key6;
  srxdbuff[10]=0x00;//采用A密碼
  srxdbuff[11]=BlockNum;
  srxdbuff[12]=CardNO1[0];  
  srxdbuff[13]=CardNO1[1];  
  srxdbuff[14]=CardNO1[2];  
  srxdbuff[15]=CardNO1[3]; 
  srxdbuff[16]=XORCheck(srxdbuff,16);
  srxdbuff[17]=0x0d;   
  Uart0_Send(srxdbuff,18);
  n=20000;
   while(n)
   {
     if(rx_complete)//接收完成
	 {
	   rx_complete = 0;
	 //  n = 0;
	   break;
	 }
	 Delay_10ms();
	 n--;
   }
  if(n==0)
     return 1;//超時返回
  if(rxdbuff[1] == 0x01)
	{
	  return 2;			//錯誤返回	 
	}
  else if(rxdbuff[1] == 0x02)
	  {
	   if((XORCheck(rxdbuff,4)==rxdbuff[4])&&((rxdbuff[5])==0x0d))
	     {
		   return 0;//尋卡成功返回		
		 }
		else 

		{
		  return 3;//校驗錯誤返回
		 }

	  }
    else  return 4;//其它錯誤返回 	 
}

//讀卡
//下傳命令:3C 04 01 66 00(絕對塊號) 00 BCC 0D
//成功返回:3C 12 00 DATA0~DATA15 BCC 0D
//錯誤返回:3C 01 FF(錯誤返回代碼) BCC 0D
u8 CardRead_step(u8 BlockNum)//成功則返回0,否則返回失敗原因
{
   u8 j;
   u16 n;
   Delay_10ms(); //保證每條指令之間延時20ms
   Delay_10ms();
   TR0=0;
   srxdbuff[0]=0x3c;
   srxdbuff[1]=0x04;
   srxdbuff[2]=0x01;
   srxdbuff[3]=0x66;
   srxdbuff[4]=BlockNum;
   srxdbuff[5]=0x00;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人综合在线一区二区| 中文字幕日本不卡| 国产精品久久久久久久久免费桃花| 亚洲欧美电影一区二区| 美女一区二区久久| 欧美中文字幕亚洲一区二区va在线| 久久青草欧美一区二区三区| 亚洲一卡二卡三卡四卡五卡| 国产成人免费在线观看不卡| 日韩精品综合一本久道在线视频| 一区二区三区加勒比av| 国产91高潮流白浆在线麻豆| 日韩欧美在线观看一区二区三区| 国产精品久久久久久久裸模| 国产精品亚洲一区二区三区妖精| 欧美视频中文一区二区三区在线观看| 欧美国产精品久久| 国产在线麻豆精品观看| 日韩欧美国产一区二区在线播放| 午夜成人免费电影| 色素色在线综合| 18涩涩午夜精品.www| 成人av资源在线观看| 久久精品在这里| 黑人精品欧美一区二区蜜桃| 欧美大度的电影原声| 久久精品免费观看| 欧美一级久久久久久久大片| 舔着乳尖日韩一区| 欧美精品一二三| 免费观看成人av| 日韩三级在线观看| 久久成人免费日本黄色| 日韩一二三区视频| 久久99精品久久久久久久久久久久| 欧美精品视频www在线观看| 亚洲线精品一区二区三区| 色婷婷综合久色| 午夜日韩在线观看| 日韩欧美视频一区| 国产福利一区二区三区视频在线| 久久精品一区四区| 99久久久精品免费观看国产蜜| 国产精品理伦片| 91视频免费播放| 一区二区三区色| 欧美一区二区精美| 狠狠狠色丁香婷婷综合激情| 中文字幕不卡一区| 在线欧美小视频| 石原莉奈在线亚洲二区| 精品成人在线观看| 成人福利电影精品一区二区在线观看| 日韩毛片视频在线看| 欧美人与性动xxxx| 国产精品99久| 夜夜亚洲天天久久| 精品日韩在线观看| 99视频国产精品| 日本欧美在线观看| 国产欧美日韩在线看| 在线亚洲一区二区| 麻豆91精品视频| 中文字幕一区二区三中文字幕| 日本道色综合久久| 国产在线不卡一卡二卡三卡四卡| 国产精品九色蝌蚪自拍| 91精品国产一区二区三区| 成人一区二区三区在线观看| 一区二区成人在线观看| 精品国产凹凸成av人网站| 99re热这里只有精品免费视频| 日韩影视精彩在线| 亚洲视频你懂的| 日韩片之四级片| 在线影院国内精品| 国产成人精品亚洲777人妖| 一区二区激情视频| 国产婷婷一区二区| 欧美日本在线看| 不卡免费追剧大全电视剧网站| 日本欧美一区二区三区| 亚洲日本青草视频在线怡红院| 日韩三级高清在线| 欧美亚洲综合久久| 成人黄色免费短视频| 久久99热这里只有精品| 亚洲国产精品视频| 国产精品电影一区二区| 国产丝袜在线精品| 精品国产1区二区| 欧美日韩1234| 欧美性大战久久| 91老师国产黑色丝袜在线| 国产经典欧美精品| 狠狠色狠狠色合久久伊人| 日韩激情在线观看| 天堂午夜影视日韩欧美一区二区| 亚洲日本丝袜连裤袜办公室| 国产精品理论片在线观看| 久久久精品人体av艺术| 欧美日韩不卡视频| 欧美日韩一级二级三级| 欧亚一区二区三区| 在线观看网站黄不卡| 97精品电影院| 成人久久视频在线观看| 成人在线综合网站| 99re8在线精品视频免费播放| 国产成人a级片| 国产成人在线电影| 国产一区二区视频在线| 国产精品亚洲午夜一区二区三区| 国产麻豆一精品一av一免费 | 一区二区三区四区国产精品| 最新欧美精品一区二区三区| 中文字幕中文乱码欧美一区二区| 国产欧美综合在线观看第十页| 久久伊人蜜桃av一区二区| 26uuu久久天堂性欧美| 欧美videossexotv100| 欧美va亚洲va在线观看蝴蝶网| 欧美videos中文字幕| 精品国产免费人成在线观看| 久久久精品中文字幕麻豆发布| 国产日韩欧美综合在线| 一色桃子久久精品亚洲| 一区二区三区av电影 | 一区二区三区在线观看视频| 亚洲女同ⅹxx女同tv| 一区二区欧美精品| 免费久久99精品国产| 国产一区二区在线观看视频| 成人黄色a**站在线观看| 91福利视频久久久久| 日韩欧美一二三四区| 久久精品视频免费观看| 亚洲日本一区二区| 日韩av一区二区在线影视| 激情伊人五月天久久综合| 懂色av中文一区二区三区| 在线观看亚洲成人| 精品国产凹凸成av人导航| 国产精品久久久久久久久久免费看 | 精品少妇一区二区三区| 国产欧美日韩视频在线观看| 亚洲欧美视频在线观看视频| 天使萌一区二区三区免费观看| 九九国产精品视频| 91女厕偷拍女厕偷拍高清| 日韩欧美资源站| 亚洲视频一二三| 韩国一区二区视频| 在线免费视频一区二区| 久久久www成人免费毛片麻豆 | 免费亚洲电影在线| 国产最新精品免费| 欧美日韩一区高清| 国产日产欧美一区| 免费一级欧美片在线观看| 9人人澡人人爽人人精品| 欧美一区在线视频| 亚洲精品五月天| 国产乱码精品一区二区三区忘忧草 | 精品国产乱码久久久久久免费| 亚洲欧美精品午睡沙发| 激情综合五月婷婷| 欧美日韩一级二级| 国产精品成人一区二区艾草| 美女精品一区二区| 欧美性高清videossexo| 国产女人18毛片水真多成人如厕 | 亚洲在线中文字幕| 成人免费看片app下载| 欧美成人午夜电影| 亚洲18影院在线观看| 99re6这里只有精品视频在线观看| 精品国产伦一区二区三区观看体验 | 成人综合婷婷国产精品久久蜜臀 | 国产成人在线看| 日韩情涩欧美日韩视频| 亚洲 欧美综合在线网络| 91丨porny丨在线| 国产精品毛片a∨一区二区三区| 日韩精品一区第一页| 欧美色视频一区| 一区二区三区视频在线观看| 不卡区在线中文字幕| 中文在线一区二区| 国产一区二区美女| 精品黑人一区二区三区久久| 蜜臀国产一区二区三区在线播放 | 色偷偷久久一区二区三区| 国产精品久久三区| 波多野结衣中文一区| 国产精品久久久久影视| 精品一区二区三区久久| 26uuu精品一区二区 | 另类综合日韩欧美亚洲| 欧美大片在线观看一区|