(电子行业企业管理)智能电子设计实验三(ZZH).docxVIP

(电子行业企业管理)智能电子设计实验三(ZZH).docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
据实际情况写,不要和原来的重复。 实验三Keil与Proteus联调实验 一、实验目的 1.配置成功Keil和Proteus的联接。 2.会利用联调环境改正程序,提高单片机开发的效率。 二、实验设施 1. PC机一台,最低配置:P42.0GHzCPU/512M内存/80G硬盘。 2. 一套KeiluVision3 软件。 3. 一套Proteus软件。 三、实验地址 白龙校区综合实验楼三楼有关实验室。 四、实验说明 实验一已经学习了Proteus的仿真,它与其他电路仿真软件相比最大的特点是对单片机和外围设施的很好仿真。Keil是特别优异的单片机编译和调试工具,实验二学习了Keil对程序的调试和软件仿真,但并没有达到模拟对实际电路的仿真。本实验将充分利用两个软件的优点,实现Keil和Proteus的联调,让我 们、仅经过软件环境就基本能够达到使用仿真头对硬件开发板调试的效果,节俭开发成本,节俭开发时间。 五、实验过程 对Keil配置有关文件。 首先,安装两个软件。Proteus、Keil(实验一和实验二已经介绍)。第二步,安装完毕,把C:\ProgramFiles\Labcenter 目录下的VDM51.dll文件 复制到C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你能够根据你实际安装的目录进行复制。) 第三步,用记事本(其余的编写软件也能够,如UltraEdit)翻开Keil根目 录下的TOOLS.INI文件,在[C51]栏当今加入TDRV8=BIN\VDM51.DLL (ProteusVSMMonitor-51Driver),其中“TDRV8”中的“8”要根 1 以Open_SC51开发板的ISIS的文件和其例子程序为例,学习Keil和Proteus联调。 Proteus的设置:运行Proteus的ISIS,鼠标左键点击菜单DEBUG,选中UseRemoteDebugerMonitor。翻开open_sc51cpu.DSN。 b)Keil设置:翻开Keil工程文件Open.UV2,点击工具栏的optionfortarget按钮,在出现的对话框里点击Debug,在右栏上部的下拉菜单里选 中ProteusVSMMonitor-51Driver,还要点击一下Use前面的小圆点, 再点击Setting设置通信接口,在Host后边添上127.0.0.1,如果你是 用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。在Port后边添上8000。点击OK按钮即可。 2 最后把工程编译一下。调试运行Debug→Start/StopDebugSession.ISIS原理图仿真激活,效果如下列图。 点击ISIS原理图中的按钮,MCU履行相应的功能,数码管显示器发生变化。 如真切开发板在线调试同样。 使用Keil和Proteus联调能够很方便改正程序,省去昂贵的硬件开发板调试设施。 改正Open_SC51开发板例子程序,使它拥有按键复用功能,下面是改正后的部分代码: ///////////////////////////////////////////////////////////////////新加代 码,在main( )函数开始处增添 ucharj1=0,j2=0,j3=0,j4=0;//定义按键变量 ///////////////////////////////////////////////////////////////// switch(KEY){ 3 case0x1c: //第一个键办理程序 //EX1=0; zs=0; /////////////////////////////////////////////////////////////// /////替换的代码 j2=0;j3=0;j4=0; switch(j1) { case0://第一键按一次, j1++; break; case1://第一键按两次 j1++; break; case2://第一键按三次 j1++; break; case3://重复归零 j1=0; break; default:break; } DispB[0]=~DispCode[0]; DispB[1]=~DispCode[0]; DispB[2]=~DispCode[0]; DispB[3]=~DispCode[0]; DispB[4]=~DispCode[j1]; disp( );//显示000X,X为1,2,3,0表示按键按下次数,过三次回零. break; ///////////////////////////////////////////////////////////////// case0x2c: //第二个键办理程序 zs=0;

文档评论(0)

185****9877 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档