Keil C51 μVision4的使用说明.docx
- 文档编号:5979699
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:16
- 大小:29.72KB
Keil C51 μVision4的使用说明.docx
《Keil C51 μVision4的使用说明.docx》由会员分享,可在线阅读,更多相关《Keil C51 μVision4的使用说明.docx(16页珍藏版)》请在冰豆网上搜索。
KeilC51μVision4的使用说明
KeilC51μVision4的使用
KeilC51μVision4是美国KeilSoftware公司出品的51系列兼容单芯片C语言整合发展环境(IntegratedDevelopmentEnvironment,IDE),与汇编语言相比,C语言在功能上、架构性、可讀性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C语言來开发,会更加体会深刻。
目前最新的版本是C51Version9.00Release,也就是所谓的μVision4。
KeilC51软件提供丰富的函數库和功能强大的除错工具,及全窗口界面。
另外重要的一点,只要看一下编译后生成的汇编语言代码,就能体会到KeilC51生成的目标代码效率非常之高,多數语句生成的汇编语言代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的便利与优势。
KeilC51μVision4较之前的版本,新增了下面几个功能:
多重的监控和弹性的窗口管理系统。
系统查看器(SystemViewer)-显示设备周边缓存器的讯息。
除错恢復检视(DebugRestoreViews)-建立和储存多重除错窗口设计。
多项目工作区(Multi-ProjectWorkspace)-与许多项目简化工作。
源码和解组译連结(SourceandDisassemblyLinking)-解组译窗口和源码窗口完全同步使程序除错和光标导航较容易。
内存窗口固定(MemoryWindowFreeze)-储存目前内存窗口检视允许容易在不同的点及时比较。
设备模拟-更新支持很多新设备(例如InfineonXC88x,SiLABSC8051Fxx,AtmelSAM7/9和从Luminary,NXP,andToshiba來的CortexM3MCUs)。
支持硬件除错转接器(SupportforHardwaredebugadapters)-包括ADI。
miDAS-Link,AtmelSAM-ICE,InfineonDAS,和ST-Link。
新资料和指令追踪(NewDataandinstructiontrace)-对ARM和CortexMCUs。
基于XML的项目文件(XMLbasedProjectfiles)-建立,检视和修改项目如同容易可讀的XML本文档案一样。
串列的窗口-扩充到提供一个基本的100-VT终端机,ASCII模式,混合模式,和十六进制模式检视。
拖放档案开启(Drag&DropFileOpening)-档案拖进μVision4项目空间自动会被开启。
监控点和邏辑分析仪(WatchpointsandLogicAnalyzer)-现在更容易设定变數。
下面详细介绍KeilC51μVision4IDE基本的功能和使用。
第一章建立第一个KeilC51程序-使用C语言
随着单芯片技术的不断发展,以单芯片C语言为主的高级语言IDE,也不断的被开发出來,而且受到许多的单芯片爱好者和工程师所喜爱,更在学校中被广泛的使用在单芯片课程或微处理机课程教学上。
KeilC51μVision4是众多单芯片IDE软件中优秀的软件之一,它支持许多不一样公司的MCS-51架构的芯片,它集编辑(Edit),编译(Compiler),模拟(Simulation)等于一体,同时还支持,PLM,汇编语言和C语言的程序设计,它的界面和微软的VC++的界面相似,易学易用,在程序除错,软件仿真方面也有很强大的功能。
使用C51写好C程序,然后用C51的编译程序把写好的C程序编译为机器码,这样单芯片才能执行编写好的C程序。
下面结合MCS-51介绍单芯片C语言的优越性︰
不须完全懂得单芯片的硬件架构,也能够编写出符合硬件实际的专业水平的程序。
不懂完全得单芯片的指令集,也能够编写单芯片程序。
不同函數的數据实行覆盖,有效利用单芯片上有限的RAM空间。
提供auto,static,和const等存储類型和专门针对8051单芯片的data,idata,pdata,data,和code等存储類型,自动为变數合理地配置地址。
C语言提供复杂的數据類型(阵列(Array)、结构(Structure)、聯合(Union)、枚举(Enumeration)、指标(Pointer)等),极大地增强了程序处理能力和靈活性。
提供small,compact,和large等编译模式,以适应单芯片上内存的大小。
中断服务程序的现场保护和恢復,中断向量表的填写,是直接与单芯片相关的,都是由C编译程序代办。
程序具有坚固性︰數据被破坏是导致程序执行異常的重要因素。
C语言对數据进行了许多专业性的处理,避免了执行中间不正常的破坏。
提供常用的标准函數库,以供用户直接使用。
有严格的句法检查,错误很少。
可方便地接受多种实用程序的服务︰如单芯片上资源的初始化有专门的实用程序自动生成,简化用户程序设计,提升执行的安全性等等。
表头档案(header)中定义、說明复杂數据類型和函數原型,有利于程序的移植和支持单芯片的系列化产品的开发。
以上简单介绍了KeilC51软件,要使用KeilC51软件,必需先要安装它,这也是学习单芯片C语言所要求的第一步的建立学习环境。
使用者可到KeilC51的官方网站下载(ROM大小的限制,不过一般通常在学校使用,使用2KROM的大小就绰绰有余了,若使用超过2KROM的大小的话,就必须购买正式版了。
安装方法很简单,安装时只要点选C51V900.exe,就可自动执行安装了,其他后续版本也都一样,这裡就不做介绍了。
图1-1KeilC51μVision4官方下载网站
安装好C51后,C51的初始主画面如图1-2所示。
图1-2KeilC51初始主画面
接着下面就让我们一起來建立自己的第一个单芯片C语言程序吧。
请根据下面步骤
粗体的欄位要输入
一步步的來,你绝对可以在短时间内熟悉C51的使用。
(1)点击Project(专案)选单,选择弹出的下拉式选单中的“NewμVisionProject…",如图1-3。
接着弹出一个标准Windows档案对话窗口,如图1-4。
在“储存于"中选择您要存放的资料夹,一个项目最好存在一个资料夹内,若此资料夹不存在,请先建立它,或按“建立新资料夹”按钮以建立新资料夹。
在“档名"中输入您的第一个项目名称,这裡我们用“test1"。
“存档類型"为uvproj,这是KeilμVision4项目文件预设的扩展名,以后只要直接点击此项目文件,即可打开此项目。
图1-3NewμVisionProject选单
图1-4NewμVisionProject选单
若第一次使用,则会出现图1-5的画面,若您要将您之前建立的旧版的项目档扩展名更名为新版的项目档扩展名,则按确定,否则按取消,用户可根据自己的需求选择不变或更名。
因为第一次使用,按取消即可。
图1-5选择旧版或新版的专案档扩展名
(2)选择所要的单芯片型号,这裡选择常用的Ateml公司的AT89S51。
目前Atmel已经停产AT89C51/AT89C52,改由AT89S51/AT89S52來取代之。
AT89S系列较AT89C系列更为便宜,工作频率可高达33MHz,且重复烧錄次數至少可达一千次以上,非常适合学校学习或工程师开发产品之用。
所以本讲义裡的大部分程序都是基于此AT89S51芯片的,此时屏幕如图1-6所示。
在右边图中的“Description”方块内,会简单的介绍AT89S51有什么功能及特点。
点选OK按钮后,会出现图1-7,询问你是否需要拷贝标准的8051启动码程序(STARTUP.a51)到你的项目资料夹,并且将此档案加入项目“CopyStandard8051StartupCodetoProjectFolderandAddFiletoProject”,点选“是”后,就可以进行程序的编写了。
图1-6选取芯片型号
图1-7询问是否需要加入8051启动码
STARTUP.a51的主要工作是把包含idata、xdata、及pdata在内的内存区块清除为0,并且初始化递归指标。
STARTUP.a51的内容在附錄1中,用户可自行參考。
注意,若是编写汇编程序,则不需加入此启动程序。
在完成上述的初始化程序之后,8051的控制权才会交给main()主程序开始执行用户的程序。
(3)首先在项目中建立新的程序档案或加入旧程序档案。
如果您没有现成的程序或是第一次使用,那么就要新建一个C程序档案。
在C51中有一些程序的范例,但是在这裡我们还是以一个C程序为例介绍如何新建一个C程序,和如何加到您的第一个项目中吧。
点击图1-8中1的新建文件的图标按钮,在2中出现一个新的文字编辑窗口,或是也能透过选单File/New或是按下快捷键Ctrl+n來实现。
接着现在就能编写程序了。
图1-8新建文件
下面是一段一颗LED在闪烁的程序,在上图2的文件编辑工作区内键入下面的程序,先不管程序的语法和意思,先看看如何把它存档,加入到项目中存档,和如何编译及执行。
AT89X51.h的内容在附錄2中,若你用的单芯片是AT89S51,则用。
#include
main()
{
inti;
while
(1)
{
P0_0=1;
for(i=1;i<20000;i++);
P0_0=0;
for(i=1;i<20000;i++);
}
}
(4)点击图1-9中的储存档案图标按钮,也能用选单File/Save或按快捷键Ctrl+S,则出现图1-10的窗口。
把此程序命名为test1.c,储存在项目所在的资料夹中,再按储存钮。
这个时候您会发现程序单字有了不同的颜色,这表示Keil的C语言语法检查开始作用了。
1
2
项目窗口
编辑窗口
输出窗口
图1-9储存档案
图1-10储存c档案
(5)滑鼠在屏幕左边的SourceGroup1资料夹图示上右键单击,弹出一选单,如图1-11所示,在这裡能做在项目中增加减少档案等操作。
选“AddFilestoGroup`SourceGroup1…"弹出档案窗口,选择刚刚储存的档案,按下Add按钮,将此c档案加入到
1.选取专案资料夹
2.输入全部档名
3.按储存钮
此专案中。
按下close按钮,关闭档案窗口,如图1-12所示,则此test1.c程序档案已加到此项目中了,如图1-13所示。
图1-11选取“AddFilestoGroup‘SourceGroup1’…"
图1-12选取要加入到项目中的c档案
选取c档案
图1-13把c档案加入到项目中了
若用户写的是汇编语言档案,那必须存成*.a51或*.asm档,然后将汇编语言档案加入到项目中。
(6)接下來要來做一些基本的设定选项的工作。
滑鼠在屏幕左边的Target1资料夹图示上右键单击,弹出一选单,如图1-14所示,然后选取“Optionsfortarget‘Target1’…”。
加入到项目了
图1-14选取“Optionsfortarget‘Target1’…”
在图1-15的Target标签页中,更改所选用单芯片的工作频率为12。
MCS-51系列单芯片系统一般常选用11.059MHz或12MHz。
前者适用于产生各种标准的鲍率(baudrate),后者的一个机器周期为1μs,便于产生精确延迟时间。
本程序中假设使用频率为12MHz的晶体振荡频率。
另外,勾选UseOn-ChipROM(0x0-0xFFF),以使用单芯片上的FlashROM。
图1-15在Target标签页中,更改所选用单芯片的工作频率
再來切换到Output标签页,只要勾选“CreateHEXFile”就好了,以产生烧錄档,如图2-13所示。
如果用户只是单纯的做練习,那就省略此步骤了。
若要更改存放目的档的资料夹,则点击“SelectFolderforObjects…”,若要更改编译后的主档名,则在“NameofExecutable:
”右边的空格内输入主档名即可,一般而言,这2个选项都采用默认值,用户不需更改他们。
图1-16勾选“CreateHEXFile”,以产生烧錄档
(7)完成基本的选项设定后,下面就剩下编译执行了。
先來看这三个按钮,这三个都是编译按钮。
按钮是用于编译目前工作区的档案但不做連结(Link),按钮是用于编译整个项目文件并連结,如果之前编译过一次之后档案没有做任何编辑的话,这个时候再点击是不会再次重新编译的。
按钮是重新编译整个项目文件并連结,每点击一次均会再次编译連结一次,不管程序是否有改变。
是停止编译按钮,只有点击了前三个中的任一个,停止按钮才会生效。
或是从选单Project中,也可执行编译,在此按下“Buildtarget”或F7快捷键,如图1-17所示。
图1-17编译项目
编译完成后,在下方的BuildOutput区域中,可看到编译的讯息,如图1-18所示。
若有出现错误讯息,则再根据错误讯息,回到程序中修改,编译完全正确后,才能产生正确的烧錄档test1.hex。
编译正确
图1-18项目编译正确
(8)选取选单Debug/Start/StopDebugSession,或按快捷键Ctrl+F5,或按在档案工具列右边有一个小放大镜的按钮,则进入除错(Debug)模式,并显示不同的工作窗口,如图1-19所示。
进入除错模式之前,会先出现一个小窗口,告诉你目前用的版本是免费的评估版,有2KROM大小的限制,点击确定即可进入除错模式。
在除错工具列中,(Reset)按钮表示重置单芯片,并使程序回到最开头处执行。
(Run)按钮表示执行,(Stop)按钮表示停止,当程序处于执行狀态时,停止按钮才有效。
(StepInto)按钮表示单步执行会进入函數内,(StepOver)按钮表示单步执行不会进入函數内,(StepOut)按钮表示離开函數,(RuntoCursor)按钮表示执行到光标所在处。
图1-19程序除错画面
为了要检视输出结果是否正确,则必须叫出P0输出入埠观察输出结果。
选取选单Peripherals/I/O-Ports/Port0,如图1-20所示。
反组译窗口
缓存器窗口
呼叫堆栈窗口
命令窗口
图1-20选取Port0
出现ParallelPort0小窗口,并显示每一个位的值,也可移动到其他位置观察,如图1-21所示。
图1-21显示Port0的窗口
打勾表示1
最后要准备执行此程序了,先单击重置按钮,让单芯片及程序回到最初狀态,再按下执行按钮后,则程序开始执行。
我们可以看到ParallelPort0窗口中的P0_0位不断的被设定与清除。
图1-22显示Port0的内容及停止程序执行
若要观察汇编程序编译后所产生的运算码,在ROM的存放情形,则选取选单View/MemoryWindows/Memory1,或按右下方的Memory1按钮,然后在Address欄位内输入0x800或0800h,则Memory1窗口从0x0800开始显示运算码,如图1-23所示。
P0_0输出产生变化
图1-23Memory1窗口显示运算码
程序执行正确后,最后要停止程序执行回到档案编辑模式中,就要先按停止按钮再按开启关闭除错模式按钮。
若要关闭此专案,则选取选单Project/CloseProject,关闭此专案。
KeilC51μVision4的C语言程序初次使用,到此告一段落,下一章我们看KeilC51μVision4的汇编程序的初次使用。
第二章建立第二个KeilC51程序-使用汇编语言
虽然以C语言或以汇编语言撰写MCS-51程序來相比,C语言在功能上、架构性、可讀性、可维护性上有明显的优势,因而易学易用。
然而汇编语言所写出來的程序经编译(compiler)后,所产生出來的运算码或机械语言码所占用的内存,会比C语言所写出來的程序经编译后,所产生出來的运算码所占用的内存少,因此执行效率较高。
C语言要经过编译后转成汇编语言,而转出來的汇编语言的内容的写法有时后让人觉得有划蛇添足的感觉。
然而对程序如果要求要写得简单、直接、有效率的话,通常是会选择汇编语言。
一般而言,对讀电子电机或资工系的学生,最好是C语言和汇编语言都要学。
接着下面就让我们一起來建立自己的第二个单芯片汇编程序吧。
若您对上一章的操作已经有了初步认識的话,那你对下面的步骤,就会觉得更容易。
(1)点击Project(专案)选单,选择弹出的下拉式选单中的“NewμVisionProject…",如图2-1。
接着弹出一个标准Windows档案对话窗口,如图2-2。
在“储存于"中选择您要存放的资料夹,一个项目最好存在一个资料夹内,若此资料夹不存在,请先建立它,或按“建立新资料夹”按钮以建立新资料夹。
在“档名"中输入您的第二个项目名称,这裡我们用“test2"。
“存档類型"为uvproj,这是KeilμVision4项目文件预设的扩展名,以后只要直接点击此项目文件,即可打开此项目。
图2-1NewμVisionProject选单
图2-2NewμVisionProject选单
因第二次使用,所以不会出现图1-5的画面。
(2)选择所要的单芯片型号,这裡仍然选择常用的Ateml公司的AT89S51,此时屏幕如图2-3所示。
在右边图中的“Description”方块内,会简单的介绍AT89S51有什么功能及特点。
点选OK按钮后,会出现图2-4,询问你是否需要拷贝标准的8051启动码程序到你的项目资料夹,并且将此档案加入项目“CopyStandard8051StartupCodetoProjectFolderandAddFiletoProject”,因为汇编语言不需要加入此STARTUP.a51,点选“否”后,就可以进行程序的编写了。
图2-3选取芯片型号
图2-4询问是否需要加入8051启动码
(3)首先在项目中建立新的程序档案或加入旧程序档案。
如果您没有现成的程序或是第一次使用汇编语言,那么就要新建一个空白程序档案。
在C51中有一些程序的范例,但是在这裡我们还是以一个组合程序为例介绍如何新建一个组合程序,和如何加到您的项目中吧。
点击图2-5中1的新建文件的图标按钮,在2中出现一个新的文字编辑窗口,或是也能透过选单File/New或是按下快捷键Ctrl+n來实现。
接着现在就能编写程序了。
图2-5新建文件
下面是一个跑马灯的程序,在上图2的文件编辑工作区内键入下面的程序,先不管程序的语法和意思,先看看如何把它存档,加入到项目中存档,和如何编译及执行。
MOVA,#0FEH
START:
MOVP1,A
RLA
ACALLDELAY
AJMPSTART
DELAY:
MOVR0,#248
D1:
MOVR1,#200
D2:
DJNZR1,D2
DJNZR0,D1
RET
END
(4)点击图2-6中的储存档案图标按钮,也能用选单File/Save或按快捷键Ctrl+S,则出现图2-7的窗口。
把此程序命名为test2.a51,储存在项目所在的资料夹中,再按储存钮。
这个时候您会发现程序单字有了不同的颜色,这表示Keil的汇编语言语法检查开始作用了。
1
2
项目窗口
编辑窗口
输出窗口
图2-6储存档案
图2-7储存a51档案
(5)滑鼠在屏幕左边的SourceGroup1资料夹图示上右键单击,弹出一选单,如图2-8所示,在这裡能做在项目中增加减少档案等操作。
选“AddFilestoGroup`SourceGroup1…"弹出档案窗口,选择刚刚储存的档案,按下Add按钮,将此.a51档案加入
1.选取专案资料夹
2.输入全部档名
3.按储存钮
到此专案中。
按下close按钮,关闭档案窗口,如图2-9所示,则此test2.a51程序档案已加到此项目中了,如图2-10所示。
图2-8选取“AddFilestoGroup‘SourceGroup1’…"
图2-9选取要加入到项目中的汇编语言档案
选取.a51档案
图2-10把汇编语言档案加入到项目中了
(6)接下來要來做一些基本的设定选项的工作,在每一个项目裡面都要设定一次。
滑鼠在屏幕左边的Target1资料夹图示上右键单击,弹出一选单,如图2-11所示,然后选取“Optionsfortarget‘Target1’…”,则出现图2-12的窗口。
加入到项目了
图2-11选取“Optionsfortarget‘Target1’…”
在图2-12的Target标签页中,如同图1-15,更改所选用单芯片的工作频率为12,并勾选UseOn-ChipROM(0x0-0xFFF),以使用单芯片上的FlashROM。
图2-12在Target标签页中,更改所选用单芯片的工作频率
再來切换到Output标签页,只要勾选“CreateHEXFile”就好了,以产生烧錄档,如图2-13所示。
如果用户只是单纯的做練习,那就省略此步骤了。
若要更改存放目的档的资料夹,则点击“SelectFolderforObjects…”,若要更改编译后的主档名,则在“NameofExecutable:
”右边的空格内输入主档名即可,一般而言,这2个选项都采用默认值,用户不需更改他们。
图2-13勾选“CreateHEXFile”,以产生烧錄档
(7)完成基本的选项设定后,下面就剩下编译执行了。
在此按下按钮,“Buildtarget”,或F7快捷键,如图2-14所示。
图2-14编译项目
编译完成后,在下方的BuildOutput区域中,可看到编译的讯息,如图2-15所示。
若有出现错误讯息,则再根据错误讯息,回到程序中修改,编译完全正确后,才能产生正确的烧錄档test2.hex。
图2-15项目编译正确
(8)选取选单Debug/Start/StopDebugSession,或按快捷键Ctrl+F5,或按在档案工具列右边有一个小放大镜的按钮,则进入除错(Debug)模式,并显示不同的工作窗口,如图2-16所示。
进入除错模式之前,同样地会先出现一个小窗口,告诉你目前用的版本是免费的评估版,有2KROM大小的限制,点击确定即可进入除错模式。
在除错工具列中,(Reset)按钮表示重置单芯片,并使程序回到最开头处执行。
(Run)按钮表示执行,(Stop)按钮表示停止,当程序处于执行狀态时,停止按钮才有效。
(StepInto)按钮表示单步执行会进入函數内,(StepOver)按钮表示单步执行不会进入函數内,(StepOut)按钮表示離开函數,(RuntoCursor)按钮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil C51 Vision4的使用说明 Vision4 使用说明