- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机动W5100以太网接口芯片
51单片机驱动W5100以太网接口芯片******************************************************************************* @file W5100.c* 本文件包括5个部分:* 1. W5100初始化* 2. W5100的Socket初始化* 3. Socket连接* 如果Socket设置为TCP服务器模式,则调用Socket_Listen()函数,W5100处于侦听状态,直到远程客户端与它连接。* 如果Socket设置为TCP客户端模式,则调用Socket_Connect()函数,* 每调用一次Socket_Connect(s)函数,产生一次连接,* 如果连接不成功,则产生超时中断,然后可以再调用该函数进行连接。* 如果Socket设置为UDP模式,则调用Socket_UDP函数* 4. Socket数据接收和发送* 5. W5100中断处理** 置W5100为服务器模式的调用过程:W5100_Init()--Socket_Init(s)--Socket_Listen(s),设置过程即完成,等待客户端的连接。* 置W5100为客户端模式的调用过程:W5100_Init()--Socket_Init(s)--Socket_Connect(s),设置过程即完成,并与远程服务器连接。* 置W5100为UDP模式的调用过程:W5100_Init()--Socket_Init(s)--Socket_UDP(s),设置过程即完成,可以与远程主机UDP通信。** W5100产生的连接成功、终止连接、接收数据、发送数据、超时等事件,都可以从中断状态中获得。*******************************************************************************/#includeW5100.h /* 定义W5100的寄存器地址、状态 */#includeREG51.htypedef unsigned char SOCKET;sbit SPI_CS= P1^0;sbit SPI_SCK= P1^1;sbit SPI_SO= P1^2;sbit SPI_SI= P1^3;sbit SPI_EN= P1^4;sbit KEY= P1^5;/* 端口数据缓冲区 */unsigned char Rx_Buffer[20]; /* 端口接收数据缓冲区 */unsigned char Tx_Buffer[20]; /* 端口发送数据缓冲区 *//* 网络参数寄存器 */unsigned char Gateway_IP[4]={192,168,2,254}; /* Gateway IP Address */unsigned char Sub_Mask[4]={255,255,255,0}; /* Subnet Mask */unsigned char Phy_Addr[6]={0x00,0x08,0xDC,0x01,0x02,0x03}; /* Physical Address */unsigned char IP_Addr[4]={192,168,2,1}; /* Loacal IP Address */unsigned char S0_Port[2]={0x13,0x88}; /* Socket0 Port number 5000 */unsigned char S0_DIP[4]={192,168,2,43}; /* Socket0 Destination IP Address */unsigned char S0_DPort[2]={0x13,0x88}; /* Socket0 Destination Port number 5000*/unsigned char S0_State=0; /* Socket0 state recorder */unsigned char S0_Data; /* Socket0 receive data and transmit OK */unsigned char W5100_Interrupt;/* UDP Destionation IP address and Port number */unsigned char UDP_DIPR[4];unsigned char UDP_DPORT[2];void Delay(unsigned int x){unsigned int i;for(i=0;ix;i++){SPI_EN=1;}}unsigned char SPI_ReadByte(v
文档评论(0)