www.pudn.com > TcpIpOn8051.rar > 51INIT.C


/*------------------------------------------------------------------------------ 
timer.C 
 
Copyright 1995-1999 Keil Software, Inc. 
------------------------------------------------------------------------------*/ 
#include  
//#include "ip.h" 
 
typedef unsigned char BYTE; 
typedef unsigned int WORD; 
typedef unsigned long DWORD; 
 
typedef struct 
{ 
	BYTE revflag; 
	BYTE revcount; 
	BYTE revbuf[100]; 
}COMMB; 
extern COMMB xdata commbuffer; 
//extern DWORD xdata IDENT; 
//extern ippack_senflag xdata ipsenflag[2]; 
extern bit user_flag1; 
extern BYTE user_count1; 
extern bit user_flag2; 
extern BYTE user_count2; 
extern bit user_flag3; 
extern BYTE user_count3; 
 
extern BYTE arp_ttl; 
extern bit arp_flag; 
extern BYTE arp_count; 
extern BYTE xdata arp_sennum; 
 
void initcpu(void); 
 
extern void read_para(void); 
extern ne2000init(); 
extern void rtl8019as_rst(); 
extern void arp_init(); 
extern void ip_init(void); 
extern void tcp_init(void); 
//extern void x24c02_init(); 
 
 
#define TIMER0_HIGH 0xf8	//2ms interrupt 
#define TIMER0_LOW  0xcd 
/*--------------------------------------- 
 
-----------------------------------------*/ 
void initcpu(void) 
{ 
	SCON=0x40; 
	PCON=0x00; 
	TMOD=0x21; 
	TH1=0xfd;				//SET BAUD 9600 
	TL1=0xfd; 
	TH0=TIMER0_HIGH;		//SET timer0 : 2MS INTERRUPT 
	TL0=TIMER0_LOW; 
	TR1=1;					//timer1 
	TR0=1;					//timer0 
	ET0=1; 
	ES=1; 
	EA=1;					//interrupt enable 
	REN=1;					//recieved enable 
	P3=P3&0xef;				//set 485 receive state 
	/* 用户变量初始化 */ 
	arp_flag=0; 
	user_flag1=0; 
	user_flag2=0; 
	user_flag3=0; 
	arp_count=0xff; 
	user_count1=0xff; 
	user_count2=0xff; 
	user_count3=0xff; 
	arp_ttl=0; 
	commbuffer.revcount=0;				//receive buffer counter 
	commbuffer.revflag=0; 
	//IDENT=0x2355; 
	//ipsenflag[0].flag=0; 
	//ipsenflag[1].flag=0; 
	arp_sennum=0; 
 
    rtl8019as_rst(); 
    arp_init(); 
	ip_init(); 
	tcp_init(); 
 //   x24c02_init(); 
    read_para(); 
    ne2000init();	  	 
} 
 
/*EOF*/