kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于Proteus的单片机虚拟开发环境
基于Proteus的单片机虚拟开发环境
摘要:单片机是国内大专院校电子技术类专业的必修课程之一,很多学生毕业之后也在从事单片机的软硬件设计工作。单片机的开发要求设计人员具有一定的硬件设计基础和汇编或者C语言的编程能力,目前国内多数大专院校都是采取先教学后实验的教学步骤,学生在学习的过程中缺少一个感性认识,在实验时又无法与课本上的知识联系起来,因此造成了时间与教学资源的双重浪费。
Abstract:
Key words :

单片机是国内大专院校电子技术类专业的必修课程之一,很多学生毕业之后也在从事单片机的软硬件设计工作。单片机的开发要求设计人员具有一定的硬件设计基础和汇编或者C语言的编程能力,目前国内多数大专院校都是采取先教学后实验的教学步骤,学生在学习的过程中缺少一个感性认识,在实验时又无法与课本上的知识联系起来,因此造成了时间与教学资源的双重浪费。

lProteus的引入

  伴随着计算机软件和硬件技术的飞速发展,在各个领域都出现了各种仿真系统,为各种实际系统的开发提供了准确可靠的保证,同时节约了大量的人力和物力。仿真技术的出现与发展是科技发展的必然结果,是现代科技的关键技术之一,并逐渐成为科技人员的必备技术。Proteus是在这种形势下应运而生并迅速发展的仿真系统。Proteus是模拟电路、数字电路、模/数混合电路的设计与仿真平台;更是单片机系统先进的设计与仿真平台。它真正实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的设计与仿真过程。它得到了从事单片机事业的教师、工程技术人员以及众多的大学生和单片机技术爱好者的青睐。

  基于Proteus的单片机虚拟开发环境有效的将理论与实验联系起来,在这个开发环境里面可以很好地将演示、硬件电路设计和软件设计结合起来,在教学和具体的工程项目中应用这个开发环境不但有助于提高效率,而且可以降低开发成本和风险。目前在电子技术、机械设计制造以及软件开发等领域都趋向与采用虚拟仿真开发环境,虚拟环境的采用一方面有助于项目的并行开发提高产品开发周期,可以提前进行一些传统开发步骤中的后期工作;另一方面虚拟开发环境可以展现产品的雏形,将实验品的一些实际问题暴露在虚拟设计阶段,例如机械设计软件SoliWorks与LabView的联合可以完成机器运动部件的三维运动控制、控制逻辑分析、部件碰撞分析等存在风险较大的设计工作的模拟,对于企业来说降低风险投资和加快产品上市是赢得市场的关键因素。因此这里阐述的虚拟开发环境可以很好地适应将来的科研和产品开发需要,培养开发人员的虚拟开发意识对于企业和社会来说都是一笔重要的知识财富。

2.Proteus仿真系统

  Proteus是英国Labcenter公司的电路分析与实物仿真软件,可以仿真、分析(Spice)各种模拟器件和集成电路,该软件的特点是:

  (1)实现了单片机仿真和Spice电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS 232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

  (2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

  (3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 μVision 2等软件。

  (4)具有强大的原理图绘制功能。启动Proteus后将出现ISIS的设计窗口,如图1所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮(最下面一行)、预览窗口、对象选择器窗口、图形编辑窗口。

启动Proteus后将出现ISIS的设计窗口

  该软件还具有电路板演示功能,以温度显示为例,其演示效果如图2所示。该演示图不但有助于教学工作,还可以帮助企业降低产品设计风险。

演示效果

3 程序开发

  这里以AVR单片机ATmega16和DS18B20为例演示了温度测量及其显示的单片机程序开发过程,AVR单片机是Atmel公司推出的高性能单片机,该系列单片机部分采用16位结构,所有IO口均可单独设置数据方向并具有可编程的内部上拉电阻,提高了整体性能和应用范围。在单片机程序设计方面,ICCAVR提供了良好的编程界面,可通过对可视化选项框的选择来生成初始化程序,如图3所示。

ICCAVR提供了良好的编程界面

  在进行项目程序开发时,只需要选择所使用的CPU,I/O口的初始方向、定时器的使用情况、UART以及其他外围功能模块做出设置即可生成响应的C语言初始化程序。在完成初始化之后程序员只需要针对自己的具体应用编写功能程序即可。DS18B20支持“一线总线”接口,测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±O.5℃。DS1822的精度较差,为±2℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3.0~5.5 V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20与单片机的接口只有一条线,而且DS18B20的单总线特性只需要一个单片机I/O引脚即可支持多个DS18B20,极大程度地降低了硬件开销,当然较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DSl820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。其具体流程图如图4所示。

具体流程图

  在按照设计要求编好程序后,双击ISIS Profes-sional窗口中的ATmega16单片机,将弹出一个编辑窗口,在程序文件中选择ICCAVR生成的.hex文件,单击“OK”。单击ISIS窗口中的仿真进程控制按钮,出现如图5所示的仿真结果。改变DS18B20的温度,显示屏将相应的显示。

仿真结果

4 结 语

  单片机技术是现代电子工业中不可缺少的一项技术,掌握单片机技术是电子信息类专业学生就业的一个基本条件。这里通过单片机产品开发的实例,论述了Proteus在单片机教学和单片机应用产品研发中的地位和作用。Proteus是单片机教学与应用产品研发的高效、经济、可靠的单片机系统设计与仿真平台。学生可在Proteus ISIS窗口中大胆进行电路设计、程序设计、测量、调试、修改。不仅不会损坏元器件和仪器,且在安装实物作品前就可看到结果。使学生的独立操作能力、主动性、积极性和创造力都得到了发挥。总之,基于Proteus的单片机虚拟开发环境有利于促进课程和教学改革,更有利于人才的培养;利用仿真系统,不但可以节约开发时间和开发成本,而且还具有很大的灵活性和可扩展性;也是高校提升实验室建设水平有益的尝试。

此内容为AET网站原创,未经授权禁止转载。
Baidu
map