历史上的今天
今天是:2025年02月02日(星期日)
2020年02月02日 | 一个X25045的C51读写程序
2020-02-02 来源:elecfans
* 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;
史海拾趣
|
语音识别芯片 声控芯片 LD3320 非特定人/单芯片/动态编辑识别列表 ICRoute 本帖最后由 jameswangsynnex 于 2015-3-3 19:56 编辑 看看大家能用这个芯片设计制造出什么样好玩又实用的新产品。 :) # 单芯片,非特定人,动态编辑识别列表的识别芯片LD332X系列,可以用于所有的电子产品,只需要最简单的51作为控制芯片即可 ...… 查看全部问答> |
|
公司(上海逻迅信息科技有限公司)现处于创业阶段,招3-4个人(全职),不限学历,能把事情做好即可,欢迎有能力、有学习热情者加入公司。 1、熟悉数字、模拟电路 2、熟练使用一款PCB设计软件 3、熟练使用电子测试仪器 4、优先考虑: 掌握一定 ...… 查看全部问答> |
|
交流输出单电容半桥式变压器开关电源(part1)开关电源原理与设计(连载36) 1-8-2-2.交流输出单电容半桥式变压器开关电源 图1-39是单电容半桥式变压器开关电源的工作原理图。这里的单电容是把图1-36中的上分压电容器C1或下分压电容器省掉了的意思,因此,图1-39的单电容半桥式变压器开关电源是相对于图1-36的双电容半桥式 ...… 查看全部问答> |
|
最近在研究430单片机控制lcd液晶显示的问题!可是对液晶控制器1335的资料却研究的不够透彻。关于分屏和每一屏地址的范围总是无法确定,导致图形字符重叠,或者显示不全!希望有高手能进来帮忙指点一下,或者给我留一个液晶开发的群号也可以,一起讨 ...… 查看全部问答> |
|
如題,看了《Programming the Microsoft Windows Driver Model》第一版,還不如直接編程硬件呢。 不知大家有什么好資料,十分感謝。… 查看全部问答> |
|
【连载】【ALIENTEK MiniSTM32 开发板】STM32不完全手册-RTC实时时钟实验(实验11) 开发板购买地址:http://shop62103354.taobao.com/… 查看全部问答> |
|
请问一下 我用uip 协议栈写LM3S8962以太网 怎么让数据连续往上位机发送呢 我现在只能上位机发送一次数据 下位机才向上发送一次数据 我想上位机发送一次命令 下位机能连续发送数据 等到我发停止命令 下位机才停止发送 这个程序在原来的基础上什么改 ...… 查看全部问答> |
|
MSP430程序升级方式探讨 作者、源出处未明,如知情者请通知我们;我们会及时更新。 对MSP430系列单片机进行编程的方式有以下三种:利用JTAG接口,利用BSL固件和利用用户自定义的升级固件。由于利用自定义升级固件进行程序升级的 ...… 查看全部问答> |




