智能电子设计实验三(ZZH).doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 1 实验三 Keil 与 Proteus 联调实验 实验目的 配置成功Keil和Proteus的联接。 会利用联调环境修改程序,提高单片机开发的效率。 实验设备 PC机一台,最低配置:P4 2.0GHz CPU/512M内存/80G硬盘。 一套Keil uVision3软件。 一套Proteus软件。 实验地点 白龙校区综合实验楼三楼相关实验室。 实验说明 实验一已经学习了Proteus的仿真,它与其他电路仿真软件相比最大的特点是对单片机和外围设备的很好仿真。Keil是非常优秀的单片机编译和调试工具,实验二学习了Keil对程序的调试和软件仿真,但并没有达到模拟对实际电路的仿真。本实验将充分利用两个软件的优点,实现Keil和Proteus的联调,让我们、仅通过软件环境就基本可以达到使用仿真头对硬件开发板调试的效果,节约开发成本,节省开发时间。 实验过程 对Keil配置相关文件。 首先,安装两个软件。Proteus、Keil(实验一和实验二已经介绍)。 第二步,安装完毕,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目录下的 VDM51.dll文件复制到 C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你可以根据你实际安装的目录进行复制。) 第三步,用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的 TOOLS.INI 文件,在[C51] 栏目下加入 TDRV8=BIN\VDM51.DLL (Proteus VSM Monitor-51 Driver ) ,其中“TDRV8” 中的 “8”要根据实际情况写,不要和原来的重复。 以Open_SC51开发板的ISIS的文件和其例子程序为例,学习Keil和Proteus联调。 a) Proteus的设置:运行Proteus的ISIS,鼠标左键点击菜单DEBUG,选中Use Remote Debuger Monitor。打开open_sc51cpu.DSN。 b)Keil设置:打开Keil工程文件Open.UV2, 点击工具栏的option for target按钮,在出现的对话框里点击Debug,在右栏上部的下拉菜单里选中 Proteus VSM Monitor-51 Driver,还要点击一下Use前面的小圆点,再点击Setting设置通信接口,在Host后面添上127.0.0.1,如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。 在Port后面添上8000。点击OK按钮即可。 最后把工程编译一下。调试运行Debug→Start/Stop Debug Session .ISIS原理图仿真激活,效果如下图。 点击ISIS原理图中的按钮,MCU执行相应的功能,数码管显示器发生变化。如真实开发板在线调试一样。 使用Keil和Proteus联调可以很方便修改程序,省去昂贵的硬件开发板调试设备。 修改Open_SC51开发板例子程序,使它具有按键复用功能,下面是修改后的部分代码: ///////////////////////////////////////////////////////////////////新加代码,在main()函数开始处添加 uchar j1=0,j2=0,j3=0,j4=0;//定义按键变量 ///////////////////////////////////////////////////////////////// switch (KEY) { case 0x1c: // 第一个键处理程序 //EX1=0; zs=0; /////////////////////////////////////////////////////////////// /////替换的代码 j2=0; j3=0; j4=0; switch(j1) { case 0://第一键按一次, j1++; break; case 1://第一键按两次 j1++; break; case 2://第一键按三次 j1++; break;

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档