虚拟仿真技术在单片机系统设计中的应用

2011-12-31 00:00:00刘德全
电脑知识与技术 2011年17期


  摘要:单片机原理课程是国内大中专院校、本科电子类专业核心课程,对于开发人员来讲,除了具备一定的硬件知识外,还必须具有一定的汇编语言或者C语言的编程能力。在我国,大部分学校都是理论加实验的方式进行教学,且实验课程和理论知识脱节比较严重,使学生在学习的过程中缺少感性的认识,能否建立一个虚拟的平台使设计与理论有机的结合起来,该文主要从这一点出发,结合虚拟仿真软件Proteus来说明。
  关键词:单片机设计;虚拟仿真;Proteus
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)17-4203-02
  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所示。
  第二种思路就是采用循环指令进行,每隔延迟时间将高点平向左或向右移一位,这样同样可以实现第一种思路的效果,称这方法为循环法。
  第三种思路就是利用查表指令MOV