Keil C51集成开发环境的使用汇编.docx
- 文档编号:26730847
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:34
- 大小:911.37KB
Keil C51集成开发环境的使用汇编.docx
《Keil C51集成开发环境的使用汇编.docx》由会员分享,可在线阅读,更多相关《Keil C51集成开发环境的使用汇编.docx(34页珍藏版)》请在冰豆网上搜索。
KeilC51集成开发环境的使用汇编
KeilC51集成开发环境的使用
KeilC51软件可以从相关网站下载并安装。
安装好后,双击桌面快捷图标
或在“开始”菜单中选择KeilμVision3,启动KeilμVision3集成开发环境,启动后界面如图4-3所示。
图4-3KeilμVision3启动后的集成开发环境界面
(一)创建项目
KeilμVision3中有一个项目管理器,用于对项目文件进行管理。
它包含了程序段环境变量和编程有关的全部信息,为单片机程序的管理带来了很大的方便。
创建一个新项目的操作步骤如下:
(1)启动μVision3,创建一个项目文件,并从器件数据库中选择一款合适的单片机型号。
(2)创建一个新的源程序文件,并把这个源文件添加到项目中;
(3)为该单片机芯片添加或配置启动程序代码;
(4)设置工具选项,使之适合目标硬件;
(5)编译项目并创建一个*.hex文件。
下面以本章任务为例分别介绍每一步的具体操作。
1.新建项目文件
单击菜单“Project”→“NewProject”命令,弹出如图4-4所示的新建项目对话框,指定保存路径,建议每个项目使用一个独立文件夹,例如本项目保存在“第4章”文件夹;然后,在“文件中名”输入项目名称,例如“4-1”,单击“保存”按钮即完成新项目的创建(系统默认扩展名为“.uv2”)。
图4-4新建项目对话框
此时弹出选择单片机的型号对话框,如图4-5所示,展开Atmel系列单片机,选择“AT89C51”,单击“确定”按钮完成设备的选择。
图4-5选择单片机的型号对话框
单片机型号选择结束后,在μVision3工作界面左边的项目管理器中新增加了一个“Target1”目标1文件夹,如图4-6所示。
图4-6项目管理器中新增“Target1”对话框
2.新建源程序文件
单击菜单“File”→“New”命令,就可以创建一个源程序文件。
该命令会打开一个空的编辑器窗口,默认名为“Text1”,输入如下源程序:
/******************************************************************
名称:
流水灯控制
模 块 名:
AT89C51,74LS373
功能描述:
当开关打开时,LED自上而下依次点亮;当开关闭合时,LED从下向上依次点亮。
******************************************************************/
#include
#defineucharunsignedchar//类型重定义
#defineuintunsignedint
sbitKey=P0^0;//定义位名称
voidDelayMS(uintms);//延时函数原型声明
//主程序
voidmain()
{
uchari,keyPre,shift;
Key=1;
while
(1)
{
keyPre=Key;
if(keyPre)
{
shift=0x01;
for(i=0;i<8;i++)
{P1=~shift;DelayMS(200);shift<<=1;}
}
else
{shift=0x80;
for(i=0;i<8;i++)
{P1=~shift;DelayMS(200);shift>>=1;}
}
}
}
/********************************************************************
函数名称:
DelayMS
函数功能:
延时函数
入口参数:
参数ms控制循环次数,从而控制延时时间长短
********************************************************************/
voidDelayMS(uintms)
{
uchari;
while(ms--)
for(i=0;i<120;i++);
}
程序输入完毕后,单击“File”→“Save”命令对源程序进行保存,在保存时,文件名可以是字符、字母或数字,并且一定要带扩展名(使用汇编语言编写的源程序,扩展名为.asm,使用单片机C语言编写的源程序,扩展名为.c)。
保存好源程序后,源程序窗口中的关键字呈彩色高亮显示。
这里保存为“4-1.c”。
特别注意:
源程序扩展名“.c”必须手动输入,表示为C语言程序,使KeilC51采用对应的C语言的方式来编译源程序。
源程序文件创建好后,可以把这个文件添加到项目管理器中。
单击项目管理器中“Target1”文件夹旁边的“+”按钮,展开后在“SourceGroup1”上单击右键,弹出快捷菜单,如图4-7所示。
选择“AddFilestoGroup’SourceGroup1’”命令,弹出如图4-8所示的加载文件对话框。
在该对话框中选择文件类型为“cSourcefile”,找到刚才创建的“4-1.c”源程序文件,然后单击“Add”按钮,4-1.c即被加入到项目中,此时对话框不消失可以继续加载其它文件。
单击“Close”按钮将对话框关闭。
图4-7在快捷菜单中选择加载源程序文件命令
图4-8在对话框中选择要添加的文件
此时在Keil软件项目管理器的“SourceGroup1”文件夹中可以看到新加载的4-1.c文件。
3.为目标1设置选项
选中Target1,单击菜单“Project”→“OptionsforTarget‘Target1’”命令,弹出为目标1的设置选项对话框,如图4-9所示,共有11个选项,其中“Target”、“Output”和“Debug”选项较为常用,默认打开“Target”选项。
图4-9为目标1设置选项对话框
在该选项中可以对目标硬件及所选器件片内部件进行参数设置:
包括指定CPU时钟频率;是否使用片上自带的ROM存储器;指定C51编译器的存储模式(默认为SMALL模式);指定ROM存储器大小使用;指定片外程序存储器和片外数据存储器的地址范围(如果没有则不填)等。
4.编译项目并创建*.hex文件
单片机不能处理C语言程序,必须将C程序转换成二进制或十六进制代码,这个转换过程称为汇编或编译。
KeilC51软件本身带有C51编译器,可将C程序转换成十六进制代码,即*.hex文件。
在完成项目设置后,就可对源程序进行编译。
执行菜单“Project”→“Rebuildalltargetfiles”命令,可以编译源程序并生成目标文件。
如果程序有错,则编译不成功,μVision3将会在输出窗口(“View”→“OutputWindow”命令切换显示或屏蔽此窗口)的编译页中显示如图4-10所示信息,双击某一条错误信息,光标将会停留在μVision3文本编辑窗口中出现语法错误或警告的位置处,修改并保存后,重新编译,直至正确无误。
图4-10错误和警告信息
若成功创建并编译了应用程序,就可以开始调试。
当程序调试好之后,要求创建一个*.hex文件,生成的*.hex文件可以下载到EPROM或仿真器中。
若要创建*.hex文件,必须在为目标设置选项,在“Output”选项卡中选中“CreateHEXfile”复选框,如图4-11所示,单击“确定”按钮完成所需设置。
设置完成后,执行菜单“Project”→“Rebuildalltargetfiles”命令即可。
图4-11编译时生成“HEX”文件设置
打开“第4章”文件夹,可以看到已经创建了的4-1.HEX文件。
(二)调试程序
1.CPU仿真
使用μVision3可对源程序进行测试,它提供了两种工作模式,这两种模式可以在“OptionsforTarget‘Target1’”对话框的“Debug”选项卡中进行选择,如图4-12所示。
图4-12仿真调试设置
“Usesimulator”:
软件仿真模式,将μVision3调试器配置成纯软件产品,能仿真8051系列的绝大多数功能而不需任何硬件目标板,如串行口、外部I/O和定时器等,这些外围部件是在选择单片机CPU时选定的。
“Use”:
硬件仿真,用户选择相应的硬件仿真器仿真。
如果选中Use:
KeilMonitor-51Driver硬件仿真选项,还可以单击右边的Settings按钮,对硬件仿真器连接情况进行设置,如图4-13所示。
图4-13仿真器连接参数设置
Port:
串行口号,仿真器与计算机连接的串行口号。
Baudrate:
波特率设置,与仿真器串行通信时的波特率,仿真器上的设置必须与它一致。
SerialInterrupt:
选中它允许单片机串行中断。
CacheOption:
缓存选项,可选可不选,选择可加快程序的运行速度。
2.启动调试
源程序编译好后,选择相应的仿真操作模式,可启动源程序的调试。
单击图标
或执行菜单“Debug”→“Start/StopDebugSession”命令,可以启动μVision3的调试模式,调试界面如图4-14所示。
Keil内建了一个仿真CPU用来模拟执行程序,该仿真CPU功能强大,可以在没有硬件和仿真器的情况下进行程序的调试。
图4-14调试界面
进入调试状态后,“调试”菜单项中原来不能用的命令现在已可以使用了,而且工具栏多出一个用于运行和调试的工具条,如图4-15所示,Debug菜单上的大部分命令可以在此找到对应的快捷按钮,从左到右依次是复位、连续运行、暂停运行、单步运行、过程单步运行、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。
图4-15运行调试工具条
3.断点的设定和删除
在μVision3中,用户可以采用以下不同的方法来定义断点:
(1)在文本编辑窗口或反汇编窗口中选定所在行,然后单击工具栏的设置断点按钮图标
,或执行菜单“Debug”→“Insert/RemoveBreakpoint”命令。
(2)在文本编辑窗口或反汇编窗口中选定所在行,单击右键,从打开的快捷菜单中选择“Insert/RemoveBreakpoint”命令。
(3)利用“Debug”下拉菜单,打开“Breakpoints…”对话框,在这个对话框中可以查看定义或更改断点设置。
4.目标程序的执行
目标程序的执行可以使用以下方法:
(1)使用菜单“Debug”→“Run”命令或命令按钮
或按下功能键“F5”全速执行程序。
(2)使用菜单“Debug”→“Step”命令或相应的命令按钮
或使用功能键F11可以单步执行程序,
(3)使用菜单“Debug”→“StepOver”命令或相应的命令按钮
或功能键F10可以以过程单步形式执行命令,所谓过程单步,是指把C语言中的一个函数作为一条语句来全速执行。
按下F11键,可以看到源程序窗口的左边出现了一个黄色调试箭头,指向源程序的第一行。
每按一次F11,即执行该箭头所指程序行,然后箭头指向下一行。
如果程序有错误,可以通过单步执行来查找错误,但是如果程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此可以在调试时使用F10来替代F11。
5.反汇编窗口
在进行程序调试及分析时,经常会用到反汇编。
反汇编窗口同时显示目标程序、编译的汇编程序和二进制文件,如图4-16所示。
利用“View”→“DisassemblyWindow”切换显示或屏蔽此窗口。
图4-16反汇编窗口
当反汇编窗口作为当前活动窗口时,若单步执行指令,所有的程序将按照CPU指令及汇编指令来单步执行,而不是C语言的单步执行。
6.CPU寄存器窗口
单击图标
或执行菜单“Debug”→“Start/StopDebugSession”命令后,在“ProjectWorkspace”项目窗口中可显示CPU寄存器内容,如图4-17所示。
用户除了可以观察外还可以修改,单击选中一个单元,出现文本框后输入相应的数值按回车即可。
7.存储器窗口
在存储器窗口中,可以显示4个不同的存储区,每个存储区能显示不同地址存储单元的内容。
利用“View”→“MemoryWindow”切换显示或屏蔽此窗口
KeilμVision3IDE把MCS-51内核的存储器资源分成以下4个不同区域。
(1)内部可直接寻址RAM区data,表示为D:
xx;
(2)内部间接寻址RAM区idata,表示为I:
xx;
(3)外部RAM区xdata,表示为X:
xxxx;
(4)程序存储器ROM区code,表示为C:
xxxx。
例如,单击“Memory#1”切换存储区,在“address”栏中输入地址值“D:
0000”后按回车键,显示区域直接显示该地址开始的存储单元内容,如图4-18所示。
若要更改某地址存储单元的内容,只需要在该地址上双击鼠标并输入新内容即可。
在Memory窗口中显示的RAM数据可以修改,用鼠标右键对准要修改的存储器单元,右击,在弹出的快捷菜单中选择“ModifyMemoryat0x…”,在接着弹出的对话框文本输入栏内输入相应数值后按回车即可。
图4-17寄存器窗口图4-18存储器窗口
8.观察和修改变量窗口
执行菜单“View”→“Watch&CallstackWindow”命令,打开相应的窗口,如图4-19所示,选择Watch1~3中的任一窗口,按下F2键,在name栏中填入用户变量名即可,但必须是存在的变量,或者使用鼠标直接将变量拖入栏中。
如果想修改数值,可单击Value栏,出现文本框后输入相应的数值。
图4-19存储器窗口
9.串行窗口
μVision3中提供了3个专门用于串行调试输入和输出的窗口,模拟的单片机串行口数据将在该窗口显示。
可选择“UART#0”或“UART#1”或“UART#2”命令打开相应串行窗口。
10.外围设备窗口
在线调试时,通过菜单“Peripherals”下面的“Interrupt、I/O-Ports、Serial、Timer”命令,可以依次对单片机的外部中断、4个并行口、串行口、定时计数器进行设置。
在本任务调试中可以看到P1口的状态值随变量shift的内容而变化,如图4-20所示,修改P0.0的值,P1口的值变化顺序随之翻转。
图4-20并行口调试窗口
Proteus软件仿真系统的使用
Proteus安装以后,主要由两个程序组成:
ARES和ISIS。
前者主要用于PCB工布线及其电路仿真,后者主要采用原理图的方法绘制电路并进行相应的仿真。
除了上述基本应用之外,Proteus革命性的功能在于它的电路仿真是交互的,针对微处理器的应用,可以直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,可以直接实时动态地模拟按钮、键盘的输入和LED、液晶显示的输出等,同时配合各种虚拟工具如示波器、电压表、电流表、信号发生器、逻辑分析仪等进行相应的测量和观测。
P
(一)ProteusISIS的工作界面及基本操作介绍
1.ProteusISIS原理图的工作界面
单击“开始”→“程序”→“Proteus7.1Professional”→“ISIS7.1Professional”,即可进入图4-21所示ProteusISIS的工作界面,它是一种标准的Windows界面,由菜单栏、主工具栏、预览窗口、元件列表栏、模型选择工具栏、原理图编辑窗口、方向工具栏、仿真按钮、状态栏等部分组成。
图4-21ProteusISIS的工作界面
1)ProteusISIS共有12项菜单:
“File”文件菜单,主要用于对原理图文件的管理。
“View”查看菜单,可以进行原理图窗口定位、栅格的调整及图形的缩放等操作。
“Edit”编辑菜单,可进行原理图编辑窗口中元件的剪切、复制、粘贴、撤销、恢复等操作。
“Tools”工具菜单,具有实时注释、自动布线、搜索标记、属性分配工具、全局注释、ASCII数据导入、材料清单、电气规则检查、网表编辑、模型编译、网表到ARES等功能。
“Design”设计菜单,具有编辑设计属性、编辑面板属性、编辑设计注释、配置电源线、新建原理图、删除原理图、前一个原理图、后一个原理图、原理图切换、原理图设计管理等功能。
“Graph”图形菜单,具有编辑仿真图形、增加跟踪曲线、模拟图表、查看日志、导出数据、清除数据、图形一致性分析、批量模态分析等。
“Source”源文件菜单,具有添加/移除源文件、设置编译、设置外部文件编辑器和全部编译等功能。
“Debug”调试菜单,具有调试、开始/重启动调试、断点运行、使用远程调试设备等功能。
“Library”库菜单,具有选择元件/符号、制作器件、制作符号、器件封装、分解、编译到库、自动放置到库、验证封装、库管理器等功能。
“Template”模板菜单,具有设置图形颜色、设置图形格式、设置文本格式、设置图形文本、设置连接点等功能。
“System”系统菜单,具有系统信息、打开文本预览、设置系统环境、设置路径、设置图纸尺寸、设置仿真选项等功能。
“Help”帮助菜单,为用户提供帮助信息。
2)主工具栏
主工具栏包括文件工具条、查看工具条、编辑工具条和设计工具条4个部分,可以通过执行“View”→“Toolbars...”的对话框控制其显示或关闭。
(1)文件工具条,如图4-22所示。
(2)查看工具条,如图4-23所示。
图4-22文件工具条图4-23查看工具条
(3)编辑工具条,如图4-24所示。
图4-24编辑工具条
(4)设计工具条,如图4-25所示。
图4-25设计工具条
3)预览窗口
预览窗口可显示两个内容:
一个是在元器件列表中选择一个元件时,显示该元件的预览图;另一个是鼠标落在原理图编辑窗口时,显示整张原理图的缩略图,并会显示一个绿色的方框,绿色方框里的内容就是当前原理图编辑窗口中显示的内容,通过改变绿色方框的位置,可以改变原理图的可视范围,如图4-26所示。
图4-26预览窗口使用示意图
4)元件列表栏
元件列表栏用来选择元器件、终端、图表、信号发生器和虚拟仪器等。
元件列表栏上有一个条形标签,表明当前所处的模式及其下所列的对象类型。
如图4-27所示,当前模式为“选择元器件模式”,选中的元器件“CAP-POL”,该元器件会出现在预览窗口,在原理图编辑窗口单击,移动鼠标可将其放在合适的位置。
单击P按钮会打开挑选元件对话框,选择了一个元件后,该元件会出现在元件列表中。
图4-27对象选择器
5)模式选择工具栏
(1) 选择原理图对象的放置类型,如图4-28所示。
图4-28选择原理图对象的放置类型的按钮
(2)选择放置仿真调试工具,如图4-29所示。
图4-29选择放置仿真调试工具的按钮
(3) 图形工具选择图标,如图4-30所示。
图4-30图形工具选择图标的按钮
6)原理图编辑窗口
在原理图编辑窗口完成电路原理图的编辑和绘制,为了方便作图,ISIS中坐标系统的基本单位是10nm,主要是为了和ProteusARES保持一致。
但坐标系统的识别(read-out)单位被限制在1th(0.1in=100th)。
坐标原点默认在图形编辑区的中间,图形的坐标值能够显示在屏幕的右下角的状态栏中。
窗口内有点状的栅格,可以通过“查看”菜单的“栅格”命令在打开和关闭间切换。
点与点之间的间距由当前捕捉的设置决定。
原理图编辑窗口没有滚动条,可通过预览窗口改变原理图的可视范围。
7)仿真工具栏
仿真工具栏用于仿真运行控制,如图4-31所示。
图4-31仿真工具栏
8)方向工具栏
方向工具栏用于改变对象的位置,如图4-32所示。
图4-32方向工具栏
2.Proteus操作特性
下面列出了Proteus不同于Windows的操作特性:
1)在元件列表中选择元器件后可对其进行放置操作;
2)鼠标左键用于放置元件、连线;
3)鼠标右键单击用于选择元件、连线和其它对象同时弹出快捷菜单;
4)双击右键可删除元件、连线;
5)先单击右键后单击左键,可以编辑元件属性;
6)按住右键拖出方框,可选中方框中的多个元件和连线;
7)改连接线走线方式,可先单击鼠标右键连线,再单击左键拖动;
8)3D鼠标中键滚轮向前或后滚动,可用于放大或缩小原理图;
9)单击中键后可移动原理图,右键单击结束移动。
(二)ProteusISIS原理图设计
以第二章任务二的流水灯控制为例,介绍ProteusISIS原理图的绘制方法。
1.新建设计文件
启动ISIS7Professional程序,打开ProteusISIS工作界面,单击命令工具栏上的
按钮直接建立;或选择File→NewDesign,出现选择模板窗口,如图4-33所示,其中横向图纸为Landscape,纵向图纸为Portrait,DEFAULT为默认模板。
选中“DEFAULT”,再单击“OK”按钮,就新建了一个未命名的新设计文件。
然后执行“Save”命令,保存为4-1.dsn(默认文件扩展名)。
图4-33图纸模板选择窗口
2.从元件库中选取元件
此任务用到的元件有AT89C51、74LS373、电阻R、电容C、晶体振荡器、发光二极管(黄色)、switch开关、“地”和“电源”等。
单击图4-27所示元件选择器上的“P”按钮弹出“PickDevices”对话框,如图4-34所示,进行元器件的选取。
通过Category、Sub-Category、Manufacture、Results窗口结合进行选择,要求对元件库较为熟悉。
图4-34“PickDevices”对话框
(1)添加单片机
打开“PickDevices”对话框,在“Keywords”(关键字)文本框中输入“at89c51”,然后从“Results”列表中选择所需的型号。
此时在元件预览图中分别显示出元器件的原理图和封装图,如图4-35所示。
单击“OK”按钮,或者直接双击“Results”列表中的“AT89C51”,均可将元器件添加到元件列表栏中。
注意,一般搜索时,输入元件的几个关键字符即可,如“89c51”,可以加大搜索范围。
图4-35“PickDevices”对话框
(2)继续添加其它元器件
添加开关:
打开“PickDevices”对话框,在“Keywords”文本框中输入“switch”,从“Results”列表中将开关添加到元件列表栏中。
添加电容:
打开“PickDevices”对话框,在“Keywords”文本框中输入“cap33pF”,则“Results”列表中显示出各种型号33pF电容,任选一个“50V”电容添加到元件列表栏中。
添加电解电容:
打开“PickDevices”对话框,在“Keywords”文本框中输入“cap”,将极性电容“cap-pol”添加到元件列表栏中。
添加电阻:
打开“PickDevices”对话框,在“Keywords”文本框中输入“res”,将电阻添加到元件列表栏中。
添加晶振:
打开“PickDevices”对话框
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil C51集成开发环境的使用汇编 C51 集成 开发 环境 使用 汇编