任務
將單片機片內存儲器存儲區首地址設置爲60H、片外存儲器存儲區首地址設置爲4000H,存入片內存儲區內容爲04H-14H共17個字節 ,讀取片內首地址爲60H單元內容,將該內容傳送到片外數據存儲器存儲區中保存(首地址4000H),將保存在片外數據區數據依次取出送P1。
代碼:
#include <reg51.h>
#include <absacc.h> //便於絕對地址訪問
#define uint unsigned int
#define uchar unsigned char
#define lenth 17
void delay( )
{
uchar i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
int i;
uint d_addr=0x4000,s_addr=0x60; //定義尋找絕對地址 循環並賦值
for(i=1;i<=17;i++)
{
DBYTE[0X60+i-1]=0x04+i-1;//從內部存儲器的0x60開始,存入17個字節
}
XBYTE[0X4000]=DBYTE[0X60];//把內部存儲器的60H單元數據送至外部存儲器
P1=XBYTE[4000];//外部存儲器數據傳入P1口
}
圖3.1.4 執行單步調試查看內部儲存器RAM內容
圖3.1.5 執行完整程序查看0x4000外部儲存器內容
圖1.2.1 proteus仿真結果