proteuskeil连接调试
2011-11-12 8:02
proteus  keil 整合构建单片机虚拟实验室 (文章来自网络)
摘要:   单片机教学包括理论与实践教学,而实践实训教学所占比例较多,硬件投入大。在实践实训的教学中,需要大量的实验仪器和设备。一般的学校或个人没有较多的经费。本文提出了一种新的思路,较为全面地阐述采用软件仿真实验的方法
关键词:   Proteus     Keil    整合   单片机虚拟实验室
一、引言
单片机的课堂教学及实验中存在诸多问题如:
1、单片机课堂教学以往多以理论教学为主,实验教学也多是进行验证实验。但单片机是一门实践性很强的学科。教学中需要很多硬件设备,如电脑、仿真机、实验电路、编程器等。一般理论课堂难以辅助硬件进行教学,即便演示,效果也不好,一般单片机实验箱也只是起验证实验的作用。
2、学生实验时也存在着不少问题,单片机实验室由于存在着场地和时间等问题,学生除了上课外,平时难得有机会实践。个人配备单片机实验开发系统,因成本较高,很多学生无法承受。同时一般单片机实验箱由于是成品,学生很难参与到其中的细节设计中去,学生动手能力很难得到训练与提高。
3、实验设备不足,落后,单片机实验室建立成本高,一般学校很少有学生人手一套实验开发系统进行单片机实验及开发。就算有,由于技术的不断更新,设备的不断老化。实验仪器也会很快落后。要解决此问题需要不断的重建单片机实验室。务必带来资金耗费严重等问题。
   为此,作者利用ProteusKeil整合构建单片机虚拟实验室,为解决这一问题提供了一些思路。
二、ProteusKeil介绍
1Proteus
Proteus是一种低投资的电子设计自动化软件,提供Schematic DrawingSPICE仿真与PCB设计功能,这一点proteus  multisim比较类似,只不过它可以仿真单片机和周边设备,可以仿真51系列、AVRPIC等常用的MCU,与keilMPLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真,例如373led,示波器,Proteus提供了大量的元件库,有RAMROM,键盘,马达,LEDLCDAD/DA,部分SPI器件,部分IIC器件,编译方面支持KeilMPLAB,里面有大量的例子参考.
1)、Proteus可提供的仿真元件资源
Proteus软件提供了可仿真数字和模拟、交流和直流等数千种元器件达30多个元件库。
2)、Proteus可提供的仿真仪表资源
虚拟仪器仪表的数量、类型和质量,是衡量仿真软件实验室是否合格的一个关键因素。在Proteus软件中,理论上同一种仪器可以在一个电路中随意的调用。
除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。
这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。
3)、Proteus可提供的调试手段 
Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。
2Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。可以说它是一个比较重要的软件,熟悉他的人很多很多,用户极为庞大,要远远超过伟福等厂家软件用户,操作有不懂的地方只要相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。
1)、KeilµVision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用µVision2的内嵌模块Keil Monitor-51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。
2)、uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能。DDE界面和shift语言支持自动程序测试。 
三、虚拟实验的构建
单片机的理论教学和实验中,内容一般包括了四方面,即单片机系统资源;硬件电路的设计、组装、调试;应用软件的编制、调试;总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统。因此教师在进行教学时,应该充分考虑课程的特点并作合理的模块划分,在每次实验课程前作适当的准备工作,以使教学任务能集中和突出。 
1、系统资源的实验教学 
任何一种单片机均提供了一定的系统资源。对于51系列单片机来讲,其所提供的资源是以寄存器和存储器的方式体现出来的。对于寄存器内容的查看,可以采用多种可以模拟仿真51单片机的软件来实现。对于Keil软件来讲,C51编译器可以实现对51系列单片机所有资源的操作。
2 硬件电路的设计、组装、调试 
硬件电路的设计包含两部分内容:一是系统扩展,即单片机自身的功能单元如ROMRAMI/O口、定时器/计数器等容量不能满足应用系统的需要时,必须在片外进行扩展,选择适当的芯片,设计相应的电路;二是系统配置,即按照系统的要求配置外围设备,如键盘、显示器、打印机、A/D转换器、D/A转换器等,要设计合适的接口电路。 
很多常用的硬件电路的设计可在Proteus软件中实现,学生通过Proteus软件的使用,不当可以实现教材上的大部分实验。而且可以学到硬件电路设计的方法。 
3 应用软件的编制、调试; 
使用Keil 软件工具时,项目开发流程和其它软件开发项目的流程极其相似。
   1)、创建一个项目,从器件库中选择目标器件,配置工具设置。
   2)、用C语言或汇编语言创建源程序。
   3)、用项目管理器生成应用。
   4)、修改源程序中的错误。
   5)、测试,连接应用。
学生通过使用Keil 软件工具编制、调试应用软件,可以学到单片机各种指令,也可以学到单片机软件开发的步骤、方法和技巧。
4 总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统 
软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,KeilProteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。
1)、安装keil  proteus
2)、把安装proteus\ MODELS目录下 VDM51.dll文件复制到Keil安装目录的 \C51\BIN目录中。
3)、修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver"),保存。
注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。
4、打开proteus,画出相应电路,在proteusdebug菜单中选中use remote debug monitor
5、在keilmultisim元件对照表中编写MCU的程序
6、进入KEILproject菜单option for target '工程名'。在DEBUG选项中右栏上部的下拉菜单选中 Proteus VSM Monitor-51 Driver
在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP地址。端口号一定为8000 
注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真。
7、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示
这样就可以像使用仿真器一样调试程序
四、教学实例
一个实际例子:
          "C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES""8051 LCD Driver”文件夹复制到新建的Proteus文件夹下。
          运行keil程序,在"8051 LCD Driver"文件夹下建立一个新的名为8051 LCD Driver工程。单片机的型号选择AT89C52就可以,把LCDDEMO 文件加到"Source Group 1"组里。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus) Port后面添上"8000"。点击"OK"按钮即可。最后把工程编译一下。
Proteus里打开设计好的电路。在Keil建立项目并编译程序,编译通过后,按CtrlF5或者点击Keil的调试按钮,进入模拟调试环境,此时Proteus的模拟调试工具条的运行按钮由黑变为绿了。按F5或者点击工具栏的按钮,全速运行,这个时候Proteus的开始运行,你会发现在模拟调试工具条的右边有程序运行的时间提示。在两个软件结合调试的时候,把Keil的界面调的小一点,让它在Proteus界面的上面,露出Proteus界面的LCD,这样我们在Keil里调试,马上在Proteus就看到结果了。笔者调试的情形如图2所示。 
五、结语
利用ProteusKeil整合进行实验,具有比较明显的优势,当然其存在的缺点也是有的。利用仿真实验可以做全部的软件实验和极大多数的硬件系统,虚拟仿真实验室,因极少硬件投入、所以经济优势明显,不仅可以弥补实验仪器和元器件缺乏带来的不足,而且排除了原材料消耗和仪器损坏等因素,可以帮助学生更快、更好地掌握课堂讲述的内容,加深对概念、原理的理解,弥补课堂理论教学的不足。学生通过仿真实验,可以熟悉单片机系统的开发方法,这对进一步培养学生的综合分析能力、排除故障能力和开发、创新能力具有重要意义。
Proteus大量的范例,可供学生参考处理,实验过程、实验步骤的演示可以在实验室以外的地方完成,实现了跨越了传统教学地域传授知识的局限,还能解决由于学生不懂、不理解,老师重复讲解、演示和重复分析的弊端,使老师有更多的时间进行课堂管理,有更多的时间观察学生的反应,检查课堂教学结果,再作相应的教学调整,增加必要的教学过程,施加必要的教学手段。从而更出地完成教学任务。
Proteus Keil 联机
        1、然而,到了6.9版本却不能象以前这样用了,要去下载一个(点击下载),安装完成然后用crack后的prospice.dll覆盖安装Program Files\Labcenter Electronics\Proteus 6 Professional\BIN\PROSPICE.DLL即可。
2 proteus DEBUG-->use remote debug monitor选中。
进入KEIL project 菜单option for target '工程名'。在DEBUG 选项中右栏上部的下 拉菜选中Proteus Monitor 51 Driver 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP 地址。端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus 进行远程仿真哦。
CRYSTAL 晶振 
复位是自己 用电路搭建的 
电源在“子电路模式”中,有一个power 
事实上只要你把“Proteus 元件名称对照”百度一下就全出来了



Proteus 元件名称对照1
元件名称 中文名 说明 
7407        驱动门       
1N914        二极管       
74Ls00        与非门       
74LS04        非门       
74LS08        与门       
74LS390        TTL 双十进制计数器       
7SEG        4BCD-LED 输出从0-9 对应于4根线的BCD 
7SEG        3-8译码器电路BCD-7SEG[size=+0]转换电路       
ALTERNATOR 交流发电机       
AMMETER-MILLI mA安培计       
AND        与门       
BATTERY        电池/电池组       
BUS        总线       
CAP        电容       
CAPACITOR 电容器       
CLOCK        时钟信号源       
CRYSTAL        晶振       
D-FLIPFLOP D触发器       
FUSE        保险丝       
GROUND               
LAMP               
LED-RED        红发光二极管       
LM016L        216列液晶 可显示216列英文字符,有8位数据总线D0-D7RSR/WEN三个控制端口(共14线),工作电压为5V。没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)
LOGIC ANALYSER 逻辑分析器       
LOGICPROBE 逻辑探针       
LOGICPROBE[BIG] 逻辑探针 用来显示连接位置的逻辑状态 
LOGICSTATE 逻辑状态 用鼠标点击,可改变该方框连接位置的逻辑状态 
LOGICTOGGLE 逻辑触发       
MASTERSWITCH 按钮 手动闭合,立即自动打开 
MOTOR        马达       
OR        或门       
POT-LIN        三引线可变电阻器       
POWER        电源
RES        电阻       
RESISTOR 电阻器       
SWITCH        按钮 手动按一下一个状态 
SWITCH-SPDT 二选通一按钮       
VOLTMETER 伏特计       
VOLTMETER-MILLI mV伏特计       
VTERM        串行口终端       
Electromechanical 电机       
Inductors 变压器       
Laplace Primitives 拉普拉斯变换       
Memory Ics         
Microprocessor Ics         
Miscellaneous 各种器件 AERIAL-天线;ATAHDDATMEGA64BATTERYCELLCRYSTAL-晶振;FUSEMETER-仪表; 
Modelling Primitives 各种仿真器件 是典型的基本元器模拟,不表示具体型号,只用于仿真,没有PCB 
Optoelectronics 各种发光器件 发光二极管,LED,液晶等等 
PLDs & FPGAs         
Resistors 各种电阻       
Simulator Primitives 常用的器件       
Speakers & Sounders       
Switches & Relays 开关,继电器,键盘       
Switching Devices 晶阊管 
Transistors 晶体管(三极管,场效应管)
TTL 74 series         
TTL 74ALS series         
TTL 74AS series         
TTL 74F series         
TTL 74HC series         
TTL 74HCT series         
TTL 74LS series         
TTL 74S series         
Analog Ics 模拟电路集成芯片
Capacitors 电容集合
CMOS 4000 series         
Connectors 排座,排插
Data Converters ADC,DAC
Debugging Tools 调试工具
ECL 10000 Series
------------------------------------------------------------

PROTEUS元件库元件名称及中英对照
AND 与门 
ANTENNA 天线 
BATTERY 直流电源 
BELL , 
BVC 同轴电缆接插件 
BRIDEG 1 整流桥(二极管) 
BRIDEG 2 整流桥(集成块) 
BUFFER 缓冲器 
BUZZER 蜂鸣器 
CAP 电容 
CAPACITOR 电容 
CAPACITOR POL 有极性电容 
CAPVAR 可调电容 
CIRCUIT BREAKER 熔断丝 
COAX 同轴电缆 
CON 插口 
CRYSTAL 晶体整荡器 
DB 并行插口 
DIODE 二极管 
DIODE SCHOTTKY 稳压二极管 
DIODE VARACTOR 变容二极管 
DPY_3-SEG 3LED 
DPY_7-SEG 7LED 
DPY_7-SEG_DP 7LED(带小数点) 
ELECTRO 电解电容 
FUSE 熔断器 
INDUCTOR 电感 
INDUCTOR IRON 带铁芯电感 
INDUCTOR3 可调电感 
JFET N N沟道场效应管 
JFET P P沟道场效应管 
LAMP 灯泡 
LAMP NEDN 起辉器 
LED 发光二极管 
METER 仪表 
MICROPHONE 麦克风 
MOSFET MOS 
MOTOR AC 交流电机 
MOTOR SERVO 伺服电机 
NAND 与非门 
NOR 或非门 
NOT 非门 
NPN NPN三极管 
NPN-PHOTO 感光三极管 
OPAMP 运放 
OR 或门 
PHOTO 感光二极管 
PNP 三极管 
NPN DAR NPN三极管 
PNP DAR PNP三极管 
POT 滑线变阻器 
PELAY-DPDT 双刀双掷继电器 
RES1.2 电阻 
RES3.4 可变电阻 
RESISTOR BRIDGE ? 桥式电阻 
RESPACK ? 电阻 
SCR 晶闸管 
PLUG ? 插头 
PLUG AC FEMALE 三相交流插头 
SOCKET ? 插座 
SOURCE CURRENT 电流源 
SOURCE VOLTAGE 电压源 
SPEAKER 扬声器 
SW ? 开关 
SW-DPDY ? 双刀双掷开关 
SW-SPST ? 单刀单掷开关 
SW-PB 按钮 
THERMISTOR 电热调节器 
TRANS1 变压器 
TRANS2 可调变压器 
TRIAC ? 三端双向可控硅 
TRIODE ? 三极真空管 
VARISTOR 变阻器 
ZENER ? 齐纳二极管 
DPY_7-SEG_DP 数码管 
SW-PB 开关 
----------------------------------------------------------------------

     PROTEUS原理图元器件库详细说明 
Device.lib          包括电阻、电容、二极管、三极管和PCB的连接器符号
ACTIVE.LIB          包括虚拟仪器和有源器件
DIODE.LIB          包括二极管和整流桥
DISPLAY.LIB      包括LCDLED
BIPOLAR.LIB      包括三极管
FET.LIB                包括场效应管
ASIMMDLS.LIB    包括模拟元器件
VALVES .LIB          包括电子管
ANALOG.LIB          包括电源调节器、运放和数据采样IC
CAPACITORS.LIB 包括电容
COMS.LIB            包括  4000系列
ECL.LIB                包括ECL10000系列
MICRO.LIB            包括 通用微处理器
OPAMP.LIB              包括 运算放大器
RESISTORS.LIB    包括 电阻
FAIRCHLD .LIB        包括FAIRCHLD 半导体公司的分立器件
LINTEC.LIB            包括 LINTEC公司的运算放大器
NATDAC.LIB          包括 国家半导体公司的数字采样器件
NATOA.LIB            包括 国家半导体公司 的运算放大器
TECOOR.LIB          包括TECOOR公司的 SCR TRIAC
TEXOAC.LIB              包括 德州仪器公司的运算放大器和比较器
ZETEX .LIB                包括ZETEX 公司的分立器件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。