找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 在Proteus中实现单片机交互仿真的方法探讨

[复制链接]
admin 发表于 2013-3-25 05:02:28 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: Proteus是一款功能强大的EDA软件,利用其提供的ISIS平台和VSM平台可实现单片机的交互仿真功能,并实现软件代码级的调试,还可借助第三方编译软件keil实现高级语言的跟踪调试,安装Vdmagdi软件能够实现Keil与Proteus的联机调试。熟练使用Proteus软件不仅对单片机课堂教学和学生实验非常有用,而且对单片机的应用设计也有非常大的帮助。
关键词: Proteus; 单片机; 仿真
       Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其他EDA工具软件的仿真功能,还能仿真单片机及外围器件,因此是目前最好的仿真单片机及外围器件的工具。现已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Protues软件不仅可将许多单片机实例功能形象化,还可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。随着科技的发展,计算机仿真技术已成为许多设计部门重要的前期设计手段。它具有设计灵活、结果、过程统一的特点,可缩短设计时间,减少耗资,也可降低工程制造的风险。所以在单片机开发应用中,Proteus也能获得越来愈广泛的应用。
1 单片机系统的Proteus设计与仿真的开发过程
     Proteus强大的单片机系统设计与仿真功能,使其成为单片机系统应用开发和改进的手段之一,全部过程都是在计算机上通过Proteus完成的,其过程一般也可分为Proteus电路设计、Proteus源程序设计和生成目标代码文件、Proteus仿真三步。单片机系统的Proteus设计与仿真流程图如图1所示。
    20121107050348650212814.gif
   2 Proteus软件的源码调试功能
     Proteus软件提供了源码调试功能,用户可以直接在Proteus环境下进行汇编语言的源代码跟踪调试,同时还提供了与Keil、IAR等第三方编译软件的接口,可采用C语言等高级语言编程,进行跟踪,分析指令的执行情况,还可通过调试菜单调出寄存器窗口、SFR窗口、IDATA窗口,为用户编写应用程序带来方便。
2.1 Proteus下51单片机汇编源码调试
     Proteus中的VSM(Virtual System Modelling)提供了简单的文本编辑器SRCEDIT,它是记事本的修改版。Proteus用它作为源程序的编辑环境,可在该编辑器中按单片机语言系统规则编写源程序。其中的菜单、命令按钮与一般“窗口”的菜单、按钮及其功能基本一样。VSM对于不同系列的微处理器提供了相应的编译器,即目标代码生成工具,可根据单片机型号及语言要求来选取编译器,51单片机及其兼容单片机的代码生成工具选用ASM51。
     利用Proteus提供的源程序编辑器编写一个文件名为小灯亮.ASM源程序,如图2所示。
    20121107050348728332815.gif
       程序编写后,即可进行目标代码生成工具设置,如果首次使用某一编译器,则需设置代码产生工具,单击菜单“Source-Add/Remove Code Generation Tools”,如图3所示。其中,Code Generation Tool(代码产生工具)设置为ASEM51;Make Rules(生成规则)中,Source Extn(源程序扩展名)设置为ASM;Obj Extn(目标代码扩展名)设置为HEX;Command Line(命令行)设置为%1;Debug Data Extraction(调试数据提取)中,List File Extn设置为LST。然后单击“Source-Build All”(全编译、汇编),编译结果在弹出的编译日志对话框中,无错则生成目标代码文件。对ASEM51系列及其兼容单片机而言,目标代码文件格式为*.HEX。目标代码文件“小灯亮.HEX”。若有错,则可根据编译日志提示来调试源程序,直至无错生成目标代码文件为止。
    20121107050348759582816.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 23:26 , Processed in 0.247941 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表