历史上的今天
今天是:2025年01月22日(星期三)
2018年01月22日 | X5045和X5043的读写程序
2018-01-22 来源:eefocus
//---------------------------------
//x5045子程序
//---------------------------------
void RESWDI(void) //复位看门狗(喂狗)
{
CS = 0;
CS = 1;
}
void WREN(void) //写使能锁存
{
SCK=0;
CS=0;
OUTByte(0x06); //发送06H写使能命令字
SCK=0;
CS=1;
}
void WRDI(void) //写使能复位(禁止写)
{
SCK=0;
CS=0;
OUTByte(0x04); //发送04H写禁止命令字
SCK=0;
CS=1;
}
void WRSR(void) //写状态寄存器
{
SCK=0;
CS=0;
OUTByte(0x01); //发送01H写寄存器命令字
OUTByte(0x20); //发送寄存器值BL0,BL1为0没写保护,WD0=0 WD1=1看门狗复位时间为200ms
SCK=0;
CS=1;
WIPCHK(); //判断是否写入
}
unsigned char RSDR(void) //读状态寄存器
{
unsigned char Temp;
SCK=0;
CS=0;
OUTByte(0x05); //发送05H读状态寄存器命令字
Temp = INPUTByte(); //读状态寄存器值
SCK=0;
CS=1;
return Temp;
}
void WIPCHK(void) //reentrant //检查WIP位,判断是否写入完成
{
unsigned char Temp,TempCyc;
for(TempCyc=0;TempCyc<50;TempCyc++)
{
Temp = RSDR(); //读状态寄存器
if (Temp&0x01==0)
TempCyc = 50;
}
}
void OUTByte(unsigned char Byte) //输出一个定节
{
unsigned char TempCyc;
for(TempCyc=0;TempCyc<8;TempCyc++)
{
SCK = 0;
SI = Byte & 0x80;
Byte = Byte<<1; //右移
SCK = 1;
}
SI=0; //使SI处于确定的状态
}
unsigned char INPUTByte(void) //输入一个字节
{
unsigned char Temp=0, TempCyc;
for(TempCyc=0;TempCyc<8;TempCyc++)
{
Temp = Temp<<1; //右移
SCK = 0;
if (SO)
Temp = Temp|0x01; //SO为1,则最低位为1
SCK = 1;
}
return Temp;
}
unsigned char ReadByte(unsigned char ADD) //读地址中的数据这里不做先导字处理,只能读00-FFH
{
unsigned char Temp;
SCK=0;
CS=0;
OUTByte(0x3); //发送读指令03H 如要支持000-FFF则要把高位地址左移3位再为03H相或
OUTByte(ADD); //发送低位地址
Temp = INPUTByte();
SCK=0;
CS=1;
return Temp;
}
void WriteByte(unsigned char Byte,ADD) //向地址写入数据这里同样不做先导字处理,只能写00-FFH
{
SCK=0;
CS=0;
OUTByte(0x2); //发送写指令02H 如要支持000-FFF则要把高位地址左移2位再为02H相或
OUTByte(ADD); //发送低位地址
OUTByte(Byte); //发送数据
SCK=0;
CS=1;
WIPCHK(); //判断是否写入
}
上一篇:51单片机设计测距仪原理及其应用
下一篇:音乐程序1--生日快乐
史海拾趣
|
wang1jin带你从零学PCB设计8小时视频教程 原创者:wang1jin 纳米盘下载,请大家下载前装一个纳米工具。再进行下载。 如果文件不能下载请联系wang1jin@126.com。 本视频教程欢迎大家免费传播,供大家学习使用。但不能用于赢取私利,如果有什 ...… 查看全部问答> |
|
请给出keil版本和Proteus版本以及下载地址,最好可以有怎么使用的具体操作步骤 另外Proteus要有破解的,我下了几次都没有破解文件而不能用 网上给的教程版本不一样,把我都搞晕了… 查看全部问答> |
|
新手上路 skyeye模拟内核移植bootloader能用VIVI么? 老师留得思考题 没人鸟他 但我想尝试下 高手帮帮忙好吗?? 前不久用的u-boot 进行了一次内核移植 (用skyeye模拟的) 不知道 用vivi怎么来 在vivi文件夹内写 skyeye.conf要注意什么啊?? 谢谢了啊!!!… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:26 编辑 设计内容:1电路原理图2元件清单3实物制作4设计报告设计要求:1输出电压:范围0-9.9V,步进0.1V2纹波不大于10mV3输出电流:500mA4输出电压值由数码管显示 求大神 求帮忙 感激不尽 有 ...… 查看全部问答> |




