如何使用Keil uVision2软件调试单片机程序
KeiluVision2的使用方法
Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。
这里我们仅仅介绍 Keil uVision2 的简单使用,更详细的使用方法见光盘。
keil C51 v6.12 的安装:先运行光盘中单片机软件\setup\setup.exe安装程序,选择安装“Eval Version”版进行安装。
一直点击“Yes”或“Next”,直到“Finish”完成。
之后运行同目录中的Keil uv2 汉化安装.exe安装汉化程序。
安装好后,在桌面上会产生快捷图标,如下图:keil C51 v6.12 的使用:点击桌面快捷图标,可以直接进入主画面:现在,我们来做个实际程序,请跟着我一步一步学着做,实际体验一下从编辑源程序到程序调试的全过程。
这里让我们做一个让单片机 P0 口所驱动的 LED 灯隔一个亮隔一个灭的程序。
在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。
首先从菜但的“工程”中“新建工程...”,建立我们将要做的工程项目:新建的工程要起个与工程项目意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为 Test ,并将 Test 工程“保存”到C:\Keil下:接下来,Keil环境要求我们为 Test 工程选择一个单片机型号;我们选择Atmel 公司的 89C51(虽然我们使用的是89S51,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。
“确定”后工程项目就算建立了。
立了工程项目,肯定要实施这个工程,现在就为工程添加程序;点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。
在这里你可以进行编辑、修改等操作。
根据题意,在文档中写入下列代码:(下列代码你暂时不要管什么意思,只要照抄正确就可以,今后在学习汇编时你会明白的)mov p0,#01010101B ;将01010101二进制代码送P0口ajmp $ ;程序在此原地踏步end ;程序结束标志写完后再检查一下,并保存文件,保存文件时,其文件名最好与前面建立的工程名相同(当然这里为 Test 了),其扩展名必须为 .Asm!“文件名”中一定要写全,如:Test.Asm;保存后的文档彩色语法会起作用,将关键字实行彩色显示:保存了Asm文件后,还要将其添加到工程中。
Keil μVision2仿真软件使用说明
Keil μVision2仿真软件使用说明第一部分μVision2集成开发环境μVision2 IDE是德国Keil公司开发的基于Windows平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE工具。
其中Keil C51是一种专门为单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。
1.关于开发环境μVision2的界面如图1-1所示,μVision2允许同时打开、浏览多个源文件。
图1-1 μVision2界面图2.菜单条、工具栏和快捷键下面的表格列出了μVision2菜单项命令,工具栏图标,默认的快捷以及他们的描述。
1)编辑菜单和编辑器命令Edit(如表1-1所示)2)选择文本命令在μVision2中,可以通过按住Shift键和相应的键盘上的方向键来选择文本。
如Ctrl+->可以移动光标到下一个词,那么,Ctrl+Shift+->就是选择当前光标位置到下一个词的开始位置间的文本。
当然,也可以用鼠标来选择文本。
3)项目菜单Project和项目命令Project(如表1-2所示)4)调试菜单Debug和调试命令(如表1-3所示)5)外围器件菜单Peripherals(如表1-4所示)以下为单片机外围器件的设置对话框(对话框的种类及内容依赖于你选择的CPU)6)工具菜单Tool(如表1-5所示)利用工具菜单,可以设置并运行Gimpel PC-Lint、Siemens Easy-Case和用户程序。
通过Customize Tools Menu…菜单,可以添加需要的程序。
3.创建项目实例μVision2包括一个项目管理器,它可以使8x51应用系统的设计变得简单。
要创建一个应用,需要按下列步骤进行操作:●启动μVision2,新建一个项目文件并从器件库中选择一个器件。
●新建一个源文件并把它加入到项目中。
●增加并设置选择的器件的启动代码●针对目标硬件设置工具选项。
keiluvision2怎么仿真?KeiluVision2进行软件仿真调试的方法教程
keiluvision2怎么仿真?KeiluVision2进⾏软件仿真调试的⽅法教程在Keil编写好的代码,通过编译后,下载到单⽚机。
我们只能看到两种结果:第⼀实验成功,展现出我们想要的效果;第⼆实验不成功,什么效果都没有看到。
失败的原因是什么,通过硬件测试,我们⽆法看到代码在单⽚机内部⾥⾯如何运⾏、变量是如何传递、变量的变化情况等等。
Keil软件⾥⾯是提供了软件仿真调试功能。
下⾯由我带领⼤家来认识⼀下Keil uVision2进⾏软件仿真调试的⽅法。
keil uvision2 中⽂汉化特别版类型:编程⼯具⼤⼩:10MB语⾔:简体中⽂时间:2013-08-03查看详情Keil uVision2软件仿真调试教程:第⼀步:确认写好的程序能通过编译。
然后点击“Debug”→"Start/Stop Debug Session"进⼊调试模式。
如下图操作所⽰:第⼆步:调出观察窗⼝(⽤来设置要观察变量的设置窗⼝);点击“View”→"Watch&Call Stack Window"。
如下图操所⽰:第三步:弹出的“Watch “窗⼝,如下图所⽰:第四步:在弹出的”Watch“窗⼝中设置要要观察的变量,点击”Watch#1“→双击"type F2 to edit"→输⼊要观察的变量名,在这⾥我要观察的是P11,具体操作如下:第五步:点击”单步调试“按钮,点击⼀次,同时观察”Watch“窗⼝P11变量的变化情况。
如下图所⽰:第六步:再⼀次点击”单步调试“按钮。
同时观察”Watch“窗⼝P11变量的变化情况。
如下图所⽰:教程结束,以上就是关于keil uvision2怎么仿真?Keil uVision2进⾏软件仿真调试的⽅法教程的全部内容,希望⼤家喜欢!如果你觉得这个版本的keil uvision2软件还不错,那就赶快下载使⽤吧!。
Keil_uVersion2和Protues操作说明
熟悉Keil和Protues软件的使用一、在D盘下建立文件夹1、新建一个文件夹:D:\915单片机2、以小组名建一个文件夹如第一组:D:\915单片机\一组二、用Protues搭建硬件平台(Protues软件的操作说明)1、打开Protues软件图1-1 打开Protues软件预览窗口编辑窗口对象按钮绘图工具栏仿真进程控制按钮图1-2 Proteus ISIS的工作界面2、新建一个文件新建一个文件保存新建的文件图1-3 新建并保存一个文件选择新文件的存放路径,保存至前面所建文件夹中,如D:\915单片机\一组给文件命名图1-4 为文件命名3、添加系统所需器件单击“选择器件按钮”图1-5 打开选择器件对话框先打开word文档“电力915单片机protues常用器件中英文对照”,确定需要添加的器件的英语单词,然后在此输入,如Atmel公司的单片机的英语单词A T89C51单击此项图1-6 选择所需器件图1-7 常用元器件的关键字在编辑窗口合适位置单击放置该器件图1-8 放置器件1、右键单击元器件,可对元器件进行一些基本操作,如选中器件并移动、删除、旋转、修改参数及名称等2、右键单击元器件可选中该元器件,右键单击并拖动拉框可选中框中的所有元器件图1-9 对元器件进行一些基本的操作4、重复图1-5至图1-8的操作,把系统所需要的所有器件均添加至编辑窗口,如图1-10所示图1-10 系统所需器件5、连接导线图1-11 连接导线6、重复图1-11,直到所有线连接完毕,最后效果如图1-12所示鼠标靠近器件的一端至出现一个小红色矩形后单击左键拖动鼠标至另一器件的一端后单击并放手图1-127、添加系统所需电源和接地符号图1-13 添加接地和电源符号电源接地电源接地8、依据图1-13所示符号添加系统所需电源及接地符号并连线,最后整个系统的效果图如图1-14所示图1-14 系统接线图三、软件设计(Keil uVersion2操作说明)1、打开Keil uVersion2软件单击“开始”→“程序”→“Keil uVersion2”图1-15 打开Keil uVersion2软件2、新建一个工程单击“Project”→“程序”→“New Project”图1-16 新建一个工程选择新建工程的保存路为新建工程命名图1-17 给新建的工程命名AT89C51单片机的参数单击选择单片机的型号图1-18 选择单片机的厂家和型号3、新建一个C语言程序文件单击新建一个C语言文件图1-19 新建一个C语言文件图1-20 给新建的C 语言文件命名4、把新建C 语言文件添加到组图1-21 把新建C 语言文件添加到组(a )单击“保存”为C 语言文件命名,扩展名必须为“.C ”先右击鼠标选择刚才所建的C语言文件图1-21 把新建C语言文件添加到组(b)5、修改字体的大小图1-22 修改字体大小(a)图1-22 修改字体大小(b)6、编写C 语言程序图1-23 编写C 语言程序7、编译文件先单击选择单击修改字体大小图1-24 设置参数图1-25 修改单片机晶振频率先单击此项再单击此项最后单击此项,使其打上勾先单击此项再单击此项修改单片机晶振频率图1-26 编译程序四、Protues 和Keil 联机调试1、用Protues 打开图1-12的硬件连接图并设置参数图1-27设置参数(a )右击单片机图1-27设置参数(b)图1-27设置参数(c)单击此项选择图1-26所生成的hex文件图1-27设置参数(d )2、运行系统图1-28 运行系统把晶振频率修改为图1-25所设晶振的频率图1-29 效果图五、退出系统、退出软件红色发光二极管变红。
keil软件使用简介
Keil软件以及程序下载软件使用简介Keil是当前最流行的MCS51单片机开发软件,可以用它来汇编你的汇编语言源程序,编译你的C语言源程序,连接和重定位你的目标文件和库文件,创建HEX文件,调试你的目标程序。
现在有Keil uVision2和uVision3两种版本,程序界面稍有不同,我们主要使用uVision2。
一、Keil uVision2开发环境的使用使用Keil uVision2软件开发单片机程序的步骤一般分如下几步:(1)建立一个新项目(2)建立并编辑源程序文件(3)将源程序文件添加到项目中(4)编译项目,生成目标文件下面通过一个程序的设计过程,详细介绍每一个步骤。
1. 建立一个新项目uVision2是一个标准Windows应用程序,直接点击程序图标就可以启动它。
在windows XP操作系统的桌面上,点击“开始/所有程序”下的Keil uVision2菜单项,启动Keil uVision2软件,如图1所示。
新建一个项目的步骤如图2所示,从uVision2的Project菜单中选择New Project,将打开一个对话框,此对话框要求你输入项目名称。
建议你为每个项目建一个单独的文件夹。
你可以在弹出的对话框中点击新建文件夹的图标来得到一个空的文件夹,然后选择子文件夹并键入项目的名称,如“Project1”,点击[确定]。
这时会弹出“Select Device for Target”对话框,要求选择单片机型号(与目标板型号一致),这里我们假设选择Atmel公司的AT89C51,点击[确定],这样就创建了一个名字为Project1的新项目。
图1 启动Keil uVision2图2 建立新项目2.建立并编辑源程序文件可以用菜单选项File-New来新建一个源文件。
这将打开一个空的编辑窗口让你输入你的源代码。
当你把此文件另存为*.ASM的文件后,uVision2将高亮显示汇编语言语法字符。
我们把我们的例子程序保存为lianxi1.ASM,如图3所示。
keil_Vision2IDE集成开发环境及单片机程序的模拟仿真调试_下_
时间(10ms),如图 16 所示。在μ V2 仿真环境下可以真实地模
拟单片机定时器的工作状态。
6.单片机串行通信的模拟仿真
Keil C51的μV2调试器提供了对单片机串行通信的模拟仿
真,当源程序编译通过后,鼠标单击菜单栏的Debug/Start Debug
S e s s i o n ,进入模拟调试环境并选择
· 23 · 电子世界 2 0 0 5 年 2 期
单片机与可编程器件
拟仿真功能对例 3进行调试。 首先在μVision2 IDE集成调试环境下建立一个工程文件,
将例3的汇编源程序填加到“Source group1”组里,编译通过后, 点击菜单Project/options for Target target1’, 在target栏里将晶振 频率由默认的 24MHz 改为 6MHz,如图 13 所示。然后点击菜单 Debug/start stop Debug Session进入模拟仿真方式。
开关,所以设计其控制电路时,一个任务 键检测电路的值均为 1,使键盘无论扫描
是正确译码;另一个任务是设计防抖动 哪个键时,均使按键使能位(key_press)为
电路。光靠矩阵式键盘是无法完成按键 1,检测到尚未按下键盘;当使用者按下键
输入工作的,须搭配下列几种电路才能 盘按钮,则键盘输入到按键检测电路的值
4.单片机外部中断的模拟仿真 89S(C)51 单片机有 2 个外部中断,中断 0 和中断 1。其入 口地址分别为 0003H 和 001BH。在默认的情况下,即外部中断 0 的优先级最高。在编写外部中断程序时,应首先设置中断允 许位(EX0、EX1)和中断触发方式选择位(IT0、IT1)。当中 断触发方式选择位 IT0=1 时,外部中断0 选择下降沿信号触发 方式,即当 P3.2 引脚检测到从高到低的电平跳变时,才引起 中断;当IT0=0 时,选择低电平触发方式,即只要检测到P3.2 引脚为低电平,便引起外部中断。如果 P3.2 引脚始终保持在低 电平状态,CPU 将会反复响应外部中断。 在调试单片机的中断程序时,可以充分利用Keil 51集成调 试环境μ V2 内嵌的单片机软件模拟仿真器,下面通过一个例 子,介绍一下软件模拟仿真具体的使用方法。 例 2:检测一个外部告警信号,当信号为低电平时,进入 中断 0 并执行相应程序(源程序见本刊网站)。 将例2的汇编文件编译通过后,选择Debug菜单下的start/ stop Debug sessi(o 开始/停止仿真)便可进入模拟仿真方式,如 图12所示。读者可按F11键单步调测程序,并打开Peripherals 菜单下的Interrupt( 中断)和Port3、Port1窗口来观察中断寄存 器和端口电平的变化情况。本例选择低电平触发方式,如置 P3.2 为低电平,继续按 F11 单步执行程序,这时将进入中断
基于μVision2的单片机C程序调试
6<<H 年第 : 期
陈
奎等
基于 ! 3%4%5&6 的单片机 @ 程序调试
OH
(!) 函数分类: 调试函数分为 ! 类, 即预定义 函数、 用户函数和信号函数。 预定义函数: 完成有用的任务, 不能被删除或 重新定义。主要有输入输出函数, 如 "#$%&$、 ’(%&$); 延迟函数, 如 $*+$,-、 储存器读写函 **+$,-、 (*+$,-; 数, 如.//012、 .1/012 等。 用户函数: 由用户创建与 ! 3%4%5&6 调试器一 起使用的函数。可以在函数编辑器直接输入函数 或使用 %&,789# 命令载入一个包含一个或几个用 户函数的文件。 信号函数: 信号函数可以模拟各种复杂的外 部信号, 仿真真实环境下的数据输入, 以检验程序 的正确性和健壮性, 分析程序的运行效率, 以便为 优化代码结构提供参考。图 : 为函数编辑器, 其 中定义了 ! 个按钮 %&;:、 ;%&$:<;、 %&$:<<<; 和信号 函数 ,-+&"# ( 75&" &) 。信号函数按设定速率改变 模拟输入脉冲。目标程序运行时, =! >? 口的值, 信号函数在后台运行, 因此信号函数中必须引用 延时函 数 才 能 保 证 ! 3%4%5&6 目 标 程 序 有 时 间 执 行。延时函数有 $*+$,-、 其 (*+$,-、 **+$,-、 4*+$,-, 功能分别为延时指定数量的 @=A 状态、 延时到指 定存储地址被读, 指定的存储地址被写和延时到 指定的秒数。例程中利用信号函数, 在单片机 B C 0 引脚 上 产 生 一 定 速 率 脉 冲 信 号,其 频 率 为 @D0@E C F<< C 6。
KEIL uvsion 2调试程序方法(简要)
用KEIL uvsion 3软件调试程序的流程和方法(1)用汇编语言或C语言创建源程序使用菜单“File->New”或点击工具栏的新建文件按扭,即可在项目窗口的右侧打开一个新的文本编辑窗口。
编辑完文件后,保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名)。
(2)创建一个项目,从器件库中选择目标器件,配置工具设置点击“Project->New Project…”菜单,出现一个对话框,要求给将要建立的工程起一个名字(默认保存类型为uv3/uv2)下一步,选择目标CPU(即你所用芯片的型号),(先选择生产该CPU的公司,然后点“+”,从下拉列表中即可看到具体的CPU),然后点击“确定”按钮回到主界面。
此时在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程是一个空的工程。
(3)向项目中添加源文件。
右击界面左边项目窗口中的“Source Group1”,选择“Add file to Group” Source Group1“,出现” Add file to Group” Source Group1“对话框。
在对话框下面的”文件类型“改为”*.*“,找到需加入的.asm文件,双击该文件名,即可把该文件加入项目。
(4)设置工程项目点击左边Project窗口中的Target1,然后使用菜单”Project->Options for target “target1”“即出现对工程设置的对话框。
共八个页面,大多数取默认值即可。
选几个比较重要的做下说明:Target页Xtal:晶振频率值,默认值是所选目标CPU的最高可用频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。
正确设置该数值可使用显示时间与实际所使用时间一致,一般将其设置成与你的硬件所用晶振频率相同。
单片机Keil uVision2软件上机实验步骤
单片机技术及应用上机实验步骤——Keil uVision2软件使用例:用工作寄存器,完成两个字节数据(如,55H+44H)求和,结果存放在内部RAM 的40H单元。
源程序:ORG0000HMOV R1,#55HMOV A,#44HADD A,R1MOV R1,AMOV40H,ASJMP$END上机实验步骤一、建立一个新的工程Project,1.在E:盘上建立一个文件夹,命名为“jd08”;2.点击“开始”/“程序”/“Keil uVision2”,启动软件;3.从下拉式菜单中选择“Project”/“New Project”,新建一个工程项目;4.在打开的“Create New Project”对话框里,选择放在刚才建立的“jd08”文件夹下,给这个工程项目取文件名(英文字母开始)并保存,如sy1,不需要填文件类型后缀(默认文件类型为uv2);5.在弹出的“Select Device for Target‘Target1’对话框中,在“CPU”选项卡下,选择单片机型号。
本实验选择“Atmel”/“AT89C51”;6.在弹出的“uVision2”询问对话框中:“Copy Standard8051Startup Code to Project Folder Add File to Project?”,选择“是”。
【如果有弹出的警告对话框:“File‘D:\jd108\STARTUP.A51’already exists,overwrite?”,选择“是”。
】以上工程创建完毕。
※查看E盘:在E:/jd081文件夹中,有文件sy1.uv2(工程项目文件)、sy1.plg(编译信息文件,编译时的error和warning信息文件)、STARTUP.A51(系统与启动代码文件,清理RAM、设置堆栈等)。
二、建立新的源程序文件(编辑源程序)1.接下来开始创建一个源程序文件。
选择“File”菜单下的“NEW”;2.在编辑区中输入自己编写的程序代码。
单片机实验Kiel 软件的使用和C程序调试
实验一:Kiel 软件的使用和C程序调试一、实验目的:1、通过实验学会用C语言进行程序的设计。
2、学会应用keil-uvision集成调试软件对C语言程序进行调试。
掌握C语言程序的编辑、编译、运行、单步调试的过程和通过寄存器、存储器、串行口检查程序运行结果是否正确的方法。
二、kerl-uvision集成调试软件的操作操作步骤:1、双击桌面上的UV2快捷图,启动软件。
2、点击P工程N新建工程输入文件名(如A1)并点击保存。
3、出现CPU屏幕,选Atmel AT89C51 点确定。
屏幕左上方出现图标目标1。
4、点击文件新建文件出现程序输入区。
5、输入C语言程序:#include<reg52.h>void main(void){ int x,y,sum,sub,mul,div;x=5;y=8;sum=x+y;sub=x-y;mul=x*y;div=y/x;while(1);}输入后点击文件中的保存,输入程序名(例如S1.C)并选择存入的盘(如D:)点击保存。
程序名一般不超过6个字母数字,以字母打头,C语言要加尾缀:.C。
如果程序已经存在,可点击文件打开文件,找到需要选择的文件。
6、点击(图标)目标1前的“+”号,出现(图标)源程序组1,选中并点右键,选“文件增加到源程序组1”,选择文件类型为C,再选要输入的程序S1.C,点ADD(加入),点确定。
此时点击源程序组1可以看到要输入的程序S1.C 。
在对程序编译前要进行以下的设置:1、单击“project”(工程)菜单,在下拉菜单中单击“options for target 1”(目标’ 目标1’属性),再单击“target”(目标),将输入仿真器的晶振频率改为12.0MHz。
2、在目标’ 目标1’属性页面下选择output(输出) ,点击“Create HEX file”(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用。
3、对于软件仿真,在目标’ 目标1’属性页面下点“Debug”(调试),再选“S 使用软件仿真器”,同时选中“加载代码到仿真器”和“运行到main0”,然后点击“确定”。
KeiluVision2软件使用
KeiluVision2软件使⽤Keil uVision2软件使⽤Keil uVision2软件是众多单⽚机应⽤开发的优秀软件之⼀,它集编辑,编译,仿真于⼀体,⽀持汇编语⾔、PLM 语⾔和 C 语⾔的程序设计,界⾯友好,易学易⽤。
下⾯介绍Keil uVision2软件的使⽤⽅法1、⾸先,双击桌⾯上的这个图标。
进⼊Keil uVision2 后,屏幕如下图所⽰。
⼏秒钟后出现编辑界启动Keil uVision2时的屏幕进⼊Keil uVision2后的编辑界⾯简单程序的调试学习程序设计语⾔、学习某种程序软件,最好的⽅法是直接操作实践。
下⾯通过简单的编程、调试,引导⼤家学习Keil uVision2软件的基本使⽤⽅法和基本的调试技巧。
1)建⽴⼀个新⼯程单击Project菜单,在弹出的下拉菜单中选中New Project选项2)然后选择你要保存的路径,输⼊⼯程⽂件的名字,⽐如保存到E:DPJ\RW1⽬录⾥,⼯程⽂件的名字为LED,如下图所⽰,然后点击保存。
3)这时会弹出⼀个对话框,要求你选择单⽚机的型号,你可以根据你使⽤的单⽚机来选择,Keil uVision2⼏乎⽀持所有的51核的单⽚机,我这⾥还是以⼤家⽤的⽐较多的Atmel 的89C51来说明,如下图所⽰,选择89C51之后,右边栏是对这个单⽚机的基本的说明,然后点击确。
4)完成上⼀步骤后,屏幕如下图所⽰到现在为⽌,我们还没有编写⼀句程序,下⾯开始编写我们的第⼀个程序。
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项新建⽂件后屏幕如下图所⽰:此时光标在编辑窗⼝⾥闪烁,这时可以键⼊⽤户的应⽤程序了,但笔者建议⾸先保存该空⽩的⽂件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所⽰,在“⽂件名”栏右侧的编辑框中,键⼊欲使⽤的⽂件名,同时,必须键⼊正确的扩展名。
注意,如果⽤C语⾔编写程序,则扩展名为(.c);如果⽤汇编语⾔编写程序,则扩展名必须为(.asm)。
Keil uVision2使用说明
"projectfile"表示你必须提供实际的项目名称 少数情况下斜体字 也用来表示强调
省略号
中表示一段被忽略的程序 如 Void main (void) {
[Optional Items]
{ opt1 | opt2 }
Keys
Point Click Drag Double-Click
while (1); 方括号表示命令行或输入域中的可选项 如 C51 TEST.C PRINT [(filename)]
包括在大括号中的被'|'分开的文字表示一组选项 必须从中选一
以 sans serif 字体出现的字符表示键盘上实际的键,如: "Press Enter to continue." 中的 Enter 表示键盘上的回车键. 移动鼠标 直到光标直到期望的条目上 单击鼠标. 鼠标拖动操作. 双击鼠标.
注意 本手册假定你已经熟悉微软操作系统和 8051 系列产品的硬件和指令集
我们尽全力去做来保证这本手册的正确 从而保证我们个人 公司和在此提及的商标的 形象
2
从这里开始创建你的应用
3
前言
这本手册是 Keil Software 公司关于 8051 系列 MCU 的开发工具的介绍 它向新用户和 有兴趣的读者介绍本公司的产品 这本使用指南包含下列各章
第 3 章 开发工具
uVision2 集成开发环境 .......................................……………………. 21 C51 优化 C 交叉编译器 ........................................... …………………32 A51 宏汇编器 .................................................. ………………………..49 BL51 代码连接定位器 ........................................... ……………………51 LIB51 库管理器 .................................................. ………………………54 OC51 分块目标文件转换器 ....................................... 55 OH51 目标文件到 HEX 格式的转换器 ................................ 55
KEIL使用图解
第四章:Keil编译程序
4.1 Keil uVision2使用图解
Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C语言。
下面简单介绍keil uvision2的使用步骤,如果您已经会使用keil,可以跳过该部分。
第一步:安装并打开软件
第二步:“project->new project”新建工程
第三步:把工程保存到文件夹test中,并取名为test
第四步:新建工程时,需要选择cpu型号,我们选择“A T89S52”
第五步:新建工程后,需要新建.c文件
第六步:在这里我们写入代码,用来使八个贴片LED闪烁。
第七步:保存代码,并命名为main.c
第八步:在“sourse group”上点右键->“Add file to …”添加.C文件
第九步:把刚才写的main.c添加到工程中
第十步:project->option for target “target 1”->output->勾上“create HEX”。
第十一步:编译main.c文件,编译通过后可以得到二进制文件test.hex文件,可以把该文件通过串口下载到开发板中,详细下载步骤见第三章。
Keil_uVsion2教程
Keil uVISION2Keil uVISION2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS-51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持、PLM、汇编和C语言的程序设计,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
因此很多开发51单片机应用的工程师或普通的单片机爱好者,都对它十分喜欢。
Keil Cx51 是一个商业的软件,分两个版本,一个是完全版,使用时对生成的机器代码空间不作任何限制,另一个是只能编译2K代码空间的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。
运行 Keil uVISION2几秒后,出现如图1-1 的屏幕。
一、建立工程(1)点击Project 菜单,选择New Project,如图1-3。
弹出的Windows 文件对话窗口,在“文件名”中输入您的第一个C 程序项目名称(只要符合Windows 文件规则的文件名都行),这里我们用“test”,如图1-4。
图1-3 New Project 菜单图1-4 项目窗口(2)选择器件,根据需要选择相应型号的器件,这里我们选择常用的Ateml 公司的AT89C51。
此时屏幕如图1-5 所示。
点击确定后返回主界面。
图 1-5 器件选择窗口(3)点击“Target1”前面的“+”号,出现下一层的“ Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要把编写好的源程序加入,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现如图3 所示的下拉菜单。
选中其中的“Add file to Group”Source Group1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型”默认为C source file(*.c),也就是以C 为扩展名的文件,如为汇编文件,需要将文件类型改为“.ASM”。
图 1-6 加入文件(4)如需新建文件,点击图1-7 中1 的新建文件的快捷按钮,在2 中出现一个新的文字编辑窗口,这个操作也可以通过菜单File-New 或快捷键Ctrl+N 来实现。
单片机Keil软件仿真与调试技巧
单片机Keil软件仿真与调试技巧
一、引言
单片机软件开发过程中,软件调试遇到的各种问题常令初学者感到不知所措。
实际上。
各种仿真开发软件的程序调试基本方法和技巧大同小异,掌握正确的程序调试基本技巧。
对于排查这些程序错误问题可以起到举一反三、事半功倍的效果。
软件调试是单片机技术人员必须掌握的重要基本技能。
下面以单片机常用开发软件Keil为例,通过一个项目任务实例来介绍单片机软件仿真与调试的方法。
二、Keil仿真与调试
点击运行软件Keil uVision2.其调试操作步骤大体可以分为5步:
1.创建工程。
一篇详细的KEILC51UV2使用教程
一篇详细的KEILC51UV2使用教程一篇详细的KEIL C51 UV2使用教程作者:《一篇详细的KEIL C51 UV2使用教程》(这篇文章在2001年由w78713发表在C51新闻组,很古老但也很实用!)这里我大致说说怎么开始keil vision2,因为我刚开始用它,不当之处请莫见笑!希望可以互相交流,共同促进。
1、首先是新建一个*.c文件(file|new),写入你的程序,保存;2、由(project|new project)建立新工程,按程序要求输入工程名(默认后缀是.uv2),确定后弹出对话框提示你选单片机,比如我是选atmel的89c52,然后确定;3、由(view|project window)打开project window,在工程管理区显示有一个target1的文件夹,单击其前面的+号打开该文夹,可看到有一个名为source group1的子文件夹,右击它,在弹除菜单里选择add file to group 'source group1', 在弹出‘打开’对话框里选中刚才建立的*.c文件,确定后,再用close关闭对话框,你可以看到source group1的子文件夹里有文件了(就是刚才那个加进去的*.c文件)。
双击将它打开,这时如果程序的保留字没有加亮,可以用(view|option)打开对话框,选defalt,在确定就行了,当然你可以按你的习惯选其他的;4、至此你可以看到(project|build)菜单或按钮栏可用了。
选择它(或按F7)编译你的程序,在改正程序中的所有错误后,debug|start/stop debug session菜单和相应的按钮就可用了,选择它就可以开始调试了。
在view|memory打开内存观查器,在address 栏里输入d:0x**可以看到内部ram的直接寻址的变量,输入x:0x****,可以看到指定的外部ram地址,c:0x****对应代码区,而i:0x** 可以观察内部ram的间接寻址的变量(89c52的129~256地址,与特殊寄存器的直接寻址区分)。
第十二章Keiluv2软件操作指南
Keil uv2软件操作指南1 点击Project(工程)菜单,选择New Project(新工程),在"文件名"中输入您的第一个程序项目名称,假定我们用"test"."保存"后的文件扩展名为uv2这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目.这时会弹出让你选择单片机型号的对话框,我们选择ATMEL---AT89C51。
注意我们实际使用的是89s51, 他们的资源基本是一致的,不必理会。
2汇编源文件的建立: 点击FILE(文件)菜单中的NEW...(新文件)命令新建一个文本编辑窗口,在里面输入一个程序范例如流水灯程序, 然后点击FILE(文件)菜单中的SAVE(保存)命令保存文件,注意必须输入文件的后缀名.asm,例如保存为d:/prog/001.asm(注意不要有中文目录,文件名不超过8个字符, 否则编译不通过!如果您是第一次使用,建议直接保存在c盘的根目录,文件名同样取001.ASM, 不要试图把他保存在桌面/我的文档等等!)3.点击Target 1(目标1)前面的”+”,出现Source Group 1,(源程序组1)选中右键点选”Add files Group Source Group 1”(增加文件到源程序组1)这时选择文件类型为Asm,再选中001.asm文件,再按Add添加,在随后的提示框中按”确定”4.仿真部分采用Mon51协议,在使用之前应必须对软件项目进行如下设置:单击"Project"(工程)菜单,再在下拉菜单中单击"options for target target 1"(目标1属性)在下图中,单击"Target"(目标)输入仿真器的工作频率(12MHz)。
5.选择output(输出)”Create HEX file”(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用.6.在"Debug"(调试)中点选"KeilMonitor-51 Driver",同时选中加载代码到仿真器,运行到main0,然后点击设置7单击"Settings"(设置)选择要使用串口(必须和实际相符合,你的计算机可能是COM2或者其他,对此不能确定可以通过察看控制面板\硬件\端口\通讯端口来解决,同时注意电脑上不能够同时运行其他可能占用串口资源的软件例如XLISP下载软件,串口调试软件等等也必须退出,否则将引起冲突,如果您使用的是USB通信方式,那么选择系统分配的虚拟串口号)8.按以下两个向下小箭头的图标进行编译,(或者按F7快捷)编译成功后如会出现下图红箭头所指的文字,表示编译成功!此时就生成了hex文件,同时,有了这个hex文件,我们也可用isp方式烧写到单片机试验)。
keil程序debug用法
keil程序debug用法在Keil μVision中进行程序调试是嵌入式开发过程中的重要一环。
下面是在Keil中进行程序调试的基本步骤:1. 打开Keil μVision:启动Keil μVision集成开发环境。
2. 加载工程:打开或新建一个Keil工程,确保你的项目文件已加载。
3. 选择目标芯片:在“Project”菜单中,选择“Options for Target"。
在“Target”选项卡中,选择你的目标芯片型号。
确保芯片选型与你实际使用的芯片一致。
4. 配置调试工具:在“Flash Download”选项卡中,配置目标芯片的调试工具。
通常,你需要选择你的调试器型号,设置调试器连接参数。
5. 设置调试模式:在“Debug”菜单中,选择“Start/Stop Debug Session”以进入调试模式。
6. 添加断点:在你希望暂停程序执行的地方设置断点。
右键点击源代码的行号,选择“Toggle Breakpoint”或按下`F9`键。
7. 运行程序:在调试模式下,点击工具栏中的“Start/Stop Debug Session”按钮或按下`F5`键来运行程序。
当程序执行到设置的断点时,会暂停执行。
8. 查看变量值:在调试模式下,你可以查看和监视变量的值。
在“Watch”窗口中添加你感兴趣的变量,它们的值会在每次程序暂停时更新。
9. 单步执行:在调试模式下,你可以使用单步执行来逐行执行代码。
使用工具栏中的“Step Into”(F11), “Step Over”(F10), 和“Step Out”(Shift + F11)按钮。
10. 查看寄存器:在调试模式下,你可以查看和监视CPU寄存器的值。
在“Peripheral”窗口中选择“Register”标签。
11. 查看内存:在调试模式下,你可以查看和监视内存中的数据。
在“View”菜单中选择“Memory”来打开“Memory”窗口。
Keil_uv2软件应用
KEIL C51软件开发环境 uVision2 (uV2)使用
3、仿真器接口、仿真频率设置(Seting): 选择串口(COM1 )位置,目标板晶振频率(如11。 05926Hhz)。 其他设置项均于默认,确认。
KEIL 软件开发环境 uVision2(uV2)使用
步骤四、编译和连接程序
工程设置完成之后,返回主编辑窗口,工具栏显现编译按 钮用于编译与编译连接按钮: 1、选击编辑编译按钮:用于当前程序编译检查语法错误; 编译是否成功,在下方“Build”窗口会显示有无错误的信息; 如有错误。须修改程序,双击错误行,光标即可指出错误所在 行。重新编辑,编译 ,直至无误为止。 2、选择连接生成按钮:用于当前与全部程序重新编译连 接并生成目标程序。一般选择中间者即可。
3、选择芯片启动程序: 芯片选择后,会自
动提示是否选用芯片启动程序。一般选择“YES”,但 有些芯片可不需要,如AT89C51。
KEIL 软件开发环境 uVision2(uV2)使用
步骤二: 编辑பைடு நூலகம்程序,加入本工程
1、编辑源程序:完成选片后屏幕自动恢复主界面窗口 ,即
可开始编辑用户应用程序。点击“File\New”选项出现“one uvision2”(一个uv2文件)窗口(如图)。 此时已可在右侧编辑窗 口编辑用户程序,也可把已编写好的源程序拷贝进来,但要注意 保存此拷贝程序。 **但最好先保存该空白窗口,选择“File \Save as”单击,出现 “Save as”窗口。注意检查应是自建的文件夹,再填写用户文件 名。如,LSD01.ASM。扩展名应为“ASM”; 若选C语言编程,扩展 名应为“.C”。 特别提示!保存路径应与工程路径相同,按保存按钮。之后再编 写或拷贝源程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
先说一个概念:调试,在企业程序设计里(我把企业商务类型的软件开发叫企业程序设计,把单片机与驱动程序这样接触底层汇编与硬件相关的程序设计叫底层程序设计),调试一般都用来跟踪变量的赋值过程,以及查看内存堆栈的内容,查看这些内容的目的在于观察变量的赋值过程与赋值情况从而达到调试的目的。
由于企业程序的宿主就是开发它的计算机本身,因此企业程序设计比起底层程序设计,特别是单片机的程序设计调试来的更直观,调试也更方便。
单片机的程序设计调试分为两种,一种是使用软件模拟调试,意思就是用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片是由操作系统本身完成的,无法得到控制,这样就无法时时的模拟单片机的执行时序,也就是说,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成(往往要完成的比单片机慢)。
为了解决软件调试的问题,第二种是硬件调试,硬件调试其实也需要计算机软件的配合,大致过程是这样的:计算机软件把编译好的程序通过串行口、并行口或者USB 口传输到硬件调试设备中(这个设备叫仿真器),仿真器仿真全部的单片机资源(所有的单片机接口,并且有真实的引脚输出),仿真器可以接入实际的电路中,然后与单片机一样执行。
同时,仿真器也会返回单片机内部内存与时序等情况给计算机的辅助软件,这样就可以在软件里看到真实的执行情况。
不仅如此,还可以通过计算机断的软件实现单步、全速、运行到光标的常规调试手段。
图1:仿真器
总结一下两者的不同与相同:
相同点:
1:都可以检测单片机执行时序下的片内资源情况(如R0-R7 、PC计数器等)
2:可以实现断点、全速、单步、运行到光标等常规调试手段。
不同:
1:软件调试无法实现直接连接硬件电路的调试,只能通过软件窗口虚
拟硬件端口的电平输出情况而仿真器可以实现与单片机一样的功能的
硬件连接,从某种意义上说这个时候仿真器就是一个单片机。
2:软件调试执行单片机指令的时间无法与真实的单片机执行时间画上
等号,也就是说如果一个程序在单片机中要执行300us,可能在计算机
中执行的时间可能会比这个长很多,而且无法预料。
仿真器则是完全
与单片机相同。
3:软件调试只能是一种初步的,小型工程的调试,比如一个只有几百
上千行的代码的程序,软件调试能很好的完成,如果是一个协调系
统,可能还需要借助几个单片机仿真器和相关的仪器才能解决。
4:软件仿真不需要额外花钱,而硬件需要,一个仿真器一般都上千
元,同时可以仿真许多种单片机的工作。
最后,调试一般都是在发生错误与意外的情况下使用的,如果程序能正常执行调试很多时候是用不上的,所以最高效率的程序开发还是程序员自己做好规范,而不是指望调试来解决问题。
下面将具体介绍如何使用Keil uVision 来软件调试单片机程序。
首先:打开一个已经编译通过的单片机项目(如何新建与编译单片机程序项目这里省略)
选择Debug下面的Start/Stop Debug Session,这个选项可以打开调试也可以关闭调试
接下来看到的窗口就是调试窗口了:
下面具体说说相关子窗口的功能:
1:左侧的ProjectWorkspace
Regs是片内内存的相关情况值,Sys是系统一些累加器、计数器等。
Regs 很简单就不多说。
具体介绍一下Sys
a 累加器ACC,往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。
b 寄存器B ,主要用于乘法和除法操作
sp
sp_max
dptr 数据指针DPTR
PC $
states 执行指令的数量
sec 执行指令的时间累计(单位秒)
psw 程序状态标志寄存器PSW,八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。
p 奇偶标志P。
反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。
f1
ov 溢出标志位OV。
MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。
rs
f0
ac 辅助进位标志AC。
又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。
cy 进位标志CY(PSW 7)。
它表示了运算是否有进位(或借位)。
如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0
由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)
根据指令执行的不同上述值会有相应的变化,也正是为了监测这些在单片机中看不到的值而达到调试的目的。
虽然软件调试无法实现硬件调试那样的信号输出,但是可以通过软件窗口的模拟监测输出信号的高低电平以及单片机相关端口的变化。
上图所示,Port0,Port1,Port2,Port3就对应于单片机的四个P0,P1,P2,P3 口,共32个针脚。
这是全部打开后的效果。
有了输出,就应该有输入的设置:
这个按钮可以打开输入预设窗口,输入值窗口如下:
选择不同的Int Source 会有不同的 Selected Interrupt的变化,通过选择与赋值达到模拟输入的目的。
接下来是串口的设置:
这是设置串口的窗口
监测窗口数据还有一个窗口:
点击:将会出现,这个窗口可以监测从串口输出的ASCII代码。
关于串口的问题,以后我会有专门的文章介绍,这里就这样大致介绍一下。
最下面还有一个定时器的设置:
3个定时器与一个看门狗,设置定时器的数量与工程选择的单片机种类有关系,如果是8051就只有2个定时器,如果是选择8052 就有3个定时器了。
定时器的设置很简单:
参考的数很多,这里暂时省略了,以后以专门的篇幅介绍。
下面再介绍一下一些常用的调试按钮:
就是Reset ,相当于单片机最简系统的复位按钮,按下后,所有的系统状态将变成初始状态
这是全速运行,相当于单片机的通电执行。
这个就是停止全速运行的按钮。
step into 逐语句;进入并单步执行;单步执行
step over 逐过程
step out 跳出
执行到断点处
可以在代码所在窗口的最左边右击按钮插入一个断点,如下图所示:
有了这个功能,你就可以控制监控要执行到某位置时系统的状态。
最后在介绍一下一个很实用的功能:
汇编语言,如果你有相应的汇编知识的话就可以对比C51 与汇编的对比了。
由于汇编的效率高很多,这也可以作为查看C51执行效率的一个方法。
上图中就可以看出,C51 代码是如何被解释为汇编的。
其实调试还有很多的功能,我这里只是介绍了一小部分,希望能起到抛砖引玉的作用,更多的细节需要你自己去发掘与学习。