|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
版主幫忙看看這個(gè)例子 |
| 作者:tiuyuan 欄目:MCU技術(shù) |
下面是一個(gè)操作EEPROM.html">EEPROM的例子,我在minikit學(xué)習(xí)版上運(yùn)行,不知為什么不行, 我運(yùn)行的時(shí)候,按下key1后,led燈亮,之后就沒什么反映了,達(dá)不到下面的效果,希望能幫忙看看,這個(gè)程序是www.zlgmcu.com網(wǎng)站上的例子,例中原來用的是P89LPC932,這里我把對(duì)應(yīng)的引腳改了,覺得能運(yùn)行 幫忙看看,謝謝 /************************************************* *功能: P89LPC931內(nèi)部EEPROM操作演示程序 *************************************************/ #include "reg931.h" #define uCHAR unsigned CHAR sbit LED=P2^6; sbit BEEP=P0^7; sbit KEY1=P0^0; sbit KEY2=P0^1; sbit KEY3=P0^2; sbit KEY4=P0^3; sbit CLK=P1^6; sbit DAT=P1^7; void Send(uCHAR dat); main() { uCHAR TEMP; uCHAR Count; uCHAR Data; uCHAR Addr; P1M1=0x00; P1M2=0x00; P2M1=0x00; P2M2=0x00; P0M1=0x00; P0M2=0x00; while(1) { if(KEY1==0) //當(dāng) KEY1按下,向 地址為0-->0xff的區(qū)域?qū)懭霐?shù)據(jù)0->0xff. { LED=0; Addr=0x00; Data=0x00; Count=0xFF; EA=0; while(Count>0) { DEECON=0x00;//初始化DEECON DEEDAT=Data;//賦值DEEDAT DEEADR=Addr;//賦值DEEADR while((DEECON&0x80)==0);//等待寫完成 DEECON=DEECON&0x7F;//清0寫完成標(biāo)志位 Data++; //待寫入數(shù)據(jù)遞增 Addr++; //地址遞增 Count--;//循環(huán)次數(shù)遞減 if(Count==0) { LED=1;//最后一次循環(huán),熄滅運(yùn)行指示燈 } } EA=1; //開中斷 } //read-------------------------- if(KEY2==0)//當(dāng)KEY2按下時(shí),校驗(yàn)地址0-->0xff區(qū)域間的數(shù)據(jù),不對(duì)則BEEP { LED=0; Addr=0x00; //首地址 Data=0x00; //首數(shù)據(jù) Count=0xFF; //循環(huán)次數(shù) while(Count>0) { DEECON=0x00;//初始化DEECON DEEADR=Addr; //賦值DEEADR while((DEECON&0x80)==0);//等待 TEMP=DEEDAT; //將讀出的值賦給TEMP if(TEMP!=Data) //判斷 { BEEP=0; //BEEP鳴叫 Send(~TEMP);//顯示時(shí)的數(shù)據(jù)(可以判斷出操作第?位EEPROM出錯(cuò)) break; } Data++; //待校驗(yàn)數(shù)據(jù)遞增 Addr++; //地址遞增 Count--;//循環(huán)次數(shù)遞減 } Send(~Data);//若循環(huán)結(jié)束,顯示最后一次操作的數(shù)據(jù) } //----------------100~~~~1FFH-------------- if(KEY3==0)//KEY3按下,對(duì)地址為100-->1FF的區(qū)域進(jìn)行寫操作 { &nb |
| 2樓: | >>參與討論 |
| 作者: 滌綸 于 2006/1/11 8:35:00 發(fā)布:
回復(fù) 有沒有看一看931和932的區(qū)別呀。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |