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為頁 */

{

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為頁 */

{

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)注

    6037

    文章

    44562

    瀏覽量

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

    關(guān)注

    117

    文章

    3788

    瀏覽量

    81102
  • x25045
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    13986
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C++ QT開發(fā),IC讀寫程序

    步:新建個(gè)qt C++項(xiàng)目 在此需要注意, 名稱和路徑不能有中文。 第二步: 添加控件 完成UI布局 IC讀寫
    的頭像 發(fā)表于 12-30 14:55 ?65次閱讀
    <b class='flag-5'>C</b>++ QT開發(fā),IC<b class='flag-5'>讀寫</b>器<b class='flag-5'>程序</b>

    Keil詳細(xì)安裝教程(同時(shí)兼容51與STM32)

    在安裝目錄創(chuàng)建兩個(gè)文件夾,個(gè)用于存放c51 版keil,個(gè)用于存放arm 版keil 。 1
    的頭像 發(fā)表于 11-26 11:26 ?2701次閱讀
    Keil詳細(xì)安裝教程(同時(shí)兼容<b class='flag-5'>51</b>與STM32)

    通過C51單片機(jī)控制數(shù)碼管顯示

    電子發(fā)燒友網(wǎng)站提供《通過C51單片機(jī)控制數(shù)碼管顯示.docx》資料免費(fèi)下載
    發(fā)表于 11-12 15:51 ?2次下載

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

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

    為I2C啟動(dòng)加載準(zhǔn)備TMS320C645x應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《為I2C啟動(dòng)加載準(zhǔn)備TMS320C645x應(yīng)用程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-16 11:30 ?0次下載
    為I2<b class='flag-5'>C</b>啟動(dòng)加載準(zhǔn)備TMS320<b class='flag-5'>C645x</b>應(yīng)用<b class='flag-5'>程序</b>

    使用TMS320C642x引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C642x引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-16 10:44 ?0次下載
    使用TMS320<b class='flag-5'>C642x</b>引導(dǎo)加載<b class='flag-5'>程序</b>

    使用TMS320C672x引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C672x引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-16 10:09 ?0次下載
    使用TMS320<b class='flag-5'>C672x</b>引導(dǎo)加載<b class='flag-5'>程序</b>

    請(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 ?2263次閱讀

    求教?。?!keil C51 程序燒錄失敗

    1、同一個(gè)工程,在某個(gè)函數(shù)中加入1~5個(gè)nop () ,都能正常編譯通過。其中加入1個(gè)、3個(gè)nop ()可以正常燒錄;而加入2個(gè)、4
    發(fā)表于 08-15 11:35

    基于51單片機(jī)16x16點(diǎn)陣顯示電路圖及程序元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)16x16點(diǎn)陣顯示電路圖及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-21 14:34 ?4次下載

    C51轉(zhuǎn)STM8驅(qū)動(dòng)12864液晶屏,中文亂碼的原因?

    C51轉(zhuǎn)STM8遇到好困難啊 驅(qū)動(dòng)12864液晶屏 中文亂碼(液晶屏顯示中文亂碼 )
    發(fā)表于 04-28 06:20

    STM32做IIC讀寫程序,利用HAL庫(kù)對(duì)IIC讀寫遇到的疑問求解

    最近在做IIC讀寫程序,用到HAL庫(kù),發(fā)現(xiàn)利用HAL庫(kù) 對(duì)IIC讀寫問題,求助下! 在HA庫(kù)對(duì)IIC讀寫操作的2
    發(fā)表于 04-24 06:27

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

    、安裝KeilC51將安裝路徑設(shè)置為:D:\software\Keil\Keil_C51二、安裝KeilMDKCore安裝路徑設(shè)置為:D:\software\Keil\Keil_MDKPack安裝
    的頭像 發(fā)表于 03-24 08:09 ?3262次閱讀
    怎么啦?你的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