实验一Keil软件的使用及简单程序的调试方法

合集下载

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口单片机串行口是单片机中很常见的接口之一,常用于与外界通讯,如与PC机通讯,接收或发送数据等。

Keil软件可以帮助我们模拟及调试单片机串行口,下面是详细介绍。

一、Keil软件简介Keil是一款强大的单片机编程软件,具有模拟器和仿真器。

其可支持多种嵌入式系统和多种编译器。

同时Keil具有标准C 编译器,专门用于单片机编程,而且具有与某些模拟器和编译器的集成,可提供完整的嵌入式开发环境。

二、使用Keil软件模拟1. 连接软件与硬件在开始模拟之前,需要将单片机与电脑通过串口连接好。

打开“Options for Target”对话框,选择“Debug”选项卡,选择正确的COM 端口,设置存根速度,完成调试设置。

2. 添加串行口文件在Keil软件中打开设计文件,键入“#include <reg52.h>”来添加注册头文件,其中包含了需要使用串口的相关寄存器位。

利用如下代码,可以对串行口的各项参数进行设置,例如波特率、校验位等等。

void init(){SCON = 0X50; //使串口工作在方式1,即8位数据,可变波特率TMOD |= 0X20; //TMOD的高4位设为0010,使Timer1工作在方式2TH1 = 0XF3; //波特率设为2400bpsTL1 = 0XF3;TR1 = 1; //启动Timer1ES = 1; //开启串口中断EA = 1; //打开总中断}3. 编写数据收发代码在调用串口的过程中,我们往往需要使用到接收和发送两个函数。

在接收方面,我们需要设置好接收中断模式以及缓冲区的异步处理。

编写简单的数据接收收发代码如下:void send_data(unsigned char dat){SBUF = sdat; //将数据传输到SBUF当中while(!TI); //等待发送完成TI = 0; //完成发送}unsigned char receive_data(){while(!RI); //等待接收完成RI = 0; // 完成接收return SBUF; // 返回接收缓冲区}4. 最后进行模拟完成串行口配置和数据处理之后,就可以开始模拟调试了。

keil调试程序方法

keil调试程序方法

keil调试程序方法
一、Keil调试程序方法
1、打开Keil,新建工程,在工程目录下,右键选择“添加新建文件”,然后选择“源文件”。

这时会弹出“新建文件对话框”,在文件类型中选择“C文件”。

2、编写C代码,调试程序,为了方便调试,先在程序里加上调试的操作,如“printf”,“getchar”等。

3、如果添加多个C文件时,也可以选择“添加新建文件”,然后选择“工程文件”,在弹出的对话框里输入文件名,然后点击“确定”。

4、编译源代码,编译完成后,查看是否有编译错误,如果没有编译错误,就可以继续下一步。

5、点击编译器的“调试”按钮,它会自动加载要调试的程序,然后就可以进行调试了。

6、在Keil的调试界面上,可以使用鼠标画“断点”,程序运行时,就能自动地停在“断点”处。

7、当一段程序运行完成,可以按F11快捷键,让程序自动运行,或者按“运行”按钮,让程序在断点处暂停,然后再单步执行一行一行调试。

8、Keil调试界面可以编辑程序,也可以查看程序的运行结果,从而可以及时发现程序中的bug。

9、在Keil的调试界面上,可以编辑程序,也可以给变量赋值,从而方便快速地调试程序。

10、当完成调试后,可以按“重新编译”按钮,重新编译整个程序,再查看编译结果,最后保存这个工程,保存文件名为*.uv2文件。

实验一 Keil C51集成开发环境的使用练习、仿真与调试

实验一 Keil C51集成开发环境的使用练习、仿真与调试

实验一Keil C51集成开发环境的使用练习、仿真与调试一、实验目的1、熟悉Keil C51集成开发环境的使用方法2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。

二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台三、实验内容1、进行Keil C51集成开发环境的安装和使用练习。

然后按照以下内容建立文件并编译产生HEX文件。

ORG 0000HLJMP MainORG 00F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP Main;END2、进行Keil C51集成开发环境的仿真调试练习。

然后按照以下内容建立文件并编译仿真调试。

ORG 8000HLJMP MainORG 80F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP MainEND四、实验要求1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。

实验一 KEIL软件的使用及P1口控制

实验一  KEIL软件的使用及P1口控制

实验一KEIL软件的使用及P1口控制一实验目的1、学习KEIL软件的使用方法及单片机实验平台2、学习P1口的控制方法3、学习延时子程序的编写和单片机延时计算方法二实验原理1、KEIL软件是德国Keil公司开发的基于Windows平台的单片机集成开发环境软件。

KEIL软件包括编译器、连接器、库管理器和仿真调试器,通过集成开发环境(μVision)将这些部分组合在一起。

2、P1口是一个八位的准双向I/O口,其中一位的内部结构如图所示,输出驱动电路有一只场效应管和一个上拉电阻组成。

每一根口线都可以分别定义成输入或输出线。

做输出线时,写入“1”,则Q’为“0”,T1截止,P1.X输出高电平,写入“0”,则Q’为“1”,T1导通,P1.X输出低电平。

做输入线时,必须先向该口线写“1”,使T1截止。

3、程序延时分析方法:延时=指令个数X机器周期机器周期=12÷nMHZ n为单片机时钟频率三实验要求与步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。

1、使用单片机最小应用系统1模块。

关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。

(并口线与右侧的8个插孔是串联等效的。

)2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。

4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

5、(先接通仿真器电源再开启试验箱电源)打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。

发光二极管单只从右到左轮流循环点亮。

注:软件具体操作见附录实验(二):用P1.0、P1.1作输入接两个置位开关,P1.2、P1.3作输出接两个发光二极管。

Kiel 软件的使用和简单程序调试

Kiel 软件的使用和简单程序调试

二、kerl-uvision集成调试软件的操作
操作步骤:1、双击桌面上的UV2快捷图 软件。 ,启动
2、点击P工程 A1)并点击保存。
N新建工程
输入文件名(如
3、出现CPU屏幕,选Atmel AT89C/S51 点确 定。屏幕左上方出现图标目标1。
4、点击文件ຫໍສະໝຸດ 新建文件出现程序输入区。
输入程序: ORG 0000H LJMP LOP2 ORG 0040H LOP2:MOV 20H , #5AH MOV A , 20H MOV 21H , #10H ADD A , 21H MOV 22H,A SJMP $ END
一、 keil程序调试软件简介 1、Keil软件是目前最流行的开发MCS-51系列单片机的软件。 keil软件由美国keil Software公司出品,用于单片机软件的 录入、编辑、编译、调试。Keil软件提供了包括宏汇编、链接 器、库管理和仿真调试器在内的完整开发方案,并通过集成开 发环境(μVision)将它们组合在一起。掌握keil软件的使用 对MCS-51单片机的开发非常重要。Kiel软件的应用将在后续程 序设计部分进行介绍。 2、keil程序的安装 直接拷贝随机附带的光盘\开发工具\keil\到c盘的根目录, 去掉所有文件的只读属性,注意必须是c盘根目录,不要安装 在其他目录,执行keil\uv2\uv2.exe即可(可将文件发送到桌 面快捷方式)。 Keil软件是单片机的开发软件,可以通过Keil 软件进行在线仿真,这样可以避免每次改动程序都要进行单片 机的烧写。
对C语言程序,调试时需打开以下窗口: (1)变量的查询: 打开V视图:W监视&调用堆栈窗,在局部栏中或监 视#1、2中观察结果。 (2)用scanf输入,或用printf输出时: 打开V视图:串行口1#观察结果。 当单步运行时,在scanf语句运行后,在串行口1# 中光标位置按输入格式要求输入数据后回车。 (3)修改或停止运行程序时再次点击 ,退出 运行状态,可以进行程序的修改。

keil调试经验

keil调试经验

KEIL调试高级技巧在调试状态,Debug 菜单项中的命令可以使用了,有关编译的工具栏按钮消失了,出现了一个用于运行和调试的工具栏,Debug 菜单上的大部份命令都有相应的快捷按钮。

从左到右依次是复位、运行、暂停、单步跟踪、单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令;然后按一下图示第二个“运行”按钮。

连接上相关的实验资源,本实验用一条8PIN的数据排线把实验仪的CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。

这时你会看到实验仪的八个红色LED,轮流点亮,表示运行成功,也可以查看相关的变量和参数,非常方便。

⒈单步跟踪运行使用菜单Debug->Step 或上图第四个单步运行按钮或使用快捷键 F11 可以单步跟踪执行程序,在这里我们按下 F11 键,即可执行该箭头所指程序行,每按一次 F11,可以看到源程序窗口的左边黄色调试箭头指向下一行,如果程序中有Delay延时子程序,则会进入延时程序中运行。

⒉单步运行如果Delay 程序有错误,可以通过单步跟踪执行来查找错误,但是如果 Delay 程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此,可以在调试时使用 F10 来替代 F11(也可使用菜单 Step Over 或相应的命令按钮),在 main 函数中执行到 Delay时将该行作为一条语句快速执行完毕。

为了更好的进行对比,我们重新进入仿真环境,将反汇编窗口关闭,不断按F10 键,可以看到在源程序窗口中的左边黄色调试箭头不会进入到延时子程序。

⒊全速运行点击工具栏上的“运行”按钮或按F5 键启动全速运行,全速执行程序,此时用户板上的 P1 口所接 LED 以流水灯状态显示。

⒋暂停点击工具栏上的按钮,此时用户板上的P1 口所接 LED 停止以流水灯状态显示,只有一个 LED 灯点亮(取决于暂停前的 P1 的值)。

实验一 Keil软件的使用及简单程序的调试方法

实验一 Keil软件的使用及简单程序的调试方法

实验一 Keil软件的使用及简单程序的调试方法一、实验目的掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。

二、实验器材计算机1台三、实验内容1.Keil的使用方法。

2.建立一个单片机汇编语言程序的调试过程及方法四、实验步骤1.Keil的使用方法。

Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。

启动Keil 后的界面如下:几秒钟后即进入Keil的编辑界面。

用户便可建立项目及应用程序。

2.简单程序的调试方法Keil是通过项目工程来管理汇编程序的。

因此在调试程序前必须建立一个工程,工程名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。

(1)建立一工程单击Project菜单,在弹出的下拉菜单中选中New Project选项。

并在弹出的对话框中确定保存的位置及工程名称。

又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。

选择Atmel公司的AT89C51单片机。

如下图所示单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。

(2)建一文件单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。

单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。

如下图所示。

(3)将文件添加到工程中单击“Target 1”前的“+”号则展开后变成“-”号,并右键单击“Source Group 1”在弹出的下拉菜单中执行“Add Files to Group ‘Source Group 1’”命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择“Asm source file”后找到要添加的文件名并选中,单击“Add”即可。

Keil uVision2等软件使用

Keil uVision2等软件使用

实验一 Keil uVision2等软件使用(2学时)一. 实验目的1. 熟悉Keil uVision2 软件的使用方法;2. 熟悉仿真器的用法;3. 熟悉烧录芯片的过程。

二. 实验设备1. Keil Keil uVision2 开发系统一台;2. +5V电源一台;3. 仿真器一条;4. 单片机实验仪一台。

三. 实验内容及步骤(一)Keil uVision2软件的实验步骤:1.点击桌面快捷图标,可以直接进入主画面:2. 新建的工程要起个与工程项目意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为 Test ,并将 Test 工程“保存”到C:\Keil下:3. Keil环境要求我们为 Test 工程选择一个单片机型号;我们选择 Atmel 公司的 89C51(虽然我们使用的是89S51,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。

“确定”后工程项目就算建立了。

4. 点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。

在这里你可以进行编辑、修改等操作。

mov p0,#B ;将二进制代码送P0口ajmp $ ;程序在此原地踏步end ;程序结束标志5. 保存文件,保存文件时,其文件名最好与前面建立的工程名相同(当然这里为 Test 了),其扩展名必须为 .Asm!“文件名”中一定要写全,如:Test.Asm;6.将Asm文件添加到工程中。

具体做法如下:(见下图)鼠标右键点击“Source Group 1”,在弹出的菜单中选“增加文件到组Source Group 1”:在接下来出现的窗口中,选择“文件类型”为“Asm源文件(*.a*,*.src)”(由于我们使用的是汇编语言,所以选择Asm源文件),选中刚才保存的Test.Asm,按“Add”,再按“关闭”,文件就添加到了工程中。

7.设置目标属性:向工程添加了源文件后,鼠标右键点击“TarGet 1” ,在弹出的菜单中选“目标 Target 1 属性”,如下图:在打开的话框中,选择“输出”选项卡,在这个选项卡中,“E生成HEX文件”选项前要打勾,按“确定”退出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一Keil软件的使用及简单程序的调试方法
、实验目的
掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。

、实验器材
计算机1台
三、实验内容
1. Keil的使用方法。

2 .建立一个单片机汇编语言程序的调试过程及方法四、实验步骤
1 . Keil的使用方法。

Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。

启动
Keil后的界面如下:
几秒钟后即进入Keil的编辑界面。

用户便可建立项目及应用程序。

2•简单程序的调试方法
Keil是通过项目工程来管理汇编程序的。

因此在调试程序前必须建立一个工程,工程
名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验* ”来命名。

(1) 建立一工程
单击Project菜单,在弹出的下拉菜单中选中New Project选项。

并在弹出的对话框中确定保存的位置及工程名称。

又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。

选择Atmel公司的AT89C51单片机。

如下图所示
单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,
需要再建一个程序文件并将其添加到此工程中。

(2) 建一文件
单击“ File ” / “New命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称
及保存位置,该文件还没有加载到所建立的工程中。

单击“File ” / “Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编
辑。

如下图所示。

(3)
将文件添加到工程中
单击"Target 1 ”前的"+”号则展开后变成"-”号,并右键单击"Source Group 1 在弹出的下拉菜单中执行" Add Files to Group ‘ Source Group 1 '”命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择" Asm source file ”后找到要添加的文件名并选中,单击“ Add”即可。

jS Tumi I
(4) 在源文件编辑框中输入下列程序。

ORG 0000H
LJMP SY1
ORG 0030H
SY1:MOV A,#78H
MOV 50H,A
MOV R0,#56H
MOV @R0,A
SJMP $
END
(5) 程序下载到单片机中
令,在弹出的对话框中,单击“ Output”中单击“ Create HEXFile ”选项,使程序编译后产生HEX代码,供下载器软件使用。

把程序下载到AT89C51单片机中。

如下图所示。

上述界面可以完成一系列的相关设置。

如实现单片机型号选择的设置即Device、单片机硬件的相关设置即Target、单片机输出项设置即Output等,其余均为默认项。

3.学生练习:建立一工程名为:学号+姓名+实验1,并将下列文件添加到该工程中。

并按要求回答下列问题。

ORG 0000H LJMP START
ORG 0030H
START:MOV R0#30H
MOV A @R0
MOV B,A
SWAP A
ANL A,#0FH
INC R0
MOV @R0,A
INC R0
MOV A,B
ANL A,#0FH
MOV @R0,A
SJMP $
END
简述项目工程文件的建立步骤?如何给项目工程添加文件?
(1)ORG 0000H与ORG 0030H旨令分别是什么含义?0000H地址中存放LJMP指令的作用?
(2)为什么在0000H地址LJMP指令?
(3 )该程序实现什么功能?你能否举例说明?
(4) SJMP $指令中的$是什么含义?此指令是怎么执行的?
五、实验报告
右击“ Target 1”在弹出的下拉菜单中执行□pt iont for J Target 1F
1. 按学生练习中的要求回答相关问题并填写到实验报告中。

补充调试方法:
1. 编辑源程序并保存为.ASM 文件(或.C 文件)。

编辑、连接和运行。

2. 观察代码存储器内容时在地址框中输入:C: 0X地址;观察内部数据存储器内容时在地址
框中输入:I : 0X地址;观察外部数据存储器内容时在地址框中输入:X:0X地址;修改数据存储器单元的内容时,用鼠标右击要修改的存储单元地址,在弹出下拉菜单中执行Madify Memory at 命令,在弹出的对话框中输入具体的数值。

3. 执行debug/step命令(单步执行),观察程序指针PC的变化,观察左窗格中单片机内部资源情况的变化,观察存储器单元的变化。

4. 再次执行debug 命令,退出运行。

相关文档
最新文档