搜档网
当前位置:搜档网 › 基于keilc51集成开发环境的仿真与调试

基于keilc51集成开发环境的仿真与调试

基于keilc51集成开发环境的仿真与调试
基于keilc51集成开发环境的仿真与调试

基于Keil C51 集成开发环境的仿真与调试

一.实验目的

熟悉Keil C51 集成开发环境调试功能的使用和DP-51PRO 单片机综合仿真实验仪的使用。二.实验设备及器件

IBM PC 机一台

DP-51PRO 单片机综合仿真实验仪一台

三.实验内容

调试仿真功能是指DP-51PRO 单片机综合仿真实验仪运行单片机P87C52X2 内部的MON51 监控程序,把用户的应用程序装载到外部SRAM 中,从而实现运用Keil C51 集成开发环境所提供的所有调试命令来调试用户的应用程序或仿真用户的应用系统,然后按照以下内容建立文件并编译仿真调试。

ORG 8000H

LJMP Main

ORG 80F0H

Main:

MOV R7, #0

Loop:

MOV R6, #0

DJNZ R6, $

DJNZ R6, $

DJNZ R6, $

DJNZ R6, $

DJNZ R7, Loop ;延时

CPL 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

;

END

四.实验要求

熟练掌握结合DP-51PRO 单片机综合仿真实验仪和Keil C51 集成开发环境进行仿真调试。五.实验步骤

1.用40 针排线把DP-51PRO 实验仪上的A1 区J76 接口和A2 区J79 接口相连,然后使用导线把A2 区的J61 接口与D1 区的J52 接口相连。

2.对DP-51PRO 实验仪上电,首先,在A1 区,把JP13 中的SRAM_E 和FLASH_E 两个跳线座的短路器拔走(即不短接),把MOD_SW1 开关拨到LOAD 模式,即在下载状态

下,用户应将本实验仪所提供的专用仿真调试芯片P87C52X2插入到DP-51PRO单片机综合仿真实验仪的U13锁紧座上;然后ISP 跳线JP14 跳开(即不短接),短接JP15 的1、2 两个跳线(TXD、RXD),然后按下复位按键“RESET”。此时,DP-51PRO 单片机综合仿真实验仪即进入下载状态。然后接上串口线,在PC 机上双击DPFlash 下载软件的快捷图标(DPFALSH 安装版在光盘的SOFTWEAR 目录内,运行安装即可),运行DPFlash 下载软件,这时将出现DPFlash 下载软件的操作界面。在DPFLASH 上型号:的下拉菜单选择DP-51PRO ,然后选择适当的通信口即可。另外DPFlash 下载软件还内嵌一个串口调试器,菜单栏的串口调试器,用户可以使用它进行串口调试。然后在主界面中点击编程命令按钮,在出现如图2.24 所示的编程窗口中选择其它编程选择栏的编程MON51 选项,单击编程命令按钮即可自动把MON51.HEX 监控程序下载到DP-51PRO 单片机综合仿真实验仪的Flash 中。若无异常,则提示编程正常结束,这时关闭该窗口退出DPFlash 软件。把DP-51PRO 单片机综合仿真实验仪A1 区的工作模式选择开关(MOD_SW1)切换到RUN 处,然后按一下复位键(RESET),MON51 程序就开始运行了。此时,DP-51PRO 单片机综合仿真实验仪即进入调试状态。调试仿真功能是指DP-51PRO 运行单片机P87C52X2 内部的MON51 监控程序,把用户的应用程序装载到外部SRAM 中,从而实现运用Keil C51 集成开发环境所提供的所有调试命令来调试用户的应用程序或仿真用户的应用系统。3.关闭DPFlash 软件。把DP-51PRO 单片机综合仿真实验仪A1 区的工作模式选择开关(MOD_SW1)切换到RUN 处,然后按一下复位键(RST),MON51 程序就开始运行了。此时,DP-51PRO 单片机综合仿真实验仪进入调试状态。

4.用户使用Keil C51 集成开发环境建立工程、编辑与编译“实验内容”所列的程序。(1) 双击Keil C51 快捷图标,进入Keil C51 集成开发环境,这时Keil C51 集成环境

自动打开上次正确退出时所编辑的工程项目文件

(2) 点击菜单栏上的Project 项,会弹出下拉式菜单,这时选择Option for target ‘target 1’将出现调试环境设置界面。

(3) 第1项Target 属性的设置,对于在DP-51PRO 单片机综合仿真实验仪上进行的

仿真、调试,由于MON51 监控程序已经占用了从0000H-7FFFH 地址单元的程序存储空间,因此用户的应用程序必须从8000H 地址单元开始存放,即用户应设置Off-Chip Code Memory 栏内的Eprom 选项。

(4) Debug 环境的设置:首先选择Debug 项,进入设置画面,这时就可以对其中的每项进行具体设置了,(要点:在该选项中Use Simulator 是软件模拟仿真,它只能对程序的语法及其结构做一般性的分析,与硬件没有联系;而Use 选项则是硬件仿真,且根据所选用的驱动而使用不同的硬件仿真方式,对于DP-51PRO 单片机综合仿真实验仪而言应该选择Keil Monitor-51 Driver 选项)。同时它的Settings 项还为我们提供了一个串口通信设置环境,通过它我们可以灵活设置串行通信的端口和波特率,其设置环境如图2.30 所示,但请注意:由于在调试模式下,DP-51PRO 单片机综合仿真实验仪需要与上位机进行通信,因此它们的通信协议必须一致,波特率也必须相同且为9600bps。当然要进入系统调试环境设置我们也可以点击工具栏上的快捷图标进入到环境设置窗口,Keil C51 集成开发环境为我们提供了很多这样的快捷功能,好好利用往往能达到事半功倍的效果。

(5) 至于其它的选项用户可按默认值进行设置或不用设置,最后点击确定加以确认。5.(1) 打开示范程序的项目文件Led_Light.μV2,这时在Keil C51 的Project Window

项目观察窗口中看到工程项目结构。在Source Group 1 中可以看到文件Led_Light.asm,它就是该项目的核心—用户若调试的源程序文件。在此用户应特别注意:在DP-51PRO 单片机综合仿真实验仪下调试时,用户的程序代码是从8000H 单元开始存放的,因此用户程序中定义程序块存放的伪指令ORG 0000H 应该为ORG 8000H、

伪指令ORG 0100H 应该为ORG 8100H 。若用户需要调试 C 语言源程序,则还需要添加Startup.a51 系统配置文件(用户可以在\Keil\C51\Lib 目录下找到它,为了保证该文件不会被破坏,用户可以把它拷贝到该工程目录中),其主要功能是定义数据段、程序段和堆栈的大小及其起始地址、RAM 的初始化、程序重新定位、初始化启动代码等等,用户必须把CSEG AT 0 代码改为CSEG AT 8000H,即用户的应用程序应从8000H 开始存放,当然中断矢量地址也应跳转到相应的高端地址单元,如外部中断0 的入口地址则应该是8003H。

(2) 在DP-51PRO单片机综合仿真实验仪上进行的调试是一种软硬件相结合的综合调

试方法,因此用户在使用DP-51PRO 单片机综合仿真实验仪进行仿真调试实验前应正确设置工程项目的软硬件环境,本例子的硬件设置请参考第3 章实验二的实验步骤。在KEIL 的环境下点击工具栏Project 的选项,在弹出的下拉菜单中选择Option for Target ‘Target 1’命令,对hello.uv2 工程项目进行调试环境设置。

(3) 修改完毕执行Project 菜单中的Rebuild all target files 命令对工程项目文件进行重

新编译、连接,此时会出现“编译正确、连接成功”的提示信息。若编译出错,它将提示出错的原因及所在的位置,更正后重新编译直至完全正确为止,接下来点击菜单栏内的“Debug”菜单,在出现的下拉式菜单中选择Start/Stop Debug Session 调试命令,这样即可把用户程序就下载到DP-51PRO 单片机综合仿真实验仪的SRAM 中。

(4) 此时出现如图2.33 所示调试画面,看到了吗?或许和您看到的不一样,请不用担

心。若在您的调试界面中没有看到变量观察窗口,您可以点击菜单栏中的View 选项,在弹出如图2.34 所示的下拉菜单中选择Watch & Call Stack Window 即可以打开变量观察窗口,您可以使用同样的方法打开其它相关窗口。

(5) 此时请注意:当您调试C 语言程序时,应在Keil C 环境的Command 输入框下

执行g,main 命令;而当您调试的是汇编语言程序时,在Keil C 环境的下执行g 命令进入程序调试状态。这时程序指针PC 已指向第一命令语句AJMP MAIN 处,并等待用户输入各种调试命令。Keil C51 给出了许多调试快捷图标和调试命令,为了使用户更好的使用这些命令,下面将介绍几种常用的调试命令及方法。断点巧妙的设置一些断点,能够更好帮助用户分析程序的运行机制、程序中变量的变化状况,提高工作效率。μVision2 可以用几种不同的方法定义断点,即使在程序代码编译前,您也可以在编辑源程序的时候设置Execution Breaks,设断点前要从View 菜单中选中File Toolbar 选项,让主窗口的顶部出现File Toolbar 工具栏。断点可以用以下的方法定义和修改:

1. 用File Toolbar 按纽。在Editor 或Disassembly 窗口中的代码行点击断点按钮

即可在该设置断点。

2. 用快捷菜单的断点命令。在Editor 或Disassembly 窗口中的代码行点击鼠标右

键在打开的快捷菜单中选择Insert/Remove Breakpoint命令也同样可以在该行

设置断点。

3. 在Output Window-Command 输入框,可以使用Breakset、Breakkill、

BreakEnable、Breaklist、Breakpoint 命令来设置断点。

如果已经在某行设置了断点,再次在此行设置断点将取消该断点,断点设置成功后,会在该行的行首出现红颜色的断点标志。

复位CPU

用Debug 菜单或工具栏的Reset CPU 命令。在不改变程序的情况下,若想使程序重新开始运行,这时执行此命令即可,执行此命令后程序指针返回到0000H 地址单元,另外,一些内部特殊功能寄存器在复位期间也将重新赋值,例如A 将变为00H,DPTR 为0000H,

SP 为07H,I/O 口变为0FFH。

单步跟踪(F11)

用Debug 工具栏的Step 或快捷命令StepInto 命令按钮可以单步跟踪程序,每执行

一次此命令,程序将运行一条指令(以指令为基本执行单元),当前的指令用黄色箭头标出,每执行一步箭头都会移动,已执行过的语句呈现绿色。单步跟踪在C 语言环境调试下最小的运行单位是一条C 语句,如果一条C 语句只对应一条汇编指令,则单步跟踪一次可以运行C 语句对应一条汇编指令;如果一条 C 语句对应多条汇编指令,则一次单步跟踪要运行完对应的所有汇编指令。在汇编语言调试下,可以跟踪到每一个汇编指令的执行。

单步运行(F10)

用Debug 工具栏的Step Over 或快捷命令Step Over 按钮即可实现单步运行程序,

此时单步运行命令将把函数和函数调用当作一个实体来看待,因此单步运行是以语句(这一条语句不管是单一命令行还是函数调用)为基本执行单元。

执行返回(Ctrl+F11)

在用单步跟踪命令跟踪到了子函数或子程序内部时,可以使用Debug 菜单栏中的Step Out of Current Function 或快捷命令按钮Step Out 即可实现程序的PC指针返回

到调用此子程序或函数的下一条语句。

执行到光标所在命令行(Ctrl+F10)

用工具栏或快捷菜单命令Run tol Cursor Line 即可执行此命令,使程序执行到光标

所在行,但不包括此行,其实质是把当前光标所在的行当作临时断点。

全速运行(F5)

用Debug 工具栏的Go 快捷命令Run 命令按钮即可实现全速运行程序,当然若程序中已经设置断点,程序将执行到断点处,并等待调试指令;若程序中没有设置任何断点,当μVision2 处于全速运行期间, μVision2 不允许任何资源的查看,也不接受其它的命令。

停止调试(Crtl+F5)

(6) 由于Led_light 程序使用了系统资源P1 口,为了更好的观察这些资源的变化,用户可以打开它们的观察窗口。点击菜单栏Peripherals 选项,在打开的下拉菜单中选择

I/O-Ports 选项中的Port 1 命令,即可打开并行I/O 口P1 的观察窗口。

(7) 点击菜单栏的Debug 选项,在弹出的下拉菜单中执行Step 命令,观察项目窗口的特殊功能寄存器区域,看看PC 指针和堆栈指针的值有何变化。多次执行单步运行指令Step,注意观察P1 观察窗口和DP-51PRO 单片机综合仿真实验仪上用逻辑笔检测P1 口状态。最后选择Go 命令全速运行程序,此时DP-51PRO 单片机综合仿真实验仪上看的P1.0、P1.1、P1.2 电平在变化。

(8) 程序调试完毕可执行Debug 菜单栏中的Start/Stop Debug Session 命令停止调试在退出仿真调试模式后想再次进入仿真调试,可以先按一下A1 区的复位键(RST)。用户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过程中用户可以看见D1 区的LED 的亮灭是由用户程序来控制的。

五、实验注意事项:

1、理解硬件仿真调试状态下和脱机运行状态下的存储空间分配。

2、本实验中,要求学生对Keil C开发环境和DP-51PROC实验仪熟悉,掌握软件调试,硬件仿真调试,脱机三种不同的运行方式,关键是Options的设置。

3、硬件调试或运行的运行的时候打开电源,不要保持电源的常开状态,以免实验箱运行时间过长烧坏。

4、Debug时,需关掉DPFlash,否则调试时开发环境报错。

如何使用KEIl编写程序

Keil C软件使用 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。 下面介绍Keil C51软件的使用方法 进入Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界 启动Keil C51时的屏幕 进入Keil C51后的编辑界面

简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。 1)建立一个新工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项 2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存. 3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点

击确定. 4)完成上一步骤后,屏幕如下图所示 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。 5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项

新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,

1 VISUAL C 集成开发环境(IDE)介绍

【实验准备】 一、Visual C++集成开发环境(IDE)介绍 集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。Visual C++软件包中的Developer Studio就是一个集成开发环境,它集成了各种开发工具和VC编译器。程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。IDE中还提供大量在线帮助信息协助程序员做好开发工作。Developer Studio中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种向导(如AppWizard 和ClassWizard),以及MFC类库,这些都可以帮助程序员快速而正确地开发出应用程序。 向导(Wizard):向导是一个通过一步步的帮助引导你工作的工具。Developer Studio中包含三个向导,用来帮助程序员开发简单的Windows程序,它们是: AppWizard:用来创建一个Windows程序的基本框架结构。AppWizard向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后AppWizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。AppWizard支持三类程序:基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。也可以利用AppWizard生成最简单的控制台应用程序(类似于DOS下用字符输入输出的程序)。ClassWizard:用来定义AppWizard所创建的程序中的类。可以利用ClassWizard在项目中增加类、为类增加处理消息的函数等。ClassWizard也可以管理包含在对话框中的控件,它可以将MFC 对象或者类的成员变量与对话框中的控件联系起来。ActiveX Control Wizard:用于创建一个ActiveX控件的基本框架结构。ActiveX控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。 MFC库:库(library)是可以重复使用的源代码和目标代码的集合。MFC(Microsoft Fundamental Casses)是Visual C++开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。使用MFC库开发应用程序可以减少很多工作量。 二、项目开发过程 在一个集成的开发环境中开发项目非常容易。一个用C++开发的项目的通用开发过程可以用

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

实验一Keil C51集成开发环境的使用练习、仿真与调试 一、实验目的 1、熟悉Keil C51集成开发环境的使用方法 2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合 仿真实验仪的使用。 二、实验设备及器件 IBM PC机一台 DP-51PROC单片机综合仿真实验仪一台 三、实验内容 1、进行Keil C51集成开发环境的安装和使用练习。然后按照以下内容建立 文件并编译产生HEX文件。 ORG 0000H LJMP Main ORG 00F0H Main: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop CPL 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 ; END 2、进行Keil C51集成开发环境的仿真调试练习。然后按照以下内容建立文 件并编译仿真调试。 ORG 8000H LJMP Main ORG 80F0H Main: MOV R7, #0 Loop:

MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop CPL 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 END 四、实验要求 1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。 2、熟练掌握结合DP-51PROC单片机综合仿真实验仪和Keil C51集成开发 环境进行仿真调试。 五、实验步骤 (1)用40针排线把DP-51PROC实验仪上 的A1区J76接口和A2区J79接口相 连,然后使用排线把A2区的J61接口 与D1区的J52接口相连。如右图所示。 (2)对DP-51PROC实验仪上电,然后设置 TKSMonitor5仿真器和使用软件 DPFLASH把MON51监控程序下载到 TKSMonitor5仿真器。 (3)关闭DPFLASH软件。把TKSMonitor5 仿真器的工作模式选择开关切换到 RUN处,然后按一下复位键(RST), MON51程序就开始运行了。此时,TKSMonitor5仿真器进入调试状 态。 (4)用户使用Keil C51集成开发环境建立工程、编辑与编译“实验内容” 所列的程序。然后按照(软件调试环境的设置)设置好,然后在编译 一次。 (5)此时用户就可以进行仿真调试。如果用户在退出仿真调试模式后想再进入仿真调试,可以先按一下TKSMonitor5仿真器的复位键(RST)。 用户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过 程中用户可以看见D1区LED的亮灭是由用户程序来控制的。 六、实验思考题

keil软件使用方法简介

Keil软件使用方法简介: Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,汇编语言和 C 语言的程序设计,界面友好,易学易用。 下面介绍Keil C51软件的使用方法 进入 Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界 进入Keil C51后的编辑界面 简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。

(1)新建工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项 然后选择你要保存的路径,输入工程文件的名字,比如保存到D盘的CMJ51文件夹里,工程文件的名字为CMJ1 如下图所示,然后点击保存. 这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.

完成上一步骤后,屏幕如下图所示 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。(2)新建文件 在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项

新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了。 键入程序后界面如下: 单击file菜单下的save,出现一个对话框,键入文件名,后缀名为.asm,进行保存到D盘CMJ51文件夹下。界面如下:

实验一Keil集成开发环境的使用

实验报告纸 (院、系)自动化专业班组单片机与嵌入式系统课 实验一Keil集成开发环境的使用一、实验目的 熟悉Keil C51集成开发环境的使用方法 二、实验内容 学习如何使用Keil编译器编写单片机程序并调试 三、实验设备 PC机 四、实验步骤 1.新建文件夹 2.新建工程 3.配置工程 (1)按以下内容新建experiment_1.asm文件 ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SP, #60 ;给堆栈指针赋初值 LIGHT:

CPL P1.0 CPL P1.1 CPL P1.2 ACALL DELAY AJMP LIGHT DELAY: MOV R7,#10H DELAY0: MOV R6,#7FH DELAY1: MOV R5,#7FH DELAY2: DJNZ R5,DELAY2 DJNZ R6,DELAY1 DJNZ R7,DELAY0 RET END (2)在工程窗口的Source Group 1处单击鼠标右键弹出菜单,点其中的选项Add Files to Group ‘Source Group 1’;添加文件。 (3)在Project菜单的下拉选项中,单击Option for Target ‘Target 1’.在弹出的窗口中要完成以下设置: A.选择单片机芯片。不需要向工程添加启动代码;

B. 晶振频率的设置 C. Output标签下的Create HEX File 前小框中要打勾D.Debug标签选择Use Simulator(软件模拟) 4.编译工程 5. 查看结果(要求截图写进实验报告) (1)进入调试状态 (2)选择单步方式运行,观察Port 1窗口状态变化 (3)在Project Workspace观察R5、R6、R7、SP等的变化进入调试时的初始界面

Keil C51 集成开发环境的使用实验报告

Keil C51 集成开发环境的使用 姓名:专业:学号:成绩: 一、实验目的 1、熟悉Kei C51集成开发环境的基本操作; 2、掌握简单Kei C51和汇编程序的编写、调试。 二、实验内容 1、仔细阅读教材相关内容,掌握KeiC51集成开发环境的基本功能; 2、分别用汇编和C51编写清零程序,把片外RAM中的7000H-70FFH单元 中内容清零; 3、分用汇编和C51编写查找相同个数程序。统计片外RAM7000H-700FH中 “00H”的个数并保存在片内RAM30H单元中。 三、实验原理与步骤 1、清零程序 (1)汇编语言程序设计框图 (2)实验步骤 用连续或单步方式运行程序,检查7000H-70FFH单元中执行内容变化。 (3)假使把7000H-70FFH中的内容改成FFH,如何修改程序。 (4)用C51 重新编写该程序,运行并查看结果。 2、查找相同数个数 (1)汇编语言程序设计框图

(2)实验步骤 ①在7000H-700FH单元中放入随机数,其中几个单元输入0; ②用连续或单步方式运行程序; ③观察片内RAM 30H的内容,应显示“00H”的个数。 (3)用C51重新编写程序,运行并查看结果。 四、实验程序 1、清零程序 (1)汇编语言 ORG 0000H MOV R0,#0100H MOV DPTR,#7000H MOV A,#0 LOOP:MOVX @DPTR,A INC DPTR DJNZ R0,LOOP END (2) C语言 #include void main() { char xdata *p=0x7000; int t=0x7100-0x7000 ; while(t--) {*p=00; p++; } } 2、查找相同数个数

集成开发环境的配置及使用说明

集成开发环境的配置及使用说明 本文讲解如何编写MSBuild脚本文件执行编译系统、运行FxCop检查代码、运行NUnit以及NCover进行单元测试、运行SandCastle生成帮助文档四项功能,并如何在集成开发环境中使用。 一、集成开发环境的配置 1.1 工具软件准备 1.1.1 MSBuild 只要安装过VS2005或VS2008后,就可以是路径C:\WINDOWS\https://www.sodocs.net/doc/cf3715652.html,\Framework中看到MSBuild的三人版本,本例中使用V3.5。另外还得从下面的网站下载一个https://www.sodocs.net/doc/cf3715652.html,munity.Tasks.msi文件,里面有MSBuild的已经编写好的各种任务。下载地址如下: https://www.sodocs.net/doc/cf3715652.html,/ 1.1.2 NCover NCover现有网上使用的主要有两个版本NCover3.1和NCover1.5.8,但由于后者是免费版本,所以本例中使用NCover1.5.8版本,下载地址如下:https://www.sodocs.net/doc/cf3715652.html,/download/community 1.1.3 其它软件 其它软件如下所示: NUnit 2.5.1 FxCop 1.36 HTML Help Compiler Sandcastle Help File Builder v 1.8.0.2 以上包括1.1.1和1.1.2的软件均可在Redmine项目管理的集成开发环境的配置的文件管理中下载,此处就不一一给链接了。下载后均按默认安装即可。但因为要在命令行中使用MSBuild和FxCopcmd命令,所在在环境变量Path中加入: C:\WINDOWS\https://www.sodocs.net/doc/cf3715652.html,\Framework\v3.5; C:\Program Files\Microsoft FxCop 1.36; 另外再增加两个新变量: DXROOT C:\Program Files\Sandcastle和 HHCEXE C:\Program Files\HTML Help Workshop

KeilC51开发系统基本知识.

Keil C51开发系统基本知识 Keil C51开发系统基本知识 1. 第一节系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编 相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇 编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 下面详细介绍Keil C51开发系统各部分功能和使用。 2. 第二节 Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 图(1) C51工具包整体结构图 3. 第三节 Keil C51工具包的安装 1. 1. C51 for Dos 在Windows下直接运行软件包中DOS/C51DOS.exe然后选择安装目录即可。完毕后欲使系统正常工作须进行以下操作(设C:/C51为安装目录): 修改Autoexec.bat,加入 path=C:/C51/Bin Set C51LIB=C:/C51/LIB Set C51INC=C:/C51/INC 然后运行Autoexec.bat 2. 2. C51 for Windows的安装及注意事项: 在Windows下运行软件包中WIN/Setup.exe,最好选择安装目录与C51 for Dos相同,这样设 置最简单(设安装于C:/C51目录下)。然后将软件包中crack目录中的文件拷入C:/C51/Bin目录下。 4. 第四节 Keil C51工具包各部分功能及使用简介 1. 1. C51与A51 1. (1) C51 C51是C语言编译器,其使用方法为: C51 sourcefile[编译控制指令] 或者 C51 @ commandfile 其中sourcefile为C源文件(.C)。大量的编译控制指令完成C51编译器的全部功能。包控C51输出文件C.LST,.OBJ,.I和.SRC文件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。 而Commandfile为一个连接控制文件其内容包括:.C源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。

单片机Keil C51软件的使用方法

Keil C51软件的使用 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编和C 语言的程序设计,界面友好、易学易用。下面介绍Keil C51软件的使用方法: 1.启动Keil C51,界面如下图。 启动Keil C51时的屏幕 进入Keil C51后的编辑界面 2.建立一个新工程。

(1)单击工程菜单,在弹出的下拉菜单中选中新建工程选项。 (2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51,如下图所示,然后点击保存。 (3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,Keil C51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。

(4)完成上一步骤后,屏幕如下图所示。 (5)单击文件菜单,再在下拉菜单中单击新建选项,屏幕如下图所示。

此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击文件菜单,在下拉菜单中选中另存为选项单击,屏幕如下图所示,在文件名栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。 注意,如果用C语言编写程序,则扩展名为.c;如果用汇编语言编写程序,则扩展名必须为.asm。然后,单击保存按钮。

回到编辑界面后,单击目标1前面的+号,然后在源程序组1上单击右键,弹出如下菜单, 然后单击增加文件到组‘源程序组1’,屏幕如下图所示, 选中c51.asm,然后单击Add,屏幕如下图所示,

Keil C51集成开发环境的使用汇编

Keil C51集成开发环境的使用 Keil C51软件可以从相关网站下载并安装。安装好后,双击桌面快捷图标或在“开始”菜单中选择Keil μVision3,启动Keil μVision3集成开发环境,启动后界面如图4-3所示。 图4-3 Keil μVision3启动后的集成开发环境界面 (一)创建项目 Keil μVision3中有一个项目管理器,用于对项目文件进行管理。它包含了程序段环境变量和编程有关的全部信息,为单片机程序的管理带来了很大的方便。创建一个新项目的操作步骤如下: (1)启动μVision3,创建一个项目文件,并从器件数据库中选择一款合适的单片机型号。 (2)创建一个新的源程序文件,并把这个源文件添加到项目中; (3)为该单片机芯片添加或配置启动程序代码; (4)设置工具选项,使之适合目标硬件; (5)编译项目并创建一个*.hex文件。 下面以本章任务为例分别介绍每一步的具体操作。 1.新建项目文件 单击菜单“Project”→“New Project”命令,弹出如图4-4所示的新建项目对话框,指定保存路径,建议每个项目使用一个独立文件夹,例如本项目保存在“第4章”文件夹;然后,在“文件中名”输入项目名称,例如“4-1”,单击“保存”按钮即完成新项目的创建(系统默认扩展名为“.uv2”)。

保存路径 输入文件名 图4-4 新建项目对话框 此时弹出选择单片机的型号对话框,如图4-5所示,展开Atmel系列单片机,选择“AT89C51”,单击“确定”按钮完成设备的选择。 图4-5 选择单片机的型号对话框 单片机型号选择结束后,在μVision3工作界面左边的项目管理器中新增加了一个“Target 1”目标1文件夹,如图4-6所示。

IntelliJ IDEA——Java 集成开发环境介绍

最智能的Java IDE 使用Java、Scala和Groovy进行极其出色的企业、移动和web开发,提供所有即开即用式的最新现代 技术和框架 IntelliJ IDEA 关键概述 IntelliJ IDEA 这款屡获殊荣的Java IDE 旨在提高开发人员的生产力。其智能的编辑器、代码分析器和一组强大的重构功能支持大量编程语言、框架和技术,而且能够立即投入使用。 IntelliJ IDEA 主要优点 ?允许开发人员在确保所有例程任务顺利进行的同时专注于开发。 ?让编写、调试、重构、测试和代码了解都变得轻松简单。 ?无缝处理异构式的Java、Ruby、Groovy、Python 和Scala 代码库。 ?自动维护代码质量。 ?跟踪和修复所有级别的错误——从语句到整个架构。 ?以最短的时间生成简洁、快速的执行代码。 ?适用于所有规模的项目——从个人级别项目到企业级别项目。 ?支持所有主要语言、技术和框架。 ?适用于流行的版本控制系统和持续集成服务器TeamCity。 IntelliJ IDEA 重要功能 智能编码辅助 ?智能完成代码 ?600 多种代码检查和即时代码分析功能 ?智能的快速修复 ?自动代码生成和样式设置 语言、技术和应用程序服务器的一致支持 ?为使用以下语言和技术进行的开发提供出色的支持,包括Java、 JavaScript/ ActionScript /Flex、HTML/XHTML/CSS、XML/XSL、PHP、 Ruby/JRuby、Groovy、SQL、FreeMarker/Velocity、JSP、JSF 和 JSF 2.0、EJB、AJAX、GWT、GWT 2.0、Google App Engine、Struts、 Struts 2、JBoss Seam、Spring、Spring 2.5 和3.0、Spring Security 2.0、Hibernate/JPA 和JPA 2.0、Tapestry、Web Beans、Bean Validation、

Keil-C51-基本使用方法 (1) 。。。。2

、Keil C51工程建立与仿真 1、建立一个工程项目,选择芯片并确定选项 双击Keil uVision2快捷图标后进入Keil C51开发环境,单击“工程”菜单,在弹出的下拉菜单选中“新工程”选项,屏幕显示为图1。附录: 一 图1 建立一个工程项目在文件名中输入一个项目名“my-test”,选择保存路径(可在 “我的 文档” 中先建 立一个 同名的

文件夹),单击保存。在随后弹出的“为目标target选择设备”(Select Device for Target “Target1”)对话框中用鼠标单击Atmel前的“+”号,选择“89C51”单片机后按确定,如图2所示。 图 2 选择单片机后按确定 选择主菜单栏中的“工程”,选中下拉菜单中“Options for Target ‘Target1’”,出现图3所示的界面。单击“target”页面,在晶体Xtal(MHz)栏中选择试验板的晶振频率,默认为24MHz,我们讲座试验板的晶振频率为11.0592MHz,因此要将24.0改为11.0592。然后单击输出“Output”页面,在“建立hex格式文件”前打勾选中,如图3-4。其它采用默认设置,然后点确定。 图3 选择Target

页面 图4 选择Output页面 2、建立源程序文件 图 5 建立源程序文件

程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm格式(如my-test.asm)保存在刚才所建立的一个文件夹中(my-test)。 3、添加文件到当前项目组中 单击工程管理器中“Target 1”前的“+”号,出现“Source Group1”后再单击,加亮后右击。在出现的下拉窗口中选择“Add Files to Group‘Source Group1’”,如图6所示。在增加文件窗口中选择刚才以asm格式编辑的文件my-test.asm,鼠标单击“ADD”按钮,这时my-test.asm文件便加入到Source Group1这个组里了,随后关闭此对话窗口。 图 6 添加文件到当前项目组中 4、编译(汇编)文件 选择主菜单栏中的“工程”,在下拉菜单中选中“重建

集成开发环境

集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug 功能等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE。如微软的Visual Studio系列,Borland的C++ Builder,Delphi系列等。该程序可以独立运行,也可以和其它程序并用。例如,BASIC语言在微软办公软件中可以使用,可以在微软Word 文档中编写WordBasic程序。 IDE为用户使用Visual Basic、Java和PowerBuilder等现代编程语言提供了方便。不同的技术体系有不同的IDE。比如visual https://www.sodocs.net/doc/cf3715652.html,可以称为C++、VB、C#等语言的集成开发环境,所以visual https://www.sodocs.net/doc/cf3715652.html,可以叫做IDE。同样,Borland的JBuilder也是一个IDE,它是Java的IDE。zend studio、editplus、ultra edit这些,每一个都具备基本的编码、调试功能,所以每一个都可以称作IDE。 IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver、FrontPage,等等),因为很多项任务会自动生成。IDE集成代码编辑,代码生成,界面设计,调试,编译等功能,目前还融合了建模功能。 Mylyn 简介 Mylyn(旧称Mylar)是eclipse的一个插件,用于将任务管理和上下文管理无缝集成到Eclipse中。 首先它是一个高度集成到ECLIPSE中的任务管理工具。 把任务列表与具体的代码联系到了一起。你只要激活一个任务,之相关的所有文件、函数将被突出的显示在ECLIPSE界面的每个“角落”――Package Explorer,Open Type, Open Resource,Debug View…… 相信很多人都有过这样的经验,改一个东西可能就几分钟,但找到在哪改、会影响到什么地方,却要花半小时。有了这个工具,让我们在非常大的项目里,在文件和代码的海洋里能马上找到所要关注的部分。有的人说,我有CTRL+SHIFT+T,可是你能记住几年前一个项目里的类名吗?而查阅文字描述的任务却要容易得多。 Mylyn是如何做到任务与代码的关联呢?你唯一要做的就是,在完成一个编码任务前,激活相应的任务!这样,随后你的编辑、访问各种元素的操作都被Mylyn记录,它会根据你的访问频率分析相关程度。当你的任务成百上千,或者你过一段时间再回头来修改代码时,只要激活相应的任务,它就会自动将相关的文件窗口打开,并在各种查找、显示界面里根据当初的记录突出显示相应元素。 1. 安装下载相应的Mylyn zip包,解压缩开就是两个文件夹:features和plugins,以及一个XML文件:site.xml。将这两个文件夹拷入或者以配置方式导入合适版本的Eclipse中就可以了。 2. 使用重启Eclipse,Window的preference配置窗口里就多了一个Task的菜单,用于对Mylyn的配置。 点击Window>show view> other(我的eclipse是英文版本),弹出的对话框中可以找到Mylyn的选项,它下面有两个View可供选择:Task List和Task Repositories。把两个view 都打开,可以看到Task List里是空的列表,因为还没和任何存储库建立查询联接。Mylyn的文档中说可以与Bugzilla, Trac 和JIRA等存储库集成,由于没有Trac和JIRA环境,

实验一KeilC集成开发环境的使用练习仿真调试和蜂鸣器驱动实验

实验一Keil C51集成开发环境的使用练习、仿真、调试 和蜂鸣器驱动实验 第一部分Keil C51集成开发环境的使用练习、仿真与调试 一、实验目的 1、熟悉Keil C51集成开发环境的使用方法 2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。 二、实验设备及器件 1、IBM PC机一台 2、DP-51PROC单片机综合仿真实验仪一台 三、实验步骤 1、用40针排线把DP-51PROC实验仪上的A1区J76接口和A2区J79接口相连,然后使用排线把A2区的J61接口与D1区的J52接口相连。 2、用串口通信电缆连接TKSMonitor51仿真器的RS-232串行通信口,另一端连接PC机的串行口,把TKSMonitor51仿真器上的开关拨到LOAD模式,即下载状态下,用户应将TKSMonitor51仿真器的仿真头插入DP-51PROC单片机综合仿真实验仪的U13锁紧座上;然后ISP跳线JP14跳开(即不短接),按下复位按键“RESET”。此时,DP-51PROC单片机综合仿真实验仪即进入下载状态。对DP-51PROC实验仪上电,然后按照本书的第2章的2.5.1小节设置TKSMonitor5仿真器和使用软件DPFLASH把MON51监控程序下载到TKSMonitor5仿真器。 3、关闭DPFLASH软件。把TKSMonitor5仿真器的工作模式选择开关切换到RUN处,然后按一下复位键(RST),MON51程序就开始运行了。此时,TKSMonitor5仿真器进入调试状态。 4、新建工程文件和文件的编译、链接 (一)新建工程文件 1)打开“keil uvision2”软件,点击工具栏Project选项,在下拉菜单中选择New Project命令,弹出项目文件保存对话框,输入项目名后,点击保存按钮。 2)在工程建立完毕以后,uVision会弹出器件选择窗口,选择相应的器件型号。 例如:philips公司的p80/p87c52x2型单片机。 3)点击工具栏File选项,选中New命令,新建文件,输入源程序。 例如: ORG 8000H LJMP Main ORG 80F0H Main: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $

Keil软件介绍及使用步骤

KEIL51软件简介 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。 Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB 或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 1.1.1 软件功能 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 C51工具包的整体结构,其中μVision与Ishell分别是C51 for Windows 和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 Keil51的编译环境如图5-1所示。 图中:

单片机开发与仿真软件keilc51的使用

单片机开发与仿真软件Keil C51的使用 一、Keil C51 操作入门 Keil C51 简介 Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。Keil 51支持汇编语言、C语言等各种开发语言。其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。uVision2调试器是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集和片内外围功能。 实验所用的是Keil C51 评估版。 Keil C51 的启动 双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。 图1 Keil C51的启动界面 建立第1 个Keil C51 程序 Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。硬件电路参见图2,单片机I/O 输出低电平可点亮LED。 图2 LED 闪烁发光电路 ●新建工程。执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名 为“Create New Project”的对话框。先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash”,并保存。参见图3。 图3 新建Keil C51 工程 ●选择CPU。紧接着,Keil C51 提示选择CPU 器件。8051 内核单片机最早是由鼎鼎 大名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。在这里可以选择Philips 的第1 个器件“80/87C51”,该器件与Intel 的8051 完全兼容。参见图 4 。

Keil C51集成开发环境的使用

实验题目:实验一Keil C51集成开发环境的使用姓名:专业:学号:成绩 一、实验目的 1.熟悉Keil C51集成开发环境的基本操作; 2.掌握简单C51和汇编程序的编写、调试。 二、实验内容 1.仔细阅读附录2及教材(陈海宴编著)相关内容,掌握Keil C51集成开发环境的基 本功能。 2.分别用汇编语言和C51语言编写清零程序。把片外RAM中的7000H-70FFH单元内容清零。 3.分别用汇编语言和C51编写查找相同数个数的程序。统计片外RAM 7000H-700FH 中“00H”的个数并保存在片内RAM 30H单元。 三、实验原理及步骤 1.清零程序 (1)汇编语言程序设计框图如图1.1 (2)实验步骤: 用连续或单步方式运行程序,检查7000H-70FFH单元中执行程序前后的内容变化。 (3)把7000H-70FFH中的内容改成FF (4)用C51重新编写该清零程序,运行程序并查看结果。 2.查找相同数个数 (1)汇编语言程序设计框图如图1.2

图1.1 图1.2 (2)实验步骤: ①在7000H-700F单元中放入随机数,其中几个单元输入0; ②.用连续或单步方式运行程序; ③.观察片内RAM 30H的内容,并显示“00H”的个数。 (3)用C51重新编写该清零程序,运行程序并查看结果。 四、电路设计及调试程序设计与调试 (1)实验程序: 清零汇编程序ORG 0000H 清零C程序#include CLEAR:MOV R0,#00H main() { MOV DPTR,#7000H char xdata *p=0x7000; CLEAR1:CLR A int t=0x7100-0x7000 ; MOVX @DPTR,A while(t--) INC DPTR INC R0 {*p=01; CJNE R0,#00H,CLEAR1 p++; SJMP $ } END }

Keil C51 基本使用方法

附录: 一、Keil C51工程建立与仿真 1、建立一个工程项目,选择芯片并确定选项 双击Keil uVision2快捷图标后进入Keil C51开发环境,单击“工程”菜单,在弹出的下拉菜单选中“新工程”选项,屏幕显示为图1。 图1 建立一个工程项目 在文件名中输入一个项目名“my-test”,选择保存路径(可在“我的文档”中先建立一个同名的文件夹),单击保存。在随后弹出的“为目标target选择设备”(Select Device for Target “Target1”)对话框中用鼠标单击Atmel前的“+”号,选择“89C51”单片机后按确 定,如图2 所示。

图2 选择单片机后按确定 选择主菜单栏中的“工程”,选中下拉菜单中“Options for Target ‘Target1’”,出现图3所示的界面。单击“target”页面,在晶体Xtal(MHz)栏中选择试验板的晶振频率,默认为24MHz,我们讲座试验板的晶振频率为11.0592MHz,因此要将24.0改为11.0592。然后单击输出“Output”页面,在“建立hex格式文件”前打勾选中,如图3-4。其它采用默认设置,然后点确定。 图3 选择Target页面

图4 选择Output页面 2、建立源程序文件 单击“文件”菜单,在下拉菜单中选择“新建”,随后在编辑窗口中输入以下的源程序(如图5)。 ORG 0000H LJMP MAIN ORG 030H MAIN: MOV P0,#00H MOV P1 ,#00H MOV P2 ,#00H MOV P3 ,#00H ACALL DEL MOV P0 ,#0FFH MOV P1 ,#0FFH MOV P2 ,#0FFH MOV P3 ,#0FFH ACALL DEL AJMP MAIN ORG 0200H DEL: MOV R5,#04H F3: MOV R6,#0FFH F2: MOV R7,#0FFH F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END 图5 建立源程序文件 程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm

Keil C51中变量的使用

引言 8051内核单片机是一种通用单片机,在国内占有较大的市场份额。在将C语言用于51内核单片机的研究方面,Keil公司做得最为成功。由于51内核单片机的存储结构的特殊性,Keil C51中变量的使用与标准C有所不同。正确地使用变量,有利于获得高效的目标代码。下面详细介绍Keil C51中变量的使用方法。 1 CPU存储结构与变量的关系 变量都需要有存储空间,存储空间的不同使得变量使用时的工作效率也不同。 标准C的典型运行环境是8086(含IA-32系列)内核,其存储结构是CPU内部有寄存器,外部有存储器,寄存器的访问速度大大高于存储器的访问速度。在标准C中,不加特别定义的变量是放在存储器中的,使用register可以强制变量存储在寄存器中,对于使用特别频繁且数量不多的变量可以选用这种存储模式,以获得更高的工作效率。 相比之下,51内核单片机的存储结构则显得有些怪异,它的存储空间有3个:程序存储器空间(64 KB含片内、片外)、片外数据存储器空间(64KB)、片内数据存储器及特殊功能寄存器空间。它没有真正意义上的寄存器,它的寄存器其实是片内数据存储器(如R0~R7)和特殊功能寄存器(如A、B等)中的一部分。因此,在Keil C51中使用变量就和标准C有很大不同。 2 Keil C51变量分析 Keil C51支持标准C原有的大多数变量类型,但为这些变量新增了多种存储类型,也新增了一些标准C没有的变量。 2.1 Keil C51新增的变量存储类型 Keil C51中定义变量的格式如下: [存储种类]数据类型[存储类型]变量名表; 其中,[存储类型]是标准C中没有的,[存储类型]共有6种,分别介绍如下: ①data。将变量存储在片内可直接寻址的数据存储器中。使用这种存储模式,目标代码中对变量的访问速度最快。 ②bdata。将变量存储在片内可位寻址的数据存储器中。在目标代码中变量可以方便地进行位处理,在不进行位处理时与data相同。 ③idata。将变量存储在片内间接寻址的数据存储器中。在52内核中,当片内直接寻址数据存储器不够用时,可以使用128字节间接寻址数据存储器,访问速度一般较data要慢一些,但具有最大的片内数据存储器空间;在51内核中因无单独的间接寻址数据存储器区,idata与data无区别。 ④xdata。将变量存储在片外数据存储器中。目标代码中只能使用“MOVX A,@DPTR”和“MOVX@DPTR,A”指令访问变量,访问速度最慢,但存储空间最大(64KB)。 ⑤pdata。将变量存储在片外数据存储器中的第一页(00H~FFH)中。目标代码中可以使用“MOVX A,@Ri”和“MOVX@Ri,A”指令访问变量,访问速度与xdata相同,存储空间为256字节。 ⑥code。将变量存储在程序存储器中。目标代码中只能使用MOVC指令访问变量,因变量存储在程序存储器中,具有非易失性且为只读。 2.2 Keil C51新增的指针变量存储类型 Keil C51中的指针变量形式如下: 数据类型[数据存储类型]*[指针存储类型]标识符; 其中,[数据存储类型]和[指针存储类型]都是标准C中没有的。[数据存储类型]定义数

相关主题