实验一keil软件的使用及简单程序的调试方法
实验一 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与虚拟仿真平台Proteus的使用实验一

《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验实验目的(1)了解Keil和Proteus软件的基本特点和功能。
(2)学会使用Keil软件进行单片机中断应用和定时器/计数器应用的编程。
(3)学会使用Proteus软件进行单片机中断应用和定时器/计数器应用的原理图的绘制和程序实现。
(4)学会使用Keil和Proteus两种软件的联调。
实验指导一、Keil C51的使用1.创建项目编写一个新的应用程序前,首先要建立项目(Project)。
(1)在编辑界面下,单击菜单栏中的[Project],出现下拉菜单,再点击选择中的“New Project”。
(2)单击“New Project…”选项后,就会弹出“Create New Project”窗口。
在“文件名(N)”中输入一个项目的名称,保存后的文件扩展名为“.uvx”,即项目文件的扩展名,以后可直接单击此文件就可打开先前建立的项目。
在“文件名(N)”窗口中输入新建项目文件的名字后,在“保存在(I)”下拉框中选择项目的保存目录,单击“保存(S)”即可。
(3)选择单片机,单击“保存(S)”后,会弹出“Select Device for Target”(选择单片机)窗口,按照提示选择相应的单片机。
搜索“AT89C52”并选择。
(4)单击“确定”按钮后,会出现对话框。
如果需要复制启动代码到新建的项目,选择单击“是”。
如选择单击“否”,启动代码项“STARTUP. A51”不会出现,这时新的项目已经创建完毕。
2.新建文件新的项目文件创建完成后,就需要将用户源程序文件添加到这个项目中,添加用户程序文件通常有两种方式:一种是新建文件,另一种是添加已创建的文件。
(1)单击快捷按钮,这时会出现一个空白的文件编辑画面,用户可在这里输入编写的程序源代码。
(2)单击中快捷按钮,保存用户程序文件,这时会弹出窗口“Save As”的对话框,在“保存在(I)”下拉框中选择新文件的保存目录,这样就将这个新文件与刚才建立的项目保存在同一个文件夹下,然后在“文件名(N)”窗口中输入新建文件的名字,如果使用C51语言编程,则文件名的扩展名应为“.c”。
实验报告

实验一keil和proteus的安装和使用一、实验目的1.掌握keil和proteus的安装的方法2.了解keil和proteus使用的步骤二、实验步骤1)keil的安装1.打开keil uvision4的安装文件夹,双击运行文件c51v900.exe文件,如图1所示:图12.双击后,出现如图2的对话框,选择next.图23.在弹出的许可协议对话框中选择同意,之后继续选择next.弹出安装c51的安装对话框,如图3,将安装的目录选择在D:\Keil,再次单击next.图34.此时弹出个人信息对话框,需要输入姓名及电子邮件信息,我们可以随便填入,如下图4。
单击next,程序将开始安装。
5.此时弹出安装完成对话框,如下图5所示:我们单击finsh图56.此时在电脑桌面上会出现keil的快捷方式。
注意此时虽然完成了安装,但是在编译一些较大的文件时,将会出现编译不能继续进行。
解决方法是将此软件进行破解,破解方法如下:打开“破解软件(注册机)”文件夹,双击KEIL_Lic.exe。
出现如下图6的界面图67.打开keil uVision4,点击File---License Management...,打开License Management窗口,复制右上角的CID,如下图7所示:8.将该CID复制到打开的KEIL_Lic.exe软件中对应的CID中,单击Generate,此时对话框中出现一长串英文字符,如下图8所示:图89.再打开keil uVision4,点击File---License Management...,打开License Management窗口将该串英文字符输入到到License Maganement对话框中New License ID Code(LIC)中,单击Add Lic即可,如下图9所示:图910.此时就完成了keil uvision4的全部安装。
2)keil的使用1.建立一个文件夹,放在F:\keil工程,如下图10所示。
Kiel 软件的使用和简单程序调试

在对程序编译前要进行以下的设置: 1、单击“project”(工程)菜单,在下拉菜单 中单击“options for target 1”(目标’ 目标1’ 属性),再单击“target”(目标),将输入仿真器 的晶振频率改为12.0MHz。 2、在目标’ 目标1’属性 页面下选择output(输 出) ,点击“Create HEX file”(产生hex文件)的 选项,以便汇编后生成HEX代码,供编程器使用。
8、运行程序 点击 (左图标)或停止程序 运行(右图标);如果希望单步执行(即一条一条的 执行指令,以便调试程序)可点击 图标,每点击一 次黄箭头会向下移动,指向下一条指令。
9、观察程序的运行结果
在单步调试时,每执行一条指令,都可在屏幕左上方 的寄存器区和右下方的存储区观察运行的状态。程序 存储器中表示的是程序汇编后的二进制代码,内外数 据存储器中表示的运行中数据结果的变化。观察时可 在相应存储区的地址栏打入地址即可,如想看内存20H 中的内容,只需在相应存储区的地址栏打入 D:0020H。
一、 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 软件进行在线仿真,这样可以避免每次改动程序都要进行单片 机的烧写。
实验一 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作输出接两个发光二极管。
Keil 的使用与汇编语言上机操作 实验报告

实验名称 Keil 的使用与汇编语言上机操作指导教师罗志祥专业班级光电1406 姓名段昳晖学号 U2014***** 联系电话 137******一、任务要求1.掌握Keil环境的使用1)字节拆分、合并:调试e421.asm程序,观察相关寄存器和单元的内容。
2)数据块填充:调试fill.asm程序,观察相关寄存器和单元的内容。
2. 编写多个十六位数的加法程序有4个十六位无符号数,连续存放在20H开始的片上数据区中,低八位先存,高八位在后。
要求:和存于R3(高八位)和R2(低八位),进位位存于R4.二、设计思路1.掌握Keil环境的使用1)字节拆分、合并利用汇编语言中的XCHD和SWAP两个语句来实现将八位二进制数拆分为两个四位二进制数并分别存储于不同的存储空间的功能,BCD码与30H相或(加上30H)得到ASCII 码。
将两个ASCII码和0FH相与(高四位清零)得到BCD码,利用SWAP语句将高位数放至高四位,将高位数和低位数相或可实现字节的合并。
2)数据块填充将R0用作计数器,DPTR用作片外数据指针,A作为原始数据来源,依顺序在片外的存储单元内容填充数据。
利用循环语句来减少程序长度,并控制填充单元个数为片外100H个。
利用RO的进位实现,当且仅当RO=00H时,结束循环赋值过程,此时R0已经经历了从00H-0FFH的过程,即计数周期为100。
同时赋值循环也历经了一百次,完成了将片外RAM 7000H-70FFH单元按数据依次递增规律的填充。
2.多个十六位数的加法程序以2个十六位无符号数相加为基础,将输入的4个无符号数(以a、b、c、d代表),两两相加,所得的2个和,再作为加数,求和,得到4个数的和。
其中需要注意的是进位的处理。
四数求和进位,不仅有两和数相加产出的进位还要加上产生两和数时的进位。
其中2个十六位无符号数相加的原理为,先对两数低位求和,提取出其进位,加到两数高位和中,并将高位求和进位,即两数求和进位保存下来。
Keil C51的使用

编辑课件
16
5、移除文件
要把某个文件从工程中移除,可在此文件上单击右键, 然后单击“Remove File ’ ’ ”。
移除不是删除,文件依然存在。
编辑课件
17
我来演示
1、打开一个已有的工程项目(不是默认项目)。 2、打开一个已有的工程项目,修改单片机型号。
3、打开一个已有的工程项目,删除原有的文件,装 入一个已有的C语言文件。
此时光标在编辑窗口里闪烁,就可以输入用户的应 用程序了。
或者把已有的程序从其他地方直接复制到程序编辑 窗口内。
文件的建立也可以用Windows环境的附件中的记 事本或写字板等纯文本编辑软件完成。
参见教材《单片机的C5编1辑应课件用程序设计》第 309 页 27
新建文件时,建议首先保存空白文件。
编辑课件
11
如果在选择了目标器件后,想更改器件,可选择 Project菜单中的Select Device for Target‘Tartet 1’。
由于不同厂家的许多型号性能相近,因此,如果找不 到用户要求的芯片信号,可以选择其他公司的相近型 号。
参见教材《单片机的C5编1辑应课件用程序设计》第 308 页 12
uVision2支持的所有CPU器件的型号根据生产厂家 形成器件组。
用户可根据需要选择相应的器件组并选择相应的器 件型号。
编辑课件
10
通过滚动条,选择生产厂商、目标CPU。
如:Atmel器件组内的AT89C51单片机。首先找到 Atmel公司,然后单击左边的“+”号展开该组。选择 AT89C51之后,单击“确定”。
程序输入完毕后别忘了再次保存。
参见教材《单片机的C5编1辑应课件用程序设计》第 309 页 28
实验一 Keil C51软件使用

实验一Keil软件使用
一、实验目的
1、熟悉Keil软件的工作界面及其基本使用方法;
2、初步掌握程序的调试方法,能够查询指令的执行效果;
3、熟悉汇编语言程序和C语言程序的编译方法,能够生成目标代码HEX文档。
二、实验仪器
1、PC机;
2、Keil软件。
三、实验内容
1、熟悉Keil C51软件界面及使用。
2、简单程序及汇编指令调试,编译。
(1) 传送指令
设置内部RAM的值,(30H)=40H, (40H)=10H,单步执行下列程序,检查结果。
MOV R0,#30H
MOV A,@R0
MOV R1, A
MOV B, @R1
执行后:(R0)= ,(R1)= ,(A)= ,(B)= ,(30H)= ,(40H)= 。
(2) 运算指令
3、编译LED灯闪烁程序,生成HEX文档。
(1) PROTEUS电路图
(2) 汇编程序
ORG 0000H
CLR P1.0 ; LED点亮
SJMP $
END
(3) C语言程序
#include <reg51.h>
sbit LED = P1^0;
void main()
{
while(1)
{
LED =0;
}
}
四、预习要求
1、读懂各程序;
2、预先给出运算结果,以便和实验结果比较;
3、能够读懂,并能编写点亮LED灯程序。
五、思考题
1、如何才能使上述电路图的LED灯闪烁?
2、何为汇编语言伪指令?程序中“ORG 0000H”和“END”分别具有什么作用?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 选项。
并在弹出的对 话框中确定保存的位置及工程名称。
硬又弹出U 及相关设置要求用户选tmef
公
司的
AT89C51单片机。
如下图所示
单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。
(2 )建一文件
单击“ File” / “ NeW'命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。
单击“ File” / “Save” 命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。
如下图所示。
(3)将文件添加到工程中
、单击“Target 1”前的“ +”号则展开后变成“--号,并右键单击“ Source Group 1 在弹出的下拉菜单中执行“ Add Files to Group Source Group 1 '命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择“Asm source file”后找到要添加的文件名并选中,单击“ Add”即可。
ORG 0000H
LJMP SY1 ORG 0030H SY 1:MOV A,#78H
MOV 50H,A
MOV
R0,#56H
MOV @R0,A
(4)在源文件编辑框中输入下列程序
右击“Target 1”在弹出的下拉菜单中
话框中,单击 “Output 中单击“Create HEX File 选项,使程序编译后产生 HEX 代码, 供下载器软件使用。
把程序下载到
上述界面可以完成一系列的相关设 置。
如实现单片机型号选择的设置即 Device 、单片机硬件的相关设置即 Target 、
SJMP $
(5)程序下载到单片机中
END
执行
Opticn^ for Tar R Targe l. 1J
命令,在弹出的对 AT89C51单片机中。
如下图所示
单片机输出项设置即Output 等,其余均为 默认项。
3.学生练习:建立一工程名为:学号+姓名 +实验1,并将下列文件添加到该工程中。
并按要求回答下列问题。
ORG 0000H LJMP START ORG 0030H START:MOV R0 #30H MOV A ,@R0 MOV B,A SWAP A
ANL A,#0FH
简述项目工程文件的建
立步骤如何给项 目工程添加文件
(1)ORG 0000H 与 ORG 0030H 指令分别 是什么含义0000H 地址中存放LJMP 指令 的作用(2)为什么在0000H 地址LJMP 指 令 (3)该程序实现什么功能你能否举例说 明 (4)SJMP 令中的$是什么含义此指令 是怎么执行的 五、实验报告 1.按学生练习中的要求回答相关问题并填 写到实验报告中。
补充调试方法:
1.编辑源程序并保存为 .ASM 文件(或 .C 文件)。
编辑、连接和运行。
2. 观察代码存储器内容时在地址框中输 入: INC R0
MOV @R0,A
INC R0
MOV A,B
ANL A,#0FH MOV @R0,A SJMP $
END
C:0X 地址;观察内部数据存储器内容时在地址框中输入:I:0X 地址;观察外部数据存储器内容时在地址框中输入:X:0X 地址;修改数据存储器单元的内容时,用鼠标右击要修改的存储单元地址,在弹出下拉菜单中执行Madify Memory at 命令,在弹出的对话框中输入具体的数值。
3. 执行debug/step 命令(单步执行),观察程序指针PC的变化,观察左窗格中单片机内部资源情况的变化,观察存储器单元的变化。
4. 再次执行debug 命令,退出运行。