Keil与proteus完美结合教程
Proteus 单片机仿真软件
可与Keil或Pic的Mplab联接使用,单片机初学者的福音,有非常丰富的外围器件可供仿真使用
This is trial versionwww.adultpdf.com
页第1
单片机技术与嵌入式系统 http://www.51c51.net QQ:308828633 E-mail:51c51@china.com.cn
简介:
Proteus6.7是目前最好的模拟单片机外围器件的工具,真的很不错。可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,...) 其实proteus 与 multisim
比较类似,只不过它可以仿真MCU! 当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是估计初学者有的可能性比较小吧?
如果你在学51单片机,如果你想自己动手做做LCD,LED,AD/DA,直流马达,SPI,IIC,键盘,...的小实验的话,试一下吧,不会让你失望的! 用51不管你是用汇编或是C编程当然要用keil啦,uvisoin3有不少新特性呢! 使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序,一般而言,微机实验中用万利仿真器+电工系自己做的实验板的实验都可以做得到吧! 当然,硬件实践还是必不可少的!!!
本方案只是在没有硬件的情况下让你能像pspice 仿真模拟/数字电路那样仿真MCU及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也不错的!
需要Proteus6.7 SP3和keil c51 v7.50请到本站:www.51c51.net 下载。本站提供的是完全解密版和专业版。放心使用。
为了使大家能最快的进入keil c51 v7.50 + proteus 6.7仿真本站特别编写了本教程共享,希望对本站大力支持!
以下文章 作 者:■ 凉山州机电学校 马正强
1 Proteus介绍
Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
(1)proteus的工作过程
运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Define code generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。
(2)Proteus软件所提供的元件资源
Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。
(3)Proteus软件所提供的仪表资源 对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus软件包中,不存在同类仪表使用数量的问题。
Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。
This is trial versionwww.adultpdf.com
页第2
单片机技术与嵌入式系统 http://www.51c51.net QQ:308828633 E-mail:51c51@china.com.cn
(4)Proteus软件所提供的调试手段
Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。
对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。
对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animation菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation 菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。
对于软件的分步调试,应先执行debug菜单下的start/restart debugging 菜单项命令,此时可以选择step over 、step into 和 step out命令执行程序(可以用快捷键F10、F11和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start / restart debuging命令后,在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。
2 实验的组织
在单片机的理论教学和实验中,所涉及到的内容包括了四方面,即单片机系统资源、软件技术、硬件接口电路、软件和硬件结合的应用系统。因此教师在进行教学时,应该充分考虑课程的特点并作合理的模块划分,在每次实验课程前作适当的准备工作,以使教学任务能集中和突出。以下例子中所涉及到的单片机均为51系列。
(1)系统资源的实验教学
任何一种单片机均提供了一定的系统资源。对于51系列单片机来讲,其所提供的资源是以寄存器和存储器的方式体现出来的。对于寄存器内容的查看,可以采用多种可以模拟仿真51单片机的软件来实现。对于Proteus 软件来讲,可以执行在debug菜单下registers菜单项命令打开相应的窗口。对于系统内部存储器的查看,同样是执行debug 菜单下的 internal memory 菜单项命令打开相应的窗口。
(2)软件技术
在软件技术的实验中所涉及到的内容主要包括对语言中具体语句的执行效果验证、算法的具体实现、程序中语法错误的检查和逻辑错误的验证等内容。对于纯软件的实验教学内容,教师在实验设置时应充分考虑到学生的能力并作好具体的准备工作,以达到预期的教学目的。
例如,对于两个16位二进制数的乘法运算R4R5×R6R7=R3R4R5R6R7的汇编语言实现。为了较为直观地验证程序执行的正确性,教师在之前应该设计一个硬件电路,能完成数据的输入(带显示)和结果的输出(显示),并设计主程序、bcd码到二进制的转换、二进制码到bcd码的转换、bcd码到显示码的转换、显示等程序的设计,学生只在实验中进行乘法运算的算法设计并作为子程序加入系统中即可。
(3)硬件接口电路
单片机的接口电路所涉及到的知识涵盖了电子电路设计的相关领域,也涉及到单片机应用系统具体的工作需要。接口电路部分涉及到线路的连接、元器件的选择、工作方式的设置、电路工作的稳定性和可靠性、电路的空间需求等等许多方面的知识和内容;但就学生实验来讲,所涉及到的并不需要这么全面。作为Proteus 仿真软件,其仿真电路时所模拟的元件真实工作情况,和单片机应用系统的实际工作环境还是有一定的差别。因此只能
This is trial versionwww.adultpdf.com
页第3
单片机技术与嵌入式系统 http://www.51c51.net QQ:308828633 E-mail:51c51@china.com.cn
根据教学的需要,让学生自行设计电路并设置其工作方式。其实验可以通过两种方式组织实施,一是根据具体的要求,让学生设计接口电路并编写相应的程序;一是根据程序的要求,设计单片机接口电路。
例如,对于键盘输入和显示(数码管)接口电路的设计,可以采用比较多的方法来实现。选择何种方法,与键盘中键的数量和数码管的个数以及显示的方式等都有关系。选择一种采用几种方法都能实现的键盘键数(如12个)和显示位数(如4位或4位半),提出具体的诸如必须预留的口地址、成本控制等要求,让学生自行设计接口电路。当然,对于如A/D转换等接口电路的设计,教师应该在事先设计出单片机电路的其它部分,并以模块的方式进行处理,给学生提供电路的接口信号。
(4)软件和硬件结合的应用系统
软件和硬件的结合,就是一个单片机的应用系统了。这一步的实验可以在课程设计中以课题的方式提出来处理,也可以将其分解成不同的接口部分在接口电路的多次实验中分次完成。在这一阶段,硬件电路的设计已经不是最为关键的了,而软件系统的设计、调试和运行才是实验的主要内容。因此可以以建议性的意见给出具体的硬件电路,并提出该电路所需要完成的具体工作,由学生进行软件的设计和调试。
(5)观摩实验
学生自行设计的硬件系统和软件,一般存在着某方面的不足,当给出了相应的实验设计任务后,学生就算能顺利的完成,但其中所涉及到的有些方式方法并不能在自己的设计中充分领悟。Protues系统提供了相应的一些范例,比如单片机系统中的计算器示例,当教师讲述了其中涉及到的所有(子)程序的功能并将其合理地组织在一起的时候,结合该系统的硬件,将对学生进行程序的设计和系统硬件的设计方法,产生比较大的影响。
3 用Proteus软件虚拟单片机实验的优点
采用Proteus 仿真软件进行虚拟单片机实验,具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可自行实验、实验过程中损耗小、与工程实践最为接近等。当然其存在的缺点也是有的。
(1)内容全面
内容全面包括其能实验的内容包括软件部分的汇编、C51等语言的调试过程,也包括硬件接口电路中的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建完成,因此采用Protues仿真软件进行实验教学,克服了用单片机实验教学板教学中硬件电路固定、学生不能更改、实验内容固定等方面的局限性,可以扩展学生的思路和提高学生的学习兴趣。
(2)硬件投入少,经济优势明显
对于传统的采用单片机实验教学板的教学实验,由于硬件电路的固定,也就将单片机的CPU和具体的接口电路固定了下来。在单片机的实际教学中,如果要涉及到51系列,也要涉及到PIC16系列,那么为了教学必然要投入两种单片机的实验教学板;同时在教学过程中所涉及到的接口电路,也需要有较大的投入和储备,以利于实验的进行和在实验过程中元件损毁后的更换。Protues所提供的元件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在质量还是数量上,都是可靠和经济的。如果在实验教学中投入这样的真实的仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。因此采用软件的方式进行教学,其经济优势是比较明显的。
(3)学生可自行实验,锻炼解决实际工程问题的能力
This is trial versionwww.adultpdf.com
页第4
单片机技术与嵌入式系统 http://www.51c51.net QQ:308828633 E-mail:51c51@china.com.cn
实验能力和实验设计能力的培养,是工科学生解决实际工程问题能力中较为重要的。传统的实验教学中,忽视了学生实验能力的培养,对于实验设计能力的培养,则很少涉及到。因此学生学习了理论,要想将其应用到实际的工程实践中,其难度是比较大的。还有,学生毕业后想对单片机控制技术或智能仪表等有较深的研究和学习,如果采用传统的实验教学方法,则学生需要购置的设备比较多,增加了他们学习和研究的投入。采用仿真软件后,学习的投入变得比较的小,而实际工程问题的研究,也可以先在软件环境中模拟通过,再进行硬件的投入,这样处理,不仅省时省力,也可以节省因方案不正确所造成的硬件投入的浪费。
(4)实验过程中损耗小,基本没有元器件的损耗问题
在传统的实验教学过程中,都涉及到因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗。采用Protues仿真软件进行的实验教学,则不存在上述的问题,其在实验的过程中是比较安全的。
(5)与工程实践最为接近,可以了解实际问题的解决过程
在进行课程设计或进行大实验的时候,可以具体的在Protues中做一个工程项目,并将其最后移植到一个具体的硬件电路中,让学生了解将仿真软件和具体的工程实践如何结合起来,利于学生对工程实践过程的了解和学习。
(6)大量的范例,可供学生参考处理
在系统的设计时,存在对已有资源的借鉴和引用处理,而该仿真系统所提供的较多的比较完善的系统设计方法和设计范例,可供学生参考和借鉴。同时也可以在原设计上进行修改处理。
(7)协作能力的培养和锻炼
一个比较大的工程设计项目,是由一个开发小组协作完成的。了解和把握别人的设计意图和思维模式,是团结协作的基础。在Proteus中进行仿真实验时,所涉及到的内容并不全是学生独立设计完成的,因此对于锻炼学生的团结协作意识,是有好处的。
4 一个具体的课程实践
该实验为对8051单片机外围电路进行写数据仿真的电路。课程要求学生设计电路并提供仿真和验证的方法。
(1)电 路
为了简化电路,将单片机的时钟电路直接用CLOCK信号处理;对于数据的写入,采用逻辑分析的方法进行,电路如图1所示。
(2)验证方法
逻辑仿真验证程序执行的正确性和电路工作的情况,可通过时序图的方式进行验证,如图2所示。 (3)程 序
对1234H单元写入数据AAH,循环进行。
This is trial versionwww.adultpdf.com
页第5
单片机技术与嵌入式系统 http://www.51c51.net QQ:308828633 E-mail:51c51@china.com.cn
ORG 0
loop1: MOV DPTR,#1234H MOV A,#0AAH MOVX @DPTR,A MOVX A,@DPTR JMP LOOP1 END
结 语
Proteus 不仅可以作为学校单片机(电子等)实验的模拟仿真,也可以作为个人工作室的仿真实验。作为电子技术或控制类相关专业的学生和工程技术人员,在学习了该软件后,可以充分地利用它所提供的资源,帮助自己提高工程应用能力。
在教学中利用该软件,除了能教单片机的具体课程内容外,还可以教会学生应用该工具的能力,为今后的工作打下基础。
以上大家对Proteus有了一定的了解,下面让我们进入:
Keil与proteus完美结合
Keil与proteus连接调试
Proteus与Keil联机(一)
步骤如下: 下载
keil c51 v7.50软件和 proteus 6.7 SP3软件,分别进行安装。安装完毕以后进行如下置:
1、 系统安装上TCP/IP协议
2、把proteus安装目录下 VDM51.dll(C:\\Program Files\\Labcenter Electronics\\Proteus 6 Professional\\MODELS)文件复制到Keil安装目录的 \\C51\\BIN 目录中。
3、 编辑C51 里tools.ini文件,加入: TDRV1=BIN\\VDM51.DLL(\"PROTEUS VSM MONITOR 51 DRIVER\")
4、 keil 里设置: project-->options for project-->debug tab
5、 选中use proteus VSM monitor 51( 如果想用两台电脑仿真,双击setting,输入IP地址 或者DNS name.
6、 载入proteus文件
7、 proteus 里DEBUG-->use remote debug monitor
进入KEIL的project菜单option for target '工程名'。在DEBUG选项中右栏上部的下 拉菜选中 Proteus VSM Monitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另
This is trial versionwww.adultpdf.com
页第6
单片机技术与嵌入式系统 http://www.51c51.net QQ:308828633 E-mail:51c51@china.com.cn
一 台的IP地址。端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真哦~。
8、打开KEIL, 按F5 开始仿真
Proteus与Keil联机(二) 摘自零距离单片机实验室:
http://www.mkdz.cn/Announce/announce.asp?BoardID=100&ID=1098&Ar=840&AUpflag=1&Ap=1&Aq=1
1.把压缩文件中的VDM51.DLL解压到Keil目录下的c51\\BIN 2.修改Keil目录下的TOOLS.ini文件如图
如果Keil正在运行,则需重新启动
3.使用ISIS打开Labcenter Electronics\\Proteus 6 Professional\\SAMPLES\\C51 Calculator 原理图,
This is trial versionwww.adultpdf.com
页第7
因篇幅问题不能全部显示,请点此查看更多更全内容