?? 24c256的c51源程序.txt
字號(hào):
24C256的C51源程序:2007-09-10 16:51:53
//ESDA-數(shù)據(jù)
//ECLK-時(shí)鐘
//EWP-寫保護(hù)
//晶體12MHZ
#define UN unsigned char
sbit ACC0=ACC^0;
sbit ACC1=ACC^1;
sbit ACC2=ACC^2;
sbit ACC3=ACC^3;
sbit ACC4=ACC^4;
sbit ACC5=ACC^5;
sbit ACC6=ACC^6;
sbit ACC7=ACC^7;
void ask()
{
unsigned int i=0xffff;
ESDA=1;_nop_();ECLK=1;_nop_();
do
{i--;
if(ESDA!=1)
{ECLK=0;i=0;}
}
while(i!=0);
}
/*###################################*/
void stop()
{
ECLK=0; _nop_();
ESDA=0; _nop_();
ECLK=1; _nop_();
ESDA=1;_nop_();
ECLK=0;_nop_();
}
/* */
/*###################################*/
/*24c256 start */
void start()
{
ESDA=1;_nop_();
ECLK=1;_nop_();
ESDA=0;_nop_();
ECLK=0;_nop_();
}
/*###################################*/
/*24c256 rdby */
UN rdby()
{ ESDA=1;
ECLK=1;ACC7=ESDA;ECLK=0;
ECLK=1;ACC6=ESDA;ECLK=0;
ECLK=1;ACC5=ESDA;ECLK=0;
ECLK=1;ACC4=ESDA;ECLK=0;
ECLK=1;ACC3=ESDA;ECLK=0;
ECLK=1;ACC2=ESDA;ECLK=0;
ECLK=1;ACC1=ESDA;ECLK=0;
ECLK=1;ACC0=ESDA;ECLK=0;
return(ACC);
}
/*###################################*/
/*24c256 waddr */
void waddr()
{ start();
wrby(0xa0);
ask();}
/*###################################*/
/*24c256 raddr */
UN raddr()
{ start();
wrby(0xa1);
ask();
ACC=rdby();
stop();
return(ACC);
}
/*###################################*/
void wrby(UN x)
{ ACC=x;
ESDA=ACC7;ECLK=1;ECLK=0;
ESDA=ACC6;ECLK=1;ECLK=0;
ESDA=ACC5;ECLK=1;ECLK=0;
ESDA=ACC4;ECLK=1;ECLK=0;
ESDA=ACC3;ECLK=1;ECLK=0;
ESDA=ACC2;ECLK=1;ECLK=0;
ESDA=ACC1;ECLK=1;ECLK=0;
ESDA=ACC0;ECLK=1;ECLK=0;
ESDA=1;ECLK=1;
}
/*####################################*/
/*24c256 讀出一字節(jié) */
UN rout(unsigned int x)
{ waddr();
w16addr(x);
ACC=raddr();
return(ACC);
}
/*######################################*/
/*24c256 寫入一字節(jié) */
void memory(unsigned int f,UN x)
{ EWP=0;
waddr();
w16addr(f);
wrby(x);
ask();
stop();
d5ms();
EWP=1;
}
/* 延時(shí)*/
void d5ms()
{ UN a, b;
for (a=0;a<=15;a++)
{
for (b=0;b<0x7f;b++)
{;}
}
}
/*################################寫入256的16位地址*/
void w16addr(unsigned int x)
{ UN m;UN n;
DPTR=x;
m=DPH;
n=DPL;
wrby(m );
ask();
wrby(n );
ask();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -