找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6126|回复: 2
收起左侧

PROTEUS与keil联调实践报告

[复制链接]
ID:358435 发表于 2018-6-30 15:17 | 显示全部楼层 |阅读模式
PROTEUS与keil联调
  • 实验目的
  • 学会keil软件的使用方法
  • 学会proteus软件的使用方法
  • 学会keilproteus软件的联调方法
  • 实验设备
计算机,keil软件,proteus软件
  • 实验内容
1、实现keil与proteus联调
1)修改keil安装目录下的TOOLS.ini文件,增加一行TDRV9=BIN\VDM51.DLL ("Proteus Debug")修改之后如图1所示:

图1 keil安装目录下的TOOLS.ini文件
2)使用ISIS打开安装目录下的Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for 8051\ open_sc51_f_l_1302_1820 原理图,如图2所示:
图2 进行联调的电路原理图
3)使用keil打开安装目录下的Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for 8051\ open_sc51_f_l_1302_1820目录下的keil工程,点击工具选项,按如图3设置。

图3 keil软件进行联调设置
4)使用proteus打开安装目录下的Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for 8051\ open_sc51_f_l_1302_1820目录下的工程,点击工具选项Debug,勾选Enable Remore Monitor。
5)单击工具栏的按钮“”编译当前源程序。编译结果会显示在输出窗口内。如果是“0 Error,0 Warning(s)。”就表示程序没有问题了(至少是在语法上不存在问题了)。编译后的结果生成HEX格式的程序文件。编译连接通过后进行软件模拟仿真。
直接点击工具栏红色的图标进入仿真状态。点击工具栏图标,进行全速运行。
5、编译连接通过后,可将程序Protues仿真文件中,以观察实际效果。如图4,5所示
图4 keil软件进行联调
图5 proteusl软件进行联调
至此设置完毕。
2. 修改程序显示自己的学号姓名
1)由于自己名字与字母均不容易在数码管上显示,故采用谐音的方法,将“谣”表示为“10”,“王”则显示一半。在keil上修改按键一显示名字,代码如下:
//  第一个键处理程序
                               DispBuf[0]=0x7f;
         DispBuf[1]=0x06;
         DispBuf[2]=0x7f;
         DispBuf[3]=0x4f;
                              DispBuf[4]=0x40;
                                  for (i=0;i<5; i++) DispB=DispBuf;
          disp();
                              break;
运行后proteus点击按键一后,如图6所示。
图6 proteusl软件显示名字
2)原本为“20172104014”的学号,由于数位少一位,选择性的显示了“2017210414” 在keil上修改按键二显示学号,代码如下:
//  第二个键处理程序
  1. DispBuf[0-a]=2;
  2.            DispBuf[1-a]=0;
  3.            DispBuf[2-a]=1;
  4.            DispBuf[3-a]=7;
  5.            DispBuf[4-a]=2;
  6.                                                DispBuf[5-a]=1;
  7.                                                DispBuf[6-a]=0;
  8.                                                DispBuf[7-a]=4;
  9.                                                DispBuf[8-a]=1;
  10.                                                DispBuf[9-a]=4;
  11.                                                if(num==0)
  12.                                                                       {
  13.             a=0;
  14.                                                                                     for (i=0;i<5; i++) DispB[i]=~DispCode[DispBuf[i]];
  15.                                     disp();
  16.                                                                       }
  17.                                                                       else
  18.                                                                       {
  19.                                                                          a=5;
  20.                                                                                     for (i=0;i<5; i++) DispB[i]=~DispCode[DispBuf[i]];
  21.                                     disp();
  22.                                                                       }
  23.                               break;
复制代码
运行后proteus点击按键二后,如图7,8所示。
图7 proteusl软件显示学号(前半部分)
图8 proteusl软件显示学号(后半部分)
四.实验注意事项



    • 在Keil页面的左侧project workplace中新建工程时候自动生成的文件是STARTUP.A51,本实验的源程序为C语言可以使用STARTUP.A51。若用汇编语言ASM或A51,则不使用STARTUP.A51。
    • 和Proteus联调状态下Keil设置时,debug标签下要选择USE  Proteus VSM Simulator。
    • Proteus的debug设置要选择远程调试模式,即use remote debug monitor。否则联调不成功。
  • 实验总结
  • 熟悉了keil c51集成开发环境的使用方法,初步掌握keil c51基本的操作和使用。
  • 能够利用keil和uvsion2.0输入,编译和仿真调试简单的程序。



完整的Word格式文档51黑下载地址:
实验二.docx (953.78 KB, 下载次数: 14)
回复

使用道具 举报

ID:140706 发表于 2018-11-11 10:55 | 显示全部楼层
着实感谢,非常不错的帖子
回复

使用道具 举报

ID:64765 发表于 2019-8-2 21:07 | 显示全部楼层
着实感谢,非常不错的帖子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表