單片機實驗:數據區傳送程序

任務

將單片機片內存儲器存儲區首地址設置爲60H、片外存儲器存儲區首地址設置爲4000H,存入片內存儲區內容爲04H-14H共17個字節 ,讀取片內首地址爲60H單元內容,將該內容傳送到片外數據存儲器存儲區中保存(首地址4000H),將保存在片外數據區數據依次取出送P1。

代碼

#include <reg52.h>
#include <absacc.h>        //便於絕對地址訪問
#define uint unsigned int 
#define uchar unsigned char 
#define lenth 16
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開始,存入片內存儲區內容爲04H-14H共17個字節
   }
   XBYTE[0x4000]=DBYTE [0x60]; //把內部存儲器60H單元數據送至外部存儲器
   P1=XBYTE[0x4000]; //外部存儲器4000H單元數據送至P1口
}

結果

記錄程序運行結果截圖(內部存儲器RAM(D:0x40 ~ D:0x14)、外部RAM(x: 0x4000 ~ x: 0x400F)以及P1口的內容。

運行一次for循環D:0x60H~D:0x70H裏的內容:
在這裏插入圖片描述
運行完所有for循環D:0x60H~D:0x70H裏的內容
在這裏插入圖片描述
運行完程序x: 0x4000~ x: 0x400F裏的內容。
在這裏插入圖片描述
運行到最後一條語句前p1口的內容:
在這裏插入圖片描述
protues仿真

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章