0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個(gè)X25045的C51讀寫程序

Wildesbeast ? 來源:福星電子網(wǎng) ? 作者:福星電子網(wǎng) ? 2020-01-18 11:13 ? 次閱讀

* x25045的讀寫程序 用c51寫的 */

#define CS P2.7 /*單片機(jī)p2.7為片選 可以改為你的實(shí)際引腳 */

#define SO P2.6 /*數(shù)據(jù)輸出 */

#define SK P2.5 /* 時(shí)鐘 */

#define SI P2.4 /* 數(shù)據(jù)輸入*/

/* 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)

/* 寫入一個(gè)字節(jié),cData為寫入的數(shù),cAddress為寫入地址,bRegion為頁(yè) */

{

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)

/* 讀入一個(gè)字節(jié),cAddress為讀入地址,bRegion為頁(yè) */

{

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;

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44452

    瀏覽量

    630827
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3743

    瀏覽量

    80661
  • x25045
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    13966
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    把esp8266加入到c51單片機(jī)單通道程序怎么寫

    要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這點(diǎn)的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
    的頭像 發(fā)表于 10-18 11:32 ?167次閱讀

    請(qǐng)廠家發(fā)份CS1237和CS1238的C51驅(qū)動(dòng)程序

    請(qǐng)廠家發(fā)份CS1237和CS1238的C51驅(qū)動(dòng)程序,hrblgd@163.com,謝謝
    發(fā)表于 09-08 18:51

    EEPROM讀寫程序詳解

    EEPROM(Electrically Erasable Programmable Read-Only Memory)讀寫程序的詳解涉及多個(gè)方面,包括EEPROM的基本工作原理、讀寫流程、編程接口、代碼示例以及注意事項(xiàng)等。以下是
    的頭像 發(fā)表于 09-05 12:32 ?756次閱讀

    怎么啦?你的Keil C51和Keil MDK還無法共存嗎?

    、安裝KeilC51將安裝路徑設(shè)置為:D:\software\Keil\Keil_C51二、安裝KeilMDKCore安裝路徑設(shè)置為:D:\software\Keil\Keil_MDKPack安裝
    的頭像 發(fā)表于 03-24 08:09 ?2791次閱讀
    怎么啦?你的Keil <b class='flag-5'>C51</b>和Keil MDK還無法共存嗎?

    C51C251有啥區(qū)別

    更大的內(nèi)存和存儲(chǔ)器容量,可以支持更復(fù)雜的應(yīng)用程序。 性能和速度:由于C251具有更高的位寬和更復(fù)雜的指令集,它通常比C51具有更高的性能和運(yùn)行速度。 應(yīng)用領(lǐng)域:由于C51是較早的微控制
    發(fā)表于 01-20 11:39

    16X16 點(diǎn)陣籃球計(jì)分板程序

    16X16 點(diǎn)陣籃球計(jì)分板基于51單片機(jī)的C語(yǔ)言程序
    發(fā)表于 11-16 16:34 ?2次下載

    C51單片機(jī)數(shù)碼管動(dòng)態(tài)顯示的原理是什么

    C51單片機(jī)數(shù)碼管動(dòng)態(tài)顯示的原理是什么?
    發(fā)表于 11-08 07:57

    C51單片機(jī)的IO口介紹(下)

    篇文章我們對(duì)C51的IO簡(jiǎn)單的介紹了下,現(xiàn)在我們來簡(jiǎn)單了解C51的IO的結(jié)構(gòu)
    的頭像 發(fā)表于 11-02 10:57 ?1790次閱讀
    <b class='flag-5'>C51</b>單片機(jī)的IO口介紹(下)

    基于C51單片機(jī)實(shí)現(xiàn)LED燈1s閃爍

    C51使用的晶振頻率是11.0592MHz顆LED燈接在C51的P0.0,現(xiàn)在要求設(shè)計(jì)程序,讓這顆LED燈以1s為間隔閃爍。
    的頭像 發(fā)表于 11-02 10:55 ?5530次閱讀
    基于<b class='flag-5'>C51</b>單片機(jī)實(shí)現(xiàn)LED燈1s閃爍

    C51單片機(jī)獨(dú)立按鍵的使用

    前面我們簡(jiǎn)單的學(xué)習(xí)了C51的IO結(jié)構(gòu),現(xiàn)在我們來看看,準(zhǔn)雙向IO口如何使用按鍵輸入
    的頭像 發(fā)表于 11-01 11:34 ?2099次閱讀
    <b class='flag-5'>C51</b>單片機(jī)獨(dú)立按鍵的使用

    請(qǐng)問keil C51中的data怎么設(shè)置成大點(diǎn)的值?

    keil C51中的data怎么設(shè)置成大點(diǎn)的值?
    發(fā)表于 11-01 07:42

    C51編譯器如何區(qū)分位地址和字節(jié)地址?

    C51編譯器如何區(qū)分位地址和字節(jié)地址
    發(fā)表于 10-31 08:30

    C51為什么要嵌套匯編?

    C51為什么要嵌套匯編
    發(fā)表于 10-31 06:48

    C51編譯器如何區(qū)分位地址和字節(jié)地址?

    C51編譯器如何區(qū)分位地址和字節(jié)地址
    發(fā)表于 10-25 07:10

    C51下載的時(shí)候經(jīng)常搜索不到串口是為什么?

    C51下載的時(shí)候經(jīng)常搜索不到串口?
    發(fā)表于 10-25 06:39