单片机设计论文虚拟仿真论文
摘要:单片机原理课程是国内大中专院校、本科电子类专业核心课程,对于开发人员来讲,除了具备一定的硬件知识外,还必须具有一定的汇编语言或者c语言的编程能力。
在我国,大部分学校都是理论加实验的方式进行教学,且实验课程和理论知识脱节比较严重,使学生在学习的过程中缺少感性的认识,能否建立一个虚拟的平台使设计与理论有机的结合起来,该文主要从这一点出发,结合虚拟仿真软件proteus来说明。
关键词:单片机设计;虚拟仿真;proteus
1 概述
proteus软件是英国labcenter electronics公司开发的一款功能非常强大的eda软件,它可以进行电路原理图制作,代码调试以及单片机、嵌入式、dsp与外围设备虚拟仿真调试。
proteus的主要功能有[1-2]:原理图设计、pcb设计、动态实时交互式电路仿真。
其主要特点有[3]:集成原理图设计、仿真和pcb设计于一体,真正实现了从概念到产品设计;具有模拟电路、数字电路、微机原理、信号处理、单片机、嵌入式系统设计与仿真;具有全速、单步、设置断点等多种形式的调试功能;具有各种信号源和电路分析等多种形式的调试工具;支持keil c51uvision3 、mplab等第
三方的软件编译和调试环境,进行高级语言源代码级仿真和调试;具有强大的原理图到pcb设计功能,可以输出多种格式的电路设计报告,以便于跟第三方的pcb制作软件相互转换,如gerber文件。
2 proteus虚拟仿真技术在单片机系统中的设计
2.1 proteus软件包含的单片机仿真模型与外设
proteus软件提供丰富的单片机模型,主要有:8051/52、avr、pic10/12、pic16 、pic18、pic24、dspic33、hc11、basicstamp、8086、msp30等,随着版本的升级还在继续增加;还提供了丰富的外围设备,主要有发光管二极管、led 点阵、led7段数码管模块、键盘、按键、直流电机、步进电机、伺服电机、电子温度计、激励源、虚拟终端、prospice 混合仿真元器件等。
2.2 利用proteus软件虚拟仿真单片机的特点
2.2.1 利用proteus绘制的电路图可以实时仿真不同方案的程序,有利于提高学生的编程能力[3]
原理图如图1所示,该设计是要在at89s51单片机p1
口输出8个led灯编程实现流灯得水效果。
从这个原理图分析,要是对应的led等点亮,即在相应的i/o输出高电平,高电平的输出可以通过以下三种方式实现,第一种思路就是每隔一定时间分别对其i/o输出高电平,称之为直接对端口
赋值法,其显示状态如表1所示。
第二种思路就是采用循环指令进行,每隔延迟时间将高点平向左或向右移一位,这样同样可以实现第一种思路的效果,称这方法为循环法。
第三种思路就是利用查表指令movc a,@a+dptr分别对表1建立的状态进行查表输出,查表的循环可以通过8次循环或者在表的最后一种状态建立与显示无关的数值,如00h 等,通过比较来退出循环,这又形成了两种不同的分格程序。
一个原理图,就可以实现三种不同思路的编程,扩大了学生的编程思路,有利于理解程序的执行过程和提高学生的编程应用能力。
proteus这种编程特点与其他单片机仿真软件相比的特点是:只要修改at89c51单片机的属性就可以了,无需外在的下载线或者烧写器就可以轻松完成,点击全速运行按钮就可以看到最终程序执行结果,而且支持单步执行,通过单步执行按钮或者暂停按钮可以观察到单片机的特殊功能寄存器、数据存储器、程序存储器等空间数据的变化。
2.2.2 可以直观的评价硬件电路设计的正确性
proteus提供了丰富的外设和仿真器件以及多样的激励源和丰富的虚拟仪器,与单片机系统结合可以形成生动的仿真显示,基于图表的仿真,可以精确地分析电路的多项指标,
还可以用不同的颜色显示各个元器件对应引脚的电平。
2.2.3 通过硬件原理图直观调试软件
proteus支持单片机的汇编语言编辑、编译、源码级高级仿真,内带805、avr、pic的汇编编译器,也可以与第三方集成编译环境(如mplab、keil、avr studi0)结合,进行高级语言的源码仿真和调试。
2.2.4 可以一键生成pcb图,可以进行3d动态预览
图1原理图生成的pcb图和3d预览图如图2和图3所示。
图2 pcb图图3 3d预览图
总之,在单片机开发应用系统中利用好计算机虚拟软件,能够为我们的设计节省更多的资源,有利于产品的开发和设计。
一台计算机加一个虚拟软件就可以构成一台设备先进的实验室,这就是虚拟实验的本质。
参考文献:
[1]
/view/40936.htm.2010.5.
[2] /.2011.2.
[3] 江世明.基于proteus的单片机应用技术[m].北京:电子工业出版社,2009.。