《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验二
- 格式:docx
- 大小:907.22 KB
- 文档页数:8
Proteus和Keil软件在单片机实验教学中的应用Proteus和Keil软件在单片机实验教学中的应用随着科技的不断发展,单片机已经成为电子技术领域中的重要组成部分。
在单片机的学习和应用过程中,实验教学是非常重要的一环。
而Proteus和Keil软件作为单片机实验教学中的常用工具,发挥了重要的作用。
本文将对Proteus和Keil软件在单片机实验教学中的应用进行探讨。
首先,我们来说说Proteus软件。
Proteus软件是一种常用的电子电路仿真软件,它可以模拟和验证电子电路的工作原理。
在单片机实验教学中,Proteus软件可以用来设计和仿真各种电子电路,包括电源电路、时钟电路、输入输出电路等。
通过Proteus软件,学生可以直观地了解单片机与其他外部电路之间的工作关系,以及电路中各元件的功能和作用。
同时,Proteus软件还可以帮助学生分析和调试电路中的问题,提高实验教学的效率。
其次,我们来说说Keil软件。
Keil软件是一种专用于单片机开发的集成开发环境(IDE),它提供了编译、调试、仿真等开发工具。
在单片机实验教学中,Keil软件可以帮助学生编写和调试各种单片机程序。
学生可以通过Keil软件编写C语言程序,并将程序下载到单片机中运行。
在程序调试过程中,Keil软件可以提供强大的调试功能,如单步调试、断点调试等,帮助学生找出程序中的错误和问题。
通过Keil软件,学生可以深入学习单片机的编程方法和技巧,提高自己的编程能力。
Proteus和Keil软件在单片机实验教学中的应用可以有很多方面。
首先,可以通过Proteus软件进行电路设计和仿真,在实验之前先进行虚拟仿真,更好地理解电路的工作原理。
其次,可以通过Keil软件编写各种单片机程序,并通过仿真功能进行调试,提前发现和解决问题。
最后,可以将程序下载到实际的单片机中进行实验,进一步验证和应用所学知识。
在单片机实验教学中,Proteus和Keil软件的应用可以带来很多好处。
keil和proteus联合仿真实验报告实验目的:1、了解 proteus 软件仿真功能。
2、学习 proteus 软件仿真程序的编写方法。
3、运用 proteus 软件仿真程序进行相关模拟。
4、通过对一些常见问题的分析,培养我们分析和解决问题的能力,提高动手实践的水平。
实验原理:用 keil 软件编写一个可执行文件,该文件由一系列的源代码组成,每个源代码包含一定的程序逻辑或者算法。
由于 keil 软件是一种仿真软件,因此它会根据编译后的机器语言来显示程序逻辑(例如: a=1; b=1;.; a=1;.; b=1)。
通过这种方式在软件中就完成了模拟,即软件可以实现“程序自动生成”,也称为“自动化”,这样就大大降低了开发人员的工作量和开发难度。
实验内容及步骤:实验原理:用 proteus 软件编写一个可执行文件,该文件由一系列的源代码组成,每个源代码包含一定的程序逻辑或者算法。
由于 proteus 软件是一种仿真软件,因此它会根据编译后的机器语言来显示程序逻辑(例如: a=1; b=1;.; a=1;.; b=1)。
通过这种方式在软件中就完成了模拟,即软件可以实现“程序自动生成”,也称为“自动化”,这样就大大降低了开发人员的工作量和开发难度。
proteus 软件仿真实验中使用的程序主要有两部分,第一部分是仿真程序,它按照仿真需求来运行,它主要完成模拟功能;另外一部分是数字电路原理图,它将经过 proteus 仿真之后的结果输出到 PCB 板上去。
所以,数字电路设计不仅仅只是设计数字电路本身,而且还应该考虑到整个电子系统。
Proteus 软件具备电子电路仿真能力,通过它对被仿真对象的操作与观察,再加入必要的辅助元件,便构建起电路实物的仿真效果。
它仿真的范围很广泛,几乎涉及了大多数电子领域,其中有大家熟悉的单片机、 DSP、 ARM 等。
利用 proteus 软件仿真时,可先打开 Proteus 软件中的“虚拟仪器”窗口。
实验1 PROTEUS与KEILC的使用一、实验目的和要求1.应用PROTEUS仿真工具软件绘制硬件连接图;2.使用Keil C 完成程序的编写和调试。
二、实验设备1.PROTEUS仿真软件;2.Keilc51软件及电脑一台。
三、实验内容本实验就是学会PROTEUS仿真软件与KEIL编译环境的使用,让学生提高分析问题和解决问题的能力,最终能够胜任智能电子系统的调试。
四、实验原理1. Proteus仿真软件Proteus 是一个完整的嵌入式系统软、硬件设计仿真平台。
Proteus电路设计是在功能强大的原理布线工具PROTEUS ISIS环境中进行绘制的。
Proteus ISIS编辑环境具有友好的人机交互界面,设计功能强大,使用方便,易于上手。
1、 PROTEUS构成⑴原理图输入系统ISIS⑵混合模型仿真器⑶动态器件库⑷高级图形分析模块⑸处理器仿真模型VSM⑹布线/编辑ARES2、 PROTEUS ISIS 编辑环境电路设计是在PROTEUS ISIS环境中进行绘制的。
PROTEUS ISIS编辑环境具有友好的人机交互界面,而且设计功能强大,使用方便,易于上手。
当运行PROTEUS ISIS 的执行程序后将进入PROTEUS ISIS的编辑环境如图1-1图1-1 PROTEUS ISIS的编辑环境如图选择相应的工具箱图标按钮,系统将提供不同的操作工具。
对象选择器根据选择不同的工具箱图标按钮决定当前状态显示的内容。
显示对象的类型包括元器件、终端、引脚、图形符号、标注和图表等。
工具箱中各图标按钮对应的操作如下:选择元器件在原理图中标注连接点。
标志线段(为线段命名)。
在电路输入脚本。
在原理图中绘制总线。
绘制子电路块。
可以单击任意元器件并编辑元器件的属性。
对象选择器列出各种终端(输入、输出、电源和地等)。
对象选择器将出现各种引脚(如:普通引脚、时钟引脚、反电压引脚和短接引脚等)。
对象选择器出现各种仿真分析所需的图表(如:模拟图表、数字图表、噪声图表混合图表和A/C图表等)。
《单片机原理及应用》软件开发工具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”。
单片机原理及应用基于Proteus和KeilC课程设计一、前言随着现代技术的飞速发展,单片机已经成为电子工程领域中必不可少的一部分,应用范围也越来越广泛。
本课程着重介绍单片机的原理及应用,通过应用和实践,提高学生对单片机的认知和应用能力,培养解决实际问题的能力。
二、课程内容及教学方法2.1 课程内容本课程主要分为以下几个部分: 1. 单片机原理介绍; 2.Proteus软件基础操作及仿真设计; 3. KeilC编译器概述及使用方法;4. 单片机应用实践。
具体内容安排如下:所属部分内容安排单片机原理介绍单片机的概念、结构、基本原理及寄存器等方面的介绍Proteus软件基础操作及仿真设计软件的下载、安装和使用方法、元件的搜索、添加及仿真实践KeilC编译器概述及使用方法KeilC编译器的下载、安装及基本使用、编写程序及调试的方法所属部分内容安排单片机应用实践实践案例设计及仿真模拟,包括LED灯、数码管、LCD等应用场景2.2 教学方法本课程主要通过实践和应用来提高学生的认知和实际操作能力,采用如下教学方法: 1. 教师讲授:介绍单片机原理及应用的相关知识点; 2. 实践操作:学生基于软件仿真和实际实验操作,设计、模拟单片机应用; 3. 互动交流:教师和学生之间的讨论及问题解答; 4. 课程作业:布置与课堂实践相关实验或作业,并及时回馈。
三、课程设计3.1 单片机原理介绍本部分主要介绍单片机的相关知识点,包括单片机的概念、结构、基本原理及寄存器等内容。
3.2 Proteus软件基础操作及仿真设计本部分主要介绍Proteus软件的下载、安装及基本操作方法,元件的搜索、添加及仿真设计方法。
实践案例包括常见的LED灯实现、数码管显示等。
3.3 KeilC编译器概述及使用方法本部分主要介绍KeilC编译器的下载、安装及基本使用方法,包括程序编写、仿真调试等操作。
实践案例主要包括数码管显示、按键控制等应用。
3.4 单片机应用实践本部分主要包括LED灯、数码管、LCD显示等实践案例设计及仿真模拟。
单片机原理及应用基于Keil及Proteus教学设计概述单片机,又称微控制器,是一种集成了处理器、存储器和各种接口电路于一体的小型计算机。
随着技术的发展,单片机已广泛应用于各个领域,如电子产品、工业控制、交通运输、医疗卫生等。
因此,学习单片机的原理及应用具有重要的意义。
Keil和Proteus是两个常用的单片机开发软件,Keil主要用于编辑和编译嵌入式程序,Proteus则用于仿真电路原理图和PCB设计。
本文旨在介绍基于Keil和Proteus教学设计的单片机原理及应用。
单片机原理单片机的处理器主要由中央处理器(CPU)、控制器(Control Unit,CU)、存储器和I/O接口构成。
其中,CPU是单片机的核心,控制器则负责指令解码和执行,存储器可分为程序存储器和数据存储器两种。
I/O接口则用于单片机和外部设备的通信。
单片机的工作过程一般分为启动和运行两个阶段。
在启动过程中,单片机从程序存储器中读取指令执行初始化操作。
执行初始化后,单片机进入运行状态,开始执行用户程序。
单片机的编程语言主要有汇编语言和高级语言两种。
汇编语言具有直接控制处理器的优点,但是编写难度较大,调试困难。
高级语言则具有代码简洁易读的特点,但是执行效率较低。
KeilKeil是一种常用的嵌入式软件开发平台,提供了汇编器、C编译器、链接器等多种工具,方便用户编写和调试程序。
使用Keil进行单片机程序开发时,需要进行如下步骤:1.新建工程:在Keil中点击“Project” -> “NewµVision Project”,新建一个工程。
2.添加源文件:在工程内部右键点击,选择“Add files togroup”,将需要使用的源文件添加至工程中。
3.编译:在工程内部右键点击,选择“Rebuild all targ etfiles”,将工程编译成可执行文件。
4.下载程序:使用下载工具下载可执行文件到单片机中,运行程序。
零基础的keil与proteus的联合仿真实验详细设计思想Keil与Proteus的联合仿真是一种常用的嵌入式系统设计方法。
Keil是一款集成开发环境(IDE),可以用于编写、编译、调试嵌入式系统程序;Proteus是一款虚拟电路仿真软件,可以模拟电路的运行情况。
在本文中,我们将介绍如何使用Keil和Proteus进行联合仿真,以及如何设计一份零基础的实验。
1.硬件准备首先需要准备一块单片机开发板,这里我们以STC89C52为例。
另外还需要一些基本的元件,如电阻、电容、LED灯等。
2.软件准备在进行Keil和Proteus的联合仿真前,需要安装两款软件。
Keil 软件可以从官网上下载,而Proteus软件需要购买正版或者使用免费试用版。
3.Keil程序设计首先,我们需要在Keil中编写程序。
在打开Keil软件后,创建一个新的工程,并在工程中添加一个源文件。
然后编写程序,例如让LED灯不断闪烁:#include<reg52.h>//引入单片机头文件sbitLED=P0^0;//定义LED灯的控制端口voiddelay(unsignedintms)//延时函数{unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<120;j++);}voidmain(){while(1){LED=0;//点亮LED灯delay(500);//延时500毫秒LED=1;//熄灭LED灯delay(500);//延时500毫秒}}编写完程序后,进行编译和下载,将程序下载到单片机开发板上。
4.Proteus电路设计接下来,我们需要在Proteus中设计电路。
打开Proteus软件后,创建一个新的电路设计,然后添加一个单片机。
在单片机的属性中选择STC89C52,并设置相应的时钟频率和外部晶振。
然后添加一个LED 灯,将其中一端连接到单片机的输出端口,另一端连接到电源和地线上。
51单片机原理及应用基于KeilC与Proteus教学设计摘要本文主要介绍了基于KeilC与Proteus平台的51单片机原理及应用的教学设计,旨在帮助初学者更好的了解单片机编程的基本原理,以及如何使用KeilC和Proteus平台进行单片机的开发和调试。
本文包括了单片机的基本原理、汇编语言的基础知识、C语言编程基础、KeilC和Proteus平台的基本使用方法,以及基于这些知识实现的一些实例设计,可以帮助读者在实践中更好的理解单片机编程的基本原理。
1. 51单片机的基本原理51单片机是一种基于CISC架构的8位单片机,由Intel公司于1980年推出,具有高速、低功耗、易于编程等优点,被广泛应用于嵌入式系统中。
51单片机由CPU、存储器、IO口和时钟电路等组成,其中CPU采用Harvard结构,能够同时访问程序存储器和数据存储器,具有较好的执行效率。
2. 汇编语言的基础知识汇编语言是学习单片机编程最基本的知识之一,其主要作用是将人类能够理解的代码翻译成机器可以执行的指令。
汇编语言的学习包括了数据类型、指令集、寻址方式等内容,通过学习这些内容,能够更好的理解单片机编程的基本原理。
3. C语言编程基础C语言是一种高级编程语言,与汇编语言相比具有易学易用等优点。
在单片机编程中,C语言可以更好的实现程序设计的模块化,增强代码的可读性和可维护性。
C语言编程基础知识包括数据类型、语句控制结构、数组、指针等,通过学习这些内容,能够更好的进行单片机编程。
4. KeilC和Proteus平台的基本使用方法KeilC和Proteus是进行单片机编程、仿真和调试的常用工具,能够有效地辅助开发者进行单片机开发。
KeilC是一款集成开发环境,支持多种语言的编程,可用于单片机程序的开发和调试;Proteus是一款电子电路仿真软件,能够进行单片机程序的仿真和调试。
通过学习KeilC和Proteus平台的基本使用方法,能够更好的进行单片机编程。
Proteus和Keil软件在单片机实验教学中的应用随着单片机技术的发展,单片机实验教学成为了学习单片机的重要环节。
而在单片机实验教学中,Proteus和Keil软件成为了不可或缺的工具。
Proteus是一种虚拟电路仿真软件,可以用来模拟并调试各种电子电路。
而Keil软件是一种用来编写嵌入式C语言程序的集成开发环境(IDE),可以将程序烧录到单片机中并进行调试。
Proteus软件在单片机实验教学中的应用非常广泛。
首先,Proteus可以用来设计和模拟各种单片机电路。
在单片机实验教学中,学生需要学习各种基础电路,如LED 的点亮、数码管的显示等。
使用Proteus软件,学生可以在虚拟环境下搭建电路并进行仿真,这样可以提高学生的实验效率,减少实验器材的消耗。
同时,Proteus软件还可以对电路进行各种参数分析,如电压、电流的测量,有助于学生深入理解电路的原理。
其次,Proteus软件还可以用来调试单片机程序。
在实际的单片机应用中,程序错误是难免的。
如果学生只能通过实际硬件调试,将会浪费大量的时间和资源。
通过Proteus软件,学生可以在仿真环境下调试程序,找出错误并进行修正。
这样不仅可以提高学生的调试能力,还可以节省调试时间,提高实验效率。
除了Proteus软件,Keil软件也在单片机实验教学中发挥了重要作用。
Keil软件是一种专门用来编写嵌入式C语言程序的集成开发环境(IDE),它提供了丰富的代码编辑和调试工具,方便学生编写和调试单片机程序。
学生可以通过Keil软件编辑和组织程序代码,然后将程序烧录到单片机中进行运行。
如果程序出现错误,学生可以通过Keil软件进行调试,观察变量的值、程序的执行流程等,找出错误的原因并进行修正。
此外,Keil软件还提供了一些仿真功能,可以在PC机上模拟单片机的执行过程。
学生可以通过Keil软件进行程序单步执行,观察程序在每一步的执行情况,这对于学生理解和掌握单片机的工作方式非常重要。
《Proteus和Keil软件在单片机实验教学中的应用》篇一Proteus与Keil软件在单片机实验教学中的应用一、引言随着科技的发展,单片机教学已经成为电子信息、电气控制等领域的必修课程。
为了更好地进行单片机实验教学,提高教学质量和效果,许多教育机构和科研单位都采用了Proteus和Keil 等软件作为辅助教学工具。
本文将详细探讨Proteus和Keil软件在单片机实验教学中的应用。
二、Proteus软件在单片机实验教学中的应用1. 虚拟仿真实验环境Proteus是一款功能强大的单片机仿真软件,能够为单片机实验教学提供一个虚拟的仿真实验环境。
学生可以在这个环境中进行电路设计、程序编写和调试等操作,无需实际硬件设备,降低了实验成本,提高了实验效率。
在Proteus中,学生可以根据教学要求,搭建各种电路模型,如数字电路、模拟电路等。
同时,Proteus还支持多种单片机芯片的仿真,学生可以在这个环境中学习和掌握单片机的各种功能和应用。
2. 直观的界面操作Proteus的界面操作简单直观,学生可以轻松地进行电路设计和程序编写。
在仿真过程中,学生可以实时观察电路的运行状态和程序执行情况,从而更好地理解和掌握单片机的运行原理和编程技巧。
此外,Proteus还支持多种文件格式的导入和导出,方便学生与其他软件进行数据交换和共享。
三、Keil软件在单片机实验教学中的应用1. 编程与调试工具Keil是一款功能强大的单片机编程与调试工具,能够帮助学生进行单片机的程序编写、编译、调试等工作。
在Keil中,学生可以使用各种编程语言进行编程,如C语言、汇编语言等。
Keil具有强大的调试功能,可以实时监控单片机的运行状态和程序执行情况。
学生可以在Keil中设置断点、观察变量值、单步执行等操作,从而更好地理解和掌握单片机的编程技巧和运行原理。
2. 丰富的资源库Keil具有丰富的资源库,包括各种单片机芯片的驱动程序、库函数、示例程序等。
单片机原理及应用——基于Proteus和KeilC单片机原理及应用单片机是指以单个集成电路芯片为核心的微型计算机系统。
它具有体积小、功能强大、成本低廉等优势,因此在电子领域应用广泛。
本文将以Proteus和Keil C为工具,详细介绍单片机的原理及应用。
一、单片机的定义和组成在本小节中,我们将对单片机进行定义,并介绍其主要组成部分。
单片机是一种集成电路芯片,具有CPU、存储器、输入输出设备等功能模块。
其中,CPU是单片机的核心部分,用于执行各种指令。
存储器主要包括ROM和RAM,用于存储程序和数据。
输入输出设备用于与外部环境进行信息交互。
此外,单片机还包括时钟模块、中断系统等辅助功能。
在Proteus和Keil C中,我们可以通过拖拽元件来构建单片机电路图,并利用Keil C编写程序。
这些工具的使用方法将在后续章节中详细介绍。
二、单片机的工作原理单片机的工作原理主要包括指令执行周期和中断处理。
指令执行周期是单片机执行一条指令所需要的时间。
它包括取指周期、译码周期、执行周期和写回周期。
取指周期是从存储器中获取指令的时间,译码周期是对指令进行解码的时间,执行周期是执行指令的时间,写回周期是将处理结果写回存储器的时间。
中断处理是单片机响应外部事件的一种机制。
当外部事件发生时,单片机会立即暂停当前任务,并执行相应的中断服务程序。
中断服务程序执行完毕后,单片机会返回到原来的任务中继续执行。
三、单片机应用:LED闪烁实验在本小节中,我们将利用Proteus和Keil C来实现一个简单的LED闪烁实验。
首先,在Proteus中绘制电路图,包括单片机、LED和电阻等元件。
接下来,利用Keil C编写相应的程序,控制LED的闪烁。
编写程序后,将其下载到单片机中。
程序的主要思路是通过控制IO口的高低电平来控制LED的亮灭。
通过不断循环、延时操作,可实现LED的闪烁效果。
四、单片机应用:温度监测实验在本小节中,我们将利用Proteus和Keil C来实现一个温度监测实验。
《单片机原理及应用》软件开发工具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”。
完成上述步骤后单击“保存(S)”,此时新文件已创建完成。
这个新文件还需添加到刚才创建的项目中,操作步骤与下面的“添加已创建文件”步骤相同。
3.添加已创建文件(1)在项目窗口中,右键单击“Source Group 1”,选择“Add Files to Group1 Source Group 1 ”选项。
(2)完成上述操作后会出现“Add Files to Group ‘Source Group1’”对话框。
在该窗口中选择要添加的文件,这里只有刚刚建立的文件“xxx.c”,单击这个文件后,单击“Add”按钮,再单击“Close”按钮,文件添加已经完成了,这时用户程序文件“xxx.c”已经出现在“Source Group 1”目录下了。
4.程序的编译单击快捷按钮中的,对当前文件进行编译,输出窗口会出现编译结果的提示信息。
从输出窗口中的提示信息可以看到,程序中有x个错误,认真检查程序找到错误并改正,改正后再次单击进行编译,直至提示信息显示没有错误为止。
5.项目的设置单击“Options for Target “Target1”窗口中的“Output”选项,就会出现Output页面。
Create HEX File生成可执行代码文件。
选择此项后即可生成单片机可运行的二进制文件(.hex格式文件),扩展名为.hex。
二、Proteus的使用Proteus环境下的一个单片机系统的原理电路虚拟设计与仿真需要3个步骤。
(1)Proteus ISIS环境下的电路原理图设计。
(2)在Keil C51平台上进行源程序的输入、编译与调试,并最终生成目标代码文件(*.hex 文件)。
(3)调试与仿真在Proteus环境下将目标代码文件(*.hex文件)加载到单片机中,并对系统进行虚拟仿真。
1.建立新设计文件单击主菜单的“文件(F)”→“新建设计(N)”选项来新建一个文件。
如果选择新建设计文件,会弹出“新建设计”窗口,窗口中有多种模板,单击要选的模板图标,再单击“确定”按钮,即建立一个该模板的空白文件。
如果直接单击“确定”按钮,即选用系统默认的“DEFAULT”模板。
如果用工具栏的快捷按钮Q来新建文件,就不会出现窗口,而直接选择系统默认的模板。
2.选择需要的元件到元件列表电路设计前,要把设计的电路原理图中需要的元件列出并选择元件到元件列表中。
开始时,左侧的元件列表中没有一个元件,单击左侧工具栏中的快捷按钮,再单击元件选择快捷按钮就会出现“Pick Devices”窗口,在窗口的“关键字”栏中,输入AT89C52,此时在“结果”栏中出现“元件搜索结果列表”,并在右侧出现“元件预览”和“元件PCB预览”,如图4 -41所示。
在“元件搜索结果列表”中双击所需要的元件 AT89C52,这时在主窗口的元件列表中就会添加该元件。
用同样的方法将所需要选择的其他元件也添加到元件列表中即可。
所有元件选取完毕后,单击右下方的“确定”按钮,即可关闭“Pick Devices”窗口,回到主界面进行原理图绘制。
3.元件的放置单击元件列表中所需要放置的元件,然后将鼠标移至原理图编辑窗口中单击一下,此时就会在鼠标处有一个粉红色的元件,移动鼠标选择合适的位置,单击一下左键,该元件就被放置在原理图编辑窗口了。
若要删除已放置的元件,用鼠标左键单击该元件,然后按Delete键删除元件,如果进行了误删除操作,可以单击快捷按钮恢复。
一个单片机系统电路原理图设计,除了元件还需要各种终端,如电源、地等,单击工具栏中的快捷按钮,就会出现各种终端列表,单击元件终端中的某一项,上方的窗口中就会出现该终端的符号。
此时可选择合适的终端放置到电路原理图编辑窗口中去,放置的方法与元件放置相同。
4.电路元件的连接在元件模式快捷按钮与自动布线器快捷按钮按下时,两个元件导线的连接方法是: 先单击第一个元件的连接点,移动鼠标,此时会在连接点引出一根导线。
如果想要自动绘出直线路径,只需单击另一个连接点。
如果设计者想自己决定走线路径,只需在希望的拐点处单击鼠标左键。
需要注意的是,拐点处导线的走线只能是直角。
在自动布线器快捷按钮贸松开时,导线可按任意角度走线,只需要在希望的拐点处单击鼠标左键,把鼠标指针拉向目标点,拐点处导线的走向只取决于鼠标指针的拖动。
5.总线(1)总线的绘制:单击工具栏的快捷按钮,移动鼠标到绘制总线的起始位置,单击鼠标左键,便可绘制出一条总线。
如想要总线出现不是90°角的转折,此时自动布线器快捷按钮应当松开,总线即可按任意角度走线,只需要在希望的拐点处单击鼠标左键,把鼠标指针拉向目标点,在总线的终点处双击鼠标左键,即结束总线的绘制。
(2)放置线标:单击工具栏的快捷按钮,再将鼠标移至需要放置线标的导线上单击,即会出现“Edit Wire Label”对话框,将线标填入“标号”栏(例如填写“ DO”等),单击“确定”按钮即可。
与总线相连的导线必须要放置线标,这样相同线标的导线才能够导通。
“Edit Wire Label”对话框除了填入线标外,还有几个选项,设计者根据需要选择即可。
6.加载目标代码文件、设置时钟频率电路原理图绘制完成后,在Proteus的ISIS中双击电路原理图中的单片机,出现“编辑元件”窗口,把在Keil C51下生成的“hex”文件加载到电路原理图中的单片机内即可进行仿真了。
加载步骤如下:在Program File对话框中,输入.hex目标代码文件,再在Clock Frequency栏中设置12MHz,则该虚拟系统以12 MHz的时钟频率运行。
此时,即可回到电路原理图界面进行仿真了。
在加载目标代码时需要特别注意的是,运行时钟频率以单片机属性设置中的时钟频率(Clock Frequency)为准。
需要注意的是,在Proteus中绘制电路原理图时,单片机最小系线所需的时钟振荡电路,复位电路,EA引脚与+5V电源的连接均可省略,Proteus已经默认,不影响仿真结果。
7.仿真运行单击Proteus ISIS界面中的快捷按钮即可运行程序。
三、Proteus与 Keil的联调前面介绍了如何在Proteus环境下完成电路原理图的设计文件(设计文件名后缀. DSN)后,再把在Keil下编写的C51程序,经过调试、编译,最终生成“hex”文件,并把“.hex”文件载入虚拟单片机中,然后进行软硬件联调。
如果要修改程序,需再回到Keil下修改,再经过调试、编译,重新生成“hex”文件,重复上述过程,直至系统正常运行为止。
但是对于较为复杂的程序,如果没有达到预期效果,这时可能需要Proteus与Keil进行联合调试。
联调之前需要安装vudgi. exe文件,该文件由教师提供,或可到Proteus的官方网站下载。
vudgi.exe文件安装后,需在Proteus与Keil中进行相应设置。
设置时,首先打开Proteus需要联调的程序文件,但不要运行,然后选中“调试”菜单中的“使用远程调试监控”选项,使得Keil能与Proteus进行通信。
完成上述设置后,在Keil中打开程序工程文件,然后单击菜单Project/Options for Target选项(或单击工具栏上“魔法棒”快捷按钮),打开项目对话框。
在Debug选项卡中选定右边的Use及选项Proteus VSM Simulator。
如果Proteus与Keil安装在同一台计算机中,右边VDM Server Settings中的Host与Port可保持默认值 127.0. 0. 1与8000不变。
如果跨计算机调试则需要进行相应的修改。
完成上述设置后,在Keil中全速运行程序时,Proteus中的单片机系统也会自动运行。
如果希望观察运行过程中某些变量的值或者设备状态,需要在Keil中恰当使用各种 Step In/ Step Over/ Step Out/ Run To Cursor Line及Breakpoint进行跟踪,来观察虚拟硬件系统运行的情况。
总之,需要把Keil中的各种调试手段,如单步、跳出、运行到当前行、设置断点等恰当地配合来进行单片机系统运行的软硬件联调。
需要说明的是,联调方式不支持需要调试的程序工程的中文名字,因此需将工程文件的中文文件名改为英文的文件名。
实验内容题1 完成教材P185例子6-3的程序编写和原理图绘制,并实现题目所需功能,在实验报告上附上Keil界面的程序截图和Proteus界面的原理图(原理图编辑窗口里打上自己的名字和学号)。
题2 完成教材P201例子7-1的程序编写和原理图绘制,并实现题目所需功能,在实验报告上附上Keil界面的程序截图和Proteus界面的原理图(原理图编辑窗口里打上自己的名字和学号)。