AVR的EEPROM實(shí)驗
對AVR內部的EEPROM寫(xiě)入數據,再讀出EEPROM的數據,用LED進(jìn)行指示,觀(guān)察讀出的數據與寫(xiě)入的數據是否一致。
硬件設計

AVR主控電路原理圖

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