你的位置:电子园51单片机学习网 >> 新手入门>> 详细内容 在线投稿

单片机仿真开发利器——MedWin软件

发布: 2009-6-09 09:56 |  作者: allegro_pcb |   查看: 780次

电子园51单片机学习网gN'o3Vt!T&?g#nO

MedWin是万利电子有限公司开发的一款集编辑、编译/汇编源程序、在线及模拟调试为一体的单片机高性能集成开发环境(Integrated Development Environment, IDE)。因其具有强大的功能、简洁的界面、方便的操作而备受单片机学习者的喜爱,在单片机学习开发者中流传甚广。你可以从万利公司的网站上(http://www.manley.com.cn)下载到该软件。鉴于MedWin的最新版本(V3)操作相对复杂,不利于我们的入门,所以本文博主将选用操作十分方便简单的MedWin旧版本(V2.39中文版)。

k]6{%?R%W@|0

5\-@g(\,l HZUT0MedWin是一款标准的Windows软件,其安装和其他软件类似,在这里我们就不详细说明了。下面我们主要介绍一下其基本操作。电子园51单片机学习网YI ~K?Qa ?`.q

8@\/S0qXzF8s&R0首先我们启动MedWin,在它启动过程中会弹出一个窗口(如下图所示)供我们选择开发方式。因为我们没有仿真器,所以在这里只需选择“模拟仿真”就可以了:电子园51单片机学习网M_/BU"`;@

电子园51单片机学习网Shd}EG9i q&JaC

电子园51单片机学习网.O \"_H)DV t

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

7G8xUi(c#}D `;g:r0

4u+qLM*n/IO0

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

P F:T8n6P+IuEQN"c0

&v)j M&}8Z9HI(z L9TV0电子园51单片机学习网0J4n8Vx V\8~[8\

注意在命名新创建的文件时一定要注意写好后缀,系统将通过你的文件名的后缀来识别你创建的文件的类型,比如你用“.asm”做后缀,系统就认为你创建了一个汇编语言源文件;而如果你使用“.c”做后缀,系统则认为你创建了一个C51源文件。电子园51单片机学习网}"QZ\Z!V6`

#@9P%S#pf#miBj0在我们写好文件名并点击“打开”按钮以后,系统将弹出源代码编辑窗口,这时我们就可以在窗口中编辑我们需要创建的源代码了。源代码编辑窗口有一个比较好的特性,它会将MCS-51指令系统中的指令和数字以特殊颜色显示,一旦发现相应的指令没有特殊显示,那就说明我们的源代码书写失误了,从而可以迅速更正,这显著提高了我们编写源程序的准确度。如下图所示:

?u j&nY0

:F8q _"Pp'~ga C2Q0电子园51单片机学习网#X}}S c8fm3G]

程序源代码编辑完以后,应该首先保存,以防发生意外。然后我们就可以进行汇编、产生代码并且调试了。如上第二图红色方框内工具栏框中最左侧的按钮是“产生代码”按钮,用来产生HEX代码;中间的是“编译/汇编”按钮,能够对编辑好的源代码进行编译、汇编操作;最右边的是“产生代码并装入”按钮,主要用来产生代码装入系统进行调试,或者将已经产生的代码直接装入系统调试。当然,你也可以从“项目管理”菜单下面找到并使用这些功能菜单,或者使用相应的快捷键。从其功能可以看出,“产生代码并装入”按钮的功能最强,可以一下完成编译、汇编、产生代码和装入系统全部功能;而“编译/汇编”按钮的功能最少,只能完成编译、汇编。所以有时我们为了方便,如果你需要对编写好的源代码进行调试,只点击“产生代码并装入”按钮就可以了;而如果只需产生代码,那么你点击“产生代码”按钮就可以了,十分快捷方便。电子园51单片机学习网X;p)}g*C]3^KG+^

,].dO|I C0在这里我们为了说明各个按钮的作用,我们循规蹈矩,一步一步来操作。首先点击“编译/汇编”按钮进行编译、汇编操作,我们可以在汇编结果窗口中查看汇编中的警告和错误的次数,如果均为0,就说明我们的源代码没有错误,通过了编译和汇编。如下图所示:电子园51单片机学习网w'_ k!?6`mS[2K2R

rc'f8R@&U0电子园51单片机学习网4f,r+E mv@

汇编通过以后,我们来产生代码。点击“产生代码”按钮来产生代码,同样我们可以在产生代码结果窗口中查看操作结果,如下图,我们可以在窗口中看到产生代码成功的提示,这就说明我们的源代码产生.HEX代码成功,我们就可以进行下一步操作了:电子园51单片机学习网SPDsqjw&E|$j Q

s0rAVC}#J0lH0

uP!NWS9E[-S O$O0接下来我们点击“产生代码并装入”按钮将代码装入便可以进行各种调试了。

N:UI |8RKZ8Brv0电子园51单片机学习网ut E1kB,sR:j WOV

装入代码后我们还需根据程序内容和需要来调出相应的窗口,调出窗口可以通过“查看”菜单来进行。在该菜单下有“寄存器”、“特殊功能寄存器(SFR)”、“数据区”等选项,我们可以通过它们来查看相应的内容。除此以外,在“外围部件”菜单下你还能找到定时器/计数器、中断、串行口等窗口,用来在调试和仿真程序时查看相应的内容。如果你觉得调出的窗口排列不太利于自己查看的话,还可以通过“窗口”菜单下的层叠窗口、横向平铺窗口或纵向平铺窗口来进行调整。电子园51单片机学习网c5w se2H R#e

3yk8`b@Kt$y l0本程序中我们的程序比较简单,所以只需调出内部数据存储器(IData)窗口就可以了,然后我们选择“纵向平铺窗口”使窗口排列整齐,以便我们观察。最终软件的程序界面如下图所示:电子园51单片机学习网U4\.X}9nNg&Ws

电子园51单片机学习网8QPK ZU'k

;e R_NT+up5@F0在仿真调试以前,我们先来一起熟悉一下调试工具栏,如下图:电子园51单片机学习网 ]:Cg;{m2TV S(H:gp

*k&fu{:w1eR0电子园51单片机学习网R/@{7n|6w[fu7US(^

调试工具栏中的工具从左到右依次是:电子园51单片机学习网?{eA\2x i r

电子园51单片机学习网4s:Y%BxkK

全速运行
*G kgxT;UV0禁止断点并运行电子园51单片机学习网+ij1V[BQ R
指令跟踪
usv6d)[C0指令单步电子园51单片机学习网Jc-n)lCM3h3]
执行到光标处
\5[\!BHu(K0执行到函数/子程序结束
0rd_.xf xQP`0自动运行电子园51单片机学习网[;])c-IKV/ZR3r
停止运行
J:j/@^+W;L0复位
*dLq)M*s)I0设置/清除断点

}5B$H)L*c0
电子园51单片机学习网3WE0{s{st4e

命令功能很容易从名称上看出,使用时只需单击相应按钮就可以了。在这里我们主要说明一下几点:电子园51单片机学习网*JrHj~6a

电子园51单片机学习网x/`c;h'V,E9v3q'Y

1、设置/清除断点:设置断点可使程序在全速运行情况下运行到断点处停止(断点所在行不运行)。电子园51单片机学习网8o$mk`+A

电子园51单片机学习网2v4q8i`8d4k&L:k0{

2、指令跟踪和指令单步:它们的区别主要在对子程序的执行上。指令跟踪可以实现在子程序内部进行单步执行;而指令单步则会一次将整个子程序执行结束,从而跳到子程序的下一个语句上。

5?'Hn*m-}\h?-S'_0

+ju"[IH$C0通过以上介绍我们不难发现,它们中有的功能几乎相同,我们可以任意选择,来仿真调试我们的程序。

3rD1qG PF0电子园51单片机学习网 U4ZzqE3C5O

在我们这个例子中,为了清除地观察每一条指令的执行结果,我们选择单步执行程序;又因为程序中没有子程序,所以指令跟踪或者指令单步我们都可以选用。

Ls7Q)z.M"D0电子园51单片机学习网e5k&lMm#v&?lc#wu

由于此程序仿真调试十分简单,我们在这里不再详细说明仿真步骤与结果。电子园51单片机学习网u*e/B;c*|0\G,K'?

电子园51单片机学习网#~q O}7b;e1n*z

另外由于文章篇幅有限,而且文中使用的功能有限,我们在这里不再对软件进行深入说明与研究,如果有问题,请参阅万利电子公司的软件说明书。

Km{v6?7`0
TAG: 51单片机 单片机 电路板
打印 | 收藏此页 |  推荐给好友 | 举报
上一篇 下一篇
578070052 (2009-11-28 16:37:59)
评5分
391612467 (2009-10-11 16:46:16)
评3分
 

评分:0

发表评论
查看全部回复【已有2位网友发表了看法】

单片机开发板推荐

在线客服
在线客服系统