📄 新建 文本文档.txt
字号:
/*******************************************************************************************
功能描述:写EEPROM阵列
*******************************************************************************************/
void byte_write(void)
{
uchar a;
if(dog_addr>255)
{
a=10;
dog_addr=dog_addr-256;
}
else
{ a=2;}
SCK_25045=0;
CS_25045=0;
outbyt(6);
SCK_25045=0;
CS_25045=1;
SCK_25045=0;
CS_25045=0;
outbyt(a);
outbyt(dog_addr);
outbyt(dog_rw_data);
SCK_25045=0;
CS_25045=1;
wip_poll();
}
/*******************************************************************************************
功能描述:读EPPROM阵列
*******************************************************************************************/
void byte_read(void)
{
uchar a,i;
uchar b;
if(dog_addr>255)
{
a=11;
dog_addr=dog_addr-256;
}
else
{a=3;}
SCK_25045=0;
CS_25045=0;
outbyt(a);
outbyt(dog_addr);
for(i=0;i<8;i++)
{
b=0x00;
SCK_25045=0;
b=(uchar)(SO_25045);
SCK_25045=1;
dog_rw_data=(dog_rw_data<<1)+b;
}
SCK_25045=0;
CS_25045=1;
}
/*******************************************************************************************
功能描述:输出一个数据到25045,此数据可能为地址,先导字,写入的数据等
********************************************************************************************/
void outbyt(uchar aa)
{
uchar i;
SCK_25045=0;
for(i=0;i<8;i++)
{
SI_25045=(bit)(aa&0x80);
SCK_25045=1;
aa=aa<<1;
SCK_25045=0;
}
SI_25045=0;
}
/*******************************************************************************************
功能描述:检测写入的过程是否结束
********************************************************************************************/
void wip_poll(void)
{
uchar jj,ii,ctmp1,ctmp2;
for (jj=1;jj<200;jj++)
{
SCK_25045=0;
CS_25045=0;
outbyt(5);
for (ii=8;ii>0;ii--)
{
ctmp1=0x00;
SCK_25045=0;
ctmp1=(uchar)(SO_25045);
SCK_25045=1;
ctmp2=(ctmp2<<1)+ctmp1;
}
SCK_25045=0;
CS_25045=1;
if ((ctmp2&0x01)==0)
{jj=200;}
}
}
/*******************************************************************************************
函数名: Watchdog
调用子函数: outbyt,wip_poll()
输入参数:
输出参数:
功能描述:25045看门狗作用
*******************************************************************************************/
void Watchdog(void)
{
CS_25045=0;
outbyt(6);
CS_25045=1;
_nop_();
CS_25045=0;
outbyt(1);
outbyt(0x10);
CS_25045=1;
wip_poll();
CS_25045=0;
outbyt(4);
CS_25045=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -