- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验题目:实验一
KeilC51
集成开发环境的使用
姓名: 专业:
一、实验目的
学号:
成绩:
1、熟悉Keil51 集成开发环境的基本操作
2、掌握简单C51 和汇编程序的编写、调试二、实验内容
1、仔细阅读附录2及教材(陈海宴编著)相关内容,掌握KeilC51集成开发环境的基本内容。
2、分别用汇编语言和C51 编写清零程序,把片外RAM中的7000H—70FFH
单元内容清零。
3、分别用汇编语言和C51 编写查找相同数个数程序。统计片外RAM7000H
—700FH中“00H”的个数并保存在片内ROM30H 中。三、实验原理及步骤
1、清零程序
汇编语言程序设计框图
、实验步骤
用连续或单步方式运行程序,检查7000H-70FFH单元中执行程序前后的内容变化。
、假使把7000H-70FFH中的内容改成FF,如何修改程序?
(只要把指针变量改为*p=0xff就可以)
、用C51重新编写该清零程序,运行并查看结果
2、查找相同数个数
(1)、汇编语言程序设计框图
开始
开始
字节数送R0,查找字节送R1
7000H→DPTR
从DPTR中取数
判和被查数相同否
Y
R1+1
DPTR+1
字节数送到吗?
R1送30H单元
结束
实验步骤
①在7000H——700FH单元中放入随机数,其中几个单元输入0;
②用连续或单步方式运行程序;
③观察片内RAM 30H的内容,应显示“00H”的个数。
用C51重新编写该程序,运行程序并查看结果。(重点)
四.实验程序
1)
C语言:#includereg51.hinti=0;
unsignedcharxdata*p;intmain(void)
{ p=0x7000;
for(i=255;i=0;i--)
{ *p=0x01;p++;
}
While(1);
}
汇编:ORG0000HJMPMAINMAIN:
MOVA,#00H;
MOVR5,#255;
MOVDPTR,#7000H;
MOVX@DPTR,A;
INCDPTR
NEXT:
MOVX@DPTR,A;
INCDPTR;
DJNZR5,NEXT;
JMPMAIN;
END
2
(1)
C语言:#includereg51.hinti=0;
unsignedcharxdata*p;intmain(void)
{ p=0x7000;
for(i=255;i=0;i--)
{ *p=0xff;p++;
}
While(1);
}
汇编:ORG0000HJMPMAINMAIN:
MOVA,#00H;
MOVR5,#255;
MOVDPTR,#7000H;
MOVX@DPTR,A;
INCDPTR
NEXT:
MOVX@DPTR,A;
INCDPTR;
DJNZR5,NEXT;
JMPMAIN;
END
(2)
C语言:#includereg51.hinti=0;
charnum=0;
unsignedcharxdata*p;unsignedcharidata*q;intmain(void)
{p=0x7000;
for(i=16;i=0;i--)
{ if(*p==0x00)num++;R++;
While(1);
}
汇编:
}q=0x30;
*q=num;
ORG0000HJMPMAINMAIN:
MOVR0,#00H;MOVR1,#00H;MOVR5,#16;MOVDPTR,#7000HNEXT:
MOVXA,@DPTR;DPTRSUBBA,R1;
INCDPTR;JZNEXT2;JMPNEXT3;NEXT2:
INCR0;RO?1NEXT3:
DJNZ R5,NEXT;
MOV 30H,R0;END
五、实验后的经验总结
创建一个Keil过程:①创建工程:点击ProjectNewProject……
②源程序的建立:点击File-New
③工程的详细设置:ProjectOptionfortarget“target1”
通过view打开memorywindow窗口,在地址栏输入片内片外寄存器地址修改寄存器内
容。
六、对实验课的体会
实验课检验自己对这门课程的学习程度,锻炼了自己的动手能力,培养了独立思考、发现问题、纠正问题的能力。
通过实验,熟悉了KeilC51集成开发环境的基本操作,锻炼了自己编写程序、阅读程序的能力,进行实验调试,检查程序出现的错误然后进行修改;简单明白了C51和汇编程序中
文档评论(0)