单片机实验:数据区传送程序
2022-01-12 00:37 jym蒟蒻 阅读(673) 评论(0) 编辑 收藏 举报任务
将单片机片内存储器存储区首地址设置为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仿真