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

KEILC51和PROTEUS的使用KEILC51是一款针对51系列单片机的集成开发环境,可以方便地进行编译、调试和仿真。
PROTEUS是一款集成电路设计软件,可以用于电路图的设计、仿真和调试。
本文将介绍KEILC51和PROTEUS的使用方法。
一、KEILC51的安装和使用2. 安装完成后,打开KEIL C51,创建一个新项目。
选择新建一个“Project”。
在对话框中输入项目名称,并选择项目的存放路径。
3.在项目内部,可以添加源文件、库文件和头文件。
可以通过右键单击项目名称,选择“添加”,然后选择相应的文件类型进行添加。
4. 在源文件中编写C语言程序。
可以使用标准的C语法进行编写,也可以使用Keil C51提供的51系列特定的语法进行编写。
5. 进行编译和生成可执行程序。
在菜单栏中选择“Project”->“Build Target”,或者使用快捷键“Ctrl+F7”进行编译。
编译完成后,会在项目目录下生成相应的可执行程序。
6. 进行调试和仿真。
在菜单栏中选择“Debug”->“Start/Stop Debug Session”,或者使用快捷键“F5”进行调试。
可以设置断点、单步执行、查看变量值等进行调试。
二、PROTEUS的安装和使用2. 安装完成后,打开PROTEUS,创建一个新电路。
选择“Schematic Capture”->“Design”创建一个新的电路图。
在电路图中添加所需的元件,例如电阻、电容、晶体管等。
3.连接元件之间的引脚,可以使用连线工具进行连线。
在连线时,可以使用自动连接功能快速连接元件之间的引脚。
4.设置仿真属性。
在电路图中选择“P”工具,然后在对话框中选择相应的仿真模型和仿真参数,例如选择51系列单片机的仿真模型。
5. 进行仿真和调试。
在菜单栏中选择“Debug”->“Start Debugging”,或者使用快捷键“F5”进行仿真。
可以查看元件的工作状态,观察电路的波形等进行调试。
《单片机原理及应用》软件开发工具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”。
实验一KeilC51集成开发环境的使用练习、仿真与调试

实验一Keil C51 集成开发环境的使用练习、仿真与调试、实验目的1、熟悉Keil C51 集成开发环境的使用方法2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PR0C单片机综合仿真实验仪的使用。
、实验设备及器件IBM PC 机一台DP-51PR0C单片机综合仿真实验仪一台、实验内容1、进行Keil C51 集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX 文件。
0RG 0000HLJMP Main0RG 00F0HMain:M0V R7, #0Loop:M0V 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 MainEND2、进行Keil C51 集成开发环境的仿真调试练习。
然后按照以下内容建立文件并编译仿真调试。
0RG 8000HLJMP Main0RG 80F0HMain:M0V 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.5P 1 .5取反JCPL P1.6 ; P 1 .6取反CPL P1.7 ; P 1 .7取反SJMP Mai nEND四、实验要求1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。
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 C51使用详解keilc51使用详解v1.0电子设计世界!版权所有,热烈欢迎贴文,切勿修正并标明原文。
留存一切权利。
第一章keilc51开发系统基本知识 (6)1第一节系统概述 (6)第二节keilc51单片机软件开发系统的整体结构...6第三节keilc51工具包的加装...71.c51fordos72.c51forwindows的安装及注意事项:...7第四节keilc51工具包各部分功能及使用简介...71.c51与a51.72.l51和bl51.83.dscope51,tscope51及monitor51.84.ishell及uvision.9第二章keilc51软件使用详解 (10)第一节keilc51编译器的控制指令...101.源文件掌控类 (10)2.目标文件(object)控制类:...103.列表文件(listing)控制类:...10第二节dscope51的使用...111.dscope51fordos112.dscopeforwindows12第三节monitor51及其使用...131.monitor51对硬件的要求...132.mon51的使用...133.mon51的配置...134.串口连接图:...135.mon51命令及使用...14第四节集成开发环境(ide)的使用...141.ishellfordos的使用 (14)22.uvisionforwindows的使用 (15)第三章keilc51vs标准c..15第一节keilc51扩展关键字...15第二节内存区域(memoryareas):...161.pragramarea:...162.internaldatamemory:163.externaldatam emory.162.可位串行区表明20h-2fh..18第七节keilc51指针...181.通常指针...182.存储器指针...183.指针切换...18第八节keilc51函数...191.中断函数声明:...192.通用型存储工作区 (19)3.选通用存储工作区由usingx声明,见上例。
《单片机原理与应用》KeilC51软件使用实验

《单片机原理与应用》KeilC51软件使用实验
一、实验目的和要求
熟悉51单片机的基本输入输出应用,掌握Proteus ISIS模块原理图绘图方法及单片机系统仿真运行方法。
二、实验内容和原理
(1)观察Proteus模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能。
(2)学会选择元件、画导线、画总线、修改属性等操作。
(3)学会可执行文件加载及程序仿真运行。
(4)验证计数显示器的功能。
三、主要仪器设备
电脑、keil c51、Proteus
四、操作方法与实验步骤
(1)提前阅读与实验1相关的阅读材料;
(2)参考实验1电路原理图和元件清单,在ISIS中完成电路原理图的绘制;(3)加载可执行文件,观察仿真结果,检验电路图绘制的正确性。
五、实验数据记录和处理
代码:
电路图:
六、实验结果与分析运行结果:
实验分析:
由实验结果可知,这是通过开关控制计数器显示,按一次开关计数器计一次数,即加一。
七、讨论和心得
通过本次数码管进行51计数器显示实验,让我知道了对教材应该熟悉,因为教材是基础的,只有把基础的搞好了才能够进行其它层次的学习。
其次,此次实验我还懂得了有时候可以通过软件的仿真来验证书上的一些理论性的东西。
通过C语言的编程,对数码管及51的应用让我对单片机理解更加明了。
Keil C51软件使用说明

}
10
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
(3)其它头文件
math.h:数学运算函数,如求绝对值、平方根、指数、正弦等
函数。 ctype.h:提供两类重要的函数:字符测试函数和字符大小转化 函数。 例如,判断一个整型变量是数字、字母、换行符、控制符等。 stdio.h:标准输入输出函数头文件,用于从标准输入设备读取 字符、数字,或向标准输出设备输出字符、字符串等。
整型
signed int
unsigned int singed long
2B
2B 4B
-32768~+32767
0~65535 -2147483648~+2147483647
unsigned long
实型
14
4B
4B
0~4294967295
1.176E-38~6.40E+38
MCS-51单片机原理、接口及应用
17
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
(2)compact模式
所有参数及局部变量都放在外部RAM区的一页(最大256B), 这和用pdata定义变量的作用相同。 具体哪一页,可由P2口定义,并在STARTUP.A51文件中说明。 一般默认的是外部RAM的低256B。
特点:存储器空间比small 模式大,但速度较small 模式慢,却比
reg52.h比reg51.h多了几行定义T2寄存器的内容。
7
MCS-51单片机原理、接口及应用
第6章 单片机的C51语言编程
sfr P1=0x90; /*定义P1口的地址为90H*/ sfr TCON=0x88; sfr TMOD=0x89; sfr TL0=0x8A; sfr16 T2=0xCC; T2L=0CCH,T2H=0CDH*/ sbit ET0=IE^1; /*指定ET0为中断允许控制寄存器IE的第1位*/ sbit ET0=0xaa;/*指定ET0为可寻址位0AAH,即IE.1。*/
KEIL C51 的使用

KEIL的使用
1、安装KEIL C51
2、安装完后打开KEIL,进入KEIL界面
3、进入KEIL工作界面
4、新建工程点击Project→New µVsion Project
5、然后选择你要保存的路径,输入工程文件的名字,如下所示:
5、选择单片机类型,如A TC8951,然后点击是
6、完成以上步骤后,展开Taget 1,如下图所示:
7、用记事本输入如下程序:
9、输入完后保存后缀为.asm 的格式(汇编语言)(注意:如果是C语言的,就保存后缀为.C 格式)。
10、把刚才编写好程序添加到soursce group 1,过程如下所示:
11、展开soursce group 1,如下所示:
12、双击打开KEIL C51,工作界面如下:
13、单击“Project”菜单,再在下拉菜单中单击“” 在下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载
器软件使用。
(或右键打开Targe 1 再选择)
14、这里还可以改变晶振的周期,如下所示:
15、设置完以上的设置后,然后单击“Project”菜单,再在下拉菜单中单击“Buid target”(创建目标文件)。
16、如有语句错误,则不能创建成功,如下所示,直到把错误排除,才能创建成功。
以上是KEIL C51 的入门教程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机开发与仿真软件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 。
图4 选择CPU●接下来弹出一个如图5 所示的对话框。
该对话框提示是否要把标准8051 的启动代码添加到工程中去。
Keil C51 既支持C 语言编程也支持汇编语言编程。
如果打算用汇编语言写程序,则应当选择“否(N)”。
如果打算用C 语言写程序,一般也选择“否(N)”,但是,如果用到了某些增强功能需要初始化配置时,则可以选择“是(Y)”。
在这里,我们选择“否(N)”,即不添加启动代码。
图5 选择是否要添加启动代码至此,一个空的Keil C51 工程建立完毕。
●执行菜单“File | N ew…”,出现一个名为“Text n”(其中n 表示序号)的文档。
●接着执行菜单“File | S ave”,弹出一个名为“Save As”的对话框。
将文件名改为“”,然后保存,参见图6 。
注意:扩展名“.c”不可省略。
图6 保存新建的源程序文件●添加源程序文件到工程中。
现在,一个空的源程序文件“”已经建立,但是这个文件与刚才新建的工程之间并没有什么内在联系。
我们需要把它添加到工程中去。
单击Keil C51 软件左边项目工作窗口“Target 1 ”上的“+”,将其展开。
然后右击“Source Group 1”文件夹,会弹出如图7 所示的选择菜单。
单击其中的“Add Files to Group 'Source Group 1' ”项,将弹出如图8 所示的对话框。
●先选择文件类型为“C Source file (*.c)”,这时,对话框内将出现刚才保存过的“”。
单击文件“”,再按一次“Add”按钮(请不要多次点击“Add” 按钮),最后按“Close”按钮。
这时,源程序文件“ ”已经出现在项目工作窗口的“Source Group 1 ”文件夹内,可以单击左边的“+”展开后查看。
图7 准备添加源程序文件到工程中图8 向工程中添加源程序文件●现在开始输入源程序。
先最大化“”源程序窗口,然后请按以下程序清单输入程序代码。
程序清单: LED 闪烁发光程序/********************************************************************************程序名称:LED 闪烁发光硬件接法:控制LED,低电平点亮运行效果:LED 亮200ms ,灭800ms,反复循环*******************************************************************************/#include <>就表示程序没有问题了(至少是在语法上不存在问题了)。
如果存在错误或警告,则仔细检查程序是否与程序清单一致。
修改后,再编译,直到通过为止。
●编译后的结果会生成Intel HEX 格式的程序文件“”。
该文件可以被专门的芯片烧写工具载入并最终烧录到具体的芯片中。
芯片安装到自己的电路板上,通电,就可以运行里面的程序了。
还有一类叫做“ISP” (In SystemProgramming )的下载方法,也能够把程序文件烧录到芯片内,但是采用的是串行在线方式,芯片不必从电路板上取下。
ISP 方式编程速度较慢但操作要方便些。
Philips 的多款8051 内核单片机都能很好的支持ISP 下载功能,比如P89V51RB2 、P89V51RD2 等等。
新建A51 汇编工程Keil C51 软件也支持A51 汇编编程。
建立A51 工程的操作步骤与建立C51 工程基本相同,但有两个要点请注意:●新建的源程序文件名要以”.A51”或“.ASM”作为后缀。
● A51 源程序添加到工程中时,文件类型要选择“Asm Source file(*.s*; *.src;*.a*)”。
其它操作步骤都跟建立C51 工程相同。
二、在Keil C51 下调试程序Keil C51 的调试功能非常强大,现在仍然以LED 闪烁发光程序为例,来具体了解如何进行仿真操作。
进入仿真状态如果程序编译通过,就可以仿真了。
在仿真之前,有一项参数最好配置一下,仍然按“ ” 图标进入编译环境设置,找到“Xtal (MHz)”项,填入。
最后点击“确定”。
进入仿真状态很简单,直接点击工具栏红色的“ ”图标。
认识各个仿真窗口图10 Keil C51 源程序窗口1. 源程序窗口Keil C51 调试界面的中间是源程序窗口,参见图10 。
黄色箭头“ ”所指为当前即将执行但还没有执行的代码。
以深灰色标记的程序行是可以执行的代码(当然,在调试过程中未必一定要去执行)。
以浅灰色标记的程序行不可作为代码来执行,它们是注释、空行、标号或ROM 数据表。
以绿色标记的程序行表示曾经执行过的代码。
2. 寄存器窗口图11 Keil C51 寄存器窗口Keil C51 调试界面的左边是寄存器窗口,参见图11 。
8051 的工作寄存器(R0~R7)和系统寄存器(a、b、sp、dptr、PC、psw)都列出来了。
Value 栏显示的是寄存器的当前数值。
如果在调试过程中某个寄存器的值有变化,则会用蓝色的背景标记。
单击psw 寄存器左边的“+”,展开后还可以看到其每一位的情况。
3. 汇编窗口单击工具栏的“ ”图标,源程序窗口会自动切换成汇编窗口,参见图12。
在汇编窗口里,我们可以看到每条指令的存储地址和编码等信息。
再次单击“ ”,回到源程序窗口。
4. 存储器窗口单击工具栏的“ ”图标,将显示出存储器窗口,参见图13。
8051 单片机的存储器分为多个不同的逻辑空间。
如果要观察代码存储器的内容,就在地址栏“Address:”内输入“C: 地址”,例如:C:0080H 。
同理,观察内部数据存储器输入“I:地址”,观察外部数据存储器输入“X:地址”。
拖动存储器窗口右边的滚动条可观察其它存储单元。
存储器窗口有“Memory #1~Memory #4 ”共4 个观察子窗,可以用来分别观察代码存储器、内部数据存储器和外部数据存储器。
存储器的内容是可以修改的。
用鼠标右击打算要修改的存储单元,选择“Modify Memory at … ”项,弹出修改对话框,可以随意修改存储单元的内容。
图12 Keil C51 汇编窗口图13 Keil C51 存储器窗口图14 Keil C51 变量观察和堆栈窗口5、变量观察和堆栈窗口单击工具栏的“”图标,将显示变量观察和堆栈窗口(Watch & Call Stack Window),参见图 14。
在Locals 标签页,会自动显示局部变量的名称和数值。
在C 语言程序的函数中,每一对花括号“{}”内定义变量都是局部变量,能够自动显示。
在“Watch ”标签页内,先用鼠标点击一次“type F2 to edit”,再按功能键“F2”,输入所要观察的局部或全局变量的名称,回车后就能显示出当前数值。
在“Call Stack ”标签页内,可以实时地观察到堆栈的使用情况。
程序的运行控制Keil C51 能够实现程序单步和全速运行,具体由工具栏上的按钮来实现:●复位按钮:单击此图标,能够使程序复位,程序将从地址C:0000H 处执行。
●全速运行:单击此图标,能够使程序全速运行。
●停止运行:该图标原来是灰色(不可操作),在进入全速运行状态后会变成红色。
如果要停下来,则可以按此图标。
●单步进入:按此图标可以实现程序的单步执行。
在遇到函数调用时,会跟踪进入函数体。
●单步跳过:单步执行,遇到函数时视作1 条指令来执行,不会跟踪进入。
●单步跳出:在调试C 语言程序时,如果希望从某个函数中提前返回,则可以按此图标。
●执行到光标:用鼠标单击某条可执行的代码(深灰色标记的程序行)。
然后按此图标,则程序开始全速执行,当遇到光标所在的行时,会自动停下来。
如果单击不可执行的程序行(有浅灰色标记),试图让程序执行到该行,是不允许的,“ ” 图标也会立即变成灰色,不让操作。
●设置/清除断点:Keil C51 支持断点设置功能。
单击需要设置断点的行,再单击此图标,我们会看到该行被一个红色的小方块标记。
当程序全速运行时遇到断点,便会自动停下来。
Keil C51 允许在同一个程序里设置多个断点。
清除某个断点的方法是,将光标停在该行上,再按一次“ ”图标。
另外一种设置/清除断点的快捷方法是,用鼠标在目标程序行的空白处双击,不妨试一试。
●清除所有断点:如果设置了多个断点,想一并清除,则可以按此图标。
图15 外围设备中的P1 和T0 对话框外围设备访问Keil C51 的一大特色是在仿真调试时支持对外围设备的访问。