毕业设计单片机系统的仿真.doc_第1页
毕业设计单片机系统的仿真.doc_第2页
毕业设计单片机系统的仿真.doc_第3页
毕业设计单片机系统的仿真.doc_第4页
毕业设计单片机系统的仿真.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录1 引言12protues 软件介绍及其功能特点22.1 protues 软件介绍22.2 proteus仿真软件组成32.3 proteus的特点33. protues 软件与 keil uvision 的结合43.1proteus与keil介绍43.1.1proteus43.1.2keil43.2proteus 的工作过程53.3proteus 软件所提供的调试手段53.4 proteus 和 keil uvision3 软件结合的实例64基于proteus的51系列单片机的仿真74.1proteus对89c51单片机的仿真74.2proteus在单片机仿真方面的优势84.3单片机的仿真104.3.1电子闹钟的系统设计104.3.2硬件系统的仿真114.4实验结果125结语12参考文献12致 谢12xx大学毕业设计利用proteus实现单片机系统的仿真( )摘 要:本文介绍了用proteus软件进行单片机仿真的制作和演示过程,总结了用proteus软件进行单片机仿真的优点和不足,论述了与 keil 编程软件结合进行编程仿真调试的详细过程。关键词:单片机;proteus 软件;keil 软件;仿真the simulation of single chip using proteus (college of physics and electronic engineering,electrical engineering and its automation, class1 grade2003,0323110106)abstract: the paper introduce the process of simulation of single chip by using proteus software,and sums up the merits and demerits of simulation by using proteus and technique of programming simulation debugging with the combination of keil programming software are described.key words: single chip,proteus software, keil software,simulation1 引言近年来,随着计算机应用技术的发展,单片机仿真技术有了很大提高,仿真工具的出现为单片机初学者提供了一个很好的学习平台。目前,用于单片机仿真的工具很多,有些主要用于软件仿真,侧重于算法的验证,使用这类软件初学者无法获得类似于直接用硬件开发的经验,而有些仿真软件虽然能用于硬件仿真,但仿真能力有限,特别是对cpu外围的硬件仿真,proteus是英国labcenter公司开发的电路分析与实物仿真软件,1它运行于windows操作系统上,可以仿真、分析(spice)各种模拟器件和集成电路,在单片机cpu和外围器件方面表现出的卓越的仿真能力使其成为目前应用最为广泛的仿真工具之一。proteus不仅可以仿真8051系列、avr系列、pic系列等主要常见系列单片机及其外围电路,同时proteus提供了数目庞大,门类齐全的各类常见器件库,具有较强的pcb设计功能,proteus的操作灵活、自动连线等优点为设计人员提供了一个非常友好的开发界面。proteus不断完善的功能和强大的仿真能力被越来越多的设计人员所喜爱,在实践中的应用也越来越广泛。2protues 软件介绍及其功能特点2.1 protues 软件介绍proteus软件已有十多年的历史,在全球广泛使用,除了其具有和其它eda工具一样的原理布图、pcb自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,proteus为您建立了完备的电子设计开发环境!proteus组合了高级原理布图、混合模式spice仿真,pcb设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对pcb设计系统的比较文章中评为最好产品“the route to pcb cad”。2proteus 产品系列也包含了我们革命性的vsm技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如led/lcd、键盘、rs232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的isis原理布图工具;proteus混合模型spice仿真; ares pcb设计. prospice 仿真器的一个扩展proteus vsm:便于包括所有相关器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,leds甚至lcd显示cpu模型。 支持许多通用的微控制器,如pic,avr,hc11以及8051; 交互的装置模型包括:led和lcd显示,rs232终端,通用键盘;强大的调试工具,包括寄存器和存储器,断点和单步模式;iar c-spy 和keil uvision2等开发工具的源层调试;应用特殊模型的dll界面提供有关元件库的全部文件。proteus 是目前最好的模拟单片机外围器件的工具,3它可以仿真8051系列、avr,pic 等常用的 mcu 及其外围电路(如 lcd,ram,rom,键盘,马达,led,ad/da,部分spi器件,部分iic器件)。当然,软件仿真精度有限,因而不可能所有的器件都找得到相应的仿真模型。用开发板和仿真器当然是最好选择,可是对于单片机爱好者,或许简单的开发应该是比较好的选择。proteus是一种混合电路仿真工具,既可以仿真模拟电路又可以仿真数字电路以及数字、模拟混合电路,这款软件的最大特点就在于它能够模拟单片机。该软件的库里有:51 系列、avr系列和 pic 系列,每个系列又有很多种不同的型号可供选择。除了单片机模型,proteus中提供了诸如基于 hd44780 芯片的字符 lcd,基于 t6963c 芯片的点阵 lcd、i2c 存储器、ram、pld等,这些丰富的元器件使得 proteus不仅适合单片机入门,也同样可以用于单片机开发。其最大的特色在于它能够仿真基于微控制器的设计系统。proteus可以很方便地与 keil c51 集成开发环境连接,程序编译好之后,立即可以进行软、硬件结合的系统仿真。proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机cpu的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,我们关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,弥补了实验和工程应用间脱节的矛盾。2.2 proteus仿真软件组成proteus仿真软件包含两个应用程序,一个是proteus isis:它是proteus系统的中心。isis拥有超过8000元件的大型元件库,包含几千个模拟和数字电路中常用的spice模型及各种动态元件,如三极管、555定时器等基本元件,474ls00等常用ttl和cmos集成块,完全适合于仿真模型;isis为用户提供了非常友好的作图界面,元件之间的连线方便、灵活、高效率,剪切、移动等操作借助鼠标可简单地实现;isis还支持层次图设计,支持wmf、bnp、dxf等多种图形输出格式。proteus的另外一个应用程序就是proteus ares,用于直接将proteus isis得到的仿真原理图生成pcb版图。2.3 proteus的特点proteus可以完成质量精美可以达到直接出版水平的原理图和pcb版图,和其它仿真软件相比,其功能上最卓越的改进是可以直接仿真cpu及外围电路,这种仿真能力是multisim等仿真软件望尘莫及的。同时proteus还提供了丰富的虚拟工具,如示波器、逻辑分析仪等,用户借助这些虚拟工具可以直接观察电路系统的硬件结果,尽管虚拟仪器的精度有限,但整个操作过程如同利用硬件仿真器和其他测试仪器直接进行硬件开发,还可以根据虚拟仪器的结果直接进行源代码的调试,以上过程不同于纯粹的软件仿真侧重于算法的验证,这种仿真过程是可以给用户带来直接的硬件开发经验。proteus的显著的特点如下:(1)全部满足单片机软件仿真系统的标准,并在同类产品中具有明显的优势;(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、rs-232动态仿真、i2c调试器、spi调试器、键盘和lcd系统仿真的功能,有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等;(3)目前支持的单片机类型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各种外围芯片;(4)支持大量的存储器和外围芯片。总之,该软件是一款集单片机和spice分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。3. protues 软件与 keil uvision 的结合3.1proteus与keil介绍3.1.1proteusproteus是一种电子设计自动化软件,提供schematicdrawing,spice仿真与pcb设计功能,这一点proteus与multisim比较类似,只不过proteus可以仿真单片机和周边设备,还可以仿真51系列、avr,pic等常用的mcu。与keil和mplab不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真,例如74系列、40系列、led、示波器、逻辑分析仪等各种常用的元器件及测试设备;proteus还提供了大量的元件库,有ram,rom,键盘、马达、led,lcd,ad/da,部分spi器件、部分iic器件等;编译方面支持keil和mplab,里面附带有大量的参考实例:5(1) proteus可提供的仿真元件资源proteus软件提供了可仿真数字和模拟、交流和直流等数千种元器件,达30多个元件库。(2) proteus可提供的仿真仪表资源虚拟仪器仪表的数量、类型和质量,是衡量仿真软件实验室是否合格的一个关键因素。在proteus软件中,理论上同一种仪器可以在一个电路中随意调用。除了现实存在的仪器外,proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。(3) proteus可提供的调试手段proteus提供了比较丰富的测试信号用于电路的测试,这些测试信号包括模拟信号和数字信号。3.1.2keilkeil软件是德国开发的一个51单片机开发软件平台,最初只是一个支持c语言和汇编语言的编译器软件。后来随着开发人员的不断努力地改进以及版本的不断升级,现在已经成为一个重要的单片机开发平台。不过keil的界面并不是非常复杂,操作也不是非常困难,很多工程师开发的优秀程序都是在keil的平台上编写出来的。可以说它在eda领域是一个比较重要的软件。(1) keil的uvision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用uvision2的内嵌模块keil monitor 51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。(2)uvision2调试器具备所有常规源及调试,符号调试特性以及历史跟踪、代码覆盖、复杂断点等功能。dde界面和shift语言支持自动程序测试。对于初次使用 protues 软件的人可能还不知道如何设置,现在把设置步骤如下:(1)把proteus安装目录下vdm51.dll文件复制到 keil 安装目录的 c51bin 目录中;(2) 编辑c51里 tools.ini 文 件,加 入:tdrv1=binvdm51.dll(proteus vsm monitor-51 driver);(3) keil uvision 里 设 置:project-options forproject-debug tab;(4) 选中 use proteus vsm monitor 51( 如果想用两台电脑仿真,双击 setting,输入 ip 地址 或者 dns name);(5) 载入 proteus 文件;(6) proteus 里选择 debug-use remote debug monitor;进入 keil 的 project 菜单 option for target 工程名。在 debug 选项中右栏上 部的下拉菜选中proteus vsmmonitor-51driver。在进入 seting,如果同一台机ip名为127.0.0.1,如不是同一台机则填另一台的ip地址。端口号一定为 8000 注意:可以在一台机器上运行 keil,另一台中运行proteus 进行远程仿真;(7)打开keil uvision,按f5开始仿真。3.2proteus 的工作过程运行 proteus 的 isis 程序后,进入该仿真软件的主界面。在工作前,要设置 view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的 p(从库中选择元件命令)命令,在 pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在 source 菜单的 define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在 source菜单的 add/remove source files 命令下,加入单片机硬件电路的对应程序;通过 debug 菜单的相应命令仿真程序和电路的运行情况。3.3proteus 软件所提供的调试手段proteus 提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,proteus 提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以及具体的执行情况。对于总体执行效果的调试方法,只需要执行 debug 菜单下的 execute 菜单项或 f12 快捷键启动执行,用 debug 菜单下的pause animation 菜单项或 pause 键暂停系统的运行;或用debug 菜单下的 stop animation 菜单项或 shift-break 组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试,应先执行 debug 菜单下的start/restart debugging 菜单项命令,此时可以选择 stepover、step into 和 step out 命令执行程序(可以用快捷键f10、f11 和 ctrl+f11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了 start / restart debuging命令后,在 debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。3.4 proteus 和 keil uvision3 软件结合的实例本节将通过一个流水灯试验具体介绍 proteus 与 keiluvision 的结合与应用。(1)通过 proteus 画原理图:(图 1)图1 流水灯试验proteus 原理图(1)在 keil uvision 软件别写程序:#include#includevoid delayms(unsigned char ms)/ 延时子程序unsigned char i;while(ms-)for(i = 0; i 120; i+);main()unsigned char led;led = 0xfe;p0 = led;while(1)delayms(250);led = _crol_(led,1);/循环右移 1 位,点亮下一个 ledp0 = led;(3)对 proteus 和 keil uvision 软件的设置:(参考 3.1 protues 软件与 keil uvision 的介绍章节)(4)运行程序,运行结果如下(图 2):实现流水灯功能图2 仿真效果图4基于proteus的51系列单片机的仿真4.1proteus对89c51单片机的仿真就atmel公司的系列单片机而言,proteus支持的型号非常全面,从低端attiny10到高端的atmega128均有可以直接调用的库元件。下面以89c51为例介绍proteus支持的仿真功能。proteus中的89c51库元件管脚上的标识与该芯片的datasheet是基本一致的,惟一的不同是隐去了gnd和vcc管脚,在绘制原理图的时候用户可以不用对其进行连接,系统默认的设置就是将它们分别连到地和5v电源上。6对单片机系统可进行仿真的功能有:支持所有的i/o操作,内部的定时器、计数器的模拟(包括输入捕获、输出比较、pwm模式),看门狗定时器,串行uart接口,主、从模式串行spi接口,支持内置数模转换adc,支持atmel的twi(two wireinterface)通信方式,存贮器方面支持外部sram扩展以及内置eeprom的模拟,支持多个微控制器的协同工作仿真等等。仿真时要做好三步操作:一是系统硬件电路的设计;二是系统软件的开发与编译;三是系统的综合仿真。具体流程是:首先利用proteus绘制系统硬件原理图;然后利用51系列编译器(如keil等)进行系统软件设计并生成目标代码(*.hex格式),keil软件支持c和汇编两种语言形式,是目前和proteus使用较多的配套软件;在仿真时,只要对原理图中的微处理器芯片指定了经过keil软件编译过的目标程序的路径,就可以进行系统的实时动态仿真。另一点值得一提的是:实时仿真运行的过程中,系统每个网络引脚旁边均会出现一个小正方形的指示,红色代表高电平,蓝色代表低电平,这样开发人员可以不用借助虚拟工具的测量也能很直观的看到每个管脚的电平变化,从而对系统的软硬件性能做出最基本的判断,优化了单片机开发流程。4.2proteus在单片机仿真方面的优势针对于51系列单片机的仿真软件目前有很多种。常用的有avr studio等。avr studio和proteus都属于代码级的仿真软件,与芯片级仿真不同,代码级仿真完全在计算机上完成,不需要硬件的参与,主要用于查看代码的执行过程和参数变化。avr studio是一款完全免费的avr单片机集成开发环境,包括avr assembler编译器和avr studio调试功能,avr prog串行、并行下载功能和jtag ice仿真功能。它最主要的功能是观察代码执行过程中单片机内部各个寄存器值的变化,7尤其是一些寄存器关键位的置位、复位操作与程序的关系。利用单步调试功能可以更细致地检查代码的执行过程。对于内部的定时中断也可以较好的仿真,使实验者清楚了解中断对于整个程序流程的影响。但是对于外部中断和输入捕获等需要动态外设配合的功能,avr studio就显得无能为力了。同时该软件使用黑色、白色的方块来表示1和0,用以反映寄存器值的变化,当需要观察某些波形时,这样的仿真结果显得很不直观。proteus软件具有强大的多窗口、多文件的编辑器、微控制器的集成开发环境、一系列的集成开发工具、图形界面调试器、混合模式的模拟及数字电路仿真器、代码质量检查器等。硬件和应用软件能进行并发仿真。最主要的一点是它能以单片机为核心仿真出包括模拟元器件在内的一些动态外设(按键,led,液晶显示器等),具有图形显示和波形显示的功能。因此,proteus不仅仅是一个微处理器的仿真软件,它所支持的大量常用芯片模型为单片机和其他芯片协同仿真复杂的完整系统提供了极大的方便。proteus在完整的系统仿真方面是其他单片机仿真软件所不能独立完成的。这时,proteus为我们提供的不仅仅是一个单片机的仿真环境,称其为一个虚拟的单片机实验室是完全合适的,只要我们能充分的利用proteus提供的实验器件就可以完成一个具有相当集成性的单片机系统。下面通过使用proteus软件仿真51系列单片机控制led的实例来说明该工具的使用方法。本实例的主要内容为:用at89c51作为主控芯片来控制8个led的亮灭,亮灭的方式通过改变程序完成(如可让8个灯依次循环亮灭或先亮四个,延迟一段时间后,先亮的熄灭,再让剩余的四个灯亮等方式),可通过proteus仿真的结果来调试软硬件;74ls04用来提高输出的驱动能力,电阻起到限流的作用。仿真过程如下:第一步:打开proteus 6 professional (运行isis 6professional),绘图界面如图3所示。图3 proteus isis 6 professional的绘图界面第二步:添加所需元件并连接电路图。本实例所需要元件为:at89c51、74ls04、电阻、“地”,所画电路如图4所示。图4 at89c51控制的8路led原理图第三步:添加仿真文件。先右键单击at89c51,再左键单击,在弹出的edit component对话框中的programfile一栏选择仿真文件。本实例的仿真文件为由keil uvision2编译源文件led.c而产生的仿真文件led.hex。clock frequency一栏设置频率为12mhz。添加结果如图5所示。第四步:单击 图标开始仿真。此时8个led开始亮灭,根据亮灭的状态进行源代码的调试。图5 仿真文件的添加与设置4.3单片机的仿真proteus可以仿真很多常用的微处理器。具体来讲,他支持pic,8051,avr,hc11,arm7/lpc2000等系列多种型号的微处理器、微控制器,仿真时只需在设定元件属性时指定下载程序的路径即可进行实时动态仿真。下面举例具体介绍proteus在单片机仿真中的应用。4.3.1电子闹钟的系统设计用七段数码管显示时间,通过按键可以设置时间及闹铃时间,若到设定的时间则蜂鸣器发出一阵声响。程序执行后工作指示灯led亮,表示程序开始执行。操作键k1k5动作如下:k1:进入设置现在的时间;k2:设置小时(设置闹铃小时);k3:设置分钟(设置闹铃分钟);k4:进入设置闹铃时间;k5:闹铃on/off设置。为on时蜂鸣器连续3次发出声响,设为off时发出一次声响。4.3.2硬件系统的仿真proteus既可以仿真单片机cpu的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。因此在仿真和程序调试时,可以直接看程序运行和电路工作的过程和结果。首先运行proteus软件,建立一个新文件,从右上角pick devices窗口中选择电路所需的元件。电子闹钟所用到的元器件主要有:1个at89c51单片机,1个四位七段译码显示器,3个led指示灯,2个按键,3个开关和1个蜂鸣器。其所在的元件库如表1所示。microprocessor ics元件库中的微处理器,其管脚上的标识与该芯片的datasheet是基本一致的,惟一的不同是隐去了gnd和vcc管脚,在绘制原理图的时候可以不用对其进行连接,系统默认的设置就是将他们分别连到地和5 v电源上。单片机的硬件资源几乎都可仿真,例如:支持所有的i/o操作,内部的定时器、计数器的模拟(包括输入捕获、输出比较、pwm模式),看门狗定时器,串行uart接口,支持内置数模转换adc。其他外围元件也可在库中找到,其连线方法和protel连接方法基本一样。8在proteus中绘制硬件原理图,如图6所示。图6 电子时钟硬件仿真图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论