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

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

?? icrdwr.lst

?? 這是由C51單片機實現的接觸式IC卡的讀寫
?? LST
字號:
C51 COMPILER V7.02b   ICRDWR                                                               12/10/2005 19:53:55 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE ICRDWR
OBJECT MODULE PLACED IN ICRdWr.OBJ
COMPILER INVOKED BY: E:\EDATOOLS\KEILC7.0\C51\BIN\C51.EXE ICRdWr.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*****************************************/
   2          /* Copyright (c) 2005, 通信工程學院      */
   3          /* All rights reserved.                  */
   4          /* 作    者:戴 佳                                               */
   5          /*****************************************/
   6          
   7          #include "ICRdWr.h"
   8          
   9          /* 延時t毫秒 */
  10          void delay(uint t)
  11          {
  12   1              uint i;
  13   1              while(t--)
  14   1              {
  15   2                      /* 對于11.0592M時鐘,約延時1ms */
  16   2                      for (i=0;i<125;i++)
  17   2                      {}
  18   2              }
  19   1      } 
  20          
  21          /* 獲取需要存入IC卡數據的函數*/
  22          void getdata()
  23          {
  24   1              // 此函數簡化如下:
  25   1              uchar i;
  26   1              for (i=0;i<8;i++)
  27   1                      data_in[i]=i+1;
  28   1      }
  29          
  30          /* 寫單片機AT89S8252的SPDR寄存器,數據通過SPI口串行輸出給IC卡芯片 */
  31          void write_spi(uchar dat)
  32          {
  33   1             SPDR = dat;
  34   1             while (!(SPSR & 0x80)) ;         // 等待一次傳輸完成
  35   1      }
  36          
  37          /* 獲取IC卡芯片狀態函數 */
  38          uchar IC_stat(void)
  39          {
  40   1          P1_1 = 0;                                   // 使能IC卡芯片;/cs=0
  41   1          
  42   1              write_spi(STAT_REG_READ);                       // 寫入讀IC卡芯片狀態指令
  43   1              write_spi(0x00);                    // 寫無關比特
  44   1         
  45   1          P1_1 = 1;                                   // 禁用IC卡芯片;/cs=1
  46   1          return SPDR;                                                // 返回IC卡芯片狀態字節
  47   1      }
  48          
  49          /* 寫IC卡芯片函數:將數據寫入buffer,如果buffer滿,
  50                  則將buffer中數據寫入主內存頁 */
  51          void write_to_IC(uchar dat)
  52          { 
  53   1              uchar stat;
  54   1      
  55   1          /* 檢查IC卡芯片是否忙 */
C51 COMPILER V7.02b   ICRDWR                                                               12/10/2005 19:53:55 PAGE 2   

  56   1              stat = IC_stat();
  57   1          while ((stat&0x80)==0x00);
  58   1              
  59   1              /* 數據寫入buffer */
  60   1          P1_1 = 0;                                           // 使能IC卡芯片;/cs=0          
  61   1              write_spi(BUFFER_1_WRITE);                              // buffer1寫指令代碼 
  62   1          write_spi(0x00);                            // 寫入8位無關位
  63   1          write_spi((uchar)(buf_start_addr>>8));      // 寫入7位無關位加上9位buffer起始字節地址的第1位
  64   1          write_spi((uchar)buf_start_addr);           // 寫入9位buffer起始字節地址的后8位
  65   1          write_spi(dat);                             // 寫入數據        
  66   1          P1_1 = 1;                                           // 禁用IC卡芯片;結束buffer write指令
  67   1          
  68   1          buf_start_addr++;                                           // 下一buffer起始字節地址
  69   1          
  70   1          /* 如果buffer寫滿,則將buffer中數據寫入主內存頁 */
  71   1          if (buf_start_addr > 263)               
  72   1          {
  73   2              buf_start_addr = 0;                                     // buffer起始字節地址重置0
  74   2              if (page_addr < 2047)                   // 如果主內存頁不滿
  75   2              { 
  76   3                              /* buffer數據寫入主內存頁 */
  77   3                  P1_1 = 0;                                           // 使能IC卡芯片;/cs=0
  78   3                      write_spi(B1_TO_MM_PAGE_NO_ERA);        // 寫入無在線擦除的buffer1寫主內存頁指令代碼             
  79   3                  write_spi((uchar)(page_addr>>7));   // 寫入4位保留位加上11位頁地址的高4位
  80   3                  write_spi((uchar)(page_addr<<1));   // 寫入11位頁地址的低7位和1位無關位
  81   3                  write_spi(0x00);                    // 再寫入8位無關位        
  82   3                  P1_1 = 1;                                   // 禁用IC卡芯片;結束無在線擦除的buffer寫主內存頁指令
  83   3      
  84   3                  page_addr++;                                // 下一頁地址
  85   3              }
  86   2          }  
  87   1      }
  88          
  89          /* 讀IC卡芯片函數,如果一頁讀完,則讀取下一頁 */
  90          uchar read_from_IC()
  91          {
  92   1              uchar stat;
  93   1              uchar tmp;
  94   1      
  95   1              /* 檢查IC卡芯片是否忙 */
  96   1              stat = IC_stat();
  97   1          while ((stat&0x80)==0x00);
  98   1      
  99   1              /* 從主內存頁中讀出數據 */
 100   1              P1_1 = 0;                                       // 使能IC卡芯片;/cs=0  
 101   1              write_spi(MM_PAGE_READ) ;               // 寫入主內存頁讀指令代碼
 102   1              tmp = (uchar)(page_addr>>7);
 103   1              write_spi(tmp);                                 // 寫入4位保留位加上11位頁地址的高4位
 104   1              tmp = (uchar)(page_addr<<1)|((uchar)(page_start_addr>>8)&0x01);
 105   1          write_spi(tmp);                                     // 寫入11位頁地址的低7位和9位頁起始字節地址的最高位
 106   1              tmp = (uchar)(page_start_addr);
 107   1              write_spi(tmp);                                 // 寫入9位頁起始字節地址的低8位
 108   1              write_spi(0x00) ;                               // 寫入8位無關位
 109   1              write_spi(0x00) ;                               // 寫入8位無關位
 110   1              write_spi(0x00) ;                               // 寫入8位無關位
 111   1              write_spi(0x00) ;                               // 再寫入8位無關位,共寫入32位無關位
 112   1              write_spi(0xff) ;                               // 寫入8位無意義值以確保完成一字節數據的讀出    
 113   1              P1_1 = 1;                               // 禁用IC卡芯片;結束主內存頁讀指令
 114   1      
 115   1              page_start_addr++;                              // 下一頁中起始字節地址
 116   1      
 117   1              /* 如果讀完一頁,則讀取下一頁 */
C51 COMPILER V7.02b   ICRDWR                                                               12/10/2005 19:53:55 PAGE 3   

 118   1          if (page_start_addr > 263)               
 119   1          {
 120   2              page_start_addr = 0;                            // 頁起始字節地址重置0
 121   2              if (page_addr < 2047)                   // 如果主內存頁沒有讀完
 122   2                      page_addr++;                            // 下一頁地址        
 123   2          }  
 124   1      
 125   1              return SPDR;                                    // 返回讀出數據
 126   1      }
 127          
 128          /* 主函數 */
 129          void main()
 130          {
 131   1              uchar i;
 132   1      
 133   1              P1_0 = 1;                                               // /RST引腳置高
 134   1      
 135   1              /* SPIE=0,SPE=1,DORD=0,MSTR=1,CPOL=CPHA=1,SPR1=0,SPR0=1*/
 136   1              SPCR=0x5d;
 137   1      
 138   1              buf_start_addr = 0;
 139   1              page_start_addr = 0;
 140   1              page_addr = 0;  
 141   1              
 142   1              /* 獲取需要寫入IC卡的數據,存放在data_in[]中 */
 143   1              getdata();                                              
 144   1      
 145   1              /* 將data_in[]中存放數據寫入IC卡 */
 146   1              for (i=0;i<DATA_IN_MAX_LEN;i++)
 147   1              {
 148   2                      write_to_IC(data_in[i]);
 149   2                      delay(2);                                       // 延時2ms
 150   2              }
 151   1      
 152   1              delay(10);                                              // 延時10ms
 153   1      
 154   1              buf_start_addr = 0;
 155   1              page_start_addr = 0;
 156   1              page_addr = 0;
 157   1      
 158   1              /* 數據讀出IC卡,存放在data_out[]中 */
 159   1              for (i=0;i<DATA_OUT_MAX_LEN;i++)
 160   1              {
 161   2                      data_out[i] = read_from_IC();
 162   2                      delay(2);                                       // 延時2ms
 163   2              }
 164   1      
 165   1              while(1);       
 166   1      }
 167          
 168          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    377    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     22    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V7.02b   ICRDWR                                                               12/10/2005 19:53:55 PAGE 4   


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲图片自拍偷拍| 国产激情一区二区三区四区| 精品亚洲欧美一区| 色88888久久久久久影院按摩 | 午夜精品久久久久影视| 国产在线播精品第三| 欧美日韩视频一区二区| 国产女主播一区| 蜜臂av日日欢夜夜爽一区| 色婷婷精品久久二区二区蜜臂av| 日韩视频免费直播| 亚洲午夜久久久久中文字幕久| 粉嫩高潮美女一区二区三区 | 国产999精品久久久久久绿帽| 在线成人小视频| 一区二区不卡在线视频 午夜欧美不卡在| 蜜臀a∨国产成人精品| 欧美日韩中文字幕一区二区| 亚洲色图.com| 99精品偷自拍| 中文字幕中文字幕一区| 国产高清精品在线| 久久先锋资源网| 国产一区二区导航在线播放| 精品国产一二三| 久久成人久久鬼色| 精品国产亚洲在线| 国内一区二区在线| 欧美一区二区三区爱爱| 日韩精品一级中文字幕精品视频免费观看| 色综合夜色一区| 亚洲精品中文字幕乱码三区| 色综合天天综合网天天狠天天| 亚洲日本成人在线观看| 97久久久精品综合88久久| 中文字幕日韩一区| 日本韩国欧美三级| 日日夜夜免费精品视频| 91精品国产入口在线| 美女脱光内衣内裤视频久久网站| 日韩一区二区三区精品视频| 美女任你摸久久| 久久综合久久综合九色| 国产·精品毛片| 中文字幕在线视频一区| 欧美视频一区二区三区四区| 午夜精品久久一牛影视| 欧美精品一区二区三区一线天视频 | 国产成人亚洲综合a∨婷婷图片| 久久丝袜美腿综合| av在线不卡网| 国产成人在线电影| 欧美日韩精品二区第二页| 久久精品夜夜夜夜久久| 日韩精品久久久久久| 日本丰满少妇一区二区三区| 亚洲国产岛国毛片在线| 国产一区二区在线电影| 日韩一区二区三区四区| 亚洲成人黄色小说| 色狠狠桃花综合| 亚洲女与黑人做爰| 成年人网站91| 国产女同性恋一区二区| 狠狠色狠狠色综合| 日韩一区二区在线观看| 日韩中文欧美在线| 欧美裸体一区二区三区| 亚洲精品成a人| 色综合中文综合网| 国产高清亚洲一区| 久久久久久黄色| 国产一区二区不卡在线| 久久综合成人精品亚洲另类欧美| 欧美bbbbb| 日韩精品中文字幕一区| 毛片不卡一区二区| 精品国产精品网麻豆系列 | 欧美大片在线观看一区二区| 日日夜夜精品免费视频| 91精品国产综合久久久久久| 日韩和的一区二区| 日韩午夜精品视频| 精品系列免费在线观看| 国产视频一区在线观看| yourporn久久国产精品| 亚洲男同性视频| 欧美精品亚洲一区二区在线播放| 日韩精品一二区| 久久久午夜电影| 99视频在线精品| 亚洲一区影音先锋| 欧美一级在线免费| 国产精品一区二区久久不卡| 国产精品大尺度| 欧美亚洲一区二区三区四区| 日韩综合小视频| 久久综合九色欧美综合狠狠| 成人禁用看黄a在线| 亚洲精品v日韩精品| 欧美人与禽zozo性伦| 极品销魂美女一区二区三区| 欧美国产日韩一二三区| 欧美日韩中字一区| 国产乱淫av一区二区三区| 久久久亚洲精品一区二区三区| www.爱久久.com| 免费xxxx性欧美18vr| 国产精品国产自产拍在线| 欧美午夜精品电影| 国产一区二区美女| 亚洲一区二区三区自拍| 精品国产一区二区三区久久久蜜月 | 亚洲成人激情综合网| 久久亚洲一区二区三区四区| 色综合 综合色| 国产精品亚洲专一区二区三区| 最新成人av在线| 日韩三级视频在线观看| 91麻豆视频网站| 国模无码大尺度一区二区三区 | 欧美无砖砖区免费| 国产在线视频一区二区| 午夜精品一区二区三区电影天堂 | 成人av高清在线| 美女视频网站黄色亚洲| 中文字幕日韩精品一区| 3atv一区二区三区| 91国产免费看| 成人动漫一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 丝袜美腿亚洲综合| 亚洲精品国产无天堂网2021| 久久天天做天天爱综合色| 91精品欧美综合在线观看最新| 91在线观看高清| 成人一区二区三区视频在线观看| 麻豆专区一区二区三区四区五区| 亚洲激情图片qvod| 亚洲私人黄色宅男| 国产精品久久一卡二卡| 国产色爱av资源综合区| 精品福利av导航| 欧美电视剧在线看免费| 7777精品伊人久久久大香线蕉经典版下载 | 337p日本欧洲亚洲大胆色噜噜| 欧美丰满少妇xxxxx高潮对白| 色婷婷亚洲婷婷| 色综合天天综合网国产成人综合天| 国产成人午夜精品影院观看视频| 久久国产剧场电影| 国产一区在线视频| 国产高清一区日本| 成人免费的视频| 色综合一个色综合亚洲| 色一情一乱一乱一91av| 91一区二区三区在线观看| 91免费在线播放| 91国偷自产一区二区三区成为亚洲经典 | 91精品一区二区三区在线观看| 欧美三级中文字幕在线观看| 欧美色视频在线观看| 欧美日韩一卡二卡三卡| 欧美精品自拍偷拍| 日韩一区二区免费在线观看| 91精品国产色综合久久ai换脸 | 国产久卡久卡久卡久卡视频精品| 精品在线一区二区三区| 国产九色精品成人porny| www.久久精品| 欧美日韩免费高清一区色橹橹| 欧美电影在线免费观看| 日韩三级免费观看| 久久久99精品免费观看不卡| 国产精品视频免费看| 亚洲黄色尤物视频| 男女视频一区二区| 成人黄色小视频| 欧美日韩久久不卡| 精品国产百合女同互慰| 国产精品久久久久一区二区三区共| 中文字幕一区二区三区不卡在线| 亚洲福利电影网| 国产精品99精品久久免费| 色视频成人在线观看免| 日韩一级二级三级精品视频| 亚洲国产精华液网站w| 性做久久久久久| 国产成人aaaa| 在线成人av影院| 中文字幕一区二区视频| 欧美aaaaa成人免费观看视频| 国产成人精品一区二区三区四区 | 日韩中文欧美在线| 成人国产视频在线观看| 日韩欧美国产综合一区| 亚洲精品免费在线| 国产传媒欧美日韩成人| 51精品秘密在线观看| 亚洲婷婷国产精品电影人久久|