⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my93c46.h

📁 51单片机控制网卡实现上网程序代码
💻 H
字号:
/**************************************************************/
#ifndef _MY93C46_H
#define _MY93C46_H
/**************************************************************/


#include "hostmcu.h"
#include "ylystd.h"

#define CS_1 {myoutportb(0x01,myinportb(0x01)|0x08)};
#define CS_0 {myoutportb(0x01,myinportb(0x01)&0xf7)};

#define SK_1 {myoutportb(0x01,myinportb(0x01)|0x04)};
#define SK_0 {myoutportb(0x01,myinportb(0x01)&0xfb)};

#define SET_DI(x) {myoutportb(0x01,(myinportb(0x01)&0xfd)|((x&0x01)<<1))};
#define GET_DO(x) (myinportb(0x01)&0x01)

#define DI_0 SET_DI(0)
#define DI_1 SET_DI(1)

#define _mynop_() {_nop_();};

/**************************************************************/
//default: word access if not define BYTE_ACCESS
//#define BYTE_ACCESS

//to 93C46:

#ifdef BYTE_ACCESS
  #define DATA_SUM 0x80
  #define DATA_LEN 8
  #define ADDR_LEN 7
  #define CMD_LEN  10
  #define ADDR_MSK 0x7f
#else
  #define DATA_SUM 0x40
  #define DATA_LEN 16
  #define ADDR_LEN 6
  #define CMD_LEN  9
  #define ADDR_MSK 0x3f
#endif

/**************************************************************/

uchar mw_erase(uchar address);
uchar mw_eral(void);
uchar mw_ewds(void);
uchar mw_ewen(void);
uint  mw_read(uchar address);
uchar mw_write(uchar address,uint dat);
uchar mw_wral(uint dat);
uchar mw_test(void);
uchar mw_init(void);

/**************************************************************/

enum {
   MW_ERASE  = 0xe000,
   MW_ERAL   = 0x9000,
   MW_EWDS   = 0x8000,
   MW_EWEN   = 0x9800,
   MW_READ   = 0xc000,
   MW_WRITE  = 0xa000,
   MW_WRAL   = 0x8800
};

#define DUMMY_WORD 0xffff

/**************************************************************/
#endif /* _MY93C46_H */
/**************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -