原创 1

2007-11-21 21:16 1845 4 4 分类: MCU/ 嵌入式
摘自“中原孔海洋”
MedWin是万利电子有限公司开发的一款集编辑、编译/汇编、在线及模拟调试为一体的单片机高性能集成开发环境(Integrated Development Environment, IDE)。因其强大的功能、简洁的界面、方便的操作而备受单片机学习者的喜爱,在单片机学习开发者中流传甚广。你可以从万利公司的网站上( http://www.manley.com.cn)下载到该软件。鉴于MedWin的最新版本(V3)操作相对复杂,进而不利于我们的入门,所以文中我们将选用操作十分方便简单的MedWin旧版本(V2.39中文版)。
 
MedWin是一款标准的Windows软件,它的安装和其他软件的安装类似,在这里我们就不详细说明了。下面我们主要介绍一下其基本操作。 
首先我们启动MedWin,在它启动过程中会弹出一个窗口(如下图所示)供我们选择开发方式。因为我们没有仿真器,所以在这里只需选择“模拟仿真”就可以了。 

ac350324f37b9c2cd40742e9.jpg
选择并点击“模拟仿真”按钮后,将进入MedWin集成开发环境,如下图: 

进入集成开发环境以后我们就可以进行仿真学习了。首先我们点击“文件-新建”菜单或者点击工具栏中的新建按钮,系统将弹出“新建文件”窗口,我们可以新建一个文件,如下图所示: 

点击看大图
注意在命名新创建的文件时一定要注意写好后缀,系统将通过你的文件名的后缀来识别你创建的文件的类型,比如你用“.asm”做后缀,系统就认为你创建了一个汇编语言源文件;而如果你使用“.c”做后缀,系统则认为你创建了一个C51源文件。 
在我们写好文件名并点击“打开”按钮以后,系统将弹出源代码编辑窗口,这时我们就可以在窗口中编辑我们需要创建的源代码了。源代码编辑窗口有一个比较好的特性,它会将MCS-51指令系统中的指令和数字以特殊颜色显示,一旦发现相应的指令没有特殊显示,那就说明我们的源代码书写失误了,从而可以迅速更正,这显著提高了我们编写源程序的准确度。如下图所示: 

点击看大图
程序源代码编辑完以后,应该首先保存,以防发生意外。然后我们就可以进行汇编、产生代码并且调试了。如上第二图红色方框内工具栏框中最左侧的按钮是“产生代码”按钮,用来产生HEX代码;中间的是“编译/汇编”按钮,能够对编辑好的源代码进行编译、汇编操作;最右边的是“产生代码并装入”按钮,主要用来产生代码装入系统进行调试,或者将已经产生的代码直接装入系统调试。当然,你也可以从“项目管理”菜单下面找到并使用这些功能菜单,或者使用相应的快捷键。从其功能可以看出,“产生代码并装入”按钮的功能最强,可以一下完成编译、汇编、产生代码和装入系统全部功能;而“编译/汇编”按钮的功能最少,只能完成编译、汇编。所以有时我们为了方便,如果你需要对编写好的源代码进行调试,只点击“产生代码并装入”按钮就可以了;而如果只需产生代码,那么你点击“产生代码”按钮就可以了,十分快捷方便。 
在这里我们为了说明各个按钮的作用,我们循规蹈矩,一步一步来操作。首先点击“编译/汇编”按钮进行编译、汇编操作,我们可以在汇编结果窗口中查看汇编中的警告和错误的次数,如果均为0,就说明我们的源代码没有错误,通过了编译和汇编。如下图所示: 

点击看大图
汇编通过以后,我们来产生代码。点击“产生代码”按钮来产生代码,同样我们可以在产生代码结果窗口中查看操作结果,如下图,我们可以在窗口中看到产生代码成功的提示,这就说明我们的源代码产生.HEX代码成功,我们就可以进行下一步操作了。 

点击看大图
接下来我们点击“产生代码并装入”按钮将代码装入便可以进行各种调试了。 
装入代码后我们还需根据程序内容和需要来调出相应的窗口,调出窗口可以通过“查看”菜单来进行。在该菜单下有“寄存器”、“特殊功能寄存器(SFR)”、“数据区”等选项,我们可以通过它们来查看相应的内容。除此以外,在“外围部件”菜单下你还能找到定时器/计数器、中断、串行口等窗口,用来在调试和仿真程序时查看相应的内容。如果你觉得调出的窗口排列不太利于自己查看的话,还可以通过“窗口”菜单下的层叠窗口、横向平铺窗口或纵向平铺窗口来进行调整。 
本程序中我们的程序比较简单,所以只需调出内部数据存储器(IData)窗口就可以了,然后我们选择“纵向平铺窗口”使窗口排列整齐,以便我们观察。最终软件的程序界面如下图所示: 

点击看大图
在仿真调试以前,我们先来一起熟悉一下调试工具栏,如下图: 

2a6d9858cf79b8d99c8204fe.jpg
调试工具栏中的工具从左到右依次是: 
l全速运行 
l禁止断点并运行 
l指令跟踪 
l指令单步 
l执行到光标处 
l执行到函数/子程序结束 
l自动运行 
l停止运行 
l复位 
l设置/清除断点 
命令功能很容易从名称上看出,使用时只需单击相应按钮就可以了。在这里我们主要说明一下几点: 
1、设置/清除断点:设置断点可使程序在全速运行情况下运行到断点处停止(断点所在行不运行)。 
2、指令跟踪和指令单步:它们的区别主要在对子程序的执行上。指令跟踪可以实现在子程序内部进行单步执行;而指令单步则会一次将整个子程序执行结束,从而跳到子程序的下一个语句上。 
通过以上介绍我们不难发现,它们中有的功能几乎相同,我们可以任意选择,来仿真调试我们的程序。 
在我们这个例子中,为了清除地观察每一条指令的执行结果,我们选择单步执行程序;又因为程序中没有子程序,所以指令跟踪或者指令单步我们都可以选用。 
由于此程序仿真调试十分简单,我们在这里不再详细说明仿真步骤与结果。 
另外由于文章篇幅有限,而且文中使用的功能有限,我们在这里不再对软件进行深入说明与研究,如果有问题,请参阅万利电子公司的软件说明书。 


rurl2=d048ad9f8a76084ddd8d0e76e1732fb2241b89292c269dac788f1e2e2f87d5f6639cb37fa14370e5b94e817b7acd397535c9dd707f6b2cc0fbd6c1153ea6837ca815d669990c32398fcb5bbd93a972d27d4f890e 
   此时不拼何时拼? 

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /6 下一条