proteus和keil的仿真实验报告
- 格式:doc
- 大小:196.00 KB
- 文档页数:5
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概述 (1)2 Keil软件 (2)2.1Keil简述 (2)2.2 Keil特点 (3)2.3 Keil的操作 (3)3 Proteus软件 (8)3.1 Proteus软件简述 (8)3.2 Proteus软件特点 (8)3.3 Proteus应用领域 (9)3.4 Proteus的操作 (10)3.5 Keil与Proteus的联调 (11)4单元仿真 (12)4.1 数码管仿真 (12)4.2 键盘仿真 (18)5 综合仿真 (21)5.1方向可控流水灯 (21)6结束语 (25)1概述仿真软件(simulation software),专门用于仿真的计算机软件。
它与仿真硬件同为仿真的技术工具。
仿真软件是从50年代中期开始发展起来的。
它的发展与仿真应用、算法、计算机和建模等技术的发展相辅相成。
1984年出现了第一个以数据库为核心的仿真软件系统,此后又出现采用人工智能技术(专家系统)的仿真软件系统。
这个发展趋势将使仿真软件具有更强、更灵活的功能、能面向更广泛的用户。
目前比较风行的是虚拟现实仿真软件,比如虚拟现实仿真平台(VR-Platform)。
其目标是不断改善面向问题、面向用户的模块描述能力和对模型实验的功能。
不同技术水平的用户通过仿真软件能在不同的程度上采用他们表达问题的习惯语言,方便地与计算机对话,完成建模或仿真实验。
仿真软件分为仿真语言、仿真程序包和仿真软件系统三类。
其中仿真语言是应用最广泛的仿真软件。
仿真程序包是针对仿真的专门应用领域建立起来的程序系统。
软件设计人员将常用的程序段设计成通用的子程序模块,并设计一个主程序模块,用于调用子程序模块。
仿真研究人员使用这种程序包可免去繁重的程序编制工作。
仿真软件系统以数据库为核心将仿真软件的所有功能有机地统一在一起,构成一个完善的系统。
它由建模软件、仿真运行软件(语言)、输出结果分析报告软件和数据库管理组成。
实验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”。
实验一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所示。
实验一 Proteus仿真软件使用方法一.实验目的:(1)了解Proteus仿真软件的使用方法。
(2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。
二.实验要求:通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。
三.实验内容:(1)Proteus 仿真软件介绍Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。
它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。
通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。
图1是Proteus ISIS的编辑窗口:图1 ISIS的编辑界面图中最顶端一栏是“标题栏”,其下的“File View Edit ……”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。
选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图2的元器件选择界面:图2 元器件库选择界面在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图2中间的大空白框列出你所需的一系列相关的元件。
此时,你可用鼠标选中你要的元件,则图2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名称就会列入位于图1左侧的“对象选择窗口”中(参见图1左侧下方框)。
实验十Keil C软件的使用实验一.实验目的Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计。
掌握Keil C51 软件的使用方法。
二.实验设备TDN86/51开发系统,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);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮。
6)回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单然后单击“Add File to Group …Source Group 1‟”屏幕如下图所示选中Test.c,然后单击“Add”屏幕如下图所示注意到“Source Group 1”文件夹中多了一个子项“Text1.c”了吗?子项的多少与所增加的源程序的多少相同7)现在,请输入如下的C语言源程序:#include <reg52.h> //包含文件#include <stdio.h>void main(void) //主函数{SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1; //此行及以上3行为PRINTF函数所必须printf(“Hello I am KEIL. \n”); //打印程序执行的信息printf(“I will be your friend.\n”);while(1); }在输入上述程序时,Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。
实验一Kiel C 和Proteus 软件的使用一、实验目的学习Kiel C 和Proteus 软件的使用。
二、实验内容1.熟悉Kiel C软件界面2.编辑、编译、运行程序3.熟悉Proteus软件界面4.用Proteus画仿真图三、实验步骤及参考例子实验步骤:1.Kiel C软件使用1)在D盘建立自己的文件夹。
2)开启程序。
单击桌面Keil uVision2的快捷方式,或者单击“开始”->“所有程序”->“Keil uVision2”。
3)建立工程。
点击Project 菜单,选择弹出的下拉式菜单中的New Project ,接着弹出一个标准Windows 文件对话窗口,在“保存在”里选择自己的文件夹,以方便将来编写的代码文件都保存在这里。
然后在“ 文件名”中输入C 程序项目名称。
“保存”后的文件扩展名为uv2 ,这是KEIL uVision2 项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。
4)选择所需要的单片机。
这里我们选择Ateml 公司的AT89C51。
选择CPU后,要选择“是”来给项目中添加预配置文件。
5)建立文件并编码。
首先在项目中创建新的程序文件或加入旧程序文件。
如果您没有现成的程序,那么就要新建一个程序文件。
通过菜单File-New 或快捷键Ctrl+N 来实现。
新建文件后,应立即保存此文件,使用扩展名如“test1.c”, 保存在项目所在的目录中,保存后,可以使IDE环境中的语法高亮功能立即生效。
6)把文件加入工程中。
鼠标在屏幕左边的Source Group1 文件夹图标上右击弹出菜单,在这里可以做在项目中增加减少文件等操作。
选“Add File to Group ‘Source Group 1”弹出文件窗口,选择刚刚保存的文件,按ADD按钮,关闭文件窗,程序文件已加到项目中了。
这时在Source Group1 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。
北京联合大学
《基于proteus和keil仿真》实验报
告
实验题目:基于ADC0808模数转换器的数字电压表
学院:信息学院专业:电子信息工程
班级:0808030301
组员:华永奇学号:2008080303107
组员:朱圣峰学号:2008080303137
组员:陈柏宇学号:2008080303113
组员:李冉学号:2008080303119
组员:张茜学号:2008080303104
一、实验任务:
利用单片机AT89C51与A/D 转换器件ADC0808设计一个数字电压表,能够
测量0~5V 之间的直流电压值,并用4位数码管显示该电压值。
设计任务要求:
硬件设计:利用Proteus 软件绘制原理图; 软件设计:利用Keil 软件进行程序设计;
完成软硬件调试:Proteus 和Keil 联调,实现选题要求的功能;
二、实验设计:
1、 硬件设计:
1.11.2 proteus
2、软件设计:
2.1 程序源代码:
#include<reg51.h>
#define uchar unsigned char //宏定义
#define uint unsigned int
//定义管脚
sbit START=P3^2;
sbit OE=P3^0;
sbit EOC=P3^1;
sbit P07=P0^7;
sbit CLK=P3^4;
uchar data led[4];
uint data tvdata; //定义输出电压值变量
uchar code tv[]={0xf7,0xfb,0xfd,0xfe}; //led动态显示控制位选数组
uchar code a[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //led上显示段选数组,0~9,阴极管void delay(void) //延时程序
{
uint i;
for(i=0;i<100;i++)
for(i=0;i<100;i++); //对于12mhz单片机,10ms延时
}
void led_display(void) //数码管显示模块
{
uchar k,temp;
led[0]=tvdata%10; //个位
led[1]=tvdata/10%10; //十位
led[2]=tvdata/100%10; //百位
led[3]=tvdata/1000; //千位
for(k=0;k<4;k++) //利用for循环进行动态显示
{
P2=tv[k]; //位选信号赋值给P2口
temp=led[k]; // 段选信号赋值给临时变量temp
P0=a[temp]; // temp赋值给P0口
if(k==3) //点亮第四个数码管的小数点
{
P07 =1; //高位点亮
}
delay(); //延时
}
}
void main(void) //主控制模块
{
ET0=1; // 允许定时器中断
EA=1; //开启中断总开关
TMOD=0x02; //设置定时工作状态,定时器0工作在方式2
TH0=216; //在寄存器中装入初始值,
TL0=216;
TR0=1; //启动定时器0
while(1)
{
START=1; //启动转换
START=0;
while(EOC==0) ;//等待模数转换结束
OE=1; //输入高电平,打开输出三态门,输出数字量
tvdata=P1; //读取P1口的值给输出电压值变量
tvdata*=5000/255.000;//因为输出值在0~255之间,所以应该放大到0~5000
OE=0; //关闭三态门,禁止输出
led_display(); //LED上显示测得电压值
delay(); //延时
}
}
void t0(void) interrupt 1 using 0 //定时中断函数,使用寄存器组0,产生adc0808的驱动时钟脉冲
{
CLK=~CLK; //clk电平取反
}
三、联调结果。