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

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

?? 西門子4442.txt

?? 51開發的源程序。希望對大家學習單片機有幫助。
?? TXT
字號:
用【 小 | 中 | 大 】字體瀏覽 
硬件:下載區的那個4442卡的包不能用,我很急,誰能幫幫我。 [潞潞] [16次] 02-1-12 下午 01:08:53
我需要西門子4442的資料,要有C51的程序就太謝謝了。我的時間很緊。 

我能幫你 [yangxmin] [15次] 02-1-12 下午 07:23:46 
可以到WWW.ZLGMCU.COM的論壇上看一下,有我的帖子。OR FOR EMAIL TO ME.
YXM0828@263.NET.BUT IT'S A ASM PROGRAM.
你能幫我學習C51? 

4442 [jl_mx] [19次] 02-1-12 下午 08:00:16 
我這有,我可以給你,自己做的不合適的地方可能需要自己改一下。
/*
;程 序 最 后 修 改 時 間  2001-8-11
;軟 件 標 題:sle4442 操作子程序
;軟 件 說 明:sle4442 I2C 邏輯加密卡
;_________________________________________

;原作者:    孟祥
;程序修改人:
;版本號:
;_________________________________________
*/

#include <stdio.h>
#include <reg52.h>
#include <intrins.h>
#include <string.h>

#define uchar unsigned char
#define uint unsigned int
#include <serial.h>
#include <ic_data_proc.h>
#include <main_proc.h>

 sbit rst=P1^6;/*sle4442復位*/
 sbit sdio=P1^0;/*sle4442輸出*/
 sbit sclk=P1^5;/*sle4442時鐘*/
//定義對各存儲器的操作命令
 uchar code RD_MAIN_RAM=0X30;        //讀主存儲器 ic卡模式:outgoing data
 uchar code WR_MAIN_RAM=0X38;        //寫主存儲器 ic卡模式:processing
 uchar code RD_P_RAM=0X34;        //讀保護存儲器 ic卡模式:outgoing data
 uchar code WR_P_RAM=0X3C;        //寫保護存儲器 ic卡模式:processing
 uchar code RD_PSC_RAM=0X31;        //讀安全存儲器 ic卡模式:outgoing data
 uchar code WR_PSC_RAM=0X39;        //寫安全存儲器 ic卡模式:processing
 uchar code COMP_PSC_RAM=0X33;         //比較安全存儲器 ic卡模式:processing



unsigned char xdata ISO[4];            //存放復位響應數據

//短延時
void Delay(uchar j)
{uchar data i;
i=j;
for(i;i>0;i--);
}


/**********************************************/
/*          control line state settings       */
/**********************************************/

/*******************************************************/
/*               interface routines                    */
/*******************************************************/
/*1. ISSUE a xstart condition */
void ic_start()                                   
 {
  sclk=0;
  sdio=1;
  Delay(3);
  sclk=1;
  Delay(3);
  sdio=0;
  Delay(3);
  sclk=0;

 }

/*2.  ISSUE a xstop condition */
void ic_stop()                                  
 {
  sdio=0;
  sclk=1;
  Delay(5);
  sdio=1;
  sclk=0;
 }

/*3. ISSUE a clock pulse  */
void  clock()
 {

  sclk=1;
  Delay(5);
  sclk=0;
  Delay(5);
 }

/*****************************************************************************/
/*6. sends 8 bit 'byte' to the sle4442       */
/*****************************************************************************/
void out_byte(uchar byte)
{
uchar data count,byte_temp;
  for (count=0;count<8;count++)
  {
          byte_temp=byte;
        sdio=0x1&(byte_temp>>count);
        clock();
  }
}

/*****************************************************************************/
/*7. reads 8 bits from the sle4442 & stores value in 'rd_data'  */
/*****************************************************************************/
static char read_data()
{    uchar data rd_data=0;
    uchar data sdio_value;
    uchar data count;
    sdio=1;
    for(count=0;count<8;count++)
    {
      rd_data=rd_data>>1;
      sclk=1;
      Delay(1);
      sdio_value=sdio;
      sclk=0;
      Delay(1);
      if(sdio_value==1)rd_data|=0x80;
      else{rd_data&=0x7f;}
    }
      return(rd_data);
}

 
void ic_break()
{
      sclk=0;
      Delay(1);
      rst=1;
      _nop_();
      _nop_();
      _nop_();
      rst=0;
}


/*******************************************************/
/*9. reads 32 bit ISO 
stasndard response to reset      */ 
/*******************************************************/
unsigned long ISO_no_read()
{uchar data count1; 
 unsigned long *ret_data;
 unsigned char xdata ISO[4];            //存放復位響應數據
     ret_data=&ISO;
    sdio=1;    rst=1; 
    Delay(1); 
    clock();
    Delay(1);
    rst=0; 
    for (count1=0;count1<4;count1++)
         {ISO[count1]=read_data();}
    rst=1;_nop_(); _nop_(); _nop_();
    rst=0; 
    return (*ret_data);
}

//讀命令
//uchar comm_type; 30h,34h,31h;
//uchar read_start_addr; comm_type=30h:00-0xff;comm_type=34h:00-0xff;
uchar rd_main_ram(uchar *data_save_addr,uchar read_start_addr,uint read_bytes)
{uint data i;
     ic_start();
    out_byte(RD_MAIN_RAM);
    out_byte(read_start_addr);
    out_byte(read_start_addr);
    ic_stop();
//    read_data_temp[0]=read_bytes;
    for(i=0;i<read_bytes;i++)
        {*data_save_addr++=read_data();}
    ic_break();
    return (1);
}
//ic_card 在處理模式時進行監測是否處理完畢,最大延時255個時鐘
void proc_mode_chek()
{uint  data i;
    for(i=0;i<512;i++)
        {if (sdio!=0)
            { i=511;}
         else{clock();}    
        }
}

//寫命令子程序
//uchar comm_type; 38h,3ch,39h,33h;
//uchar read_start_addr; comm_type=30h:00-0xff;comm_type=34h:00-0xff;
void  write_eepram(uchar comm_type,uchar write_start_addr,uchar write_data)
{
    ic_start();
    out_byte(comm_type);
    out_byte(write_start_addr);
    out_byte(write_data);
    ic_stop();
    if
(comm_type==0x38||comm_type==0x39||comm_type==0x3c||comm_type==0x33)
        {proc_mode_chek();}
}

//寫主存儲器的數據,
//start_addr:從主存儲器寫數據的首地址
//*data_addr:要寫的數據的首地址
//uint wr_bytes:要寫的字節數
void wr_main_ram(uchar start_addr,uchar * data_addr,uint wr_bytes)
{uint data i;
    for(i=0;i<wr_bytes;i++)
        {write_eepram(WR_MAIN_RAM,(start_addr+i),*(data_addr+i));}
}
//讀取保護\安全存儲器4個字節的數據,數據一地址指針rd_data_ptr中
//uchar ram_type:保護寄存器=RD_P_RAM;安全寄存器=RD_PSC_RAM
uchar rd_p_psc_ram(uchar ram_type,uchar * data_temp)
{     uchar data i;                                        
    ic_start();                                         
    out_byte(ram_type);                                
    out_byte(ram_type);                          
    out_byte(ram_type);                          
    ic_stop();                                          
    for(i=0;i<4;i++)                           
        {*(data_temp+i)=read_data();}          
//    ic_break();
    return (1); 
}
/*
//寫保護、安全存儲器的數
據,                                                         
//start_addr:從保護存儲器寫數據的首地址 00-
03h                                       
//*data_addr:要寫的數據的首地址 
//uint wr_bytes:要寫的字節數          03h-start_addr=0~3 
//uchar ram_type:保護寄存器=WR_P_RAM;安全寄存器
=WR_PSC_RAM                                      
void wr_p_psc_ram(uchar ram_type,uchar start_addr,uchar * data_addr,uint 
wr_bytes)           
{uint data i;                                                                
    for(i=0;i<wr_bytes;i++)                                              
        {write_eepram(ram_type,(start_addr+i),*(data_addr+i));}   
}    
*/ 

//密碼校驗函數                                         
//正確 返回'y' 不正確返回'n'                           
                                                       
uchar password_comp(uchar pws1,uchar pws2,uchar pws3)  
{    uchar xdata ptr[4];                              
    chip_cs(IC_CARD_CS);
    if(atr_comp()==1)
    {
        rd_p_psc_ram(RD_PSC_RAM,&ptr[0]);               
//        debug_print('1',ptr[0]);
        if(ptr[0]&0x07==0){ return('n'); }
        else{switch (ptr[0]&0x07)
                {case 1:    write_eepram
(WR_PSC_RAM,0,0xf8);               
                        break;
                 case 2:    write_eepram
(WR_PSC_RAM,0,0xf8);
                         break;
                 case 3:    write_eepram
(WR_PSC_RAM,0,0xf9);               
                         break;
                 case 4:    write_eepram
(WR_PSC_RAM,0,0xf8);               
                         break;
                 case 5:    write_eepram
(WR_PSC_RAM,0,0xf9);               
                         break;
                 case 6:    write_eepram
(WR_PSC_RAM,0,0xfa);               
                         break;
                 case 7:    write_eepram
(WR_PSC_RAM,0,0xfb);               
                         break;
               }
            }
        write_eepram(COMP_PSC_RAM,1,pws1);             
        write_eepram(COMP_PSC_RAM,2,pws2);             
        write_eepram(COMP_PSC_RAM,3,pws3);             
        write_eepram(WR_PSC_RAM,0,0xff);               
        rd_p_psc_ram(RD_PSC_RAM,&ptr[0]);               
//        debug_print('2',ptr
[0]);                                                       
        if(ptr[0]&0x07==7){ return('y');}
        else{return 'n';}                               
    }
}   

/*
void test()
{
    uchar data i;
            static uchar code test_data[]="1234567890abcdefghijklmn";
                    i=password_comp
(0xff,0xff,0xff);   
                    if(i=='y')
                    {wr_main_ram
(0x60,&test_data,strlen(test_data));
                        debug_print
('t','w');
                    }
}

*/










謝謝各位了,我還需要4442的技術資料。能給一份嗎? [潞潞] [0次] 02-1-14 上午 09:06:15 
 

 
點擊這里回復這篇貼子>>
_____________________________________________________________________________
Copyright?,C51BBS論壇 2000-2002 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区在线免费观看| 亚洲狠狠爱一区二区三区| 一区二区三区欧美激情| 美女视频黄a大片欧美| 91首页免费视频| 国产清纯在线一区二区www| 五月婷婷久久丁香| 欧美专区日韩专区| 亚洲视频网在线直播| 成人午夜激情视频| 久久久久久电影| 韩国在线一区二区| 欧美精品一区男女天堂| 一二三区精品福利视频| 91麻豆成人久久精品二区三区| 国产精品五月天| 成人国产免费视频| 中文字幕中文字幕一区二区| 国产宾馆实践打屁股91| 亚洲三级免费电影| 国产一区二区三区久久悠悠色av| 99久久夜色精品国产网站| 成人高清免费在线播放| 久久精品亚洲麻豆av一区二区 | 久久综合九色综合97婷婷| 国产真实乱偷精品视频免| 国产欧美精品国产国产专区| 成人免费av网站| 三级亚洲高清视频| 国产精品国模大尺度视频| 99在线精品观看| 中文字幕精品一区| av资源站一区| 精品一区二区三区免费视频| 亚洲人123区| 欧美精品一区二区三区高清aⅴ | 国产精华液一区二区三区| 久久综合九色综合97婷婷女人| 91网上在线视频| 精品一区二区在线观看| 一区二区三区蜜桃网| 国产亚洲欧美激情| 欧美videos大乳护士334| 国产精品一区二区在线播放| 亚洲免费观看在线视频| 欧美大尺度电影在线| 欧美色图第一页| 成人激情av网| 国产一区不卡精品| 日韩国产成人精品| 日韩精品电影一区亚洲| 亚洲女同女同女同女同女同69| 一区二区三区波多野结衣在线观看| 欧美日韩精品免费| 91福利精品视频| 91免费小视频| 91蝌蚪porny九色| 色婷婷亚洲婷婷| 色偷偷成人一区二区三区91 | 亚洲手机成人高清视频| 欧美激情在线看| 国产精品福利一区二区| 石原莉奈在线亚洲三区| 91精品国产91久久久久久最新毛片 | 亚洲国产一区二区视频| 久久97超碰色| 暴力调教一区二区三区| 91精品国产综合久久久久久| 欧美精品一区二区三区很污很色的 | 在线免费视频一区二区| 日韩欧美一区在线| 中文字幕中文字幕一区二区| 图片区小说区国产精品视频| 丰满少妇久久久久久久| 亚洲卡通动漫在线| 日韩精品视频网站| 欧美精品黑人性xxxx| 国产婷婷色一区二区三区四区 | 久久亚洲一区二区三区四区| 亚洲女人****多毛耸耸8| 精品一区二区三区视频| 欧美乱妇一区二区三区不卡视频 | 一本到一区二区三区| 欧美一区二区黄色| 一级日本不卡的影视| 丁香一区二区三区| 精品久久久久一区| 日韩精品每日更新| 欧美丝袜第三区| 一区二区三区国产| 一道本成人在线| 亚洲精品中文在线| 91天堂素人约啪| 亚洲视频狠狠干| 色综合激情久久| 亚洲国产精品久久艾草纯爱| 色综合色狠狠天天综合色| 成人欧美一区二区三区1314| 国产高清成人在线| 337p日本欧洲亚洲大胆精品 | 日韩一区二区免费在线电影| 亚洲一区二区美女| 欧美性猛交xxxx乱大交退制版 | 国产一区二三区好的| 精品国产区一区| 99国产精品国产精品久久| 一区二区三区日本| 91精品国产综合久久久久| 91免费小视频| 国内精品久久久久影院薰衣草| 国产欧美精品一区| 欧美亚一区二区| 美女视频黄频大全不卡视频在线播放| 久久婷婷国产综合精品青草| 不卡av电影在线播放| 欧美国产综合色视频| 91一区在线观看| 久99久精品视频免费观看| 久久欧美中文字幕| 色吊一区二区三区| 激情国产一区二区| 亚洲123区在线观看| 日韩美女一区二区三区| 国产高清精品在线| 亚洲资源中文字幕| 久久久久久免费网| 这里只有精品99re| 欧美性大战久久久| av电影一区二区| 欧美性猛片xxxx免费看久爱| 韩国av一区二区| 午夜精品久久久久久久久久 | 国产精品天天摸av网| 欧美日韩综合在线| 成人看片黄a免费看在线| 三级在线观看一区二区| 国产精品国产自产拍高清av | 99精品欧美一区二区蜜桃免费| 国产麻豆精品theporn| 三级在线观看一区二区| 日韩av电影免费观看高清完整版 | 亚洲婷婷综合色高清在线| 26uuu成人网一区二区三区| 日韩一区二区三区在线视频| 国产精品久久久久影视| 久久蜜臀精品av| 日本一区二区三区在线不卡| 精品91自产拍在线观看一区| 欧美大片免费久久精品三p | 欧美一区二区日韩一区二区| 欧美欧美午夜aⅴ在线观看| 欧美精品一卡二卡| 日韩精品一区二区三区四区视频 | 精品久久久网站| 久久色在线观看| 国产精品丝袜在线| 亚洲精品视频免费观看| 亚洲制服丝袜一区| 另类专区欧美蜜桃臀第一页| 久久国产欧美日韩精品| 韩国欧美国产一区| 丁香桃色午夜亚洲一区二区三区| 99久久99久久精品免费看蜜桃| www激情久久| 亚洲午夜私人影院| 国产精品一线二线三线精华| 色哟哟国产精品| 26uuu亚洲| 婷婷成人综合网| 国产精品99久久久| 欧美日韩精品专区| 国产无一区二区| 免费人成精品欧美精品| 91视频国产观看| 国产亚洲1区2区3区| 亚洲综合免费观看高清在线观看| 久久成人久久鬼色| 91黄色激情网站| 国产精品麻豆视频| 国产精品一线二线三线精华| 欧美老肥妇做.爰bbww视频| 国产精品美女久久久久久久| 秋霞成人午夜伦在线观看| 色综合久久天天综合网| 欧美国产日韩在线观看| 美国av一区二区| 91精品国产一区二区三区香蕉| 亚洲视频免费观看| 99久久免费国产| 国产精品天天看| 国产成人8x视频一区二区| 精品国产凹凸成av人导航| 奇米影视7777精品一区二区| 欧美精品一级二级三级| 五月激情六月综合| 精品国产一区二区三区不卡 | 精品一区二区三区免费观看| 欧美成人激情免费网| 国产成人午夜精品影院观看视频| 久久久无码精品亚洲日韩按摩|