一、实验目的:
1、掌握keil软件下编写、编译、调试C51程序的方法;
2、掌握片内RAM和片外RAM的数据传送操作
二、实验内容
在keil中编写C51程序,在外部数据存储器从地址100H单元开始存入10条字节型随机数据,再传输到内部数据存储器从地址30H开始的10个存储单元中。
要求:采用两种方法。
提示:一种方法是使用XBYTE、DBYTE等宏指令;另一种方式是使用关键字 _at_ 。
三、要求,按照以下步骤,逐一介绍
1、新建一个文件夹,同一个项目的所有文件都存储在这一个文件夹内。
2、打开keil uv4软件,new一个project,为该project取一个有意义的名字,并存储于上述文件夹中。
3、选择目标cpu为at89c51
4、新建一个文件,在编辑区编写C51代码,存储为.c格式的文件。
5、将该.c添加进刚才的project里。
6、编译,并查看编译提示信息,根据提示信息调试程序,直至没有error信息。
7、在“target options”的output标签里,勾选“creat HEX file”,使得编译输出.hex文件。
8、调试运行:以单步方式运行程序,在memory里查看各存储单元值的变化情况。(输入地址的格式为:存储器符号: 地址,如d:30h,x:0100h,c:0100h等,其中d、x、c分别是内部数据存储器、外部数据存储器、程序存储器的符号。)
#define uint unsigned int
xdata char ss[10] _at_ 0x100;
data char dd[10] _at_ 0x30;
xdata char ss[10]={1,3,5,7,9,0,2,4,6,8};
void main()
{
uint n;
for(n=0;n<10;n++)
dd[n]=ss[n];
}
私信可获得完整项目