📄 x5045.h
字号:
/******************************************************************
本文件是X5045的头文件,文件名为:X5045.h
作者:puke7381
编写日期:20081010
版本:Vyf08.c.01
******************************************************************/
#ifndef __X5045_h__
#define __X5045_h__
/*-----------------------------------------------------------------
以下定义开门狗定时器定时溢出时间 (WD1,WD0)
-----------------------------------------------------------------*/
#define WDT1s4 0x00 //1.4s溢出
#define WDT600ms 0x10 //600ms溢出
#define WDT200ms 0x20 //200ms溢出
#define WDTDis 0x30 //关闭看门狗定时器
/*-----------------------------------------------------------------
以下定义EEPROM写保护区 (BL1,BL0)
-----------------------------------------------------------------*/
#define EEP_NPr 0x00 //不保护
#define EEP_P4_1 0x04 //保护1/4,$180H ~ $1FFH
#define EEP_P2_1 0x08 //保护1/2,$100H ~ $1FFH
#define EEP_PAll 0x0c //全保护, $000H ~ $1FFH
/*-----------------------------------------------------------------
以下定义X5045的指令
-----------------------------------------------------------------*/
#define WREN_cmd 0x06 //写允许指令
#define WRDI_cmd 0x04 //写禁止指令
#define RDSR_cmd 0x05 //读状态寄存器指令
#define WRSR_cmd 0x01 //写状态寄存器指令
#define RDDA_cmd 0x03 //向EEPROM读数据指令,从选定的地址单元中读(0 0 0 0 A8 0 1 1)
#define WRDA_cmd 0x02 //向EEPROM写数据指令,从选定的地址单元开始写(0 0 0 0 A8 0 1 0)
/*-----------------------------------------------------------------
以下定义最大写过程的时间
-----------------------------------------------------------------*/
#define MAX_POLL 0x99 //用于查询写周期是否完成
/*-----------------------------------------------------------------
以下定义X5045与MCU的接法
-----------------------------------------------------------------*/
#define X5045_CS P1_0
#define X5045_SCK P1_1
#define X5045_SI P1_2
#define X5045_SO P1_3
/*-----------------------------------------------------------------
以下定义一些子程序(函数)
-----------------------------------------------------------------*/
void rst_wdog( void ); //复位看门狗
void si_byte( unsigned char cha ); //从SI线输入一个字节数据或指令到X5045的状态寄存器或EEPROM,高位(MSB)在前
unsigned char so_byte( void ); //从SO线输了一个字节数据,高位(MSB)在前
void wip_poll( void ); //查询写进度,读状态寄存器中的WIP位,若为0则表示处于空闲状态
unsigned char rdsr_func( void ); //读状态寄存器
void wrsr_func( unsigned char cha_time, unsigned char cha_eepprt ); //写状态寄存器,设置状态寄存器中的WD1,WD0,BL1,BL0
void set_wren( void ); //设置写允许
void set_wrdi( void ); //设置写禁止
unsigned char read_eeprom( unsigned int add ); //从EEPROM中读出地址add处的数据
void write_eeprom( unsigned char cha, unsigned int add); //向EEPROM中的地址add写入数据cha
void x5045_init( void ); //X5045初始化,设置看门狗定时器与EEPROM保护区
void open_wdog( void ); //打开看门狗
void close_wdog( void ); //关闭看门狗
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -