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

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

?? eth.lst

?? c51和8019實現單片機上網
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.09   ETH                                                                   07/31/2006 17:30:50 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE ETH
OBJECT MODULE PLACED IN ETH.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ETH.C OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //-----------------------------------------------------------------------------
   2          // Net ETH.C
   3          //
   4          // This module is the Ethernet layer
   5          //-----------------------------------------------------------------------------
   6          #include <string.h>
   7          #include <stdlib.h>
   8          #include "C8051f.h"
   9          #include "net.h"
  10          #include "serial.h"
  11          #include "arp.h"
  12          #include "ip.h"
  13          #include "eth.h"
  14          
  15          
  16          #define reg00   XBYTE[0x8000]   //reg00- 10為isa網卡接口的寄存器地址300-310;
  17          #define reg01   XBYTE[0x8001]
  18          #define reg02   XBYTE[0x8002]
  19          #define reg03   XBYTE[0x8003]
  20          #define reg04   XBYTE[0x8004]
  21          #define reg05   XBYTE[0x8005]
  22          #define reg06   XBYTE[0x8006]
  23          #define reg07   XBYTE[0x8007]
  24          #define reg08   XBYTE[0x8008]
  25          #define reg09   XBYTE[0x8009]
  26          #define reg0a   XBYTE[0x800a]
  27          #define reg0b   XBYTE[0x800b]
  28          #define reg0c   XBYTE[0x800c]
  29          #define reg0d   XBYTE[0x800d]
  30          #define reg0e   XBYTE[0x800e]
  31          #define reg0f   XBYTE[0x800f]
  32          #define reg10   XBYTE[0x8010]
  33          
  34          bit txd_buffer_select=0;                //選擇網卡的發送緩沖區  
  35          extern UCHAR idata debug;
  36          extern UCHAR xdata arpbuf[];
  37          extern UCHAR code my_hwaddr[]; 
  38          
  39          void Delay1ms(unsigned char T);
  40          
  41          extern UCHAR idata rcve_buf_allocated;
  42          extern UINT volatile event_word;
  43          
  44          
  45          
  46          #define Rtl8019ResetLow         P5 &= ~(0x4);   // P52 
  47          #define Rtl8019ResetHigh        P5 |= 0x4;              // P52
  48          
  49          //------------------------------------------------------------------------
  50          // Initialize the Cirrus Logic 8019 chip
  51          //------------------------------------------------------------------------
  52          
  53          void page(unsigned char pagenumber)
  54          {
  55   1              unsigned char data temp;
C51 COMPILER V7.09   ETH                                                                   07/31/2006 17:30:50 PAGE 2   

  56   1              temp=reg00;             
  57   1              temp=temp&0x3B ;
  58   1              pagenumber=pagenumber <<6;
  59   1              temp=temp | pagenumber;
  60   1              reg00=temp;
  61   1      }
  62          
  63          void Rtl8019AS_Reset() //復位網卡
  64          {
  65   1              Rtl8019ResetHigh;;      
  66   1              Delay1ms(200);
  67   1              Rtl8019ResetLow;
  68   1              Delay1ms(200);
  69   1      }
  70          
  71          void ReadRtl8019NodeID(void)//讀出網卡的物理地址存到my_ethernet_address.bytes[6]里  
  72          {
  73   1              unsigned char data i;
  74   1              page(0);
  75   1              reg09=0;        //讀取網卡的ram的地址為0x0000 
  76   1              reg08=0;
  77   1              reg0b=0;
  78   1              reg0a=12;       //讀取12個字節
  79   1              reg00=0x0a;     //讀ram
  80   1              for (i=0;i<6;i++)
  81   1              { 
  82   2      //      my_hwaddr[i]=reg10;
  83   2      //      my_hwaddr[i]=reg10;
  84   2              }
  85   1      }
  86          
  87          void WriteRtl8019NodeID()
  88          {
  89   1              page(1);
  90   1              reg01=my_hwaddr[0];
  91   1              reg02=my_hwaddr[1];
  92   1              reg03=my_hwaddr[2];
  93   1              reg04=my_hwaddr[3];
  94   1              reg05=my_hwaddr[4];
  95   1              reg06=my_hwaddr[5];
  96   1              page(0);
  97   1      }
  98          
  99          void init_8019(void)
 100          {
 101   1              Delay1ms(10);
 102   1              Rtl8019AS_Reset();              //復位8019
 103   1              R8019_CHIP_SELECT;
 104   1              reg00=0x21;                             //使芯片處于停止模式,這時進行寄存器設置 停止模式下,將不會發送和接收數據包
 105   1              Delay1ms(10);                   //延時10毫秒,確保芯片進入停止模式
 106   1              page(0);
 107   1              reg0a=0x00;     reg0b=0x00;
 108   1              reg0c= 0xe0;                    //monitor mode (no packet receive)
 109   1              reg0d= 0xe2;                    //loop back mode 使芯片處于mon和loopback模式,跟外部網絡斷開  
 110   1              reg01=0x4c;     reg02=0x80;     reg03=0x4c;     reg04=0x40;
 111   1              reg07=0xff;                             //清除所有中斷標志位
 112   1              reg0f=0x00;                             //disable all interrupt
 113   1              reg0e=0xc8;                             //byte dma 8位dma方式
 114   1              page(1);
 115   1              reg07=0x4d;     reg08=0x00;     reg09=0x00;     reg0a=0x00;     reg0b=0x00;     
 116   1              reg0c=0x00;     reg0d=0x00;     reg0e=0x00;     reg0f=0x00;
 117   1              reg00=0x22;                             //這時讓芯片開始工作
C51 COMPILER V7.09   ETH                                                                   07/31/2006 17:30:50 PAGE 3   

 118   1              ReadRtl8019NodeID();    //讀出網卡的物理地址48位  
 119   1              WriteRtl8019NodeID();   //將網卡地址寫入到mar寄存器  
 120   1              page(0);
 121   1              reg0c=0xcc;                             //將網卡設置成正常的模式,跟外部網絡連接
 122   1              reg0d=0xe0;
 123   1              reg00=0x22;                             //這時讓芯片開始工作
 124   1              reg07=0xff;                             //清除所有中斷標志位
 125   1      }
 126          
 127          //------------------------------------------------------------------------
 128          // This functions checks 8019 status then sends an ethernet
 129          // frame to it by calling an assembler function. 
 130          //------------------------------------------------------------------------
 131          
 132          void send_frame(UCHAR xdata * outbuf, UINT len)/*發送一個數據包的命令,長度最小為60字節,最大1514字節*/
 133          {
 134   1      UCHAR i;
 135   1      UINT ii;
 136   1              page(0);
 137   1              if(len<60)len=60;
 138   1              txd_buffer_select=!txd_buffer_select;
 139   1              if      (txd_buffer_select)
 140   1                      reg09=0x40 ;    //txdwrite highaddress
 141   1              else
 142   1              reg09=0x46 ;    //txdwrite highaddress
 143   1              reg08=0x00;             //read page address low
 144   1              reg0b=len>>8;           //read count high
 145   1              reg0a=len&0xff;         //read count low;
 146   1              reg00=0x12;                     //write dma, page0
 147   1              for     (ii=0;ii<len;ii++)      //for   (ii=4;ii<len+4;ii++)  //是否加4有待驗證
 148   1              {
 149   2                 reg10=*(outbuf+ii);  
 150   2              }
 151   1      
 152   1              /* 以下3句為中止dma的操作,可以不要            */
 153   1              reg0b=0x00;             //read count high   中止DMA操作
 154   1              reg0a=0x00;             //read count low;
 155   1              reg00=0x22;             //complete dma page 0
 156   1      
 157   1              for(i=0;i<16;i++)       //最多重發16次
 158   1              {
 159   2                      for(ii=0;ii<1000;ii++)  //檢查txp為是否為低
 160   2                      {
 161   3                              if ((reg00&0x04)==0) break;
 162   3                      }
 163   2                      if ((reg04&0x01)!=0) break;     //表示發送成功
 164   2                      reg00=0x3e;
 165   2              }
 166   1              reg07=0xff;
 167   1              if(txd_buffer_select)
 168   1                      reg04=0x40;     //txd packet start; 
 169   1              else
 170   1                      reg04=0x46;     //txd packet start; 
 171   1              reg06=len>>8;   //high byte counter
 172   1              reg05=len&0xff; //low byte counter
 173   1              reg07=0xff;
 174   1              reg00=0x3e;             //to sendpacket;  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av一区二区三区在线观看| 国产精品88888| 成人免费在线播放视频| 国产精品久久777777| 亚洲黄色av一区| 日韩精品一级二级| 精品一二三四区| 美女国产一区二区| 色综合天天天天做夜夜夜夜做| 91啪亚洲精品| 久久婷婷色综合| 亚洲国产精品一区二区尤物区| 青青草国产精品亚洲专区无| 成人久久18免费网站麻豆| 欧美日韩电影在线播放| 久久精品视频免费| 丝袜脚交一区二区| 日本二三区不卡| 久久久久久97三级| 免费一级片91| 99热99精品| 久久久九九九九| 亚洲 欧美综合在线网络| 色狠狠一区二区| 中文字幕av一区二区三区免费看 | 国产成人8x视频一区二区| 欧美日韩高清一区二区| 亚洲va欧美va人人爽| 99久久99精品久久久久久| 国产日韩欧美不卡| 懂色一区二区三区免费观看| 久久日韩粉嫩一区二区三区| 麻豆一区二区三区| 91精品国产色综合久久不卡蜜臀| 图片区小说区国产精品视频| 91精选在线观看| 日韩国产欧美视频| 91麻豆国产香蕉久久精品| 欧美精品一区二区久久婷婷| 国产精品69久久久久水密桃| 久久久天堂av| 在线观看国产日韩| 亚洲福利国产精品| 日韩片之四级片| 懂色av一区二区三区蜜臀| 亚洲精品国产无套在线观| 日韩欧美一区中文| 成人黄色免费短视频| 亚洲第一av色| 久久免费视频色| 91麻豆精品国产91久久久资源速度| 日韩国产成人精品| 亚洲精品国产a| 精品福利一二区| 91久久一区二区| 国产激情91久久精品导航| 亚洲国产cao| 一区二区视频在线| 国产精品白丝在线| 日韩欧美激情四射| 欧美一区二区成人| 欧美综合亚洲图片综合区| 一本大道久久a久久精品综合| 另类小说图片综合网| 亚洲成精国产精品女| 亚洲国产cao| 五月天丁香久久| 青青国产91久久久久久 | 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲精品乱码久久久久| 亚洲日本在线视频观看| 亚洲免费在线视频一区 二区| 日韩理论片在线| 午夜视频久久久久久| 日本不卡一区二区三区| 国产制服丝袜一区| 国产成人精品综合在线观看| 成人av网站免费| 欧美精品 日韩| 久久亚洲二区三区| 中文字幕日韩av资源站| 亚洲另类春色国产| 日本va欧美va精品| 99国产精品久久久久久久久久| 91国产视频在线观看| 6080日韩午夜伦伦午夜伦| 欧美日韩中文另类| 中文字幕亚洲一区二区va在线| 中文字幕一区二区三区不卡在线 | 精品在线你懂的| 99re热视频这里只精品| 精品国产免费人成在线观看| 精品国产精品网麻豆系列| 亚洲三级视频在线观看| 日本最新不卡在线| 91国产免费观看| 中文字幕视频一区| 久久精品国产在热久久| 在线免费不卡电影| 国产欧美一区二区在线| 国产69精品久久久久777| 91精品国产色综合久久ai换脸| 亚洲精品久久久久久国产精华液| 国产一区二区影院| 欧美成人一区二区三区片免费| 午夜精品免费在线观看| 色婷婷香蕉在线一区二区| 亚洲一区精品在线| 制服.丝袜.亚洲.中文.综合| 水野朝阳av一区二区三区| 欧美丝袜丝交足nylons图片| 亚洲欧美另类综合偷拍| 日本乱人伦aⅴ精品| 亚洲国产wwwccc36天堂| 日韩欧美国产精品一区| 丁香另类激情小说| 国产精品久久看| 成人av电影在线观看| 国产精品久久久久久妇女6080| 99麻豆久久久国产精品免费| 亚洲精品成人在线| 欧美一区二区免费视频| av福利精品导航| 亚洲成人免费在线观看| 制服.丝袜.亚洲.中文.综合| 精品一区二区在线免费观看| 亚洲视频免费在线| 久久网这里都是精品| 91麻豆免费观看| 精品一区二区三区久久| 一区二区激情视频| 欧美激情在线看| 9191成人精品久久| 欧洲av一区二区嗯嗯嗯啊| 国产一区三区三区| 亚洲成人免费视频| 欧美激情一区二区| 日韩欧美国产综合一区| 色综合久久天天| 99在线精品一区二区三区| 麻豆精品视频在线| 亚洲精品日产精品乱码不卡| 国产日韩成人精品| 精品国产伦一区二区三区观看体验| 日本精品一区二区三区高清 | 色综合天天综合在线视频| 国产91精品一区二区麻豆网站| 偷拍自拍另类欧美| 亚洲最新视频在线观看| 最新不卡av在线| 亚洲精品一二三| 亚洲黄色免费电影| 日韩经典一区二区| 亚洲一区二区三区在线看| 一区二区三区精密机械公司| 国产精品入口麻豆原神| 一区二区三区日韩在线观看| 亚洲一区欧美一区| 狠狠网亚洲精品| 99国产精品一区| 欧美高清视频不卡网| 久久久亚洲国产美女国产盗摄 | 国产精品性做久久久久久| 91麻豆免费观看| 久久综合999| 午夜精品爽啪视频| 97久久人人超碰| 精品欧美一区二区在线观看| ...xxx性欧美| 国产成人精品三级| 欧美日韩专区在线| 国产欧美日韩三级| 麻豆传媒一区二区三区| 在线精品视频一区二区| 26uuuu精品一区二区| 蜜臀av在线播放一区二区三区| 色婷婷综合久久久中文一区二区 | 日产国产高清一区二区三区| 色又黄又爽网站www久久| 久久久久88色偷偷免费| 亚洲成人av一区| 4438成人网| 日本欧美肥老太交大片| 9191精品国产综合久久久久久| 亚洲成a人v欧美综合天堂 | 精品综合久久久久久8888| 日韩精品一区二区三区视频| 日韩成人午夜精品| 欧美狂野另类xxxxoooo| 亚洲影院免费观看| 欧美日本高清视频在线观看| 亚洲区小说区图片区qvod| 99在线精品一区二区三区| 亚洲精品美腿丝袜| 91麻豆精品国产综合久久久久久| 亚洲午夜三级在线| 精品福利一区二区三区 | 亚洲色欲色欲www在线观看| 色狠狠一区二区三区香蕉| 亚洲va在线va天堂|