ram.c

来自「C8051F020的全面应用,包括两个UART口、SPI、I2C」· C语言 代码 · 共 40 行

C
40
字号
/*write 1 byte to RAM*/
void RamByteWR(uchar RowAdr, uchar ColumnAdr, uchar ramdata)
{
	RAM_OE = 1;
	RAMA8_14 = (RAMA8_14&0x80)|(RowAdr&0x7F);
	P74OUT |= 0x30;/*P6 pull up*/
	RAMD0_7 = ColumnAdr;
	RAM_ALE = 1;
	_nop_();
	RAM_ALE = 0;
	RAMD0_7 = ramdata;
	RAM_CE = 0;
	RAM_WE = 0;
	_nop_();
	RAM_CE = 1;
	RAM_WE = 1;
} 

/*read 1 byte from RAM*/
uchar RamByteRD(uchar RowAdr, uchar ColumnAdr)
{
	uchar idata temp;
	RAM_WE = 1;
	RAMA8_14 = (RAMA8_14&0x80)|(RowAdr&0x7F);
	P74OUT |= 0x30;/*P6 pull up*/
	RAMD0_7 = ColumnAdr;
	RAM_ALE = 1;
	_nop_();
	RAM_ALE = 0;
	P74OUT &= 0xCF;/*P6 open-drain*/
	RAM_CE = 0;
	RAM_OE = 0;
	_nop_();
	RAMD0_7 = 0xFF;
	temp = RAMD0_7;
	RAM_CE = 1;
	RAM_OE = 1;
	return temp;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?