欢迎来到天天文库
浏览记录
ID:61506893
大小:22.50 KB
页数:5页
时间:2021-02-08
《Keil C51 集成开发环境的使用.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验题目:实验一KeilC51集成开发环境的使用姓名:专业:学号:成绩:一、实验目的1、熟悉Keil51集成开发环境的基本操作2、掌握简单C51和汇编程序的编写、调试二、实验内容1、仔细阅读附录2及教材(陈海宴编著)相关内容,掌握KeilC51集成开发环境的基本内容。2、分别用汇编语言和C51编写清零程序,把片外RAM中的7000H—70FFH单元内容清零。3、分别用汇编语言和C51编写查找相同数个数程序。统计片外RAM7000H—700FH中“00H”的个数并保存在片内ROM30H中。三、实验原理及步骤1、清零程序(1)汇编语言程序设计框图(2)、
2、实验步骤用连续或单步方式运行程序,检查7000H-70FFH单元中执行程序前后的内容变化。(3)、假使把7000H-70FFH中的内容改成FF,如何修改程序?(只要把指针变量改为*p=0xff就可以)(4)、用C51重新编写该清零程序,运行并查看结果2、查找相同数个数(1)、汇编语言程序设计框图开始字节数送R0,查找字节送R1从DPTR中取数7000H→DPTRYR1+1结束R1送30H单元字节数送到吗?DPTR+1判和被查数相同否(2)实验步骤①在7000H——700FH单元中放入随机数,其中几个单元输入0;②用连续或单步方式运行程序;③观察片内R
3、AM30H的内容,应显示“00H”的个数。(3)用C51重新编写该程序,运行程序并查看结果。(重点)四.实验程序1)C语言:#includeinti=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;INCDPTRNEXT:MOVX@DPTR,A;INCDPTR;DJN
4、ZR5,NEXT;JMPMAIN;END<2>(1)C语言:#includeinti=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;INCDPTRNEXT:MOVX@DPTR,A;INCDPTR;DJNZR5,NEXT;JMPMAIN;END(2)C语言:#incl
5、udeinti=0;charnum=0;unsignedcharxdata*p;unsignedcharidata*q;intmain(void){p=0x7000;for(i=16;i>=0;i--){if(*p==0x00)num++;R++;}q=0x30;*q=num;While(1);}汇编:ORG0000HJMPMAINMAIN:MOVR0,#00H;MOVR1,#00H;MOVR5,#16;MOVDPTR,#7000HNEXT:MOVXA,@DPTR;DPTRSUBBA,R1;INCDPTR;JZNEXT2;JMPNE
6、XT3;NEXT2:INCR0;RO?1NEXT3:DJNZR5,NEXT;MOV30H,R0;END五、实验后的经验总结1.创建一个Keil过程:①创建工程:点击Project>NewProject……②源程序的建立:点击File->New③工程的详细设置:Project>Optionfortarget“target1”2.通过view打开memorywindow窗口,在地址栏输入片内片外寄存器地址修改寄存器内容。六、对实验课的体会1.实验课检验自己对这门课程的学习程度,锻炼了自己的动手能力,培养了独立思考、发现问题、纠正问题的能力。2.通过实验,
7、熟悉了KeilC51集成开发环境的基本操作,锻炼了自己编写程序、阅读程序的能力,进行实验调试,检查程序出现的错误然后进行修改;简单明白了C51和汇编程序中的一些基本意思,初步学会了实验中的调试过程。
此文档下载收益归作者所有