Protues与Keil联合调试在电子系统设计中的应用
- 格式:pdf
- 大小:979.97 KB
- 文档页数:3
Proteus8与Keil4的联调
首先安装vdmagdi软件,然后再进行以下设置:
下载地址:/s/1i30ultb
在Keil软件上单击“Project菜单/Options for Target”选项或者点击工具栏的“option for ta rget”按钮,
弹出窗口,点击“Debug”按钮,出现如图所示页面。
在出现的对话框里在右栏上部的下拉菜单里选中“Proteus VSM Monitor-51 Driver”。
并且还要点击一下“Use”前面表明选中的小圆点。
再点击“Setting”按钮。
设置通信接口,在“Host”后面添上“127.0.0.1”,如果
使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。
在“Port”后面添加“8000”。
设置好的情形如图所示,点击“OK”按钮即可。
最后将工程编译,进入调试状态,并运行。
Proteus的设置
进入Proteus的ISIS,鼠标左键点击菜单“Debug”,选中“use romote debuger monitor”,如图所示。
此后,便可实现Keil 与Proteus连接调试。
最后必须右击单片机加载hex文件,开始调试。
1 引言随着微电子技术的不断发展与进步,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
在现代工业中,直流电动机作为电能转换的传动装置,被广泛应用于机械、冶金、石油、化工、国防等工业部门中。
直流电动机是将直流电能转换为机械能的电动机。
因其良好的调速性能而在电力拖动中得到广泛应用。
随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。
直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。
正是这些技术的进步使直流调速系统发生翻天覆地的变化。
其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并向全数字控制方向快速发展。
本文设计了用DAC0808设计直流电动机调速器的基本方案,阐述了该调速器系统的基本结构、工作原理、运行特性及其设计方法。
本系统用电压表测量直流电动机的转速,用MCS-51单片机输出数字信号通过DAC0808芯片实现数模转换,从而输出模拟电压来控制调节直流电动机的转速。
本设计主要研究利用单片机及DAC0808实现数模转换调速,直流电机的控制和测量方法,从而对直流电机的调速控制精度、响应速度以及节约能源等都具有重要意义。
2 设计总体方案2.1 设计要求基本要求:使用AT89C51单片机为核心,使用数模转换元件DAC0808对单片机输出的数字信号进行转换,输出模拟信号驱动直流电动机。
具体要求:在设计中,设计8个按键对应直流电动机的8挡不同转速,按下不同按键时,电动机将以不同速度转动,在8个按键中取一个按键为直流电动机转动停止按键。
8挡不同转速的设定由学生自己决定。
仿真:控制程序在Keil软件中编写,编译,整个控制电路在Proteus仿真软件中连接调示。
proteus 7与keil μV ision3的怎么连接调试2011-11-10 17:56第一次用proteus做单片机的模拟实验,由于proteus上默认只有设置汇编,所以结合keil μVision3编译代码,这样就可以用C语言编写(因为汇编不容易跨平台,而且我对它也不是非常数量,但是在这里要说的是,在必要的时候,在C中嵌入汇编会有很好的效用,所以汇编还是要有一定的功力的),用keil μVision3 做编译器,然后,编译后的十六进制代码用于proteus中模拟的单片机中,这样就可以做联合调试了。
我用的是Keil uVision3和proteus7.5 SP3,看了网上的教程之后,我下载了VDM51.dll文件/f/7363231.html?retcode=0//(网上说,也可以在proteus的安装目录中,ex装在C盘情况下:C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\找到),但是我没有。
然后,在从网上下载个小文件vdmagdi.exe,这个文件好像一定要安装在Keil uVision3的目录下,我是在Keil uVision3目录下,又新建了一个文件夹(vdmagdi),这样就可以更好的区分开文件了。
第二步,网上还说:打开KEIL根目录下的TOOLS.INI 文件,在[C51] 栏目下加入TDRV3=BIN\VDM51.DLL ("Proteus VSM simulator" ) ,其中“TDRV3” 中的“3”要根据实际情况写,不能和原来的重复,否则会出现问题。
比如你已经有了TDRV1-TDRV4,那么你就可以改成TDRV5,如果本省就有这个设置【TDRV3=BIN\VDM51.DLL ("Proteus VSM simulator" )】那就不用改了。
北京联合大学《基于proteus和keil仿真》实验报告实验题目:基于ADC0808模数转换器的数字电压表学院:信息学院专业:电子信息工程班级:0808030301组员:华永奇学号:2008080303107组员:朱圣峰学号:2008080303137组员:陈柏宇学号:2008080303113组员:李冉学号:2008080303119组员:张茜学号:2008080303104一、实验任务:利用单片机AT89C51与A/D 转换器件ADC0808设计一个数字电压表,能够测量0~5V 之间的直流电压值,并用4位数码管显示该电压值。
设计任务要求:硬件设计:利用Proteus 软件绘制原理图; 软件设计:利用Keil 软件进行程序设计;完成软硬件调试:Proteus 和Keil 联调,实现选题要求的功能;二、实验设计:1、 硬件设计:1.11.2 proteus2、软件设计: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]; // 段选信号赋值给临时变量tempP0=a[temp]; // temp赋值给P0口if(k==3) //点亮第四个数码管的小数点{P07 =1; //高位点亮}delay(); //延时}}void main(void) //主控制模块{ET0=1; // 允许定时器中断EA=1; //开启中断总开关TMOD=0x02; //设置定时工作状态,定时器0工作在方式2TH0=216; //在寄存器中装入初始值,TL0=216;TR0=1; //启动定时器0while(1){START=1; //启动转换START=0;while(EOC==0) ;//等待模数转换结束OE=1; //输入高电平,打开输出三态门,输出数字量tvdata=P1; //读取P1口的值给输出电压值变量tvdata*=5000/255.000;//因为输出值在0~255之间,所以应该放大到0~5000OE=0; //关闭三态门,禁止输出led_display(); //LED上显示测得电压值delay(); //延时}}void t0(void) interrupt 1 using 0 //定时中断函数,使用寄存器组0,产生adc0808的驱动时钟脉冲{CLK=~CLK; //clk电平取反}三、联调结果。
实验:KEIL51和proteus仿真软件的使用一、实验目的1、掌握KEIL51软件的使用方法2、掌握proteus仿真软件的使用方法二、实验设备及软件1、单片机实验板2、PC机3、KEIL514、proteus三、实验任务KEILC和proteus仿真软件的使用方法四、实验步骤1、Proteus ISIS 设计单片机电路的基本步骤:(1) 新建设计文件夹或打开一个现有的设计文件。
(2) 选择元器件(通过关键字或分类检索)。
(3) 将元器件放入设计窗口。
(4) 添加其他模型(电源、地线、信号源等)和相关的虚拟仪器。
(5) 编辑和连接电路。
(6) 编写单片机所需的源程序。
(7) 加入源程序,并通过构造,得到仿真程序或目标程序。
(8) 根据需要,设置对象的属性,如将单片机的”Program File”属性设置为上述仿真调试程序或目标程序。
(9) 启动仿真功能,对电路进行仿真操作,验证其功能。
2、Keil 51基本步骤(1)单击Project菜单项,选择New Project项。
此时弹出Create New Project对话框,选择合适的路径口,在文件名一栏中填入新工程的名字。
单击保存。
(2)根据所用的器件,选择CPU的型号,单击确定。
(3)Keil51询问是否生成默认的配置文件,这个可选可不选。
单击NO,观察项目文件管理窗口的变化。
(4)在File菜单下单击New选项,新建文件。
此时在代码窗口出现一“Text1”空白文档。
(5)在“Text1”中编辑完代码后,单击File菜单中的保存项,弹出保存对话框。
注意在对文件命名时必须加扩展名.asm。
(6) 在项目导航栏中Source Group 上单击右键,选Add File to Group ‘Source Group 1’。
弹出Add File 对话框。
选中刚才保存的xxxx.asm.文件,单击Add,然后关闭对话框。
此时在项目文件管理窗口中就会出现刚才所添加的文件xxxt.asm。
Proteus与Keil在单片机教学中的运用作者:彭莉来源:《科学导报·学术》2020年第29期摘要:单片机作为一门纯工科类课程,对学生的逻辑思维与学习背景都有着严格的要求,再加上单片机的理论知识具有较高的抽象性,在教学过程中潜移默化的加大了学生的学习难度,单片机过长的学习周期与对枯燥乏味的基础知识的学习也会在一定的程度上打击学生的学习积极性。
本文分析了单片机课程的教学现状,倡导通过实际案例,利用Proteus与Keil软件的实践运用来展现单片机课程的魅力所在,旨在加强学生的学习兴趣,促进学生学习积极性的提升。
关键词:Proteus;Keil;单片机教学引言单片机课程具有非常强的理论性与实践性,并与专业后续课程教学的开展实施有著紧密的联系,具有较强的实用性,其应用范围也非常的广泛。
随着“物联网+”概念的提出,近年来世界各国都加大了对物联网的研究,并在智能交通、环境监测、楼宇灯光等方面有了可观的成效。
物联网的实现离不开单片机技术,因此,单片机课程除了在工科院校的电子类专业开设有以外,越来越多的工科专业也开始将单片机作为专业必修课程。
虽然单片机在实践中的应用非常广泛,但与此同时,在单片机的教学过程中也出现了许多现实问题。
单片机作为一门工科类课程,在教学的实施过程里,教师通常是以课件与教材宣讲的方式来讲解基础内容,加上单片机的原理与基础内容知识具有较高的抽象性,学生在学习单片机的初期会遇到很多困难,学习周期也相对较长,学习过程也非常的枯燥。
单片机基础知识的具体化实现也较为困难,在传统的教学中,单片机教学中的实践环节需要使用到硬件试验箱,这就意味着校方既要采购大量设备,又要开展设备维护工作,增加了教学成本与实验成本。
还会导致实验内容单一,缺乏灵活性和创新性,不利于学生发散思维的培养。
Proteus与Keil软件的出现,完美的解决了实验器材稀缺的问题,让学生与教师能够在这两个软件上面进行仿真实验,实现实践操作的练习。
ProteLIS和Keil联合仿真在单片机教改实践中地应用【摘要】通过应用实例介绍,论述在工程教案法地单片机教改实践中引入proteus和keil联合仿真技术地可实施性,并分析仿真教案地效果.【关键词】单片机教案仿真技术proteus keil随着社会地进步和科技地发展,依靠传统地教案方法已不能满足现代职业教育对职业能力培养地要求.因此,近20年来,许多国家根据各自地情况和不同地要求,创造并系统开发了一些适应社会、技术和生产发展要求地新地职业教育教案法或教案模式,特别是德国以培养关键能力为核心地行为引导型教案模式,使职业教育引入一种新地概念.这种新地教案模式,对职业教育地发展产生了极为深刻而广泛地影响.工程教案法是行为引导型教案方法中地一种,是师生通过共同实施一个完整地工程工作而进行地教案活动.学生通过工程地完成,不但可以学习知识,提高工作中与其他同学协调、合作地能力,还可以充分发掘自身创造潜能,促使自己在动手能力等方面不断提高.工程教案法在整个教案过程中既发挥了教师地主导作用又体现了学生地主体作用.充分地展示了现代技工教育“以能力为本”地价值取向.然而,工程教案法仍存在一些不足地地方,需要不断改善,本文拟以广西工业职业技术学院为例,对于在工程教案法地单片机教改实践中引入proteus和keil联合仿真技术地实践进行探讨.一、单片机教改现状广西工业职业技术学院在开展以工作过程为导向地单片机教改工作以来,课堂教案地质量和效益得到了大幅度地提高.但是在教改实践过程中,也出现了以下问题:首先,在理论教案中有许多理论知识难以用语言表达清楚,如果采用课堂演示则需要用到计算机、仿真器、电源和实验电路板等设备,这榉不但准备过程非常烦琐,而且耗费大量教案时间,会影响课堂教案进度.其次,目前地实验教案只是利用现有地实验箱做一些验证性实验,仅凭这些要达到掌握对单片机地灵活应用是远远不够地.何况,单片机实验室建设和维护地成本较高,添置设备经费不足,保证正常教案质量已存在一定地难度,更难以保证教改地教案要求.因此,只有通过采取合理地教案方法及手段才能真正满足单片机教改实践地需要.随着计算机软件仿真技术地发展,可以把proteus和keil软件引入到单片机教改中.该软件功能强大,只需在计算机上就可以仿真,实现可视化教案,能很好地解决上述教案中存在地问题,大大提高教案质量.二、proteus和keil软件在以工作过程为导向地教改中地应用proteus是英国labcenter公司开发地电路分析与实物仿真eda 软件.它运行于windows操作系统上,可以对单片机进行实物级地仿真,仿真分析各种模拟电路、数字电路、数模混合电路.kefl软件支持众多不同公司地mcs51芯片,集编辑、编译和程序仿真于一体,同时还支持汇编和c语言地程序设计,并且通过设置可与proteus联机调试.proteus和keil对单片机地仿真具有强大地功能,将其引入单片机教改实践中,势在必行.在工农业生产和日常生活中,单片机控制地温度检测系统应用十分广泛,如消防电气地非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统地温度检测,医疗与健诊地温度测试.化工、机械等设备地温度过热检测,等等.因此,单片机控制地数字温度检测系统设计是单片机教改实践中地一个重要工程.该工程以at89c51单片机为控制器,以dsl8820为数字温度检测‘元件,采用lcdl602液晶模块显示温度状态,利用proteus和kefl软件建立仿真模型并进行仿真实验.(一>proteus硬件电路设计首先运行proteus软件,点击启动界面中地“p”按键(pick de-vices,拾取元器件>,打开“pickdevices”对话框,从元件库中拾取所需地元器件,点击“ok”按钮来完成元器件地添加(此工程中所用主要元器件如表1所示>.接着在proteus中完成各元器件地连线.连接元器件有两种方法:一种是直接画连接线,一种是用网络标号.当线路不是十分复杂时,采用直接画连接线地方法比较直观;当电路中连线十分复杂时,采用网络标号地方法,可以使连接电路简洁.本工程采用直接连线,绘制好地电路如图1所示.(二>软件设计系统在keil u-vision3集成开发环境编写c51程序进行软件开发,采用模块化编程方式.在硬件设计地基础上,根据dsl8820和lm016l地工作原理,软件设计主要完成以下任务:初始化dsl8820,读/写dsl8820,读取dsl8820转换后地温度值并转换,初始化lm016l,lm016l显示温度值,按键设置温度上下限,高低温限声光报警等.以上各个子任务分别用相应地子程序来实现,在主程序中有序地调用各个子程序模块,程序主流程图如图2所示.(三>系统仿真在keil uvi-sion3中,采用c51编写源程序,在新建工程中选择at89c51单片机作为cpu,再将编写好地c语言源程序加载到新建工程中.在“project”下拉菜单中,选择“optionsfortarget”对话框,在对话框中选中“out-put”选项卡地“cre-atehexfile”选项,最后点击“itebuildail target files”,编译成功后生成“*.hex”文件.在proteus i-sis7.5中,双击at89c51,将可执行程序装载到单片机中,如图3所示.程序导入proteus后,点击仿真运行控制按钮后,进入仿真调试状态,点击play键,进行软、硬件交互仿真.在proteus仿真状态下,调节dsl8820模块地上下标改变温度地输入值(-55.0-+125.0℃>,lm016l地输出温度值实时跟随变化.例如,dsl8820检测到地当前温度是29.0℃.则经过单片机处理后,lm016l显示出当前地温度值29.0℃.并且显示当前测出地温度值小于设定地最低温限值,报警指示指示灯闪亮,蜂鸣器呜叫报警,仿真显示结果如图4所示.仿真结果表明,该温度显示器能准确地测量并显示温度,测量精度到0.1℃,通过k1实现即时温度报值,k2、k3键控制温度上下限设置,并能实现超限报警,仿真效果与系统预期实现地一致.由上可见,利用功能强大地proteus软件提供地元件库设计硬件电路及软硬件仿真,可实现液晶温度显示器地仿真设计.该温度测控器电路结构简洁,可靠性高,成本低.通过proteus地前期仿真提高了设计效率,缩短了开发周期,降低了设计成本,保证了设计地合理性和可靠性.三、仿真教案效果分析传统地单片机教案采用“理论+实验”模式,理论教案以单片机地结构为主线展开,实验以验证单片机理论教案内容为目地而安排,一般情况下,先做单片机硬件结构地认识实验,然后是指令和软件编程地验证实验,最后是一个应用实例地验证实验.按照这种教案结构,学生普遍觉得难学,且缺乏学习热情,对于高职院校地学生来说更是如此.而在采用工程教案法地单片机教改实践中,通过引入各个应用性较强地实践工程,结合proteus和keil软件地系统软硬件联合仿真,实现了理论知识和实践教案地高效结合,优化了教案过程.学生学习以工程为中心,有明确地任务,能围绕工程组织已学知识和学习资源,学习地主动性、积极性得以发挥,而且开拓了思维、发挥了潜能、培养了个性、提高了协调能力、培养了团队意识,使教案效果起到事半功倍地作用.。
Keil软件与Proteus的联合仿真在前面我们介绍了Keil软件的软件模拟仿真方法,可以对程序运行时的寄存器值、变量等资源进行监视。
但这种仿真方法仅针对于单片机本身,而不涉及周边电路。
比如,实际的电路中有一些显示器件或其它元件,单片机对它们的操作效果就是没法仿真的。
对Proteus比较熟悉的读者一定有过在Proteus软件中进行电路仿真的经历。
如果能够将Keil的软件仿真功能与Proteus的电路仿真功能结合在一起,必将进一步给我们的开发带来方便。
这就是Keil与Proteus的联合仿真。
这里就对其仿真方法进行详细的介绍。
1、用Proteus画电路原理图Proteus中提供了非常丰富的元件与部件,可以轻而易举完成电路原理图的编辑。
这时给出一个非常简单的例子,请看下图:使用上一节中编译出来的HEX文件,将其加载到图中的单片机中,启动电路后,程序就会开始运行。
正如上一节中软件仿真的效果,单片机会从P1端口输出一定周期的方波。
图中下方为软件提供的计数器,用来计量单片机输出的脉冲数。
2、Keil软件的设置方法要实现联合仿真,其实就是要实现Keil软件与Proteus的通信,使Keil可以控制Proteus中的电路仿真,同时又可以从中获得相关的状态信息。
要使Keil不再使用自身的软件仿真,而切换到联合仿真模式,需要进行一些设置。
1)拷贝VDM51.dll文件需要将VDM51.dll(在Proteus目录下)文件拷贝到Keil安装目录下的C51\BIN文件夹中。
VDM51.dll是用以进行仿真通信的动态链接库文件。
是仿真的基础,因此它是非常重要的。
2)修改TOOLS.INI文件在上一节我们已经提到过这个配置文件,在Keil软件启动时,会从这个文件中读取配置信息,来更新开发环境中的一些表项。
这里的联合仿真,实质上就等于给Keil加入第三方的仿真接口,从而需要去TOOLS.INI文件进行修改。
在此文件[C51]标签下加入如下信息:TDRV8=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver")这条语句中的TDRV后面的数字要按照实际的序号来填写,("Proteus VSM Monitor-51 Driver")中的字符串,会在软件的相应表项中显示出来,以供选择。