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

📄 x5043.h

📁 是KC51下的已经测试通过的X5045的c程序!
💻 H
字号:
//==============================================================================
//FileName	=x5043.h
//LastDate	=20080109
//==============================================================================
#include"public.h"
//#include"pic.h"
#include "w78e52.h"

#ifndef	_X5043_H_
#define _X5043_H_

//!! 需要按照实际的引脚连线进行更改 !!
sbit X5043_CS	=P0^7;	//片选
sbit X5043_SO	=P0^6;	//数据输出

sbit X5043_WP	=P0^5;	//写保护输出
sbit X5043_SCK	=P0^4;	//时钟
sbit X5043_SI	=P0^2;	//数据输入
	

//操作指令表
#define WREN_INST    0x06  //写使能控制字       (WREN)
#define WRDI_INST    0x04  //写禁能控制字       (WRDI)
#define RDSR_INST    0x05  //读状态寄存器控制字 (RDSR)
#define WRSR_INST    0x01  //写状态寄存器控制字 (WRSR)
#define READ_INST    0x03  //读存储器控制字     (READ,BIT3=A8)
#define WRITE_INST   0x02  //写存储器控制字     (WRITE,BIT3=A8)

#define MAX_POLL     0xFF  //最大查询周期控制字 
#define WDT0200      0x20  //看门狗超时周期200ms
#define WDT0600      0x10  //看门狗超时周期600ms
#define WDT1400      0x00  //看门狗超时周期1400ms
#define WDT0000      0x30  //关闭看门狗

#define BP0          0x00  //没有保护的空间
#define BP1          0x40  //保护0180--01ff
#define BP2          0x80  //保护0100--01ff
#define BP3          0xc0  //保护0000--01ff

#define CONTROL1    (WDT0000 |BP0)  //实际控制值一(关闭看门狗 没有保护的空间)
#define CONTROL2    (WDT1400 |BP3)  //实际控制值二(看门狗超时周期1400ms 保护0000--01ff)
#define CONTROL3    (WDT1400 |BP0)  //实际控制值三(看门狗超时周期1400ms 没有保护的空间)

//注意: 由于引脚的方向是固定不变的,所以引脚操作不要附加方向设置, 只要初始化的时候设置正确即可!
#define X5043_SCK_HIGH()	X5043_SCK =1
#define X5043_SCK_LOW()		X5043_SCK =0

#define X5043_SI_HIGH()		X5043_SI =1
#define X5043_SI_LOW()		X5043_SI =0

#define X5043_CS_HIGH()		X5043_CS =1
#define X5043_CS_LOW()		X5043_CS =0

#define X5043_SO_HIGH()		X5043_SO =1
#define X5043_SO_LOW()		X5043_SO =0

#define X5043_WP_HIGH()		X5043_WP =1
#define X5043_WP_LOW()		X5043_WP =0

#define	X5043_GET_SO		X5043_SO				//直接读取引脚
#define	X5043_FEED_WDOG		X5043_CS_HIGH(); NOP(); X5043_CS_LOW(); NOP(); X5043_CS_HIGH()
//函数的声明
extern void x5043_wrdi_cmd(void);					//写入禁止
extern void x5043_wrsr_cmd(uchar ctl);					//写状态寄存器
extern void x5043_byte_write(uint addr, uchar c);			//写字节
extern uchar x5043_byte_read(uint addr);				//读字节
extern void x5043_string_write(uint addr, uchar *str, uchar len);	//写字符串
extern void x5043_string_read(uint addr, uchar *str, uchar len);	//读字符串

#endif

//End Of File

⌨️ 快捷键说明

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