📄 dportram.c
字号:
#include <AT89X52.H>
sbit ramcs=P1^2;
sbit rambusy=P1^3;
void WriteRamChar(unsigned int addr,unsigned char wdata)
{
unsigned char xdata *exAddress;
exAddress = addr;
//while(rambusy==0);
*exAddress = wdata;
}
unsigned char ReadRamChar(unsigned int addr)
{
unsigned char xdata *exAddress;
unsigned char ret;
exAddress = addr;
//while(rambusy==0);
//while(rambusy==0);
ret=*(exAddress);
return ret;
}
void init_ram()
{
unsigned int i;
EA=0;
ramcs=0;
for(i=0;i<16;i++)
WriteRamChar(i,0);
ramcs=1;
EA=1;
}
unsigned char WriteRam(unsigned char num,unsigned char * buf)
{
unsigned char j,i;
unsigned char endaddr;
if(num<65)
{
endaddr=num;
EA=0;
ramcs=0;
//WriteRamChar(1,0x55);
//WriteRamChar(6,0);
for(i=0;i<endaddr;i++)
WriteRamChar(i,buf[i]);
//WriteRamChar(6,num);
ramcs=1;
EA=1;
j=1;
}
else
j=0;
return j;
}
void ReadRam(unsigned char num,unsigned char * buf)
{
unsigned char i;
unsigned char endaddr;
if(num<65)
{
endaddr=num;
EA=0;
ramcs=0;
for(i=0;i<endaddr;i++)
buf[i]=ReadRamChar(i);
WriteRamChar(0,0xAA);
ramcs=1;
EA=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -