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

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

?? rficrdwr.lst

?? 許多的51單片機的簡單實例,由淺至深
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.02b   RFICRDWR                                                             12/10/2005 20:06:41 PAGE 1   


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

stmt level    source

   1          /*****************************************/
   2          /* Copyright (c) 2005, 通信工程學院      */
   3          /* All rights reserved.                  */
   4          /* 作    者:戴 佳                                               */
   5          /*****************************************/
   6          
   7          #include "RFICRdWr.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          /* 定時器0中斷服務子程序 */
  22          void timer0() interrupt 1 using 1
  23          {
  24   1              TR0 = 0;                                // 停止計數
  25   1      
  26   1              TH0 = -5000/256;                // 重設計數初值
  27   1              TL0 = -5000%256;
  28   1      
  29   1              count++;        
  30   1      
  31   1              if (count>300)                  // 第一次檢測到卡1.5s后
  32   1              {
  33   2                      count = 0;
  34   2                      if(!flagok)     // 如果檢測到1.5s后讀寫標志還是失敗,則蜂鳴器報警
  35   2                      {
  36   3                              BP = 0;
  37   3                              delay(2000);    // 報警持續2s
  38   3                              BP = 1;
  39   3                      }               
  40   2              }
  41   1              else
  42   1                      TR0 = 1;                        // 啟動T0計數
  43   1      }
  44          
  45          /* 串口發送命令函數 */
  46          void sendcmd(uchar *str)
  47          {
  48   1              while(*str != 0)
  49   1              {
  50   2                      TI = 0;                 // 清發送標志位
  51   2                      SBUF = *str;    // 發送數據
  52   2                      str++;
  53   2                      while(!TI);     // 等待發送完成
  54   2              }
  55   1      }
C51 COMPILER V7.02b   RFICRDWR                                                             12/10/2005 20:06:41 PAGE 2   

  56          
  57          /* 字符數組轉換為16進制字符串函數,16進制字符串附接在給定字符串后,
  58            參數byte為數組地址,len為數組長度,str為轉換后字符串 */
  59          void Byte2Hex(uchar *byte,uchar len,uchar *str)
  60          {
  61   1              uchar i, j;
  62   1              uchar tmp;
  63   1      
  64   1              j = strlen(str); 
  65   1              for(i=0; i<len; i++)
  66   1              {
  67   2                      tmp = ((*byte)>>4)&0x0f;    // 字節高位
  68   2                      if(tmp < 0x0a)
  69   2                              *(str+j) = tmp+0x30;
  70   2                      else
  71   2                              *(str+j) = tmp-0x0a+'a';
  72   2                      str++;
  73   2                      tmp = (*byte)&0x0f;             // 字節低位
  74   2                      if(tmp < 0x0a)
  75   2                              *(str+j) = tmp+0x30;
  76   2                      else
  77   2                              *(str+j) = tmp-0x0a+'a';
  78   2                      str++;
  79   2              }
  80   1              *(str+j) = 0;                                   // 字符串結束
  81   1      }
  82          
  83          /* 16進制字符串轉換為字節數組函數,參數str為要轉換的字符串,byte為
  84          轉換后數組地址,若str長度不為偶數,則轉換后最后一個字節高位補0*/
  85          void Hex2Byte(uchar *str, uchar *byte)
  86          {
  87   1              uchar tmp;
  88   1      
  89   1              while(*str != 0)
  90   1              {
  91   2                      tmp = ((*str)<<4)&0xf0;         // 字節高位
  92   2                      str++;
  93   2                      if(*str == 0) // 若str長度為奇數,則轉換后最后一個字節高位補0
  94   2                      {
  95   3                              *byte = (tmp>>4)&0x0f;
  96   3                              return;
  97   3                      }
  98   2                      tmp += (*str)&0x0f;             // 字節低位
  99   2                      *byte = tmp;
 100   2                      byte++;
 101   2              }
 102   1      }
 103          
 104          /* 串口初始化 */
 105          void serial_init()
 106          {
 107   1              /* 9600,n,8,1,外部晶振11.0592MHz,查詢方式 */
 108   1              TMOD = 0x20;                    // T1使用工作方式2
 109   1              TH1 = 250;                              // 設置T1初值
 110   1              TL1 = 250;
 111   1              TR1 = 1;                                // T1開始計數
 112   1              PCON = 0x80;                    // SMOD = 1
 113   1              SCON = 0x50;                    // 工作方式1,波特率9600bit/s,允許接收
 114   1              ES = 0;                                 // 關閉串行中斷
 115   1      }
 116          
 117          /* H6152復位函數 */
C51 COMPILER V7.02b   RFICRDWR                                                             12/10/2005 20:06:41 PAGE 3   

 118          void H6152Rst()
 119          {
 120   1              strcpy(hbuf,"x");
 121   1              sendcmd(hbuf);                  // 發送命令"x"
 122   1              delay(300);                             // 延時300ms確保H6152復位完畢
 123   1      }
 124          
 125          /* 卡片檢測函數,檢測到有卡在讀寫器有效區域內返回 */
 126          void cardcheck()
 127          {
 128   1              strcpy(hbuf,"c");
 129   1              sendcmd(hbuf);                  // 發送命令"c",命令進入“連續讀”模式
 130   1              delay(10);                              // 延時10ms
 131   1      
 132   1              /* 一旦發現串口接收到數據就立即返回,
 133   1              表示檢測到讀寫器有效區域內有卡片 */
 134   1              RI = 0;
 135   1              while(!RI);
 136   1              delay(10);                              // 延時10ms,消抖
 137   1              RI = 0;
 138   1              while(!RI);
 139   1              /* 確認工作區內有卡片,返回 */
 140   1      }
 141          
 142          /* 停止卡片檢測函數,即取消“連續讀"模式 */
 143          void endcheck()
 144          {
 145   1              strcpy(hbuf," ");
 146   1              sendcmd(hbuf);                  // 發送" "取消”連續讀“模式
 147   1              delay(10);                              // 延時10ms
 148   1      }
 149          
 150          /* 自動選卡函數,讀取所有卡片,隨機選中并
 151                  返回其序列號,主要用于第一次選卡 */
 152          uchar autoselect(uchar *buf)
 153          {
 154   1              uchar i;
 155   1              strcpy(hbuf,"m\r");
 156   1              sendcmd(hbuf);                  // 發送"m<CR>"
 157   1              for(i=0;i<8;i++)                // 接收第一張卡的序列號
 158   1              {
 159   2                      RI = 0;
 160   2                      while(!RI);
 161   2                      *(hbuf+i) = SBUF;
 162   2      
 163   2                      /* 如果接收到錯誤信息則返回錯誤代碼 */
 164   2                      if((*(hbuf+i)>0x39)&&(*(hbuf+i)<'a'))
 165   2                              return *(hbuf+i);
 166   2              }
 167   1              *(hbuf+i) = 0;
 168   1              Hex2Byte(hbuf,buf);             // 第一張卡片序列號由16進制字符串轉換為字節數組
 169   1      
 170   1              strcpy(hbuf,"m");
 171   1              Byte2Hex(buf,4,hbuf);
 172   1              delay(10);
 173   1              sendcmd(hbuf);                  // 發送"m<SN>",選中第一張卡片
 174   1              for(i=0;i<8;i++)                // 接收選中卡片的序列號
 175   1              {
 176   2                      RI = 0;
 177   2                      while(!RI);
 178   2                      *(hbuf+i) = SBUF;
 179   2                      /* 如果接收到錯誤信息則返回錯誤代碼 */
C51 COMPILER V7.02b   RFICRDWR                                                             12/10/2005 20:06:41 PAGE 4   

 180   2                      if((*(hbuf+i)>0x39)&&(*(hbuf+i)<'a'))
 181   2                              return *(hbuf+i);
 182   2              }
 183   1      
 184   1              return 0;                               // 成功
 185   1      }
 186          
 187          /* 指定選卡函數,根據制定序列號選卡 */
 188          uchar snselect(uchar *sn)
 189          {
 190   1              uchar i;
 191   1      
 192   1              strcpy(hbuf,"m");
 193   1              Byte2Hex(sn,4,hbuf);    // 將序列號sn轉換為16進制字符串
 194   1              delay(10);
 195   1              sendcmd(hbuf);                  // 發送"m<SN>",選中第一張卡片
 196   1              for(i=0;i<8;i++)                // 接收選中卡片的序列號
 197   1              {
 198   2                      RI = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜欧美大尺度福利影院在线看| 国内不卡的二区三区中文字幕| 视频一区视频二区中文字幕| 国产精品一区二区三区乱码| 欧美日韩一级二级| 综合av第一页| 国产精品一区二区在线观看不卡 | 亚洲一区影音先锋| 国产一区在线看| 欧美一区二区三区四区在线观看| 亚洲三级小视频| 国产91在线观看丝袜| 欧美大片在线观看| 天天综合色天天综合色h| 色婷婷狠狠综合| 国产精品久久夜| 懂色av中文字幕一区二区三区 | 国产午夜精品久久| 日韩电影免费在线看| 99久久精品情趣| 欧美激情综合在线| 精品一区二区在线播放| 91麻豆精品91久久久久久清纯| 亚洲欧美日韩人成在线播放| 国产精品亚洲一区二区三区妖精| 日韩精品综合一本久道在线视频| 日韩在线一二三区| 欧美丰满美乳xxx高潮www| 亚洲自拍都市欧美小说| 欧美综合一区二区三区| 亚洲丝袜另类动漫二区| 99riav久久精品riav| 国产精品国产三级国产a| 不卡一区二区中文字幕| 中文字幕亚洲成人| 日本精品一区二区三区高清 | 久久久精品免费观看| 久久97超碰色| 精品剧情v国产在线观看在线| 日韩和欧美的一区| 欧美一级午夜免费电影| 久久激情综合网| 国产日韩精品一区二区浪潮av| 国产精品一二三区| 国产精品国产三级国产| 91免费版在线| 亚洲国产日韩综合久久精品| 欧美日韩国产123区| 日本成人在线不卡视频| 欧美大片一区二区| 国产91对白在线观看九色| 国产精品毛片大码女人| 日本高清不卡视频| 日韩中文字幕区一区有砖一区 | 99精品偷自拍| 午夜亚洲国产au精品一区二区| 欧美一区二区福利视频| 国产一区二区看久久| 国产精品麻豆网站| 欧美欧美午夜aⅴ在线观看| 久久精品久久99精品久久| 中文字幕乱码日本亚洲一区二区| 在线精品视频一区二区| 久久99久久99| 亚洲视频资源在线| 欧美一区二区三区白人| 国产99久久久国产精品| 亚洲18色成人| 国产蜜臀av在线一区二区三区| 91视频你懂的| 国产美女久久久久| 亚洲成人动漫av| 国产精品色一区二区三区| 欧美日韩国产a| 99国产精品久| 久久99精品国产麻豆不卡| 亚洲欧洲制服丝袜| 久久亚洲一级片| 日本高清成人免费播放| 国产91精品免费| 男女男精品网站| 亚洲尤物视频在线| 国产人妖乱国产精品人妖| 91精品国产欧美一区二区18| 99在线热播精品免费| 国产一区二区电影| 日本成人中文字幕在线视频| 亚洲男人的天堂在线aⅴ视频| 精品国产一区二区三区av性色| 欧洲精品一区二区| 99亚偷拍自图区亚洲| 国内精品伊人久久久久av一坑 | 欧美精品一区二区三区四区| 欧洲亚洲国产日韩| 不卡一区二区三区四区| 国模大尺度一区二区三区| 亚洲国产美国国产综合一区二区| 国产精品日日摸夜夜摸av| 欧美一激情一区二区三区| 欧洲一区二区三区免费视频| 99re这里只有精品首页| 粉嫩av一区二区三区| 国产高清久久久久| 国产真实精品久久二三区| 青青草91视频| 日本成人超碰在线观看| 日韩国产一区二| 午夜国产精品一区| 午夜激情一区二区三区| 亚洲超碰精品一区二区| 亚洲一区在线播放| 亚洲大片一区二区三区| 亚洲午夜久久久久| 亚洲第一久久影院| 丝袜a∨在线一区二区三区不卡| 亚洲福利一区二区三区| 天天亚洲美女在线视频| 日韩精品电影一区亚洲| 琪琪久久久久日韩精品| 美女精品一区二区| 国内精品国产成人国产三级粉色 | 欧美性猛交xxxx黑人交| 欧美日韩精品免费| 欧美一区二区福利视频| 欧美一级二级三级蜜桃| 久久综合色天天久久综合图片| 精品国产一区二区三区忘忧草| 26uuuu精品一区二区| 久久精品人人做| 国产精品久久久久永久免费观看 | 北岛玲一区二区三区四区| 不卡的av在线播放| 日本道在线观看一区二区| 欧美性受极品xxxx喷水| 日韩欧美在线综合网| 久久久综合视频| 亚洲丝袜美腿综合| 日日摸夜夜添夜夜添亚洲女人| 久久成人免费电影| 99热99精品| 在线播放中文字幕一区| 久久久久久亚洲综合影院红桃| 国产精品视频九色porn| 亚洲一区在线视频观看| 日本亚洲最大的色成网站www| 国产精品亚洲视频| 欧美在线播放高清精品| 日韩精品一区二区在线| 136国产福利精品导航| 欧美bbbbb| www.成人在线| 欧美一级一区二区| 国产精品久久二区二区| 午夜精品福利一区二区蜜股av| 国产精一区二区三区| 91黄色免费网站| 亚洲精品在线三区| 亚洲精品欧美激情| 精品综合免费视频观看| 色爱区综合激月婷婷| 久久久欧美精品sm网站| 亚洲另类在线一区| 岛国一区二区在线观看| 在线不卡中文字幕| 亚洲另类中文字| 国产成人av自拍| 91精品国产综合久久久久久久久久| 国产欧美一区二区精品婷婷| 婷婷中文字幕综合| 色婷婷国产精品| 中文欧美字幕免费| 国产在线播放一区三区四| 欧美日韩在线播放| 国产精品看片你懂得| 国产一区二区91| 欧美一区二区三区免费| 亚洲国产精品精华液网站| 91在线观看高清| 欧美国产日本韩| 成人免费看片app下载| 日韩限制级电影在线观看| 亚洲午夜久久久久中文字幕久| www.欧美日韩| 国产精品乱人伦| 国产成人午夜电影网| 欧美成人精品1314www| 日韩1区2区3区| 欧美日韩在线观看一区二区| 伊人夜夜躁av伊人久久| av在线不卡电影| 国产精品久久久久久久久免费桃花 | 欧美国产综合一区二区| 国内精品国产成人国产三级粉色| 欧美一区二区不卡视频| 日本免费在线视频不卡一不卡二| 欧美日韩精品三区| 日韩av中文在线观看| 欧美精品v国产精品v日韩精品| 亚洲va国产天堂va久久en| 欧美日韩亚洲高清一区二区|