Keil μVision仿真软件使用说明.docx
- 文档编号:14692417
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:26
- 大小:1.06MB
Keil μVision仿真软件使用说明.docx
《Keil μVision仿真软件使用说明.docx》由会员分享,可在线阅读,更多相关《Keil μVision仿真软件使用说明.docx(26页珍藏版)》请在冰点文库上搜索。
KeilμVision仿真软件使用说明
KeilμVision2仿真软件使用说明
第一部分μVision2集成开发环境
μVision2IDE就是德国Keil公司开发得基于Windows平台得单片机集成开发环境,它包含一个高效得编译器、一个项目管理器与一个MAKE工具。
其中KeilC51就是一种专门为单片机设计得高效率C语言编译器,符合ANSI标准,生成得程序代码运行速度极高,所需要得存储器空间极小,完全可以与汇编语言媲美。
1.关于开发环境
μVision2得界面如图1-1所示,μVision2允许同时打开、浏览多个源文件。
图1-1μVision2界面图
2.菜单条、工具栏与快捷键
下面得表格列出了μVision2菜单项命令,工具栏图标,默认得快捷以及她们得描述。
1)编辑菜单与编辑器命令Edit(如表1-1所示)
表1-1编辑菜单与编辑器命令Edit
菜单
工具栏
快捷键
描述
Home
移动光标到本行得开始
End
移动光标到本行得末尾
Ctrl+Home
移动光标到文件得开始
Ctrl+End
移动光标到文件得结束
Ctrl+<-
移动光标到词得左边
Ctrl+->
移动光标到词得右边
Ctrl+A
选择当前文件得所有文本内容
Undo
Ctrl+Z
取消上次操作
Redo
Ctrl+Shift+Z
重复上次操作
Cut
Ctrl+X
Ctrl+Y
剪切所选文本
剪切当前行得所有文本
Copy
Ctrl+C
复制所选文本
Paste
Ctrl+V
粘贴
IndentSelectedText
将所选文本右移一个制表键得距离
UnindentSelectedText
将所选文本左移一个制表键得距离
ToggleBookmark
Ctrl+F2
设置/取消当前行得标签
GotoNextBookmark
F2
移动光标到下一个标签处
GotoPreviousbookmark
Shift+F2
移动光标到上一个标签处
ClearAllBookmarks
清除当前文件得所有标签
Find
在当前文件中查找文本
F3
向前重复查找
Shift+F3
向后重复查找
Ctrl+F3
查找光标处得单词
Ctrl+]
寻找匹配得大括号、圆括号、方括号(用此命令将光标放到大括号、圆括号或方括号得前面)
Replace
替换特定得字符
FindinFiles…
在多个文件中查找
GotoMatchingbrace
选择匹配得一对大括号、圆括号或方括号中得内容
2)选择文本命令
在μVision2中,可以通过按住Shift键与相应得键盘上得方向键来选择文本。
如Ctrl+->可以移动光标到下一个词,那么,Ctrl+Shift+->就就是选择当前光标位置到下一个词得开始位置间得文本。
当然,也可以用鼠标来选择文本。
3)项目菜单Project与项目命令Project(如表1-2所示)
表1-2项目菜单与项目命令Project
菜单
工具栏
快捷键
描述
NewProject…
创建新项目
ImportμVision1Project…
转化μVision1得项目
OpenProject…
打开一个已经存在得项目
CloseProject…
关闭当前得项目
TargetEnvironment
定义工具、包含文件与库得路径
Targets,Groups,Files
维护一个项目得对象、文件组与文件
SelectDeviceforTarget
选择对象得CPU
Remove…
从项目中移走一个组或文件
Options…
Alt+F7
设置对象、组或文件得工具选项
选择不同文件类型得扩展名
BuildTarget
F7
编译修改过得文件并生成应用
RebuildTarget
重新编译所有得文件并生成应用
Translate…
Ctrl+F7
编译当前文件
StopBuild
停止生成应用得过程
1~7
打开最近打开过得项目
4)调试菜单Debug与调试命令(如表1-3所示)
表1-3调试菜单与调试命令Debug
菜单
工具栏
快捷键
描述
Start/StopDebugging
Ctrl+F5
开始/停止调试模式
Go
F5
运行程序,直到遇到一个中断
Step
F11
单步执行程序,遇到子程序则进入
Stepover
F10
单步执行程序,跳过子程序
Stepoutof
Ctrl+F11
执行到当前函数得结束
CurrentfunctionstopRuning
Esc
停止程序运行
Breakpoints…
打开断点对话框
Insert/RemoveBreakpoint
设置/取消当前行得断点
Enable/DisableBreakpoint
使能/禁止当前行得断点
DisableAllBreakpoints
禁止所有得断点
KillAllBreakpoints
取消所有得断点
ShowNextStatement
显示下一条指令
Enable/DisableTraceRecording
使能/禁止程序运行轨迹得标识
ViewTraceRecords
显示程序运行过得指令
MemoryMap…
打开存储器空间设置对话框
PerformanceAnalyzer…
打开设置性能分析得窗口
InlineAssembly…
对某一行重新汇编,可以修改汇编代码
FunctionEditor…
编辑调试函数与调试设置文件
5)外围器件菜单Peripherals(如表1-4所示)
表1-4外围器件菜单Peripherals
菜单
工具栏
描述
ResetCPU
复位CPU
以下为单片机外围器件得设置对话框(对话框得种类及内容依赖于您选择得CPU)
Interrupt
中断观察
I/O-Ports
I/O口观察
Serial
串口观察
Timer
定时器观察
A/DConoverter
A/D转换器
D/AConoverter
D/A转换器
I2CConoverter
I2C总线控制器
Watchdog
瞧门狗
6)工具菜单Tool(如表1-5所示)
利用工具菜单,可以设置并运行GimpelPC-Lint、SiemensEasy-Case与用户程序。
通过CustomizeToolsMenu…菜单,可以添加需要得程序。
表1-5工具菜单Tool
菜单
描述
SetupPC-Lint…
设置GimpelSoftware得PC-Lint程序
Lint
用PC-Lint处理当前编辑得文件
LintallCSourceFiles
用PC-Lint处理项目中所有得C源代码文件
SetupEasy-Case…
设置Siemens得Easy-Case程序
Start/StopEasy-Case
运行/停止Siemens得Easy-Case程序
ShowFile(Line)
用Easy-Case处理当前编辑得文件
CustomizeToolsMenu…
添加用户程序到工具菜单中
3.创建项目实例
μVision2包括一个项目管理器,它可以使8x51应用系统得设计变得简单。
要创建一个应用,需要按下列步骤进行操作:
●启动μVision2,新建一个项目文件并从器件库中选择一个器件。
●新建一个源文件并把它加入到项目中。
●增加并设置选择得器件得启动代码
●针对目标硬件设置工具选项。
●编译项目并生成可编程PROM得HEX文件。
下面将逐步地进行描述,从而指引读者创建一个简单得μVision2项目。
1)选择【Project】/【NewProject】选项,如图1-2所示。
图1-2Project菜单
2)在弹出得“CreateNewProject”对话框中选择要保存项目文件得路径,比如保存到Exercise目录里,在“文件名”文本框中输入项目名为example,如图1-3所示,然后单击“保存”按钮。
图1-3CreateNewProject对话框
3)时会弹出一个对话框,要求选择单片机得型号。
读者可以根据使用得单片机型号来选择,KeilC51几乎支持所有得51核得单片机,这里只就是以常用得AT89C51为例来说明,如图1-4所示。
选择89C51之后,右边Description栏中即显示单片机得基本说明,然后单击“确定”按钮。
1-4选择单片机得型号对话框
4)这时需要新建一个源程序文件。
建立一个汇编或C文件,如果已经有源程序文件,可以忽略这一步。
选择【File】/【New】选项,如图1-5所示。
5)在弹出得程序文本框中输入一个简单得程序,如图1-6所示。
图1-5新建源程序文件对话框图图1-6程序文本框
6)选择【File】/【Save】选项,或者单击工具栏
按钮,保存文件。
在弹出得如图1-7所示得对话框中选择要保存得路径,在“文件名”文本框中输入文件名。
注意一定要输入扩展名,如果就是C程序文件,扩展名为、c;如果就是汇编文件,扩展名为、asm;如果ini文件,扩展名为、ini。
这里需要存储ASM源程序文件,所以输入、asm扩展名(也可以保存为其她名字,比如new、asm等),单击“保存”按钮。
图1-7“SaveAs”对话框图
7)单击Target1前面得+号,展开里面得内容SourceGroup1,如图1-8所示。
图1-8Target展开图
8)用右键单击SourceGroup1,在弹出得快捷菜单中选择AddGroup`SourceGroup1`选项,如图1-9所示。
图1-9AddFilestoGroup‘SourceGroup1’菜单
9)选择刚才得文件example、asm,文件类型选择AsmSourcefile(*、C)。
如果就是C文件,则选择CSourcefile;如果就是目标文件,则选择Objectfile;如果就是库文件,则选择Libraryfile。
最后单击“Add”按钮,如果要添加多个文件,可以不断添加。
添加完毕后单击“Close”按钮,关闭该窗口,如图1-10所示
图1-10AddFilestoGroup‘SourceGroup1’对话框
10)这时在SourceGroup1目录里就有example、asm文件,如图1-11所示。
图1-11example、asm文件
11)接下来要对目标进行一些设置。
用鼠标右键(注意用右键)单击Target1,在弹出得会计菜单中选择OptionsforTarget“Target1”选项,如图1-12所示。
图1-12ptionsforTarget“Target1”选项
12)弹出OptionsforTarget“Target1”对话框,其中有8个选项卡。
1默认为Target选项卡(如图1-13所示)
1-13Target选项卡
●Xtal(MHZ):
设置单片机工作得频率,默认就是24、0MHz。
●UseOn-chipROM(0x0-0XFFF):
表示使用片上得FlashROM,At89C51有4KB得可重编程得FlashROM,该选项取决于单片机应用系统,如果单片机得EA接高电平,则选中这个选项,表示使用内部ROM,如果单片机得EA接低电平,表示使用外部ROM,则不选中该项。
这里选中该选项。
●Off-chipCodememory:
表示片外ROM得开始地址与大小,如果没有外接程序存储器,那么不需要填任何数据。
这里假设使用一个片外ROM,地址从0x8000开始,一般填16进制得数,Size为片外ROM得大小。
假设外接ROM得大小为0x1000字节,则最多可以外接3块ROM。
●Off-chipXdatamemory:
那么可以填上外接Xdata外部数据存储器得起始地址与大小,一般得应用就是62256,这里特殊得指定Xdata得起始地址为0x2000,大小为0x8000。
●CodeBanking:
就是使用CodeBanking技术。
Keil可以支持程序代码超过64KB得情况,最大可以有2MB得程序代码。
如果代码超过64KB,那么就要使用CodeBanking技术,以支持更多得程序空间。
CodeBanking支持自动得Bank得切换,这在建立一个大型系统时就是必需得。
例如:
在单片机里实现汉字字库,实现汉字输入法,都要用到该技术。
●MemoryModel:
单击MemoryModel后面得下拉箭头,会有3个选项,如图1-14所示。
图1-14MemoryModel选项
●Small:
变量存储在内部RAM里。
●Compact:
变量存储在外部RAM里,使用8位间接寻址。
●Large:
变量存储在外部RAM里,使用16位间接寻址。
一般使用Small来存储变量,此时单片机优先将变量存储在内部RAM里,如果内部RAM空间不够,才会存在外部RAM中。
Compact得方式要通过程序来指定页得高位地址,编程比较复杂,如果外部RAM很少,只有256字节,那么对该256字节得读取就比较快。
如果超过256字节,而且需要不断地进行切换,就比较麻烦,Compact模式适用于比较少得外部RAM得情况。
Large模式就是指变量会优先分配到外部RAM里。
需要注意得就是,3种存储方式都支持内部256字节与外部64KB得RAM。
因为变量存储在内部RAM里运算速度比存储在外部RAM要快得多,大部分得应用都就是选择Small模式。
使用Small模式时,并不说明变量就不可以存储在外部,只就是需要特别指定,比如:
unsignedcharxdataa:
变量a存储在内部RAM。
unsignedchara:
变量存储在内部RAM。
但就是使用Large得模式时:
unsignedcharxdataa:
变量a存储在外部RAM。
unsignedchara:
变量a同样存储在外部RAM。
这就就是它们之间得区别,可以瞧出这几个选项只影响没有特别指定变量得存储空间得情况,默认存储在所选模式得存储空间,比如上面得变量定义unsignedchara。
●
CodeRomSize:
单击CodeRomSize后面得下拉箭头,将有3个选项,如图1-15所示。
图1-15CodeRomSize选项
•Small:
program2Korless,适用于AT89C2051这些芯片,2051只有2KB得代码空间,所以跳转地址只有2KB,编译得时候会使用ACALLAJMP这些短跳指令,而不会使用LCALL,LJMP指令。
如果代码地址跳转超过2KB,那么会出错。
•Compact:
2Kfunctiongs,64Kprogram,表示每个子函数得代码大小不超过2K,整个项目可以有64K得代码。
就就是说在main()里可以使用LCALL,LJMP指令,但在子程序里只会使用ACALL,AJMP指令。
只有确定每个子程序不会超过2KB,才可以使用Compact方式。
•Large:
64KBprogram,表示程序或子函数代码都可以大到64KB,使用codebank还可以更大。
通常都选用该方式。
选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact与Small方式。
这里选择Large方式。
●Operating:
单击Operating后面得下拉箭头,会有3个选项,如图1-16所示。
图1-16Operating选项
•None:
表示不使用操作系统。
•RTX-51TinyReal-TimeOS:
表示使用Tiny操作系统。
•RTX-51FullReal-TimeOS:
表示使用Full操作系统。
Tiny就是一个多任务操作系统,使用定时器0做任务切换。
在11、0592MHz时,切换任务得速度为30ms。
如果有10个任务同时运行,那么切换时间为300ms。
不支持中断系统得任务切换,也没有优行级,因为切换得时间太长,实时性大打折扣。
多任务情况下(比如5个),轮循一次需要150ms,即150ms才处理一个任务,这连键盘扫描这些事情都实现不了,更不要说串口接收、外部中断了。
同时切换需要大概1000个机器周期,对CPU得浪费很大,对内部RAM得占用也很严重。
实际上用到多任务操作系统得情况很少。
KeilC51FullReal-TimeOS就是比Tiny要好一些得系统(但需要用户使用外部RAM),支持中断方式得多任务与任务优先级,但就是KeilC51里不提供该运行库,要另外购买。
这里选择None。
②设置Output选项卡(如图1-17所示)
图1-17设置Output卡
●SelectFolderforObjects:
单击该按钮可以选择编译后目标文件得存储目录,如果不设置,就存储在项目文件得目录里。
●NameofExecutable:
设置生成得目标文件得名字,缺省情况下与项目得名字一样。
目标文件可以生成库或者obj、HEX得格式。
●CreateExecutable:
如果要生成OMF以及HEX文件,一般选中DebugInformation与BrowseInformation。
选中这两项,才有调试所需得详细信息,比如要调试C语言程序,如果不选中,调试时将无法瞧到高级语言写得程序。
●CreateHEXFile:
要生成HEX文件,一定要选中该选项,如果编译之后没有生成HEX文件,就就是因为这个选项没有被选中。
默认就是不选中得。
●CreateLibrary:
选中该项时将生成lib库文件。
根据需要决定就是否要生成库文件,一般应用就是不生成库文件得。
●AfterMake:
栏中有以下几个设置。
●Beepwhencomplete:
编译完成之后发出咚得声音。
●StartDebugging:
马上启动调试(软件仿真或硬件仿真),根据需要来设置,一般就是不选中。
●RunUserProgram#1,RunUserProgram#2:
这个选项可以设置编译完之后所要运行得其她应用程序(比如有些用户自己编写了烧写芯片得程序,编译完便执行该程序,将HEX文件写入芯片),或者调用外部得仿真器程序。
根据自己得需要设置。
③设置Listing选项卡(如图1-18所示)
图1-18设置Listing选项卡
KeilC51在编译之后除了生成目标文件之外,还生*、lst、*m51得文件。
这两个文件可以告诉程序员程序中所用得idata、data、bit、xdata、code、RAM、ROM、stack等得相关信息,以及程序所需得代码空间。
选中AssemblyCode会生成汇编得代码。
这就是很有好处得,如果不知道如何用汇编来写一个long型数得乘法,那么可以先用C语言来写,写完之后编译,就可以得到用汇编实现得代码。
对于一个高级得单片机程序员来说,往往既要熟悉汇编,同时也要熟悉C语言,才能更好地编写程序。
某些地方用C语言无法实现,便用汇编语言却很容易。
有些地方用汇编语言,很繁琐,用C语言就很方便。
单击SelectFolderforListings按钮后,在出现得对话框中可以选择生成得列表文件得存放目录。
不做选择时,使用项目文件所在得目录。
④设置Debug选项卡(如图1-19所示)
这里有两类仿真形式可选:
UseSimulator与Use:
KeilMonitor-51Driver,前一种就是纯软件仿真,后一种就是带有Monitor-51目标仿真器得仿真。
●LoadApplicationatStart:
选择这项之后,Keil才会自动装载程序代码。
1-19设置Debug选项卡
●Gotillmain:
调试C语言程序时可以选择这一项,PC会自动运行到main程序处。
这里选择UseSimulator。
如果选择Use:
KeilMonitor-51Driver,还可以单击图1-19中得Settings按钮,打开新得窗口如图1-20,其中得设置如下。
●Port:
设置串口号,为仿真机得串口连接线COM_A所连接得串口。
●Baudrate:
设置为9600,仿真机固定使用9600bit/s跟Keil通信。
●SerialInerrupt:
允许串行中断,选中它。
●CacheOptions:
可以选也可以不选,推荐选它,这样仿真机会运行得快一点。
最后单击OK按钮关闭窗口。
图1-20Target设置
13)编译程序,选择【Project】/【Rebuildalltargetfiles】选项,如图1-21所示。
图1-21Rebuildalltargetfiles
或者单击工具栏中得
按钮,如图1-22所示,开始编译程序。
图1-22工具栏中得按钮
如果编译成功,开发环境下面会显示编译成功得信息,如图1-23所示。
图1-23编译成功信息
14)编译完毕之后,选择【Debug】/【Start/StopDebugSession】选项,即就进入仿真环境,如图1-24所示。
图1-24仿真
或者单击工具栏中得
铵钮,如图1-25所示。
图1-25工具栏仿真按钮
15)装载代码之后,开发环境下面显示如图1-26所示得信息。
图1-26装载代码
第二部分实现KeilC得在线调试
一、软件调试步骤
1.硬件准备:
首先您必须具备THGDC-1型硬件系统一套,与THKL-C51仿真器,还需要一条串口线(串口线得接法就是2-3/3-2/5-5也就就是交叉接法,不就是平行接法)。
2.软件准备:
您需要准备keilc软件一套,版本最好就是7、0之后得,我们产品附带光盘就包含了最新得keilc软件,如果老用户无法得到这个版本软件,可以上网寻找,也可以到keil公司得网站下载下载,当然您还可以与我们销售联络,获得光盘。
3.系统设置:
实验箱联接好电源线,串口线联接好PC机与THKL-C51仿真器,把仿真器插入80C51核心板得锁紧插座。
请注意仿真器插入方向,缺口应朝上。
4.软件设置:
打开keilc软件,创建相关实验得应用项目,包括添加源文件,编译项目文件,详见附录一。
开始软件设置,找到图2-1所示菜单项。
图2-1Project菜单
选中以后找到图2-2所示得对话框,按照图2-2里面得图示方法,进行端口设置。
选择硬件仿真。
图2-2设置Deb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil Vision仿真软件使用说明 Vision 仿真 软件 使用说明
![提示](https://static.bingdoc.com/images/bang_tan.gif)