041b975e-03c1-4983-afaf-068064ec6426
篇一:ipsd-041b
东南大学申请考核博士研究生申请表
表B041 建筑区域原始地面高程测量记录
篇二:ipsd-041b
表B041 建筑区域原始地面高程测量记录
AT45DB041读写程序
篇三:ipsd-041b
AT45DB041读写程序
更新时间:2009-1-2 21:15:49 浏览次数:861
/*正常操作电压为2.7~3.6V,实验中发现当电压超过4.25V后读出的状态字节为9A(正常 */ /*的状态字节值为9D),并且读写数据均不准确,所以应当保证卡片的供电电压不超过 */ /*4.25V。 */
/*SPI规范:Data is always clocked into the device on the rising edge of SCK a-*/ /* nd clocked out of the device on the falling edge of SCK.All instruction-*/ /* s,addresses and data are transferred with the most significant bit(MSB) */ /* first. */
#define UCHAR unsigned char
#define UINT unsigned intipsd-041b。
sbit SPI_CS = P2^2;
sbit SPI_SCK = P2^4;
sbit SPI_SO = P2^6;
sbit SPI_SI = P2^5;
sbit SPI_RESET = P2^3;
sbit SPI_WP = P2^1;
unsigned char SPI_HostReadByte(void){
unsigned char i,rByte=0;
for(i=0;i<8;i++){
SPI_SCK=0;
SPI_SCK=1;
rByte<<=1;
rByte =SPI_SO;
}
return rByte;
}
void SPI_HostWriteByte(unsigned char wByte){
unsigned char i;
for(i=0;i<8;i++){
if((wByte<<I)&0X80)
else {SPI_SI=0;}
SPI_SCK=0;
SPI_SCK=1;
}
}
/*Status Register Format: */
/* ----------------------------------------------------------------------- */ /* bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 */
/* -------- -------- -------- -------- -------- -------- -------- -------- */ /* RDY/BUSY COMP 0 1 1 1 X X */
/* ----------------------------------------------------------------------- */ /* bit7 - 忙标记,0为忙1为不忙。 */
/* 当Status Register的位0移出之后,接下来的时钟脉冲序列将使SPI器件继续*/ /* 将最新的状态字节送出。 */
/* bit6 - 标记最近一次Main Memory Page和Buffer的比较结果,0相同,1不同。 */ /* bit5 */
/* bit4 */
/* bit3 */
/* bit2 - 这4位用来标记器件密度,对于AT45DB041B,这4位应该是0111,一共能标记 */ /* 16种不同密度的器件。 */
/* bit1 */
/* bit0 - 这2位暂时无效 */
unsigned char AT45DB041B_StatusRegisterRead(void){
unsigned char i;
SPI_CS=0;
SPI_HostWriteByte(0xd7);
i=SPI_HostReadByte();
SPI_CS=1;
return i;
}
/*描述: */
/* When the last bit in the main memory array has been read,the device will*/ /* continue reading back at the beginning of the first page of memory.As w-*/ /* ith crossing over page boundaries,no delays will be incurred when wrapp-*/ /* ing around from the end of the array to the beginning of the array. */ /*参数: */
/* PA - 页地址,0~2047 */
/* BFA - 指定BUFFER中的起始写入地址 */
/* pHeader - 指定数据的首地址 */
/* len - 指定数据的长度 */
void AT45DB041B_ContinuousArrayRead(UINT PA,UINT BFA,unsigned char *pHeader,UINT len){
unsigned int i;
while(!(AT45DB041B_StatusRegisterRead()&0x80));ipsd-041b。
// while(i++<255){if(AT45DB041B_StatusRegisterRead()&0x80){break;}}
SPI_CS=0;ipsd-041b。
SPI_HostWriteByte(0xe8);
SPI_HostWriteByte((unsigned char)(PA>>7));
SPI_HostWriteByte((unsigned char)((PA<<1) (BFA>>8)));
SPI_HostWriteByte((unsigned char)BFA);
for(i=0;i<4;i++){SPI_HostWriteByte(0x00);}
for(i=0;i<LEN;I++){PHEADER< STRONG>=SPI_HostReadByte();}
SPI_CS=1;
}
/*描述: */
/* 将指定数据写入从某个地址(0~263)开始的BUFFER中。 */ /*参数: */
/* buffer - 选择BUFFER,01H选择BUFFER 1,02H选择BUFFER 2 */ /* 在该指令序列中,操作码84H选择BUFFER 1,87H选择BUFFER 2 */ /* BFA - BUFFER中的起始地址,0~263 */
/* pHeader - 待存数据的头指针 */
/* len - 待存数据的长度1~264 */
void AT45DB041B_BufferWrite(UCHAR buffer,UINT BFA,UCHAR *pHeader,UINT len){ unsigned int i;
while(!(AT45DB041B_StatusRegisterRead()&0x80));
B041罗晶:家校合作:大学生思想政治教育的新途径以湖南科技学院为例
篇四:ipsd-041b
http://m.myl5520.com/lizhi/116494.html