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

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

?? sle4442_b.c

?? IC卡購電軟件實現
?? C
字號:
/*******************************************************************************
*  標題:  藍海微芯LJD-SY-5200單片機開發系統演示程序                            *
*  文件:  SLE4442.C                                                            *
*  日期:  2006-8-9                                                             *
*  版本:  1.0                                                                  *
*  作者:  藍海微芯                                                             *
*  網站: http://www.ljd-2008.com                                              *
********************************************************************************
*  描述:                                                                       *
*         IC卡程序模塊                                                         *     
*                                                                              *
*         30H-----------讀主存儲區                                             *
*         34H-----------讀保護存儲區                                           *
*         38H-----------寫主存儲區                                             *
*         3CH-----------寫保護存儲區                                           *
*         31H-----------讀保密存儲區                                           *
*         33H-----------比較驗證數據                                           *
*         39H-----------更新保密存儲區                                         *
*                                                                              *
*                                                                              *
********************************************************************************
* 【版權】 Copyright(C)微芯科技 http://www.bluemcu.com    All Rights Reserved  *          
* 【聲明】 此程序僅用于學習與參考,引用請注明版權和作者信息!                  *
*******************************************************************************/
#include<reg51.h>                  /*=== 頭文件包含 ===*/
#include<intrins.h>
#include<absacc.h>
#include  <IC_CARD_B.h>

#define  uchar  unsigned  char
#define  uint   unsigned  int

bdata    uchar  wbyte;
sbit     wbyte_0=wbyte^0;


uchar    RSTANSER[4];                     /*4字節復位應答*/
uchar    ICCOMMAND[3];                    /*3字節命令*/
uchar    ICADDRESS;                       /*1字節地址*/
uchar    ICDATAIN;                        /*1字節數據*/
uchar    ICLENTH;                         /*1字節讀寫長度*/
uchar    ICCODE[3]={0xff,0xff,0xff};      /*3字節密碼*/
uchar    ICDATA[32];                      /*32字節讀寫數據*/                
 
void     icdelay();
void     cardpulse();
uchar    cardrbyte();
void     cardwbyte(uchar ss);
void     rst_ans();
void     sendcommand(uchar comm,uchar address,uchar odata);
void     rdmm();
void     rdpm();
void     wrmm();
void     wrpm();
void     rdsm();
uchar    rdsm_ec();
void     sendpsc();
void     wrsm(uchar ec);
void     updatepsc();
uchar    verifi();
/*main()
{
  uchar i;
  uchar EOC;
  _nop_();
  P1_4=1;
  P1_4=0;

     

  for(i=0;i<0x20;i++)
  ICDATA[i]=0xf0;                    //要寫的數據
  EOC=rdsm_ec();                     //讀錯誤計數器
  EOC=verifi();                      //校驗密碼
  EOC=rdsm_ec();
  wrmm();                            //寫主存儲區            
  rdmm();                            //再讀主存儲區
     
  while(1);
}*/
/********************************************************************
函 數 名:icdelay()
功    能:延時10us
說    明:
入口參數:  
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void icdelay()
{
  _nop_();
  _nop_();
  _nop_();
  _nop_();
}
/********************************************************************
函 數 名:cardpulse()
功    能:產生時鐘脈沖
說    明:
入口參數:  
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void  cardpulse()
{
  SCL=1;
  icdelay();
  SCL=0;
  icdelay();
}
/********************************************************************
函 數 名:cardbyte()
功    能:從SLE4442讀取一字節數據
說    明:
入口參數:  
返 回 值:ACC
設    計:藍海微芯           
***********************************************************************/
uchar  cardrbyte()
{
  uchar i;
   
  ACC=0;
  SDA=1;
  for(i=0;i<8;i++)
  {
    ACC=ACC>>1;
    A_7=SDA;
    cardpulse();
  }
  return ACC;
}
/********************************************************************
函 數 名:cardwbyte()
功    能:向SLE4442寫一字節命令或數據
說    明:
入口參數:uchar ss  
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void  cardwbyte(uchar ss)
{
  uchar i;

  wbyte=ss;

  for(i=0;i<8;i++)
  {
    SDA=wbyte_0;
    wbyte=wbyte>>1;
    cardpulse();
  }
}
/********************************************************************
函 數 名:rst_ans()
功    能:復位與應答(4個字節的復位應答)
說    明:
入口參數:  
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void   rst_ans()
{
  uchar i;
  RST=0;
  SCL=0;
  icdelay();
  RST=1;
  icdelay();
  SCL=1;
  icdelay();
  SCL=0;
  icdelay();
  RST=0;
  icdelay();
  for(i=0;i<4;i++)
  RSTANSER[i]=cardrbyte();
}
/********************************************************************
函 數 名:sendcommand()
功    能:發送命令
說    明:3字節         命令字+地址+數據 
入口參數:uchar comm   uchar address  uchar odata
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void sendcommand(uchar comm,uchar address,uchar odata)
{
                     
  SCL=1;                      /*start condition*/ 
  icdelay();
  SDA=0;
  icdelay();
  SCL=0;
   
  cardwbyte(comm);
  cardwbyte(address);
  cardwbyte(odata);

  SCL=0;                      /*stop  condition*/ 
  SDA=0;
  icdelay();
  SCL=1; 
  icdelay();
  SDA=1;
  icdelay();
  SCL=0;
  icdelay();
}
/********************************************************************
函 數 名:rdmm()
功    能:讀主存儲區
說    明:將數據讀取到數組ICDATA[] 
入口參數:
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void rdmm()
{
  uchar i;

  rst_ans();
  sendcommand(0x30,0x20,0);
  for(i=0;i<0x20;i++)
  ICDATA[i]=cardrbyte();
}
/********************************************************************
函 數 名:rdpm()
功    能:讀保護存儲區
說    明: 
入口參數:
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void rdpm()
{
  uchar i;

  rst_ans();
  sendcommand(0x34,0,0);
  for(i=0;i<0x4;i++)
  ICDATA[i]=cardrbyte();
}
/********************************************************************
函 數 名:wrmm()
功    能:寫主存儲區
說    明: 
入口參數:
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void wrmm()
{
  uchar i,j;
  uchar addr=0;

  rst_ans();
  for(i=0;i<0x20;i++)
  {
    addr=0x20+i;
    sendcommand(0x38,addr,ICDATA[i]);
    for(j=0xff;j>0;j--)                      /*256個時鐘脈沖擦除數據*/
    cardpulse();   
  } 
}
/********************************************************************
函 數 名:wrpm()
功    能:寫保護存儲區
說    明: 
入口參數:
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void wrpm()
{
  uchar i;

  rst_ans();
  for(i=0;i<0x20;i++)
  {
    sendcommand(0x3c,i,ICDATA[i]);
    for(i=0;i<0xff;i++)                     /*256個時鐘脈沖擦除數據*/
    cardpulse();
  }  
}
/********************************************************************
函 數 名:rdsm()
功    能:讀保密存儲區
說    明:
入口參數:
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void rdsm()
{
  uchar i;

  rst_ans();
  for(i=0;i<0x20;i++)
  sendcommand(0x31,0,0);
  for(i=0;i<0x4;i++)
  ICDATA[i]=cardrbyte();
}
/********************************************************************
函 數 名:rdsm_ec()
功    能:讀錯誤計數器
說    明:
入口參數:
返 回 值:erro
設    計:藍海微芯           
***********************************************************************/
uchar rdsm_ec()
{
  uchar erro;

  rst_ans();                            /*RSTANSER[]={0xa2,0x13,0x10,0x91}*/
  sendcommand(0x31,0,0);
  erro=cardrbyte();
  return erro;
}
/********************************************************************
函 數 名:wrsm()
功    能:更新保密存儲區
說    明:
入口參數:uchar ec
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void wrsm(uchar ec)
{
  uchar i;

  rst_ans();
  sendcommand(0x39,0,ec);
  for(i=0xff;i>0;i--)                            /*256個時鐘脈沖擦除數據*/
  cardpulse();
}
/********************************************************************
函 數 名:updatepsc()
功    能:更新密碼
說    明:
入口參數:
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void updatepsc()
{
  uchar i;
  uchar j;

  rst_ans();
  for(i=0;i<0x03;i++)
  {
    sendcommand(0x39,(i+1),ICCODE[i]);
    for(j=0xff;j>0;j--)                         /*256個時鐘脈沖擦除數據*/
    cardpulse();
  }
}
/********************************************************************
函 數 名:sendpsc()
功    能:比較校驗數據
說    明: 
入口參數:
返 回 值:
設    計:藍海微芯           
***********************************************************************/
void sendpsc()
{
  uchar i;
  uchar j;

  uchar adrs=0;
  rst_ans();
  for(i=0;i<0x03;i++)
  {
    adrs=i+1;
    sendcommand(0x33,adrs,ICCODE[i]);
    for(j=123;j>0;j--)                         
    cardpulse();
  }
}
/********************************************************************
函 數 名:verifi()
功    能:校驗密碼
說    明: 
入口參數:
返 回 值:uchar EC
設    計:藍海微芯           
***********************************************************************/
uchar  verifi()
{
  uchar EC=0;
  uchar temp;

  EC=rdsm_ec();         /*讀錯誤計數器*/
  EC=EC&0x07;
   
  switch(EC)
  {
    case  0x00:	        
    break;
    case  0x07:
    temp=0x03;
    break;
    case  0x06:
    temp=0x02;
    break;
    case  0x05:
    temp=0x01;
    break;
    case  0x04:
    temp=0x00;
    break;
    case  0x03:
    temp=0x01;
    break;
    temp=0;
   }
  if(!EC==0)
  {
    wrsm(temp);       /*更新保密存儲區*/
    sendpsc();        /*比較驗證數據*/
    wrsm(0x07);       /*更新保密存儲區*/
    EC=rdsm_ec();     /*讀錯誤計數器*/
    EC=EC&0x07;
  }
   return  EC;
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美极品美女视频| 午夜婷婷国产麻豆精品| 国产一区二区久久| 精品久久国产字幕高潮| 青娱乐精品在线视频| 欧美成人vr18sexvr| 国产69精品一区二区亚洲孕妇 | 国产风韵犹存在线视精品| 久久这里只有精品6| 成年人午夜久久久| 亚洲一区二区三区在线播放| 日韩精品在线一区| 99在线精品一区二区三区| 亚洲第一精品在线| 国产精品视频一二三区| 欧美在线视频你懂得| 国产成人综合亚洲91猫咪| 亚洲六月丁香色婷婷综合久久| 日韩三级视频在线看| 91丨porny丨最新| 国产真实乱偷精品视频免| 亚洲精品国产视频| 国产精品女人毛片| 久久久亚洲欧洲日产国码αv| 欧美日韩三级在线| 在线观看精品一区| 6080国产精品一区二区| 一区二区成人在线观看| 亚洲国产精品久久人人爱蜜臀| 成人白浆超碰人人人人| 国产精品进线69影院| 亚洲久草在线视频| 欧美日韩黄色一区二区| jlzzjlzz欧美大全| 成人av在线一区二区| 风间由美一区二区av101| 久久精品国产第一区二区三区| 亚洲超丰满肉感bbw| 亚洲综合色噜噜狠狠| 中文字幕免费在线观看视频一区| 欧美一区永久视频免费观看| 欧美日韩精品专区| 91免费在线看| 欧美吻胸吃奶大尺度电影| 欧美日韩mp4| 久久综合网色—综合色88| 欧美成人午夜电影| 欧美国产精品久久| 亚洲精选免费视频| 亚洲国产视频在线| 国产一区二区三区精品视频| 国产一区二区女| 91久久线看在观草草青青 | 日本色综合中文字幕| 免费在线观看视频一区| 国产91富婆露脸刺激对白| 91黄色免费看| 国产日产欧美精品一区二区三区| 亚洲精品视频在线观看免费| 日韩一区欧美二区| 欧美午夜精品久久久久久孕妇| 欧美一区二区三区免费视频| 欧美激情一区二区三区全黄| 石原莉奈在线亚洲三区| 91麻豆国产福利精品| 精品国产乱码久久久久久影片| 亚洲欧美视频一区| 国产一区二区在线免费观看| 欧美三级中文字幕在线观看| 国产精品久久网站| 丰满少妇在线播放bd日韩电影| 91精品一区二区三区在线观看| 一区二区三区**美女毛片| 国产成人综合网站| 国产亚洲欧美一级| 日本不卡免费在线视频| 欧美精品亚洲二区| 亚洲一区二区三区视频在线播放 | 久久成人免费网站| 日韩精品一区二区三区老鸭窝| 日韩成人精品在线观看| 日韩视频在线你懂得| 久久精品久久综合| 久久久亚洲国产美女国产盗摄| 国产一区二区三区| 91精品国产aⅴ一区二区| 国产欧美日韩亚州综合| 91女人视频在线观看| 亚洲电影视频在线| 久久久久久久电影| 色婷婷久久久亚洲一区二区三区| 亚洲综合另类小说| 精品国产污污免费网站入口| 成人网在线播放| 午夜电影网一区| 日本一二三不卡| 日韩写真欧美这视频| av激情综合网| 国精产品一区一区三区mba视频| 亚洲另类在线一区| 欧美国产日产图区| 亚洲精品一区二区三区影院| 日韩不卡一区二区三区| 欧美一区二区在线免费播放| 日本强好片久久久久久aaa| 欧美日韩日日骚| 婷婷成人激情在线网| 欧美最新大片在线看| 亚洲色图制服丝袜| 精品视频一区二区不卡| av在线一区二区三区| 亚瑟在线精品视频| 中文字幕一区二区三区在线不卡| 欧美日韩高清不卡| 欧美精品国产精品| 在线亚洲一区二区| 成人av在线一区二区| 国产麻豆91精品| 久久超碰97人人做人人爱| 亚洲成av人**亚洲成av**| 亚洲午夜精品17c| 日韩美女视频一区| 久久综合色一综合色88| 日韩欧美久久久| 26uuu亚洲| 欧美激情一区二区三区全黄| 亚洲美女视频在线观看| 五月婷婷综合网| 蜜桃久久久久久| 国产麻豆视频一区| 91亚洲资源网| 精品国产乱码久久久久久1区2区| 日韩欧美国产综合在线一区二区三区 | 国产精品麻豆网站| 亚洲私人黄色宅男| 亚洲成a人片综合在线| 麻豆成人免费电影| 色综合久久久久综合| 欧美精品自拍偷拍动漫精品| 欧美乱熟臀69xxxxxx| 国产精品久久久久影视| 日本亚洲免费观看| 成人一道本在线| 欧美一区二区高清| 国产午夜亚洲精品不卡| 日韩国产精品大片| 日本伦理一区二区| 国产精品无人区| 国产美女精品人人做人人爽 | 天堂av在线一区| 欧美视频一区在线观看| 综合久久国产九一剧情麻豆| 麻豆精品国产传媒mv男同| 99精品久久只有精品| 日本一区二区免费在线观看视频| 日韩vs国产vs欧美| 欧美日韩一区视频| 亚洲精品乱码久久久久久黑人 | 欧美色图天堂网| 中文字幕不卡一区| 国产一区二区三区精品欧美日韩一区二区三区| 91精品办公室少妇高潮对白| 中文字幕一区二区视频| 懂色av一区二区夜夜嗨| 日本一区二区三区国色天香| 国产在线日韩欧美| 国产色婷婷亚洲99精品小说| 国产成人精品在线看| 中文字幕色av一区二区三区| 91在线观看地址| 亚洲国产精品天堂| 欧美日韩一区二区不卡| 亚洲风情在线资源站| 精品区一区二区| 成人99免费视频| 午夜国产精品影院在线观看| 制服丝袜激情欧洲亚洲| 国产精品一区在线观看你懂的| 亚洲欧美怡红院| 日韩欧美你懂的| 欧美色网一区二区| 国产精品88av| 久久国产精品色婷婷| 亚洲精品中文字幕乱码三区| 欧美一级高清片| 成人app下载| 国产成人一级电影| 激情av综合网| 亚洲欧美色综合| 国产日韩欧美在线一区| 欧美三级在线播放| 色8久久精品久久久久久蜜| 激情图区综合网| 日韩av在线免费观看不卡| 亚洲精品乱码久久久久久日本蜜臀| 日韩欧美国产电影| 欧美日韩国产成人在线免费| 欧美在线影院一区二区| av一本久道久久综合久久鬼色| 国产伦精品一区二区三区在线观看|