单片机仿真软件概述

更新时间:2023-09-01 04:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机仿真软件概述

PROTEUS是英国Labcenter Electronics公司开发的多功能EDA软件。PROTEUS不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。它实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。

由于PROTEUS丰富的元器件模型、对处理器的支持、多样的虚拟仪器、强大的图表分析功能和与第三方集成开发环境的无缝集成,已被公认为电类教学与实验的巨大资源,得到越来越多的高校的认同,并在教学实践中取得了明显效果。

1.1 Proteus软件仿真系统的构成与功能

1.1.1 Proteus软件的构成

Proteus组合了高级原理布图、混合模式SPICE仿真、PCB设计以及自动布线来实现一个完整的电子设计系统。Proteus包含了VSM(Virtural System Modelling虚拟系统模型)技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。

Proteus包括Proteus VSM(Proteus虚拟系统模型)和Proteus PCB Design(Proteus印制电路板设计)两大部分。

Proteus VSM包括智能原理图输入系统ISIS(Intelligent Schematic Input System)、带扩展的ProSPICE(Simulation Program With Integrated Circuit Emphasis)混合模型仿真器、动态器件库、高级图表仿真ASF(Advanced Simulation Feature)和微控制器虚拟系统仿真模型VSM。

Proteus PCB Design包括高级布线编辑软件ARES(Advanced Rounting and Editing Software)、智能原理图输入系统ISIS和高级图表仿真ASF。

该软件运行于Windows操作系统上,主要特点是:

实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单

片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

支持主流单片机系统的仿真。目前支持的单片机类型有:8051/52系列、

ARM7(LPC21xx)、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。 提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时

可以观察各个变量、寄存器等的当前状态。

支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB、IAR等软件。 具有强大的原理图绘制功能。

总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

1.1.2 Proteus软件的功能

本实验指导书主要涉及与单片机课程有关的软件设计与仿真,故只叙述Proteus VSM的功能。Proteus VSM组合了混合模式的ProSPICE电路仿真、动画器件和微控制器模型,实现了完整的基于微控制器设计的协同仿真。使在物理原型出来之前对这类设计的开发和测试成为可能。Proteus VSM的各组成部分的功能简介如下:

一、智能原理图输入系统ISIS

ISIS是Proteus系统的中心,它远不仅是一个图表库。它既是智能原理图设计、绘制和编辑的环境,又是数字电路、模拟电路和数/模混合电路设计与仿真的环境,更是单片机与外围设备的设计、仿真和协同仿真的环境。

ISIS组合有很多易用的功能强大的编辑工具,是单片机系统的设计与仿真的平台。其主要特点如下:

生成出版质量的原理图。

风格模板允许提供库部件的用户化。

鼠标驱动和内容关联的用户界面。

自动走线,以及接点的布置和切除。

参数表示子电路元件值的层次设计。

包括子电路端口以及总线引脚的总线支持。

挑选元件或建立新库元件可预览PCB 封装。

完全体现多元器件的同性和异性。

包括相应对话框用户化的元件特性的精细管理。

超过8000元件的大型元件库,完全适用于仿真模型。

网表格式:Labcenter SDF、SPICE、Tango、Boardmaker、EEDeginer、Futurenet等。 电气规则检查以及元件报告清单。

可彩色或单色输出到Windows 打印设备。

图形输出格式:WMF、BNP、DXF、EPS、HPGL 。

二、ProSPICE混合模型仿真器

ProSPICE是结合ISIS原理图设计环境使用的混合型电路仿真器。它基于工业标准SPICE3F5(美国加州Berkeley大学开发)的模拟内核,加上混合型仿真的扩展以及交互电路动态,提供了开发和测试设计的强大交互式环境。

ProSPICE使用了Berkeley的源代码,包含了最新的整合技术以及原型,保证在数字结果方面和生产商SPICE模型的最好兼容性。

三、微控制器虚拟系统仿真模型VSM

Proteus可以仿真51 系列、AVR、PIC、ARM等常用的MCU 及其外围电路。可仿真的51系列单片机模型如下:

通用:80C31、80C32、80C51、80C52、80C54、80C58。

Atmel:AT89C51、AT89C52、AT89C55;AT89C51RB2、AT89C51RC2 、AT89C51RD2 (X2

和SPI 没有模型)

Philips:P87C51FX、P87C51RX+(如 FA、FB、FC、RA+、RB+、RC+、RD等系列)。

通过51系列单片机模型可完成以下仿真:

全部 8051指令系统。

所有I/O操作。

所有片上外设的各种操作模式。

所有中断模式。

内部产生处理器时钟以优化经济结构性能,I/O和其它事件定时器精确至一个时钟相位。 程序和外部数据存储器能被仿真为内部模型,以提高吞吐量,或仿真为外部模型以验证

硬件设计。

提供内部一致性代码检查功能。

完整集成ISIS的源码级调试和源码管理系统。

支持集成Keil等第三方编译器和调试器。

支持的编译器: Keil C51/μVision 2 、MPLAB和IAR。

四、动态器件库

VSM包含超过8000种元器件模型: 标准电子元件:电阻、电容、二极管、晶体管、晶闸管、光耦合器、运放、555 定时器等。 74 系列TTL和 4000系列 CMOS器件。 存储器:ROM、RAM、EEPROM、I2C器件等。 微控制器支持的器件:如I/O口、USART等。

五、高级图表仿真ASF

Proteus做为单片机与嵌入式系统仿真与开发平台,支持外围数电/模电与微控制器的协同仿真,真正实现了虚拟物理原型功能。在目标板还没有投产前,就可以对设计的硬件系统的功能、合理性和性能指标进行充分调整,并可以在没有物理目标板的情况下,进行相应软件的开发和调试,进行完全的虚拟开发,明显提高企业的开发效率,降低开发风险。

无论是51 系列、AVR、还是PIC 系列,他们各有各的特点,学习者也是逐年增加,但是在学习开发过程中,我们往往在确定方案后做试验的开支比较大,尤其是对于一些学生或者初学者这就可能成为他们学习的障碍。使用Proteus 软件可大大节省时间和开发费,在校学生只要配备一台电脑就可以在宿舍用Proteus构建成单片机与嵌入式系统仿真与设计实验室。

1. 2 Proteus软件仿真系统的使用方法

单片机的软件设计与仿真主要在智能原理图输入系统ISIS中进行,本书只介绍ISIS的使用,并以Proteus 7.1SP2 Professional(汉化版)版本为平台。双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional” →“ISIS 7 Professional”,进入Proteus ISIS集成环境,如图1-1所示。

菜单栏标题栏

命令 工具栏 预览

窗口

器件选

择按钮

库管理

按钮

标签

模式

选择

工具栏

对象

选择器

窗口

方向工具栏 状态栏仿真工具栏 编辑区

图1-1 ISIS窗口

1.2.1 ISIS窗口简介

一、菜单栏

菜单栏中的每项都有下一级菜单,许多命令左方的图标表明该命令在工具栏中有相应的按钮,有部分命令的右方标有该命令的快捷键。

二、编辑区

编辑区用来绘制原理图。蓝色方框内为可编辑区,元件要放到可编辑区的里面。这个窗口没有滚动条,可用预览窗口来改变原理图的可视范围。

三、工具栏

工具栏分为命令工具栏、模式选择工具栏、方向工具栏和仿真工具栏四类。许多操作既可通过菜单栏有可通过工具栏来执行,一般来说使用工具栏要方便快捷。常用命令的名称和功能说明如下:

1、命令工具栏

文件操作按钮 新建设计――在默认的模板上新建一个设计文件。 加载设计――装载一个新的设计文件。

保存设计――保存当前设计文件。 4

导入――将一个局部文件导入ISIS中。 导出――将当前对象导出为一个局部文件。 打印――打印当前设计文件。

设置区域――打印选中的区域。

显示操作按钮 刷新屏幕 网格――显示/不显示网格点。 原点――显示/不显示原点。

平移――使可编辑区充满整个编辑区。

放大――放大可编辑区,也可通过中键放大。

缩小――缩小可编辑区,也可通过中键放大。

全部显示――使可编辑区充满整个编辑区。

放大到区域――放大选中的区域充满整个编辑区。

编辑操作按钮

撤销――撤销最后的操作。

重做――恢复最后的操作。 剪切――剪切选中的对象。 复制――复制选中的对象到剪贴板。 粘贴――从剪贴板粘贴。 块复制――复制选中的块对象到剪贴板。 块移动――移动选中的块对象。 块旋转――旋转选中的块对象。 块删除――删除选中的块对象。 选择元件/符号――从元器件库中选取元件。 制作器件――将原理图符号封装成元件。 器件封装工具――定义PCB封装。

分解――打散选中的元件成原始组件。。

设计操作按钮 实时Snap(捕捉)

搜索并标记 属性分配工具

设计管理器

添加一张图纸

移除一张图纸

电气规则检查

网表到AREA

(2)模式选择工具栏

主模式选择按钮

用于即时编辑元件参数 (先单击该按钮再单击要修改的元件) 元件――选择元器件(默认选择)。 点――放置连接点(电线的交点)。

网路标号――放置电线标签(总线标记时用)。 文本――放置文本。 总线――用于绘制总线。

子电路――用于放置子电路。

工具箱 终端――有VCC、地、输出、输入等接口终端。 器件引脚――用于绘制各种引脚。 仿真图表――用于各种分析(如Frequency、Analogue)。 录音机 信号发生器 电压探针――图表仿真分析时用。 电流探针――图表仿真分析时用。

虚拟仪表――有示波器、逻辑分析仪等。

2D绘图按钮 画各种直线 画各种多边形 (3)方向工具栏 画各种方框 画各种文本 画各种圆 画符号 画各种圆弧 画原点 右旋转:旋转角度只能是90的整数倍。 左旋转:旋转角度只能是90的整数倍。

(4)仿真工具栏 水平翻转:完成水平翻转。 垂直翻转:完成垂直翻转。 停止 运行 单步运行 暂停

四、预览窗口

预览窗口可显示如下内容:

当在对象选择器窗口中单击某一个元器件时,该元器件会显示在预览窗口。此时可通过

方向工具栏中的按钮对该元器件进行旋转和翻转操作。

当鼠标指针在编辑区窗口操作时,预览窗口会显示可编辑区的缩略图,并显示一个绿

色方框,绿色方框内的内容就是当前编辑区窗口中显示的可编辑区的内容。

当单击预览窗口的绿色方框后,移动鼠标可改变绿色方框的位置,从而改变可编辑

区的可视区域,再次单击预览窗口的绿色方框退出移动绿色方框。

五、对象选择器窗口

对象选择器用来选择绘图用各类元器件、仪器等,可执行以下操作:

当单击模式选择工具栏某一按钮时,标签显示对象选择器窗口所列对象的类型。 当单击

器件选择按钮“P”时,可从打开的“Pick Devices”对话框中选取元器件。

Proteus有30多个元器件库,选取元器件对话框如图1-2所示。

当单击库管理按钮“L” 时,可从打开的“Devices Libraries Manager”对话框中整

理元器件库。用户器件库USERDVC可由用户自己添加元器件,也可单击建库按钮“Create Library”建立自己的库。

图1-2 选取元器件对话框

1.2.2 单片机应用系统的Proteus设计与仿真步骤

一、Proteus使用中的操作步骤

Proteus设计与仿真以ISIS为平台,用于单片机应用系统的开发,主要可分为三大步骤。

1. Proteus电路设计

该步骤主要包括电路设计、选取元器件、接插件、连接电路和电气检测等。

绘制原理图要在可编辑区的蓝色方框内完成。具体步骤如下:

(1)新建设计文件:单击“文件”→“新建设计”,在弹出的“Create New Deign”对话框中选择模板后单击“OK”。

(2)设置图纸尺寸:单击“系统”→“设置图纸尺寸”,在弹出的“Sheet Size Configueration”对话框中选择图纸尺寸或自定义尺寸后单击“OK”。

(3)保存设计文件:单击“文件”→“保存设计”,在弹出的“Save ISIS Design File”对话框中指定文件夹、输入文件名并选择保存类型为“Design File”后单击“保存”。

(4)选取元器件:单击模式选择工具栏“元件”按钮,

单击器件选择按钮“P”,在弹出的 “Pick Devices”( 选取元器件)对话框的“Keywords”(关键字)栏中输入元器件名称(也可以是分类、小类、属性值),与关键字匹配的元器件显示在元器件列表(Results)中。双击选中的元器件,便将所选元器件加入到对象选择器窗口。同样方法选取其他元器件,单击“OK”完成元器件选取。

(5)设置网格:单击“查看”→“网格”,网格显示;再次单击,网格不显示(也可单击命令工具栏的“网格”按钮)。单击“查看”→“Snap xxth”(或Snap x.xin),改变网格单位。

(6)放置元器件:单击对象选择器窗口的元器件,该元器件名背景变为蓝色,预览窗口显示该元器件;将鼠标指针移到编辑区某一位置,单击一次就可放置一个元器件。

(7)编辑元器件:

右击(或单击)编辑区的元器件,该元器件变为红色表明被选中,鼠标指针放到被选中的元器件上,按住左键拖动,将鼠标移到编辑区某一位置松开,即完成元器件的移动。

鼠标指针放到被选中的元器件上右击,单击弹出的快捷菜单中的方向工具命令可实现元器件的旋转和翻转。

右击编辑区中被选中的元器件,可删除该元器件。

(8)放置终端:单击模式选择工具栏“终端”按钮,单击对象选择器窗口的终端(如POWER为电源、GROUND为地),该终端名背景变为蓝色,预览窗口显示该终端;将鼠标指针移到编辑区某一位置,单击一次就可放置一个终端。

(9)连线:单击命令工具栏“实时Snap(捕捉)”按钮,实时捕捉有效,当鼠标指

针接近引脚末端时,该处会自动出现一个小方框“□”,表明可以自动连接到该点,

2. Proteus源程序设计与编译

该步骤主要包括源程序设计、编辑、汇编编译、生成目标代码文件(HEX格式)。

3. Proteus仿真

该步骤主要包括加载目标代码文件、仿真。

4.常用的操作要点

左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件。

先右键后左键编辑元件属性;先右键后左键拖动可移动元件。

连线用左键;删除用右键;先右击连线再左键拖动可改连接线。

中键缩放原理图。

使用的Proteus软件版本不一样,操作上会有点差异,较新的版本在保留原有操作

方法的基础上会有一些扩展

二、Proteus使用中的注意事项

1. 设置代码产生工具

第一次使用该软件时,要设置代码产生工具。

单击“源文件”→“定义代码产生工具”,在弹出的“Add/Remove Code Generation Tools”对话框中,单击“Code Generation Tool”栏下拉列表框按钮,选择“ASEM51”(51汇编器);在“Make Rules”栏和“Debug Data Extraction”栏按表1-3所示进行设置,单击“OK”。

图1-3 定义代码产生工具对话框

2. 编译出错信息

(1)常见编译出错信息一

Processing ..\..\..\..\Keil\dz\Text1.LST... 源程序名

Professional\TOOLS\ASEM51 源程序路径

Invalid keyboard code specified

MCS-51 Family Cross Assembler ASEM-51 V1.2 汇编器

@@@@@ too many parameters: 7 @@@@@

usage: ASEM <source> [<hex> [<list>]] [/INCLUDES:p] [/DEFINE:s:v:t] [/COLUMNS]

ERROR: ASEM.EXE reported error code (2L).

Extracting debug data from ..\..\..\..\Keil\dz\Text1.LST... 从列表提取调试数据

Processed 15 lines. 处理行数 15行 Build FAILED with 1 error(s). 代码建立失败

原因:命令参数不正确。

解决办法:单击“源文件”→“定义代码产生工具”,在弹出的“Add/Remove Code Generation Tools”对话框中,删除“Command Line”栏中的内容,重新输入“%1,%2,%3”。

(2)常见编译出错信息二

图1-4 源程序编译窗口

单击“源文件”→“构建所有”(编译源程序),弹出源程序编译窗口如图1-4所示。若编译不出错,则自动生成目标代码文件(HEX格式);若编译出错,根据提示修改源程序并保 10

存,直至编译成功。

原因:图1-4中有未定义符号(symbol not defined)和非法字符(illegal character)。 解决办法:根据源程序编译窗口提示的信息修改源程序并保存,然后重新编译。

提示:程序输入要在英文输入法下进行,否则会造成编译出错。

3. 8051 CPU Source Code源代码调试窗口信息

使用Proteus自带汇编器(如ASEM51),它将产生SDI文件。当单步调试程序时,源代码窗口将出现SDI文件。8051 CPU Source Code源代码调试窗口按钮说明: 全速运行 跳出子程序 单步执行,跳过子程序内部

运行到选中指令行

单步执行,进入子程序内部 设置断点

4、详细实验步骤

1. 新建设计文件。单击“文件”→“新建设计”,在弹出的“Create New Deign”对话框中选择“DEFAULT”模板后单击“OK”。

2. 设置图纸尺寸。单击“系统”→“设置图纸尺寸”,在弹出的“Sheet Size Configuration”对话框中选择“A4”图纸尺寸或自定义尺寸后单击“OK”。

3. 设置网格。单击“查看”→“网格”,网格显示(再次单击,网格不显示)。单击“查看”→“Snap xxth”(或Snap x.xin),可改变网格单位,默认为“Snap 0.1in”。

4. 保存设计文件。单击“文件”→“保存设计”,在弹出的“Save ISIS Design File”对话框中指定文件夹(如D盘 电信061××文件夹)、输入文件名“XXX”并选择保存类型为“Design Files”后单击“保存”。

5. 选取元器件。从Proteus元器件库中选取元器件AT89C51(单片机)。单击模式选择工

具栏“元件”按钮,

单击器件选择按钮“P”,在弹出的 “Pick Devices”(选取元器件)对话框的“Keywords”(关键字)栏中输入元器件名称“AT89C51”(也可以是分类、小类、属性值),与关键字匹配的元器件“AT89C51”显示在元器件列表(Results)中。双击选中的元器件“AT89C51”,便将所选元器件“AT89C51”加入到对象选择器窗口。单击“OK”完成元器件选取。参见图1-2选取元器件对话框。

6. 放置元器件。单击对象选择器窗口的元器件“AT89C51”,元器件名“AT89C51”变为蓝底白字,预览窗口显示“AT89C51”元器件;单击方向工具栏按钮可实现元器件的左旋、右旋、水平和垂直翻转,以调整元器件的摆放方向;将鼠标指针移到编辑区某一位置,单击一次就可放置元器件“AT89C51”。按图2-3所示放置元器件。

7. 编辑元器件。单击模式选择工具栏“编辑”按钮,进入编辑状态。右击(或单击)元器件,该元器件变为红色表明被选中,鼠标指针放到被选中的元器件上,按住左键拖动,将鼠标移到编辑区某一位置松开,即完成元器件的移动。鼠标指针放到被选中的元器件上右击,单击弹出的快捷菜单中的方向工具栏按钮可实现元器件的旋转和翻转。右击被选中的元器件,可删除该元器件。被选中的元器件外单击,可撤销选中。

8. 放置终端。单击模式选择工具栏“终端

”按钮,单击对象选择器窗口的电源终端“POWER”,该终端名背景变为蓝色,预览窗口显示该终端;单击方向工具栏“左旋转” 11

按钮,电源终端逆时针旋转90°;将鼠标指针移到编辑区某一位置,单击一次就可放置一个终端。

9. 连线。单击命令工具栏“实时Snap(捕捉)”按钮,实时捕捉有效(再次单击,实时捕捉无效),当鼠标指针接近引脚末端时,该处会自动出现一个小方框“□”,表明可以自动连接到该点。按图2-3所示单击要连线的元器件起点和终点,完成连线。

10. 添加源程序。单击“源文件”→“增加/移除源文件”,在弹出的“Add/Remove Source Code Files”对话框中单击“Code Generation Tool”栏下拉列表框按钮,选择“ASEM51”(51汇编器);单击新建源文件按钮“NEW”,在弹出的“New Source File”对话框中指定文件存放的文件夹,输入文件名“XXX.asm”,单击“打开”,在单击打开的对话框中的按钮“是”;确认“Source Code Filename”栏下拉列表框中显示文件名为“XXX.asm”,单击“OK”。

第一次使用该软件时,要按1.2.2节介绍的方法设置代码产生工具。

11. 编辑源程序。单击“源文件”→“XXX.asm”,在“Source Editor”源文件编辑器中输入并编辑源程序,确认无误后,单击保存按钮。

12. 编译源程序。单击“源文件”→“构建所有”,弹出源程序编译窗口如图2-2所示。若编译不出错,则自动生成目标代码文件(格式为HEX);若编译出错,根据提示修改源程序并保存,直至编译成功。参见1.2.2

节介绍的编译出错的解决办法。

图2-2 源程序编译窗口

13. 加载目标代码文件。先右击后单击单片机“AT89C51”,在弹出的“Edit Component”

对话框中单击“Program File”栏的打开按钮,在弹出的“Select File Name”对话框找到刚才编译生成的HEX文件,单击“打开“按钮,完成HEX文件加载;同时将“Clock Frequency”栏中的频率设为12MHz,单击“OK”,完成加载目标代码文件。

,进入单步运行状态。单击“调试”14. 仿真。单击仿真工具栏“单步运行”按钮

→“8051 CPU Registers”,单击“调试”→“8051 CPU SFR Memory”,单击“调试”→“8051 CPU Internal (IDATA) Memory”,单击“调试”→“8051 CPU Source Code”,分别打开工作寄存器窗口、特殊功能寄存器窗口、片内数据存储器窗口和源代码调试窗口。

单击源代码调试窗口“单步执行”按钮一次,可执行一条指令;通过各调试窗口观察每条指令执行后数据处理的结果,以加深对硬件结构和指令的理解。程序调试窗口如图2-3所示。

12

图2-3 程序调试窗口

13

本文来源:https://www.bwwdw.com/article/dooi.html

Top