杭电单片机实验报告二.docx

杭电单片机实验报告二.docx

ID:58374684

大小:1.86 MB

页数:11页

时间:2020-05-02

杭电单片机实验报告二.docx_第1页
杭电单片机实验报告二.docx_第2页
杭电单片机实验报告二.docx_第3页
杭电单片机实验报告二.docx_第4页
杭电单片机实验报告二.docx_第5页
资源描述:

《杭电单片机实验报告二.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机原理与应用技术实验报告实验题目:Keil软件使用及C语言编程姓名:***学号:********实验日期:2017.4.24指导教师:高惠芳1.Keil软件的简介和使用1.1KeiluVision4的简介最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。uVision4在μVision3IDE的基础上,增加了更多大众化的功能:·多显示器和灵活的窗口管理系统·系统浏览器窗口的显示设备外设寄存器信息·调试还原视图创建并保存多个调试窗口布局·多项目工作区简

2、化与众多的项目1.2KeiluVision4的使用①,打开Keil4应用软件,其初始界面如下:②、点击菜单项“Project”下的“NewuVisionProject”,如下图所示。③、选择文件夹,并输入工程名。④、输入工程名并保存后会弹出选择芯片界面⑤、这里我们选择Atmel公司的AT89S51单片机,选择后,点击“OK”,即创建完工程。⑥、单击点击下图所示圆圈圈起的部分建立一个文件。也可以点击菜单“File”下面的“NEW”来新建一个文件。⑦、之后输入程序的代码后,单击File—Saveas,根据代码语言的格类型,可保存为后缀为.asm(汇编语言)和.c(C语言)的文件。⑧、单击“

3、Target1”前面的“+”号,并用鼠标右键点击“SourceGroup1”,界面如图10所示。在用鼠标左键点击“AddFilestoGroupSourceGroup1...”即可把刚刚的代码文件添加到工程。最后点击左上角的编译按钮即可完成编译。之后即可进行程序的调试了。2.实验内容使用C语言完成课本P95的(2)、(5)、(8)三道题以及一个跑马灯程序。2.1P95-(2)设内部RAM5AH单元中有一个变量X,请编写计算下述函数式的程序,结果存入5BH。程序代码如下:#includevoidmain(){chardata*p1,*p2;//定义指向片内RAM地址的指

4、针p1=0x5A;//变量x片内RAM地址为0x5Ap2=0x5B;//变量y片内RAM地址为0x5Bif(*p1>=10&&*p1<=15)*p2=(*p1)*(*p1)+8;elseif(*p1<10)*p2=(*p1)*(*p1)-1;else*p2=41;}程序截图:编译成功截图:程序结果:①、当X=12时,Y=12*12+8=152②、当X=8时,Y=8*8-1=63③、当X=18时,Y=412.2P95-(5)设有两个长度均为15的数组,分别存放在以2000H和2100H为首的存储区中,试编程求其对应项之和,结果存放到以2200H为首的存储区中。代码如下:#include<

5、reg51.h>#includevoidmain(){inti;charx,y,s;for(i=0;i<15;i++){x=XBYTE[0x2000+i];y=XBYTE[0x2100+i];s=x+y;XBYTE[0x2200+i]=s;}}程序截图:编译成功截图:程序结果:首先分别在2000H和2100H存入15数,这里我都存入了1,2,3,…,14,15。结果得到:2.3P95-(8)将片外数据存储器地址为1000H~1030H的数据块,全部搬迁到片内RAM30H~60H中,并将原数据块区域全部清零。代码如下:#include#include

6、voidmain(){inti;charx;chardata*p1;p1=0x30;for(i=0;i<31;i++){x=XBYTE[0x1000+i];*(p1+i)=x;XBYTE[0x1000+i]=0x00;}}程序截图:编译成功截图:程序结果:先在片外存储器1000H开始存入数据接下来开始将数据搬迁到片内30H开始的区域中且原地址数据依次被清零2.4P95-(8)题目:设计一个6+50=56ms跑马灯,并在P1端口显示。代码如下:#include#includevoidmdelay(unsignedintt){un

7、signedcharn;for(;t>0;t--)for(n=0;n<125;n++){;}}voidmain(){unsignedcharled;led=0x01;while(1){P1=led;led=_crol_(led,1);mdelay(144);}}程序截图:编译成功截图:程序结果:初始状态执行一次56ms延迟后左移再一次56ms延迟后左移Proteus仿真截图:3.实验心得通过以上4个实验,我学会了KEIL软件的使用,即创建工程,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。