proteus和keil的仿真实验报告
- 格式:doc
- 大小:196.00 KB
- 文档页数:5
《Proteus和Keil软件在单片机实验教学中的应用》篇一Proteus与Keil软件在单片机实验教学中的应用一、引言在当今的电子信息技术领域,单片机实验教学已经成为培养学生实际操作能力和创新思维能力的重要环节。
Proteus和Keil软件作为单片机实验教学的重要工具,在提高教学效率、优化教学效果方面发挥了重要作用。
本文将详细探讨Proteus和Keil软件在单片机实验教学中的应用,以及其带来的教学效果与价值。
二、Proteus软件在单片机实验教学中的应用Proteus是一款集电路设计、电路仿真、单片机仿真等于一身的电子设计自动化(EDA)软件。
在单片机实验教学中,Proteus 具有以下应用:1. 电路设计与仿真:Proteus提供了丰富的元器件库,教师可以根据实验需求,设计出符合教学要求的电路图。
同时,通过仿真功能,学生可以在实际硬件搭建之前,对电路进行仿真测试,验证设计的正确性。
2. 单片机仿真:Proteus支持多种型号的单片机仿真,可以帮助学生了解单片机的内部结构和运行原理。
通过在Proteus中编写程序并下载到仿真单片机中,学生可以观察单片机的运行过程,加深对单片机编程的理解。
3. 实验辅助教学:教师可以利用Proteus的虚拟实验环境,进行远程实验教学。
学生可以在自己的电脑上进行实验操作,提高了教学效率和学生的参与度。
三、Keil软件在单片机实验教学中的应用Keil是一款功能强大的单片机C语言编程软件,具有以下应用特点:1. 编程环境:Keil提供了完善的C语言编程环境,支持多种型号的单片机。
学生可以在Keil中编写程序,并通过编译器将程序编译成可在单片机上运行的机器码。
2. 调试功能:Keil具有强大的调试功能,可以通过串口通信等方式与Proteus等仿真软件进行联调,实现软硬件联调的实验教学。
学生可以在Keil中设置断点、查看变量值等,方便地调试程序。
3. 教学辅助:教师可以利用Keil的编程环境和调试功能,进行编程和调试教学的辅助。
流水灯(电路和汇编)-P r o t e u s和K e i l仿真演示实例示例要求:在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。
在KEIL 51中编程序,形成HEX文件;在PROTEUS中设计硬件,下载HEX文件,运行看结果。
第1篇:PROTEUS电路设计1、打开PROTEUS的ISIS软件,如图1所示。
新建电路图文件,将文件保存到E:\projectio (新建文件夹projectio)下面,文件基本名为io,扩展名默认。
选择元图1 ISIS窗口图2、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图2所示。
图2 元件选择窗口在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图3的device列表栏。
在这里依次添加元件单片机80C51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED,如图3所示。
图3 添加元件的device列表栏3、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作;如图4所示。
电源(POWER)与地(GROUND):(右键-放置-终端里选)。
图4 放置元件图4、连接导线,如图5所示。
连接后存盘。
图5 连接元件图5、在Keil软件中设计软件程序,形成HEX文件(具体过程见第2篇Keil软件编程)。
保存软件项目到电路文件相同的文件夹E:\projectio下。
6、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。
这里是同一个文件夹下面的shili.hex文件。
如图6所示。
图6 下载程序到单片机7、单击仿真运行按钮play,运行程序。
武汉工程职业技术学院
电子电路设计Proteus仿真实验报告
学号
姓名
专业班级
指导教师
年月日
信息工程系
一、实验目的
1、掌握Proteus ISIS基本功能。
2、掌握Proteus ISIS文件的基本操作方法和管理方法。
3、掌握Proteus ISIS仿真控制器件和虚拟仪器的使用方法。
4、掌握电子电路的设计与仿真调试的方法。
二、实验设备
计算机,Proteus软件,Word软件。
三、实验内容
1、闪烁信号发生器设计与仿真
图1
出现的问题及解决的方法:
出现的问题中要具体确认“是”何原因造成的,如何改进的,如增大或减小哪一电容的电容值、哪一根线连错。
(1)
(2)
2、计数器设计与仿真
3、简易电容测试仪设计与仿真
四、实验总结
先不要打印,将图形修改得更美观。
要求:
1、不得相互拷贝和抄袭,这样才能不虚度年华,真正学到知识。
2、绘图必须规范、严谨,所选内容可以不拘一格。
3、打印实验报告上交,同时所有Proteus、Word文件打包(以中文姓名和班级命名),发至教师邮箱。
lixiaohong_youxiang@。
Hefei University电源设计电路仿真课题名称:Proteus电源设计电路仿真作者姓名:赵静学号:1105011006指导老师:刘伟完成时间: 2012-10-29前言 (1)课程设计的目的和要求 (2)1.1预习要求 (2)1.2实验目的 (2)1.3设计任务 (2)1.4实验仪器、设备 (2)1.5实验注意事项 (2)1.6实验报告要求 (2)设计内容 (3)2.1 将一个12v电源通过电路设计降到5v,3.3v。
(3)2.1.1集成芯片的简介 (3)2.1.2 元器件的使用 (3)2.1.3 电路基本原理 (4)2.2将一个12v电源通过电路设计升到24v (6)2.2.1三极管简介 (6)2.2.2元器件的使用 (6)2.2.3电路基本原理 (6)总结 (8)前言Protues软件是英国Labcenter electronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译。
Protues提供了丰富的资源(1)Protues可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。
经过几个月对proteus和keil的学习,并且将它们运用到实例当中,不仅让我了解了这两个软件的强大功能,而且使我认识到了他们与实际结合的完美,我们不用进实验室就可以看到我们想要的结果,省时又省力,方便快捷,并且结果接近真实值,是我们仿真的理想帮手。
根据在学习这两个软件时候的感受,总结一些它们的特点:Proteus特点:1、Proteus软件提供了数千种元器件和多达30多个元件库。
2、在Proteus软件中,理论上同一种仪器可以在一个电路中随意的调用。
3、除了现实存在的仪器外,Proteus还可以以图形的方式实时地显示线路上变化的信号。
4、虚拟仪器仪表具有理想的参数指标,可减少仪器对测量结果的影响。
Proteus提供了比较丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
Keil特点:1、全功能的源代码编辑器;2、器件库用来配置开发工具设置;3、项目管理器用来创建和维护用户的项目;4、集成的MAKE工具可以汇编、编译和连接用户嵌入式应用;5、所有开发工具的设置都是对话框形式的;6、真正的源代码级的对CPU和外围器件的调试器;7、高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信;Proteus是Labcenter公司出品的电路分析、实物仿真系统。
它可仿真各种电路和集成IC,最让我们高兴的是它支持许多型号的单片机的仿真,另外还提供Schematic Drawing与PCB设计功能。
它的元件库齐全,使用方便,是不可多得的电子电路设计辅助软件。
keil是目前世界上最好的51单片机的汇编和C语言的开发工具。
它支持汇编,C语言以及混合编程,同时具备功能强大的软件仿真和硬件仿真(用mon51协议,需硬件支持)功能。
但是我们在利用它的仿真功能的时候都有一定的限制。
我们把这两个软件结合来用,调试软硬件就方便多了。
其实Proteus在设计的时候已经注意到和各种单片机编译程序的整合了。
如何利用Proteus与keil 联合仿真,使proteus有编译c语言的能力软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus 的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。
(1)、安装keil 与proteus。
(2)、把Keil安装目录的\C51\BIN中VDM51.dll和VDMARM.DLL 复制到proteus的BIN中。
(3)、修改keil安装目录下Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL ("Proteus VSM Simulator "),保存。
注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。
4、打开proteus,画出相应电路,在proteus的debug菜单中选中use remote debug monitor5、在keil中编写MCU的程序6、进入KEIL的project菜单option for target '工程名。
在DEBUG选项中右栏上部的下拉菜单选中Proteus VSM Simulator 在进入seting,如果同一台机IP 名为127.0.0.1,端口号一定为80007、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示…)这样就可以像使用仿真器一样调试程序注意:1、keil文件和proteus 文件要在同一个文件夹下,最好是keil 目录下。
2、Proteus 画好图后要进行电气连接,检查错误,并生成网络表。
3、keil文件options进行output设置,生成可执行文件。
《Proteus和Keil软件在单片机实验教学中的应用》篇一Proteus与Keil软件在单片机实验教学中的应用一、引言在当今的电子信息技术领域,单片机实验教学已经成为培养学生实际操作能力和创新思维能力的重要环节。
Proteus和Keil软件作为单片机实验教学的重要工具,它们的应用极大地提高了教学效率和实验效果。
本文将详细探讨Proteus和Keil软件在单片机实验教学中的应用。
二、Proteus软件在单片机实验教学中的应用Proteus是一款功能强大的电子电路设计和仿真软件,具有丰富的电子元器件库和强大的电路仿真功能。
在单片机实验教学中,Proteus的应用主要体现在以下几个方面:1. 电路设计与仿真:在实验前,学生可以利用Proteus进行电路设计和仿真,通过模拟实验过程,熟悉电路的连接方式和各元器件的参数设置。
这有助于学生更好地理解单片机的电路原理和实验目的。
2. 虚拟实验环境:Proteus可以创建一个虚拟的实验环境,让学生在计算机上进行实验操作。
通过模拟真实的实验条件,使学生能够更好地掌握单片机的编程和应用技术。
3. 故障诊断与排除:在实验过程中,如果电路出现故障,学生可以利用Proteus进行故障诊断与排除。
通过仿真分析,找出故障原因并采取相应的措施进行修复。
这有助于培养学生的故障诊断和排除能力。
三、Keil软件在单片机实验教学中的应用Keil是一款专门为单片机开发设计的C语言编译器和调试器,具有强大的代码编辑、编译和调试功能。
在单片机实验教学中,Keil的应用主要体现在以下几个方面:1. 代码编写与编译:学生可以利用Keil进行单片机的代码编写和编译。
Keil提供了丰富的函数库和强大的代码编辑功能,使学生能够快速编写出符合实验要求的代码。
2. 实时调试与监控:Keil具有实时调试和监控功能,学生可以在实验过程中对程序进行实时调试和监控。
通过观察程序的运行状态和输出结果,及时发现和解决问题。
实验一智能仪器设计集成环境介绍一、实验目的1.掌握利用Proteus仿真平台进行电路设计的基本操作。
2.掌握利用Proteus软件和Keil联合仿真调试的操作。
二、实验仪器计算机一台、Proteus软件三、实验内容Proteus ISIS是英国Labcenter Electronics公司开发的EDA软件。
单片机是现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最为普遍的应用手段。
近年来单片机技术得到了突飞猛进的发展,各种单片机开发工具层出不穷。
虚拟仿真就是近年来兴起的一种新型应用技术,采用虚拟仿真技术,在原理图设计阶段就可以对单片机应用设计进行评估,验证所设计电路是否达到所要求的技术指标,还可以通过改变元器件参数使整个电路性能达到最优化。
这样就无须多次购买元器件及制作印刷电路板,节省了设计时间与经费,提高了设计效率与质量。
英国Labcenter公司推出的Proteus软件是一款极好的单片机应用开发平台,它以其特有的虚拟仿真技术很好地解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试,使单片机应用系统设计变得简单容易。
Proteus软件涵盖了PIC、AVR、MCS8051、68HC11、ARM等微处理器模型,以及多种常用电子元器件,包括74系列、CMOS 4000系列集成电路、A/D和D/A转换器、键盘、LCD显示器、LED显示器,还提供示波器、逻辑分析仪、通信终端、电压/电流表、I2C/SPI终端等各种虚拟仪表,这些都可以直接用于仿真设计,极大地提高了设计效率和设计水平。
下面以一个“完成每隔1秒钟接在P1口1.1所示):源程序:ORG 0000HLJMP STARTORG 0030HSTART: MOV A,#0FEHLOOP: MOV P1,AMOV R1,#10DLE1: MOV R2,#200DLE2: MOV R3,#126DLE3: DJNZ R3, DLE3DJNZ R2, DLE2DJNZ R1, DLE1RL ALJMP LOOPEND四、实验步骤1、进入Proteus 系统,画出实验电路图;2、进入Keil C51软件的操作环境,编辑源程序并对源文件进行编译;编译如图1.2所示:图1.2 编译3、对Proteus系统和Keil C51系统进行联机设置,如图1.3、1.4所示;联机设置:首先要安装Proteus的Keil 驱动,安装好驱动后,进入Keil界面进行设置,单击工具条中的按钮,在弹出的表单中单击选项卡,选择的组合框,在下拉菜单中选中“Proteus VSM Simulator”选项即可,如果是联机进行联调,还要在其后的按钮中进行适当的设置。
1
北京联合大学
《基于proteus和keil仿真》实验报
告
实验题目: 基于ADC0808模数转换器的数字电压表
学 院: 信息学院 专 业:电子信息工程
班级:0808030301
组员: 华永奇 学 号:2008080303107
组员: 朱圣峰 学 号:2008080303137
组员: 陈柏宇 学 号:2008080303113
组员: 李冉 学 号:2008080303119
组员: 张茜 学 号:2008080303104
2
一、实验任务:
利用单片机
AT89C51与A/D转换器件ADC0808设计一个数字电压表,能够
测量0~5V之间的直流电压值,并用4位数码管显示该电压值。
设计任务要求:
硬件设计:利用Proteus软件绘制原理图;
软件设计:利用Keil软件进行程序设计;
完成软硬件调试:Proteus和Keil联调,实现选题要求的功能;
二、实验设计:
1、 硬件设计:
1.1设计框图:
1.2 proteus原理电路
电压输入 模数转 换 单 片 机 显示
D
[
0
.
.
7
]
D0D1D2D3D4D5D6D7D7D6D5D4D3D2D1D0startstarteoceocoe
oe
start
clock
clock
XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD
10
P3.1/TXD
11
P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51OUT121ADD B24ADD A25ADD C23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN0
26
ALE
22
U3
ADC0808
R1
PULLUP
C130PFC2
30PF
X1
CRYSTAL
R9
10k
C3
10uF
RV1
1k
+88.8
Volts
R10
10k
3
2、 软件设计:
2.1 程序源代码:
#include
#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(); //延时
}
}
4
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电平取反
}
5
三、联调结果