AVR的EEPROM實驗
對AVR內(nèi)部的EEPROM寫入數(shù)據(jù),再讀出EEPROM的數(shù)據(jù),用LED進(jìn)行指示,觀察讀出的數(shù)據(jù)與寫入的數(shù)據(jù)是否一致。
硬件設(shè)計
AVR主控電路原理圖
LED控制電路原理圖
軟件設(shè)計
//目標(biāo)系統(tǒng):基于AVR單片機(jī)
//應(yīng)用軟件: ICC AVR
/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
實驗內(nèi)容:
寫入一些測試數(shù)據(jù)進(jìn)EEPROM,再讀出,使用PB口的LED做指示,觀測是否與寫入一致。
----------------------------------------------------------------------
硬件連接:
將PB口的LED指示燈使能開關(guān)切換到"ON"狀態(tài)。
----------------------------------------------------------------------
注意事項:
(1)若有加載庫程序,請將光盤根目錄下的“庫程序”下的“ICC_H”文件夾拷到D盤
(2)請詳細(xì)閱讀:光盤根目錄下的“產(chǎn)品資料開發(fā)板實驗板SMK系列SMK1632說明資料”
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/
#include
#include "D:ICC_HCmmICC.H"
#define DISP_DDR DDRB
#define DISP_PORT PORTB
/*--------------------------------------------------------------------
程序名稱:
程序功能:
注意事項:
提示說明:
輸入:
返回:
--------------------------------------------------------------------*/
void main(void)
{
uint8 i;
uint8 wrDat=0xAA;
uint8 wrDat_[]={1,2,3,4,5,6,7,8},rdDat_[8];
DISP_DDR=0xFF;
EEPROMwrite(0x01,wrDat);//寫入單個數(shù)據(jù)
DISP_PORT=EEPROMread(0x01);//讀出用指示燈驗證是否正確
delay50ms(40);//有2S的觀察時間
EEPROMWriteBytes(1,wrDat_,8);//對EEPROM寫入數(shù)組數(shù)據(jù)
EEPROMReadBytes(1,rdDat_,8);//對EEPROM讀出數(shù)據(jù)
for(i=0;i<7;i++)
{
delay50ms(40);//有2S的觀察時間
DISP_PORT=rdDat_[i];//讀出用指示燈驗證是否正確
}
while(1);
}
系統(tǒng)調(diào)試
觀察讀出的EEPROM數(shù)據(jù)與寫入EERPOM的數(shù)據(jù)是否一致,用LED作為數(shù)據(jù),沒什么好說的。。
評論