?? 用c51寫的x25045的讀寫程序.txt
字號:
用c51寫的x25045的讀寫程序
發表時間:2005-08-07 10:31:28 瀏覽人數:14 發布者:administrator
/* x25045的讀寫程序 用c51寫的 */ #define CS P2.7 /*單片機p2.7為片選 可以改為你的實際引腳 */ #define SO P2.6 /*數據輸出 */ #define SK P2.5 /* 時鐘 */ #define SI P2.4 /* 數據輸入*/ /* here is the instrution of x25045*/ #define WREN 0x06 #define WRDI 0x04 #define RDSR 0x05 #define WRSR 0x01 #define READ0 0x03 #define READ1 0x0b #define WRITE0 0x02 #define WRITE1 0x0a unsigned char Read8() { bit bData; unsigned char cLoop; unsigned char cData; for(cLoop=0;cLoop<8;cLoop++) { SK=1; SK=0; bData=SO; cData<<=1; if(bData) { cData|=0x01; } } return cData; } void Write8(unsigned char cData) { unsigned char cLoop; for(cLoop=0;cLoop<8;cLoop++) { if((cData&0x80)==0) { SI=0; } else { SI=1; } SK=0; SK=1; cData<<=1; } } unsigned char ReadSR() { unsigned char cData; CS=0; Write8(RDSR); cData=Read8(); CS=1; return cData; } unsigned char WriteSR(unsigned char cData) { unsigned char cTemp; cTemp=ReadSR(); if((cTemp&0x01)==1) return 0; CS=0; Write8(WREN); CS=1; CS=0; Write8(WRSR); Write8(cData); CS=1; return 1; } void Write1B(unsigned char cData,unsigned char cAddress,bit bRegion) /* 寫入一個字節,cData為寫入的數,cAddress為寫入地址,bRegion為頁 */ { while((ReadSR()&0x01)==1) { } CS=0; Write8(WREN); CS=1; CS=0; if(bRegion==0) { Write8(WRITE0); } else { Write8(WRITE1); } Write8(cAddress); Write8(cData); SK=0; CS=1; } unsigned char Read1B(unsigned char cAddress,bit bRegion) /* 讀入一個字節,cAddress為讀入地址,bRegion為頁 */ { unsigned char cData; while((ReadSR()&0x01)==1) { } CS=0; if(bRegion==0) { Write8(READ0); } else { Write8(READ1); } Write8(cAddress); cData=Read8(); CS=1; return cData; }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -