目 录
MedWin 概述 ······································································································································ 1 MedWin 集成开发环境的特点 ··········································································································· 1 MedWin 对系统的要求······················································································································· 2 快速入门适用范围 ······························································································································ 2 内容安排 ·············································································································································· 2 一、安装MedWin ······························································································································· 3 二、设置MedWin ······························································································································· 6 三、MedWin 开发入门····················································································································· 11 四、MedWin 调试实例····················································································································· 18 五、MedWin 断点功能····················································································································· 24 六、MedWin 菜单命令····················································································································· 26 七、MedWin 右键弹出式菜单 ··········································································································· 2 八、MedWin 的表达式······················································································································· 4
MedWin 集成开发环境快速入门
MedWin 概述
MedWin 是万利电子有限公司Insight® 系列仿真开发系统的高性能集成开发环境。集编辑、编译/ 汇编、在线及模拟调试为一体,VC 风格的用户界面,内嵌自主版权的宏汇编器和连接器,并完全支持Franklin/Keil C 扩展OMF 格式文件,支持所有变量类型及表达式,配合Insight® 系列仿真器,是您开发80C51 系列单片机的理想开发工具。
图1:MedWin 集成开发环境窗口界面
MedWin 集成开发环境的特点
1. 完美的Windows 版集成开发环境MedWin
2. 内嵌自主版权的宏汇编器A51 和连接器L51,并支持Keil/Franklin 编译、连接工具 3. 具有分别控制项目文件的工程项目管理器
4. 在工程项目管理下,实现多模块和混合语言编程调试 5. VC 风格的窗口停驻、窗口切分和工作簿模式界面
6. 在线编辑、编译/ 汇编、连接下载运行和错误关联定位 7. 符合编程语言语法的彩色文本显示
8. 完全的表达式分析,支持所有数据类型变量的观察 9. 无须点击的感应式鼠标提示功能 10. 外部功能部件编程向导
11. 不打开数据区观察窗口的数目 12. 调试状态下用户程序自动重装功能 13. 提供真实的软件模拟仿真开发环境
MedWin 集成开发环境快速入门
MedWin 对系统的要求
为使MedWin 集成开发环境能够正常地运行,您必须提供以下软硬件环境:
1. 586 以上的PC 及兼容机 2. 100M 以上的剩余硬盘空间
3. 分辨率为800x600 以上的显示器 4. 具有SPP 功能的打印机接口
5. 中文或英文Windows/95/98,Windows/Me,Windows 2000/NT,Windows XP 6. 尽量减少DOS 自动批处理中关于系统路径及环境变量的设置,或删除DOS 下的批处理文件Autoexec.bat 文件
快速入门适用范围
1. MedWin 集成开发环境V2.3x
2. 标准80C51 系列仿真器SE-52P,ME-52A,ME52P,AE-52E 3. 标准扩展80C51 系列仿真器ME-52H/SE-52H,ME-3200 4. 专用80C51 系列仿真器ME-1205 5. PHILIPS 51LPC 系列仿真器SE-7
内容安排
本书从以下八部分,介绍MedWin 集成开发环境的快速入门方法:
一、安装MedWin 二、设置MedWin
三、Med Win 开发入门 四、MedWin 调试实例 五、MedWin 断点功能 六、MedWin 菜单命令
七、MedWin 右键弹出式菜单 八、MedWin 的表达式
MedWin 集成开发环境快速入门
一、安装MedWin
本章分三节介绍怎样获得MedWin 集成开发环境安装程序、MedWin 集成开发环境对系统的要求和安装MedWin 集成开发环境步骤。 获得MedWin 安装程序
MedWin 集成开发环境安装程序可从以下三种方式免费获得:
1. 购买仿真器时,随机提供的光盘 2. 向本公司或代理商索取
3. 通过因特网下载,网址:http://www.manley.com.cn
只要登陆万利电子有限公司以上因特网站,您将能获得最新版本的安装程序。
以下分别是安装MedWin 集成开发环境的方法:
安装MedWin 的步骤
第一步:从光盘上安装或从因特网上下载安装
从光盘上安装
1. 安装中文MedWin,进入文件夹Manley\\MedWin\\Chinese 2. 安装英文MedWin,进入文件夹Manley\\MedWin\\English 3. 在文件夹内,点击setup
从因特网上下载安装
1. 下载所需的MedWin 中文版Chinese.zip 或MedWin 英文版English.zip 文件 2. 双击鼠标左键,释放文件Chinese.zip 或English.zip 3. 将文件释放到C:\\Windows\\Temp 或其它文件夹
4. 进入C:\\Windows\\Temp\\Chinese 或C:\\Windows\\Temp\\English 文件夹 5. 在文件夹内点击setup,安装MedWin 集成开发环境
图2:选择文件Setup 安装MedWin 集成开发环境
点击setup 文件后,出现安装MedWin 集成开发环境画面。
MedWin 集成开发环境快速入门
图3:安装MedWin 集成开发环境进度
之后出现以下安装画面。
图4:安装MedWin 集成开发环境提示
第二步:安装文件路径设置
为了便于管理和服务,建议安装MedWin 集成开发环境时,使用以下缺省路径安装: 1. 中文版缺省安装目标路径:C:\\Manley\\PMedWin 2. 英文版缺省安装目标路径:C:\\Manley\\MedWin
图5:安装MedWin 集成开发环境路径选择
确认安装目录后,MedWin 集成开发环境系统安装完成。安装界面提示是否运行MedWin 集成开发
MedWin 集成开发环境快速入门
环境,如果对选择确认运行,下一步将进行MedWin 集成开发环境的系统设置;如果是升级安装,将运行MedWin 集成开发环境。
图6:完成安装MedWin 集成开发环境
MedWin 集成开发环境快速入门
二、设置MedWin
MedWin 集成开发环境完成安装后,如果是第一次安装,请您务必注意:必须根据系统提示,设置工作目录、编译/ 汇编器、连接器的路径、环境以及注册仿真器;如果是升级安装,则MedWin 集成开发环境启动后出现启动向导菜单或直接打开项目文件。
启动MedWin
第一步:启动MedWin
1. 由安装MedWin 集成开发环境,直接启动MedWin
2. 或点击Windows[开始| 程序|Manley|MedWin 中文版]启动中文版MedWin 3. 或点击Windows[开始| 程序|Manley|MedWin]启动英文版MedWin
4. 如果已经连接仿真器,屏幕上出现MedWin 的初始画面,进入启动MedWin 的第三步 5. 如果没有连接仿真器,屏幕上出现端口选择画面,进入启动MedWin 的第二步
图7:MedWin 集成开发环境初始画面
第二步:选择进入在线仿真或模拟仿真
1. 由于仿真器供电电源、通讯电缆连接问题,请检查并使仿真器工作正常后,点击对话框中[仿真器]按钮,进入在线仿真状态。
2. 如果确认需要进行模拟仿真,点击[模拟仿真]按钮,进入模拟仿真状态。
经过以上步骤,屏幕上出现MedWin 集成开发环境的初始画面,并渐渐消失,出现MedWin 集成开发环境的系统画面。
图8:MedWin 集成开发环境端口选择
第三步:设置工作目录
MedWin 集成开发环境快速入门
进入MedWin 集成开发环境后,系统首先提示默认的工作目录为C:\\MedWin。我们建议用户根据需要选择合适的工作目录,例如将工作目录改为D:\\WorkDir(用户可自行定义目录名称)。注意:不得使用长文件名作为工作目录!
图9:MedWin 集成开发环境工作目录提示
更改MedWin 集成开发环境工作目录的步骤,必须在Windows 环境下进行:
1. 打开Windows 的资源管理器 2. 选择我的电脑->本地磁盘(F:)
3. 单击鼠标右键,选择新建文件夹,命名为WorkDir
当建立WorkDir 文件夹后,在MedWin 集成开发环境点中,点击当前工作目录左侧按钮出现下图:
图10:选择MedWin 集成开发环境工作目录
选择驱动器D 盘后,打开文件夹(目录)WorkDir,确认后,工作目录设置即告完成。系统将提示进行下一步设置:编译/ 汇编/ 连接器的配置。 第四步:配置编译/ 汇编/ 连接器及环境
MedWin 集成开发环境初始默认编译/ 汇编/ 连接环境为使用万利电子自主版权的宏汇编和连接器,使用默认设置,汇编连接信息和错误关联均为中文提示。
当选择用户设置编译/ 汇编/ 连接环境时,必须注意选择合适的路径和程序:如
1. 编译器路径为C:\\C51\\BIN\\C51.exe 2. 汇编器路径为C:\\C51\\BIN\\A51.exe 3. 连接器路径为C:\\C51\\BIN\\BL51.exe 系统头文件、库文件的环境为:
1. 编译器系统头文件路径为C:\\C51\\INC
MedWin 集成开发环境快速入门
2. 编译器系统库文件路径为C:\\C51\\LIB MedWin 集成开发环境默认源程序的扩展名为:
1. C 源程序文件的扩展名为.C
2. 汇编源程序文件的扩展名为.ASM
图11:编译/ 汇编/ 连接工具路径选择
当您已经存在编译器/ 汇编器/ 连接器时,建议按照下列目录存放:
1. C:\\C51\\BIN 存放C51.exe,A51.exe,L51.exe 或BL51.exe 2. C:\\C51\\INC 存放C 程序的头文件
3. C:\\C51\\ASM 存放汇编程序的嵌入文件 4. C:\\C51\\LIB 存放C 程序连接所需的库文件
图12:编译器头文件和连接器库文件路径选择
用户可按照上面提示的路径设置编译器/ 汇编器/ 连接器及环境;如编译器/ 汇编器/ 连接器存放在其它目录,则必须在输入框中设置合适的路径或点击按钮选择相应的文件及路径。
当您使用Keil 编译器时,其连接器应设为BL51.exe,当您使用Franklinl 编译器时,其连接器应设为L51.exe。
第五步:设置文本编辑器
设置文本编辑器可以用于设置文本窗口的前景字符的颜色、背景颜色、字体和编辑文件类型。
MedWin 集成开发环境快速入门
图13:设置文本编辑器参数
关于MedWin版本信息
[帮助| 关于MedWin] 对话框中列出的了MedWin 软件有关版本信息,见下图:
图14:MedWin 集成开发环境软件版本版本信息
注册仿真器
使用MedWin 集成开发环境,配合Insight® 系列单片机仿真开发系统进行在线仿真,您必须对仿真器产品进行注册!注册后,我们将即时提供产品注册码。注册可以通过以下两种途径:
1. 请填写产品注册卡并寄回万利电子有限公司,地址:南京市新模范马路17 号02 幢201 邮政编码:210003,电话:(025) 3235502,3235503,3235504
2. 请按注册卡上的要求以及仿真器产品序号,通过电子邮件注册。 电子信箱: manley@public1.ptt.js.cn ,register@manley.com.cn
当您得到注册码后,请在[帮助| 关于MedWin]对话框中点击注册按键,输入注册码对仿真器进行注册。
MedWin 集成开发环境快速入门
图15:仿真器注册信息窗口
图16:注册码输入窗口
MedWin 集成开发环境快速入门
三、MedWin 开发入门
MedWin 集成开发环境提供了以下两种方式开发用户应用程序,:
1. 不使用MedWin 集成开发环境项目管理方式——对源程序文件直接进行汇编/ 连接,兼容传统开发习惯。
2. 使用MedWin 集成开发环境项目管理方式——可进行多模块、混合语言编程的,同样也适合单模块程序的开发。
用户无论是单模块或多模块的程序开发,我们都建议使用项目管理方式管理应用程序。
(一)不使用项目管理方式开发应用程序
不使用MedWin集成开发环境项目管理方式,只能对单模块方式下的应用程序开发,具有很大的局限 性。以下是不使用MedWin 集成开发环境项目管理方式开发应用程序的步骤:
第一步:关闭当前项目文件
命令:[项目管理| 关闭当前项目]
不使用MedWin 集成开发环境项目管理方式开发应用程序,用户必须关闭已经打开的项目,此时MedWin 集成开发环境关闭界面上所有的窗口。因为当打开项目文件后,MedWin 集成开发环境默认所有编译/ 汇编、产生代码的过程都是对项目或项目所包含的文件进行的。
图17:MedWin 集成开发环境软件桌面
第二步:在文件菜单下打开应用程序
命令:[文件| 新建] 或[文件| 打开]
单模块方式下的文件调试可以按照以下方法新建或打开文件: 1. 点击[文件| 新建] ,输入文件名和扩展名,新建文件 2. 点击[文件| 打开] ,选择文件捡取框中的文件将其打开
MedWin 集成开发环境快速入门
图18:文件捡取框
第三步:编译/ 汇编
命令:[项目管理| 编译/ 汇编]
MedWin 集成开发环境根据文件的扩展名,自动对当前激活的文件选择调用外部编译器或汇编器:
1. 如果当前文件的扩展名为ASM 或系统定义的扩展名,编译/ 汇编命令调用外部汇编命令对当前文件汇编
2. 如果当前文件的扩展名为C 或系统定义的扩展名,编译/ 汇编命令调用外部C 编译命令对当前文件编译
执行[项目管理| 编译/ 汇编]命令后产生的结果显示在消息框中。
图19:编译/ 汇编结果
如果需要设置文件编译/ 汇编的命令行参数,可以选择[项目管理| 文件属性]命令设置。
第四步:错误信息关联
MedWin集成开发环境调用外部命令编译/汇编后产生的结果,显示在消息窗口中,消息窗口可由热键Ctrl+9 激活。当编译/ 汇编发生错误时,消息窗口中的错误信息自动与源文件关联,提示出错的位置。在消息窗口中错误提示处双击鼠标左键或键入回车,可将错误信息与源文件的错误位置关联:
1. 如果编译/ 汇编没有错误,可进入第五步操作
2. 如果编译/ 汇编出现错误,在修改源文件后重复进行第三步操作
MedWin 集成开发环境快速入门
图20:编译/ 汇编错误关联
第五步:产生代码并装入仿真器调试
命令:[项目管理| 产生代码] 或[项目管理| 产生代码并装入]产生代码或产生代码并装入命令对经过编译/汇编无误后产生的OBJ文件进行连接产生用于下载的代码。此命令自动地对修改过的源程序进行编译或汇编,对没有修改过的程序将越过编译或汇编过程,然后连接所有的OBJ,LIB 文件,再装载代码到仿真器,完成调试程序所需的准备工作。装载完成后,出现“Loading program“ (项目名) ”...Completed 的字样。
图21:MedWin 集成开发环境调试界面
(二)使用项目管理方式开发应用程序
使用MedWin集成开发环境项目管理方式开发程序,适用于各种方式下的单模块和多模块方式应用程序。以下是使用MedWin 集成开发环境项目管理方式开发应用程序的步骤:
MedWin 集成开发环境快速入门
1. 建立一个新的项目进入第一步——新建项目文件
2. 打开已经存在的项目文件进入第三步——打开项目文件
第一步:新建项目文件
命令:[项目管理| 新建项目文件]
项目名称
MedWin 集成开发环境的项目器是按项目名称管理的,项目管理器内的项目名称不可以相同。在项目名称输入栏内,用户必须输入项目名称,并且项目名不得超过8个字符,不可以使用汉字以及“-,?,*,/”等DOS 文件名所不可以使用的字符,也不可以输入盘符和路径!
高级设置
高级设置是用户程序所处路径与当前工作目录不同时,选择存放项目文件路径的过程。通常,当用户源程序文件存放在当前工作目录时,不需要进行高级设置。如果源程序文件不在当前工作目录时,用户必须选择高级设置,将项目文件存放到用户源程序所处的目录。
如果源文件与项目文件不在同一目录时,将会出现不能进行源文件调试的情况发生。
图22:新建项目文件输入窗口
添加文件
选择添加文件选项,表示在项目建立后会自动打开文件捡取框,供用户选择文件添加到项目管理器中。 存储器属性
存储器属性Small / Compact / Large,此属性为C 编译器所需,如果项目文件中包含C 程序,用户必须设置存储器属性。
RAM 尺寸:128/256,此属性为连接器所需的控制项。系统默认128 字节。
系统默认标准80C51汇编选项,此选项为汇编器所需的控制项。选中时,汇编器默认SFR为80C51。如果项目所使用的不是标准的80C51,用户必须定义其使用的SFR,例:
P0 DATA 80H IE DATA 0A8H TR0 BIT 8CH
MedWin 集成开发环境快速入门
项目环境设置
项目头文件路径为该项目所定义的头文件所处的路径。该路径与系统定义的头文件路径在DOS环境设置的关系是:
set c51inc=(系统定义的头文件路径);(项目定义的头文件路径)
项目库文件路径为该项目所定义的库文件所处的路径,该路径与系统定义的库文件路径在DOS环境设置的关系是:
set c51lib=(系统定义的库文件路径);(项目定义的库文件路径)
在项目的编译和连接过程中,MedWin 自动加入以上环境变量的设置。通常用户不需要设置项目定义的头文件和库文件路径,只有在高级应用时才需设置。 调试信息
建立新的项目后,系统默认为产生调试信息,能够进行源文件调试。 更多的文件属性
关于编译/ 汇编程序的更多的文件属性,可在[项目管理| 文件属性]中设置。如果在多模块调试中需要关闭一个或多个文件的源文件调试,可在文件属性对话框中,分别关闭产生调试信息选项。
第二步:添加文件
命令:[项目管理| 添加文件项]
添加文件命令用于将各类文件添加至项目管理器,新建项目文件后集成环境会自动打开添加文件对话框,提供选择。请根据:
1. 如果文件存在,在文件捡取框中选择并打开文件添加
2. 如果文件不存在,必须输入文件名(包含扩展名),建立新文件
新建文件后,键入命令[项目管理| 添加文件项],将新建文件添加到项目中。
图23:添加文件检取框
第三步:打开项目文件
命令:[项目管理| 打开项目文件]
对于已经存在的项目文件,可以直接打开项目文件进入第四步操作。
第四步:编辑, 编译/ 汇编/ 连接
命令:[项目管理| 编译/ 汇编]
MedWin 集成开发环境根据文件的扩展名,自动对激活的文件选择调用外部编译器或汇编器: 1. 如果当前文件的扩展名为ASM 或系统定义的扩展名,编译/ 汇编命令调用外部汇编命令对当前文件汇编
2. 如果当前文件的扩展名为C 或系统定义的扩展名,编译/ 汇编命令调用外部C 编译命令对当前文件编译文件编译/ 汇编的命令行参数由[项目管理| 文件属性]确定。
第五步:错误信息关联
文件经过编译/ 汇编后的结果显示于消息窗口,出现错误后错误信息与文件关联。在消息窗口中错误
MedWin 集成开发环境快速入门
之处双击鼠标左键或键入回车,即可将错误与文件关联:
1. 如果没有错误,进入第六步操作
2. 如果出现错误,修改文件后重复进行第四步操作
图24:编译/ 汇编错误关联
第六步:产生代码并装入仿真器
命令:[项目管理| 产生代码]
命令:[项目管理| 产生代码并装入] 命令:[项目管理| 重新产生全部代码]
产生代码或产生代码并装入命令,对经过编译/汇编无误后产生的OBJ文件进行连接,产生用于下载的代码。此命令对修改过的源程序自动进行编译或汇编,否则将越过编译或汇编过程进行连接,并装载代码到仿真器,完成调试文件所需的准备工作。
1. 使用产生代码命令,项目管理器会自动判别文件是否需要重新编译/ 汇编,提高调试效率
2. 使用产生代码并装入命令,项目管理器会自动判别文件是否需要重新编译/ 汇编,并将连接产生的代码下载到仿真器,提供调试运行。
图25:MedWin 集成开发环境调试界面
MedWin 集成开发环境快速入门
3. 使用重新产生全部代码命令,项目管理器会对所有文件重新编译/ 汇编,并将连接产生的代码下载到仿真器,提供调试运行。
图26:程序运行
MedWin 集成开发环境快速入门
四、MedWin 调试实例
实例一:单模块汇编语言源程序实例 文件名: SAMPLE0.ASM
ORG 0000H
MOV SCON,#00H ;置串行口方式0 LOOP0: MOV R0,#10H ;显示16个数 MOV R1,#00H ;从0开始显示 MOV DPTR,#TAB ;置字形码地址 MOV A,R1 MOVC A,@A+DPTR ;取出字形码 MOV SBUF,A ;送缓冲显示 WAIT: JNB TI,WAIT ;数据发送完否? CLR TI ;完则清零 INC R1 ;取下一个数 ACALL DELAY ;调用延时子程序 DJNZ R0,LOOP1 ;R0不为0则转LOOP1 AJMP LOOP0 ;循环 ORG 0500H ;字形码地址 TAB: DB 88H,0EBH,4CH, 49H,2BH,19H,18H,0CBH ;0~7 DB 08H,09H,0AH,38H,9CH,68H,1CH,1EH ;8~F
DELAY: MOV R5,#00H ;;延时子程序 DEL0: MOV R4,#00H DEL1: NOP NOP DJNZ R4,DEL1 DJNZ R5,DEL0 RET END
(三)不使用项目管理方式开发应用程序
第一步:关闭项目文件
关闭当前已经打开的项目文件,保证编译/汇编、产生代码都是对当前激活的文件进行操作。
第二步:打开文件
点击[文件| 打开],在文件捡取框中选择文件SAMPLE0.ASM。
图27:不使用项目管理方式
MedWin 集成开发环境快速入门
图28:打开文件 图 29 :编辑修改文件
第三步:编辑修改文件
对打开后的文件进行编辑修改。
第四步:编译/ 汇编
使用[项目管理| 编译/ 汇编]命令对SAMPLE0.ASM
文件汇编,编译/ 汇编产生的结果出现在MedWin 集成开发环境消息窗口。如果程序存在错误,集成开发环境将自动关联到源程序的错误处,转到第三步操作;如果正确,则可进行下一步。
图30:编译、汇编
第五步:装入代码到仿真器
使用[项目管理| 产生代码并装入]命令,将产生代码装入仿真器,此时MedWin 集成开发环境进入调试状态。MedWin 集成开发环境的文件窗口SAMPLE0.ASM 的左侧出现了一列小圆点,表示程序的有效行,即此行存在相应的代码,并且在LJMP START 行的左侧出现黄色的箭头,表示当前的程序计数器PC。
图31:装入代码到仿真器 第六步:调试应用程序
经过第五步操作,为MedWin 集成开发环境调试应用程序提供了所有准备工作。图32为(右图)全速运行用户程序。 图32:全速运行用户程序。
第七步:输出代码文件
使用MedWin 集成开发环境对程序调试无误后,选择[项目管理| 输出Intel HEX 文件]或[项目管理| 输出Binary文件],产生输出Intel HEX 格式文件或输出Binary 格式文件,用于对芯片的编程。
1. 输出Intel Hex 格式文件。选择[项目管理| 输出Intel HEX 文件]后,系统默认项目文件名SAMPLE为要保存的文件名,并自动添加扩展名HEX。
MedWin 集成开发环境快速入门
2. 输出Binary 格式文件。选择[项目管理| 输出Binary 文件]后,系统默认项目文件名SAMPLE 为 要保存的文件名,并自动添加扩展名BIN。
图33:输出代码文件格式选择 图34:输出代码文件
实例二:多模块程序应用实例
本多模块程序SAMPLE1.C,SAMPLE2.ASM,SAMPLE3.ASM,假定已在当前工作目录内。当建立项目文件时,项目文件也存放在当前工作目录。 源程序1:SAMPLE1.C char get(char ptr); bit put(char character); void calc(); delay() {
int i;
for (i=0;i<1000;i++); }
main() {
char character,i; while (1) {
for (i=0;i<10;i++) {
character = get(i);
if (put(character)) break; delay(); calc(); } } }
源程序2:SAMPLE2.ASM extrn CODE(DELAY) public CALC public _GET GET SEGMENT DATA
?PR?SAMPLE?GET SEGMENT CODE
RSEG GET
?GET?BYTE: PTR: DS 1 RSEG ?PR?SAMPLE?GET _GET:
MOV A,R7
MedWin 集成开发环境快速入门
INC A
MOV PTR,#10 INC PTR MOV A,PTR MOVX @R0,A CALL DELAY RET
CALC: ;...
RET END
源程序3:SAMPLE3.ASM PUBLIC _PUT ?DT?SAMPLE3?PUT SEGMENT DATA OVERLAYABLE ?PR?SAMPLE3?PUT SEGMENT CODE RSEG ?DT?SAMPLE3?PUT ?PUT?BYTE: PUT_DT: DS 2 RSEG ?PR?SAMPLE3?PUT _PUT:
MOV PUT_DT,R7 MOV PUT_DT+1,#10H ;... CLR C RET END
(四)使用项目管理方式开发应用程序
第一步:建立新的项目文件
选择[项目管理| 新建项目文件]命令,根据提示输入、设置以下项目: 1. 在项目名称的输入框中输入SAMPLE,此时项目名称为SAMPLE。
图35:建立新的项目文件
2. 在此实例中不使用高级设置(假设用户应用程序存放在当前工作目录内)。
3. 选择添加文件选项,表示在项目建立后将自动打开文件捡取框,供用户选择文件添加到项目管理器。
4. 将SAMPLE.C 的存储器属性设置为Small。 5. 选择RAM 尺寸为128,表示目标CPU 内RAM 的容量为128 字节。此项用于连接程序的连接控制:RAMSIZE(128)。
6. 选择标准80C51 汇编选项,汇编器将默认SFR 为80C51,用户不需定义已经默认的SFR。 7. 设置项目头文件路径为空。 8. 设置项目库文件路径为空。
第二步:编辑修改文件
MedWin 集成开发环境快速入门
对打开后的文件进行编辑修改。
图36: 打开文件 图37:编辑修改文件
第三步:编译/ 汇编
使用热键Ctrl+F7 或[项目管理| 编译/ 汇编]对当前文件编译/ 汇编,如果当前激活的文件为SAMPLE1.C,MedWin 集成开发环境调用外部C 编译命令对当前文件编译;如果当前激活的文件为SAMPLE2.ASM 或SAMPLE3.ASM,MedWin 集成开发环境调用外部汇编命令对当前文件编译。
图38:编译、汇编
第四步:错误信息关联
文件经过编译/ 汇编后的结果显示于消息窗口,出现错误后错误信息与文件关联。在消息窗口中错误之处双击鼠标左键或键入回车,即可将错误与文件关联:
1. 如果没有错误,可进入第五步操作
2. 如果出现错误,修改文件后重复进行第二步操作
第五步:产生代码并装入仿真器调试
使用热键Ctrl+F8 或[项目管理| 产生代码并装入]命令,将产生代码装入仿真器,此时MedWin 集成开发环境进入调试状态。
图39:产生代码并装入
第六步:调试应用程序
经过第四步操作,MedWin 集成开发环境的文件窗口SAMPLE1.C,SAMPLE2.ASM,
SAMPLE3.ASM 的左侧出现了一列小圆点,表示程序的有效行,即此行存在有效的程序代码,键入F7 跟踪运行键,程序运行到main 函数的第一条语句,并在该行的左侧出现黄色箭头,表示当前的程序计数器PC。到此,MedWin 集成开发环境提供了调试应用程序的所有准备工作。
MedWin 集成开发环境快速入门
图40:调试应用程序
第七步:输出代码文件
使用MedWin 集成开发环境对程序的调试无误后,选择[项目管理| 输出Intel HEX 文件]或[项目管理| 输出Binary 文件],产生输出Intel HEX 格式文件或输出Binary格式文件,用于对芯片的编程。
图41:输出代码文件格式选择 图42:输出代码文件
1. 输出Intel Hex 格式文件。选择[项目管理| 输出Intel HEX 文件]后,系统默认项目文件名SAMPLE为要保存的文件名,并自动添加扩展名HEX。
2. 输出Binary 格式文件。选择[项目管理| 输出Binary文件]后,系统默认项目文件名SAMPLE为要保存的文件名,并自动添加扩展名BIN。
MedWin 集成开发环境快速入门
五、MedWin 断点功能
MedWin集成开发环境配合Insight®系列仿真器,具有强大的断点功能:可以在编辑和调试状态下设置或清除断点,并且在退出集成开发环境时自动保存断点信息。 断点标记
MedWin 集成开发环境的断点标记,根据系统状态和所处窗口类型,标记如下: 1. 在编辑状态下,源程序文本窗口内的白色箭头——预设断点,退出时保存, 2. 在调试状态下,源程序文本窗口内的白色箭头——无效断点,退出时保存 3. 在调试状态下,源程序文本窗口内的黄色箭头——有效地址断点,退出时保存 4. 在调试状态下,源程序文本窗口内的蓝绿色箭头——临时断点,退出时不保存 5. 在反汇编本窗口内设置的断点,标记为红色光带——地址断点,退出时不保存
图43:文件和反汇编窗口的断点标记和断点类型
断点颜色变化规律
根据系统状态和所处窗口类型,MedWin 集成开发环境的断点颜色变化规律如下:
编辑状态下,在源程序窗口内设置断点,标记为白色;再次设置断点,白色断点标记被清除。 调试状态下,在源程序窗口内设置断点,标记为黄色;再次设置断点,黄色断点标记被清除。
调试状态下,在源程序窗口内蓝绿色断点处设置断点,标记为黄色;再次设置断点,黄色断点标记被清除。
调试状态下,在与源程序断点关联的反汇编窗口红色光带处设置断点,在反汇编窗口内清除断点,同时将源程序断点标记为白色;再次设置断点,反汇编窗口标记为红色光带,源程序的白色断点再次标记为黄色。
源程序文本上设置断点 编辑状态设置断点
当用户在编写源程序的过程中,根据调试需求,可以直接在源程序文本的任何地方设置或清除断点。如果设置了断点,将以白色箭头标记在源程序文本左侧的灰色状态栏内,断点属性为预设断点。对于在源程序文本上设置的断点,系统退出时全部自动保存。 调试状态设置断点
在调试状态下,可以直接在源程序文本的有效行上设置断点(当文本左侧的灰色状态栏内出现小圆点时,表示当前程序为有效行)。设置后,断点以黄色箭头标记在文本左侧的灰色状态栏内;如果没有出现小圆点,则不可以设置断点。在编辑状态下设置的断点,经过编译/ 汇编,如果预设的断点编译后是有效行,则断点标记为黄色;如果不是有效行,断点标记为白色。对于在源程序文本上设置的断点,系统退出
MedWin 集成开发环境快速入门
时全部自动保存。 反汇编窗口内设置断点
断点在反汇编窗口内以红色光带表示,可以任意设置地址断点,如果设置的断点与源程序有效行地址关联,则与源程序相关联的地址处设置断点,在源程序窗口内出现蓝绿色箭头。如果在源程序断点相关联的反汇编窗口红色光带处设置断点,将清除窗口内的断点光带,同时将源程序断点标记为白色;再次设置断点,反汇编窗口标记为红色光带,源程序的白色断点再次标记为黄色。 断点表
断点列表通过[断点| 断点表]激活。断点表列出所有断点所处的地址,文件位置及属性。在列表框内可以执行添加断点,删除断点等操作。
图44:断点列表对话框
断点使能
当设置了断点或使用外部信号断点时,选择[断点| 断点使能]可以允许或禁止相应的断点。当允许外部信号断点后,可以设置外部信号的为上升沿或下降沿作用。
图45:断点使能对话框
MedWin 集成开发环境快速入门
六、MedWin 菜单命令
文件(F)
新建(N)
新建文件,在输入文件名时必须输入文件的扩展名。如果是程序文件,汇编语言扩展名必须为(.asm),C 语言扩展名必须为(.c) 打开(O)
打开用户程序文件,可以在文件捡取框中选择,也可以在文件捡取框中直接输入文件名,当文件名不存在时,系统默认为新建文件。 打开项目文件(P)
打开MedWin 集成开发环境项目文件,项目文件的扩展名为mpf。打开后,根据需要可以将打开的项目文件添加到项目管理器中。 保存(S) Ctrl + S
保存当前激活的文件。 另存为(A)
将当前激活的文件另存为指定的文件。 退出(X)
退出MedWin 集成开发环境。
编辑(E)
撤消(U) Ctrl + Z
撤消当前的操作。 剪切(T) Ctrl + X
将选择的块剪切到剪贴板。 复制(C) Ctrl + C
将选择的块复制到剪贴板。 粘贴(P) Ctrl + P
将剪贴板粘贴到文件。 选择整个文档(L) Ctrl + A
将整个文档作为块。 查找(F) Ctrl + F
在文件中查找字符串。 查找下一个(D) F3
查找下一个匹配的字符串。 在文件中查找(I)
在被选定的文件范围内查找字符串。 替换(E) Ctrl + H
替换匹配的字符串。 设置或清除书签(B) Ctrl + B 在文档中设置或清除书签,用于快速定位。 定位到前一个书签(R) Ctrl + Shift + P
与设置或清除书签命令配合,定位到前一个书签。 定位到下一个书签(X) Ctrl + Shift + N
与设置或清除书签命令配合,定位到后一个书签。 清除所有书签(K)
MedWin 集成开发环境快速入门
清除所有书签标记。 定位(G) Ctrl + G
定位到指定行或地址。 定位到前一个错误(V)
将编译/ 汇编发生的错误与源程序关联,并定位到前一个错误的位置。 定位到后一个错误(N)
将编译/ 汇编发生的错误与源程序关联,并定位到后一个错误的位置。
查看(V)
寄存器 (R)
寄存器窗口,显示80C51 内核基本的寄存器R0-R7,A,B,DPH,DPL,SP 和PSW,以16 进制方式显示字节寄存器的内容,以位的方式显示PSW 的内容。
特殊功能寄存器(S)
当前被选择的CPU 所包含的特殊功能寄存器窗口,以16 进制方式显示字节寄存器的内容。 反汇编窗口(C)
反汇编窗口,将程序代码区的内容以反汇编方式及源程序方式显示。反汇编窗口同时支持行汇编方式输入或修改程序代码。 观察窗口第一观察组(1) Ctrl+1
为了方便用户避免多次添加和删除需要观察的变量,设置的第一组观察窗口。 观察窗口第二观察组(2) Ctrl+2
为了方便用户避免多次添加和删除需要观察的变量,设置的第二组观察窗口。 观察窗口第三观察组(3) Ctrl+3
为了方便用户避免多次添加和删除需要观察的变量,设置的第三组观察窗口。 观察窗口第四观察组(4) Ctrl+4
为了方便用户避免多次添加和删除需要观察
的变量,设置的第四组观察窗口。 变量窗口(V)
变量窗口。 数据区IData
片内RAM 区域,被mov @ri,a 或mov a,@ri 指令间接寻址访问的数据区。 数据区Data
片内RAM 和SFR 区域,被直接寻址访问的数据区。 数据区Code
程序代码空间。 数据区XData
外部数据空间。 数据区Bit
片内的位寄存器区域0-127 与片内地址为20H-2FH的RAM 对应,128-255 与SFR 相对应。 数据区PData
页面存储方式下的外部数据空间,使用movx @ri,a或movx a,@ri 指令。 跟踪存储器(F)
跟踪存储器窗口,对含有跟踪存储器功能的仿真器有效。 波形记录器(W)
波形记录器窗口,对含有跟踪存储器功能的仿真器有效。 性能分析窗口(A)
MedWin 集成开发环境快速入门
性能分析器窗口,对含有性能分析器功能的仿真器有效。 消息窗口(M) Ctrl + 9
消息窗口,显示编译/ 汇编产生的结果,调试过程中的提示以及在文件中查找的结果。 项目管理器(N) Ctrl + 0
项目管理器窗口。
调试(R)
开始调试(B) Ctrl + M
切换到调试态,如果已经打开了项目文件,则进行产生代码并装入操作。 终止调试(D) Ctrl + D
切换到编辑态。 全速运行(R) F9
全速运行,调试态有效。 禁止断点并全速运行(E) Alt + F9
禁止断点并全速运行,调试态有效(此命令只对具有跟踪存储器功能的仿真器有效)。 跟踪(T) F7
跟踪运行程序,在反汇编窗口下执行一条指令,如果当前是调用指令,则进入所调用的子程序;如果在源程序窗口下,执行当前文本下的一条语句,如果是调用则进入所调用的子程序。调试态有效。 单步(S) F8
单步运行程序。反汇编窗口下如是调用指令,则越过所调用的子程序;源程序窗口下,如果是调
用语句,则越过所调用的子程序。调试态有效。 运行到光标处(G) F4
程序全速运行到光标处,调试态及源程序文本或反汇编窗口有效。 运行到Return 指令处(U) Alt + F8
程序全速运行到RET 指令处,调试态有效,对于不同的仿真器,此命令功能有所不同。 交互跟踪(A) Alt + F7
如果当前激活的是程序文本窗口,执行反汇编窗口的跟踪指令;如果当前激活的是反汇编窗口,执行源程序文本窗口的跟踪指令,调试态有效。 执行到(E)
执行到设定的地址,调试态有效。 设置新的程序计数器(N) Ctrl + N
改变当前的程序计数器值,调试态有效。 自动单步(M)
自动以跟踪的方式运行程序,调试态有效。 设置重复计数值(O)
设置重复计数值,与断点配合使用,调试态有效。 返回监控(I) Ctrl + T
终止运行程序,调试态有效。 程序复位(P) Ctrl + F2
复位仿真器,调试态有效。 显示到一步执行(X) Ctrl + O
刷新所有窗口,调试态有效。 添加项至观察窗口(W) Ctrl + W
将光标处的字符或地址作为变量添加到观察窗口,调试态有效。
外围部件(S)
MedWin 集成开发环境快速入门
中断(I)
中断状态窗口,包括INT0,INT1,T0,T1,T2 和UART 中断状态以及优先级和允许设置。设置或清除相应的标志,可以改变中断的状态,也可以通过相应的值,作为中断初始化的编程。 端口(T)
端口设置窗口,显示或改变端口的状态。 定时器/ 计数器0
定时器/ 计数器0 模式和控制窗口,其TMOD 和TCON 的值,可以作为定时器0 初始化的编程依据。
定时器/ 计数器1
定时器/ 计数器1 模式和控制窗口,其TMOD 和TCON 的值,可以作为定时器1 初始化的编程依据。
定时器/ 计数器2
定时器/ 计数器2 模式和控制窗口,其T2CON 的值,可以作为定时器2 初始化的编程依据。 串行口(S )
串行口工作模式和控制窗口,其SMOD 和SCON 的值,可以作为串行口初始化的编程依据。
项目管理(P)
新建项目文件(N)
新建项目文件对话框,包含打开已经存在的项目文件、创建一个新项目、新建或打开一个文件以及硬件调试。 打开项目文件(O)
打开一个已经存在的项目文件。 关闭当前项目
关闭当前已经打开的项目文件,常用于对单模块文件或硬件的调试。 保存当前项目(S)
保存当前项目文件。 另存为(A)
将当前项目文件存为其他项目文件名。 添加文件项(F)
在已经打开的项目中添加文件。添加文件的类型有源文件、头文件、库文件和其他文件。 移除文件项
在已经打开的项目中删除文件。 设置向导(W)
设置编译器/ 汇编器/ 连接器路径以及源文件的默认扩展名和C 语言的环境变量路径。
设置工作目录(D)
设置MedWin 集成开发环境的工作目录,建议工作目录设置在D 盘,并且不要使用长文件名。 文件属性(I) Ctrl + Enter
对于汇编语言程序只能设置是否需要源文件调试;对于C 语言程序,还可以设置存储器模式等。 连接属性(L)
用于对项目文件的连接控制、段定位、RAM 尺寸和头文件、库文件路径的设置。 编译/ 汇编(T) Ctrl + F7
根据文件的扩展名,编译/ 汇编当前文件。 产生代码(M)
根据文件的编辑修改状态,确定是否编译/ 汇编当前文件之后,对产生的OBJ 文件连接。 产生代码并装入(E) Ctrl + F8
MedWin 集成开发环境快速入门
根据文件的编辑修改状态,确定是否编译/ 汇编当前文件之后,对产生的OBJ 文件连接,再将连接产生的代码装载到仿真器。 重新产生全部代码(U) Ctrl + F9
编译/ 汇编项目中所有文件,对产生的OBJ 文件连接,再将连接产生的代码装载到仿真器。 输出Intel HEX(H)
产生Intel HEX 格式文件,默认HEX 文件的文件名为项目名。 输出Binary(B)
产生二进制格式文件,默认BIN 文件的文件名为项目名。 项目管理器(P) Ctrl + 0
激活项目管理器窗口。
断点(B)
断点(B)
断点列表窗口。 设置或清除断点(T) F2
在源程序或反汇编窗口中设置/ 清除断点。编辑态的文本窗口以及调试态的源文件和反汇编窗口有效。 设置到(A)
在指定的地址处设置断点。 断点使能(E)
地址断点或外部断点使能。 禁止所有断点(D)
禁止所有地址断点。 清除所有断点(R)
清除所有地址断点。 设置跟踪存储器(S)
设置跟踪存储器状态,参见附录1 。
设置(O)
设置仿真器(E) 设置仿真CPU 类型,时钟和存储器结构。 程序存储器映像(C)
设置程序存储器映像。 数据存储器映像(D)
设置数据存储器映像。 设置通讯口(T)
选择通讯口参数或进入模拟调试。 设置文本编辑器(S)
设置文本编辑器环境参数,如字体、颜色等。 设置向导(W)
设置编译器/ 汇编器/ 连接器路径以及源文件的默认扩展名和C 语言的环境变量路径的设置。 设置工作目录(D)
设置MedWin 集成开发环境工作目录。 启动向导(Z)
选择进入MedWin 集成开发环境启动向导设置。
窗口(W)
拆分(S)
拆分文本窗口和存储器窗口。 工作簿模式(W)
MedWin 集成开发环境快速入门
窗口显示模式设定是否使用工作簿模式。 关闭窗口(O) Ctrl + F4
关闭当前激活的窗口。 关闭所有窗口(L)
关闭当前所有激活的窗口。 排列图标(A)
排列当前所有激活的窗口。 层叠窗口(C)
层叠当前所有激活的窗口。 横向平铺窗口(H)
横向平铺当前所有激活的窗口。 纵向平铺窗口(V)
纵向平铺当前所有激活的窗口。 刷新所有窗口(R)
刷新当前所有激活的窗口和停驻窗口。
MedWin 集成开发环境快速入门
帮助(H)
关于MedWin(A)
关于MedWin 对话框中列出了软件和硬件有关版本信息,以及仿真器产品的注册。
MedWin 集成开发环境快速入门
七、MedWin 右键弹出式菜单
MedWin集成开发环境每一个窗口都有各自的右键弹出式菜单,右键弹出式菜单的在当前窗口激活的条件下,使用键盘Shift+F10 或鼠标右键打开当前窗口的右键弹出式菜单,当前窗口右键弹出式菜单中的命令只对当前窗口有效。
MedWin 集成开发环境最常用的右键弹出式菜单命令有以下几个: 1. Ctrl-W 将光标处的表达式复制添加到观察窗口 2. Ctrl-G 定位到当前光标位置 3. Ctrl-O 刷新窗口内容 4. Enter 修改当前光标
5. 装载Intel HEX 或bin 文件格式装载文件到当前窗口所处的存储器空间
6. 保存Intel HEX 或bin 文件格式将当前窗口所处存储器空间的内容保存到文件
Insight 系列仿真器的每个存储器区域都可以装载或保存Intel HEX 或bin 文件格式代码。如可以将Intel HEX 或bin 文件装载到Code 数据空间,也可以将Intel HEX 或bin 文件装载到Xdata 区域。
右图是反汇编窗口的本地菜单,除在主菜单和快捷键中已经定义的命令外,具有以下功能:
1. 装载hex 和bin 文件 2. 保存hex 和bin 文件 3. 填充数据块
4. 定位到某个地址开始显示修改内存单元或行汇编 5. 运行到当前光带处
6. 将当前光带地址设置PC 7. 添加当前项至观察窗口 8. 设置或清除断点
在源程序模块窗口中激活的本地菜单具有文本编辑和程序运行的命令,右图为源程序模块窗口的本地菜单:
1. 查找 2. 替换
3. 设置文本标签 4. 查找定位标签 5. 定位到某一行 6. 运行到当前光标处 7. 设置当前地址为PC 8. 添加当前项至观察窗口 9. 设置或清除断点
MedWin 数据窗口的本地菜单,除Bit 窗口外都具备以下功能:
1. 装载hex 和bin 文件 2. 保存hex 和bin 文件 3. 填充数据块 4. 查找 5. 替换 6. 定位 7. 修改
MedWin 集成开发环境快速入门
8. 添加当前项至观察窗口
MedWin 观察窗口的本地菜单,具备以下功能:
1. 添加观察项 2. 插入观察项 3. 删除观察项
4. 修改观察项和观察项值 5. 定位到内存窗口
MedWin 寄存器窗口的本地菜单,具备以下功能:
1. 修改寄存器的值 2. 增量 3. 减量 4. 清零
5. 添加当前寄存器至观察窗口
保留字
MedWin 集成开发环境对以下字符定义为保留字,建议用户在定义变量时尽量避免使用: 1. 访问数据存储器类:IDATA,DATA,XDATA,CODE,PDATA,BIT
2. 特殊功能寄存器类A,B,DPH,DPL,SP,R0~R7,PSW 以及SFR 标号 3. 数值运算类:HIGH,LOW,NOT,MOD,SHL,SHR,AND,XOR,OR 4. 逻辑关系类:LT,LE,GT,GE,EQ,NE
MedWin 集成开发环境快速入门
八、MedWin 的表达式
MedWin 集成开发环境的观察窗口,由观察窗口1 至观察窗口4 和变量窗口组成,方便用户在调试不同函数/ 模块时观察变量,变量窗口动态显示相应作用域内的局部变量。当退出MedWin集成开发环境后,系统保存当前所有的观察变量。
MedWin 集成开发环境,支持Franklin/Keil 所有数据类型的观察,使c 语言变量时,必须注意区分大小写,而观察汇编语言变量时,一般应使用大写字母。 标识符
MedWin 集成开发环境对于表达式所用的标识符定义如下: 1. 由英文字母A-Z,a-z,数字0-9 和下划线_ 组成 2. 第一个字符必须是字母或下划线,其余任意组合 3. 最大长度32 个字符 4. 不得与保留字相同 在观察窗口内查看变量
MedWin 集成开发环境的观察窗口有以下两种类型:
1. 用户添加编辑的观察窗口组。该窗口的内容可以通过直接输入变量名称或使用Ctrl-W命令添加。例如:
A 观察累加器A 的内容 SP 观察堆栈指针SP 的内容 DATA(12H) 观察片内DATA 地址为12H 的内容 XDATA(8003H) 观察片外XDATA 地址为8003H 的内容 Count 观察变量Count 的内容 Length 观察变量Length 的内容 Buffer[10] 观察片数组Buffer[10]的内容
2. 局部变量窗口。该窗口显示所有有效作用域的局部变量,由MedWin 集成开发环境根据程序计数器PC 自动添加刷新,用户只可以修改其变量的数值,不可以增加或减少变量的数目。
运算符
MedWin 集成开发环境对于表达式支持的运算符见下表,使用符合汇编和C 语言通常习惯:
MedWin 集成开发环境运算符功能表
运算符 功能 类型 表达式举例 HIGH,LOW 取字类型的高低字节 数值 LOW(65536-1000) * 取成员 数值 *ptr,*ptr..10 & 取地址 数值 &point ! 逻辑非 逻辑 !Bool NOT,~ 按位取反 数值 ~A *,/ 乘,除 数值 A * B MOD,% 取模 数值 A MOD 10 +,- 加,减 数值 A +B SHL,<< 左移 逻辑 A <<2 SHR,>> 右移 逻辑 B >>4
MedWin 集成开发环境快速入门
LT,< LE,<= GT,> GE,>= EQ,== NE,!= AND,& XOR,^ OR,| [ ] .. IDATA DATA XDATA CODE PDATA BIT
小于 小于或等于 大于 大于或等于 等于 不等于 与 异或 或 数组下标 重复 间址访问的片内RAM区 直接寻址访问的片内数据区 片外数据区 代码区 外部页面数据区 位寄存器区 逻辑 逻辑 逻辑 逻辑 逻辑 逻辑 数值 数值 数值 数值 数值 数值 数值 数值 数值 数值 数值 A B A >=B A EQ B A NE B A AND B A XOR B A OR B Item[10] Data(20h)..5 IData(0010h) Data(00E0h) Xdata(32768) Code(0030h) Pdata(00FFh) Bit(0)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务