0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个X25045的C51读写程序

Wildesbeast 来源:福星电子网 作者:福星电子网 2020-01-18 11:13 次阅读

* x25045的读写程序 用c51写的 */

#define CS P2.7 /*单片机p2.7为片选 可以改为你的实际引脚 */

#define SO P2.6 /*数据输出 */

#define SK P2.5 /* 时钟 */

#define SI P2.4 /* 数据输入*/

/* here is the instrution of x25045*/

#define WREN 0x06

#define WRDI 0x04

#define RDSR 0x05

#define WRSR 0x01

#define READ0 0x03

#define READ1 0x0b

#define WRITE0 0x02

#define WRITE1 0x0a

unsigned char Read8()

{

bit bData;

unsigned char cLoop;

unsigned char cData;

for(cLoop=0;cLoop《8;cLoop++)

{

SK=1;

SK=0;

bData=SO;

cData《《=1;

if(bData)

{

cData|=0x01;

}

}

return cData;

}

void Write8(unsigned char cData)

{

unsigned char cLoop;

for(cLoop=0;cLoop《8;cLoop++)

{

if((cData&0x80)==0)

{

SI=0;

}

else

{

SI=1;

}

SK=0;

SK=1;

cData《《=1;

}

}

unsigned char ReadSR()

{

unsigned char cData;

CS=0;

Write8(RDSR);

cData=Read8();

CS=1;

return cData;

}

unsigned char WriteSR(unsigned char cData)

{

unsigned char cTemp;

cTemp=ReadSR();

if((cTemp&0x01)==1)

return 0;

CS=0;

Write8(WREN);

CS=1;

CS=0;

Write8(WRSR);

Write8(cData);

CS=1;

return 1;

}

void Write1B(unsigned char cData,unsigned char cAddress,bit bRegion)

/* 写入一个字节,cData为写入的数,cAddress为写入地址,bRegion为页 */

{

while((ReadSR()&0x01)==1)

{

}

CS=0;

Write8(WREN);

CS=1;

CS=0;

if(bRegion==0)

{

Write8(WRITE0);

}

else

{

Write8(WRITE1);

}

Write8(cAddress);

Write8(cData);

SK=0;

CS=1;

}

unsigned char Read1B(unsigned char cAddress,bit bRegion)

/* 读入一个字节,cAddress为读入地址,bRegion为页 */

{

unsigned char cData;

while((ReadSR()&0x01)==1)

{

}

CS=0;

if(bRegion==0)

{

Write8(READ0);

}

else

{

Write8(READ1);

}

Write8(cAddress);

cData=Read8();

CS=1;

return cData;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6044

    文章

    44632

    浏览量

    639404
  • 程序
    +关注

    关注

    117

    文章

    3798

    浏览量

    81501
  • x25045
    +关注

    关注

    0

    文章

    9

    浏览量

    13996
收藏 人收藏

    评论

    相关推荐

    用ADS8342采直流数据时,数据跳动,能否提供C51的例程参考下?

    用ADS8342采直流数据时,数据跳动,能否提供C51的例程参考下?
    发表于 02-14 08:06

    单片机学习—C51源代码和Proteus仿真文件

    单片机学习—C51源代码和Proteus仿真文件.zip, 有各种例子
    发表于 02-10 13:46 0次下载

    C++ QT开发,IC读写程序

    步:新建qt C++项目 在此需要注意, 名称和路径不能有中文。 第二步: 添加控件 完成UI布局 IC读写
    的头像 发表于 12-30 14:55 174次阅读
    <b class='flag-5'>C</b>++ QT开发,IC<b class='flag-5'>读写</b>器<b class='flag-5'>程序</b>

    Keil详细安装教程(同时兼容51与STM32)

    在安装目录创建两文件夹,用于存放c51 版keil,用于存放arm 版keil 。 1
    的头像 发表于 11-26 11:26 5011次阅读
    Keil详细安装教程(同时兼容<b class='flag-5'>51</b>与STM32)

    通过C51单片机控制数码管显示

    电子发烧友网站提供《通过C51单片机控制数码管显示.docx》资料免费下载
    发表于 11-12 15:51 2次下载

    把esp8266加入到c51单片机单通道程序怎么写

    要将ESP8266模块加入到C51单片机的单通道程序中,您需要了解如何通过串行通信(UART)与ESP8266进行通信。以下是如何实现这点的步骤和示例代码。 步骤 1:硬件连接 首先,您需要
    的头像 发表于 10-18 11:32 851次阅读

    为I2C启动加载准备TMS320C645x应用程序

    电子发烧友网站提供《为I2C启动加载准备TMS320C645x应用程序.pdf》资料免费下载
    发表于 10-16 11:30 0次下载
    为I2<b class='flag-5'>C</b>启动加载准备TMS320<b class='flag-5'>C645x</b>应用<b class='flag-5'>程序</b>

    使用TMS320C642x引导加载程序

    电子发烧友网站提供《使用TMS320C642x引导加载程序.pdf》资料免费下载
    发表于 10-16 10:44 0次下载
    使用TMS320<b class='flag-5'>C642x</b>引导加载<b class='flag-5'>程序</b>

    使用TMS320C672x引导加载程序

    电子发烧友网站提供《使用TMS320C672x引导加载程序.pdf》资料免费下载
    发表于 10-16 10:09 0次下载
    使用TMS320<b class='flag-5'>C672x</b>引导加载<b class='flag-5'>程序</b>

    请厂家发份CS1237和CS1238的C51驱动程序

    请厂家发份CS1237和CS1238的C51驱动程序,hrblgd@163.com,谢谢
    发表于 09-08 18:51

    EEPROM读写程序详解

    EEPROM(Electrically Erasable Programmable Read-Only Memory)读写程序的详解涉及多个方面,包括EEPROM的基本工作原理、读写流程、编程接口、代码示例以及注意事项等。以下是
    的头像 发表于 09-05 12:32 3052次阅读

    求教!!!keil C51 程序烧录失败

    1、同一个工程,在某个函数中加入1~5nop () ,都能正常编译通过。其中加入1、3nop ()可以正常烧录;而加入2、4
    发表于 08-15 11:35

    基于51单片机16x16点阵显示电路图及程序元件清单

    本资源内容概要:       这是基于51单片机16x16点阵显示电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-21 14:34 4次下载

    C51转STM8驱动12864液晶屏,中文乱码的原因?

    C51转STM8遇到好困难啊 驱动12864液晶屏 中文乱码(液晶屏显示中文乱码 )
    发表于 04-28 06:20

    怎么啦?你的Keil C51和Keil MDK还无法共存吗?

    、安装KeilC51将安装路径设置为:D:\software\Keil\Keil_C51二、安装KeilMDKCore安装路径设置为:D:\software\Keil\Keil_MDKPack安装
    的头像 发表于 03-24 08:09 3448次阅读
    怎么啦?你的Keil <b class='flag-5'>C51</b>和Keil MDK还无法共存吗?